The three weeks since Launch Day have been incredibly fun and exhilarating. I’ve been so deeply immersed, making satisfying, design-validating progress on my first project, that you’ve scarcely heard a peep from me here. OK, my solo time hasn’t quite been the blogging Renaissance I had planned for, but it’s exactly what I need to be doing, and I don’t want to risk breaking the fantastic momentum I’ve got going. It’s been delightful, amazingly productive, and an absolute rush.
At this stage, I can only reveal that I’m designing and implementing what I believe will be some truly neat and groundbreaking software for Mac OS X. Believe me, I can’t wait to be able to announce more than that — I’ll announce it with great enthusiasm, when the time is right. Meanwhile, I thought I might mention a bit about why I’m having such fun working on this.
A big part of what makes the development process so rewarding, and makes what I’m attempting even possible for a lone developer to achieve, is the superb set of system capabilities and developer technologies that are available to leverage on the Mac platform, which fall under the broad marketing-label umbrella of the “Cocoa Frameworks”. As I mentioned in a comment on Ricochet, these technologies have quietly revolutionized the economics of software development, breaking down barriers and former notions of what a single engineer or small team could aspire to accomplish. I’ve been working with these technologies for about fifteen years now, enjoyed the privilege of working on them for the past nine and a half, and now am applying and synthesizing everything I’ve learned into some great new stuff that I believe will empower users in very exciting ways. With due acknowledgment of what a thrill it was hacking Apple ][s and PCs at the assembly-language level back in the 80s, working with this stuff is probably the most fun I have ever had programming.
The best thing of all about working with the Objective-C language and Cocoa Frameworks at their full potential, is that it isn’t just cheap rapid prototyping that leaves you with a long way to go to a robust, production-quality end result. You can achieve all the benefits of quick development without having to write a lot of temporary code that you’ll just end up discarding later — analogous, perhaps, to the temporary support scaffolding that a carpenter or stone mason might have to build to get a job done. If you stick to the right path (which isn’t too hard to do), you can begin to realize a design with quick-turnaround results, while faithfully modeling the things you’re working with in uncompromising full generality, or a subset thereof driven by immediate needs, that can be readily extended to full generality without having to discard progress and backtrack. All the while you’re making progress that counts. That in itself is an exhilarating feeling.
I don’t know whether the foregoing communicates much to those who haven’t written software before. Some may be relieved to hear that it’s as technical as I’m likely to get on this blog. I just wanted to try to convey some sense of how fun and exciting this endeavor is to me — in part because this is the “distraction” that’s going to keep me off the radar for spans of time, though I will do my best to set aside some time for blogging when I reasonably can.
I leave you with an entrepreneurial song of the day: “Prime Mover” from Rush’s 1987 Hold Your Fire. I discovered this one around the time my son was born a couple years ago, and also think of it as a hard-to-beat optimistic anthem for a new life. A definite favorite of mine. Enjoy!
Prime Mover
Basic elemental instinct to survive
Stirs the higher passions
Thrill to be aliveAlternating currents in a tidewater surge
Rational resistance to an unwise urgeAnything can happen…
From the point of conception
To the moment of truth
At the point of surrender
To the burden of proofFrom the point of ignition
To the final drive
The point of the journey is not to arriveAnything can happen…
Basic temperamental filters on our eyes
Alter our perceptions
Lenses polarizeAlternating currents force a show of hands
Rational responses force a change of plansAnything can happen…
From a point on the compass
To magnetic north
The point of the needle moving back and forthFrom the point of entry
Until the candle is burned
The point of departure is not to returnAnything can happen…
I set the wheels in motion
Turn up all the machines
Activate the programs
And run behind the sceneI set the clouds in motion
Turn up light and sound
Activate the window
And watch the world go ‘roundFrom the point of conception
To the moment of truth
At the point of surrender
To the burden of proofFrom the point of ignition
To the final drive
The point of a journey
Is not to arriveAnything can happen…