Core Intuition 8: For The Good Of The Country

September 29th, 2008

Manton and I sat down to record another episode of Core Intuition, speaking as usually on a variety of topics including the C4 conference, Android, and Apple’s “elevated user experience.”

Hope you enjoy the show!

Building A Bigger Nerd Ranch

September 26th, 2008

When newcomers to programming on the Mac ask me for advice about getting started with Cocoa, I usually boil it down to three steps, depending on the amount of time and money they are prepared to put into the task:

  1. If you’re the slightest bit curious, buy Mark Dalrymple and Scott Knaster’s affordable book, Learn Objective-C on the Macintosh. It’s great that this book not only starts from the very beginning, but is available as an easy electronic download, for instant gratification.
  2. If you’re convinced you’re in for the long haul, but prefer to learn at your own pace and in your spare time, pick up Aaron Hillegass’s Cocoa Programming for Mac OS X.
  3. If it’s time to put the pedal to the metal, and you want to minimize the chances of failing as you learn the basics of this art, drop everything and enroll in the Objective-C and Cocoa Bootcamp class at Big Nerd Ranch.

Big Nerd Ranch is run by the very Aaron Hillegass who authored the book you picked up in step 2, and he teaches the Cocoa bootcamp class himself. The class is not cheap, but neither is it exploitatively expensive. You will learn to program for the Macintosh with a group of classmates, living and programming on a bucolic country retreat, where your meals and lodging are taken care of.

The Big Nerd Ranch concept is exciting, and I have often fantasized about attending a class there myself. I’m probably overqualified for the boot camp, though as with most life experiences, you learn something when you review the basics. The ranch offers a variety of classes in addition to the boot camp, including courses on more advanced Cocoa programming, iPhone development, and even on Django and Ruby on Rails web programming.

Right now, Aaron is busy building a bigger, better, greener, serener (funner? funnest?) Big Nerd Ranch. He’s actually bought a large plot of land and is drafting plans for several new buildings. He’s treating all of us to many glorious details on his personal blog: possible/probable. The blog frames itself as the chronicle of a man in his mid-youth, aiming to improve an already successful life by taking chances and aiming for the stars. It so happens that his stars form a constellation that idealizes and glorifies learning to program on the Mac.

When you check out the blog, be sure to read through the archives. You’ll be riveted by his stories of searching for suitable property, securing bank loans, winning and losing architects, and grappling with the underlying question of just how crazy pursing this dream might be.

Fortunately for us, Aaron seems to be guiding his own life with the words of his blog title, “possible” and “probable.” I interpret these slash/stroke separated terms optimistically, as I expect he does. If you can imagine something, if it seems vaguely possible, then with a little work it is made probable.

I find Aaron’s optimism inspiring, and his stories remind me of my own possible/probable dreams still waiting to be fulfilled. His zeal for the pursuit of happiness rests safely between recklessness and painful deliberation. He recognizes that while frightening risks need to be taken, putting in hours of hard and tedious work will greatly improve the odds of success.

We should all get to work turning our own possibilities into probabilities, because nobody else is going to do it for us. With the help of Aaron’s blog, we might find ourselves inching just a little bit closer.

Better To Ask Forgiveness

September 19th, 2008

The tension among iPhone developers is palpable, as hundreds of us wait anxiously for Apple to lift the NDA restrictions that prevent us from discussing development on the platform with the public, or even discussing it amongst ourselves.

It’s widely expected that the iPhone developer community will inherit this charming aspect of the Mac developer community: its insatiable desire to share techniques and code, making us all more productive and more capable of creating top-notch applications. The quality of applications on the Mac is legendary, and helps to fuel a cycle of positive feedback among and between software developers, customers, and Apple itself.

The question on more and more minds is whether the secrecy imposed by Apple will seriously threaten the speed or degree to which this kind of healthy innovative environment develops on the iPhone platform. Some suggest that innovation has already been catastrophically stunted, but I think that analysis is hyperbolic. While the AppStore is filled to the brim with titles that many people wouldn’t hesitate to classify as “junk,” there are also numerous examples of brilliant ideas brought to reality. The question isn’t so much whether the iPhone platform will thrive, but to what extent and how efficiently it will do so.

Perhaps the darkest angle of our ongoing wait for the lifting of Apple’s iPhone NDA, is that we seem to be “waiting for Godot.” The parallels to the fabled character are pretty weak, but I can’t help but think myself a fool when I observe that I, along with countless others, am waiting for a happy day which may never come.

We have to face the fact that Apple may never lift the NDA. We don’t know all of the causes or motivations for their persisting in enforcing it, and they don’t seem anxious to share. This story becomes more tragic and more comedic with each passing day, as Apple allows events that are widely perceived as violations of the NDA to go unpunished, and opens up new niches of freedom that don’t benefit the very developers who are adding the most value to the system.

Today, Apple announced a free program for student iPhone developers. This program seems to endorse learning about and discussing iPhone development in an academic environment, which is great news. The part that stings is this is a privilege which those of us in the professional world are still not convinced we have.

The announcement drove developer Craig Hockenberry of The Iconfactory to a point of protest. Craig has been publicly decrying the NDA since the AppStore opened, and alluding to a number of blog posts which he hopes to share once the NDA is lifted. Today, apparently enraged by the academic program announcement, he decided the time had come to share one of his pending blog posts, NDA be damned. Lights Off is an iPod adaptation by Lucas Newman of the popular handheld electronics game, Lights Out. Craig adapted the original to the official iPhone SDK, and has decided to publish the project’s source code.

The old phrase suggests that it may be better to ask forgiveness than to ask permission. As we stand around like buffoons, waiting for an NDA dismissal that may never happen, perhaps we should start entertaining ourselves. Regaling each other with valuable iPhone development tips and source code might help us to pass the time more easily. And in the event Godot never does arrive, we should feel slightly less foolish for having at least put our time to good use in the interim.

Shush Little Baby

September 15th, 2008

Well, I suppose it was inevitable. I joked on the last episode of Core Intuition that I was being drawn in by the idea of developing software specifically for the “baby market.”

Since that time, I developed and deployed version 1.0 of the simplest product I’ve ever designed: Shush for the iPhone and iPod touch.

Check out Shush on the iTunes App Store.

Shush is an onomatopoeically titled iPhone application whose only purpose is to generate a constant shushing static noise, similar to the noise you might make when you want to quiet a baby who is frantic with fussiness and crying. Of course, you might also use it to calm your fussy and frantic self in a noisy airport, subway, or neighborhood where you live.

Partly due to time constraints, and partly due to purity of vision, Shush is an extremely simple 1.0 application. Its user interface consists of just a single button for starting and stopping the shushing, and a slider for fine-tuning the volume.

Although I really enjoy the minimal design of the app so far, I can see adding some features as time goes on. For instance, users have almost instantly asked for “pink noise” in addition or instead of the default white noise which is currently being generated. A common joke about pink noise is “you know, for girls,” but actually what pink noise refers to is a more appropriate distribution of the randomness in the noise, to suit the way that the human brain hears audio. Learn more about the colors of noise on Wikipedia.

Why White Noise?
Some of you without babies of your own may be wondering what white noise has to do with calming a baby. I read somewhere that every, or at least almost every, culture on earth has a word that is used for calming babies, and invariably it includes some form of this “shush” syllable, geared towards getting white noise out of soothing human’s mouth. In my reading of several books about baby care I have come across repeated advice to use shushing with a fussy baby, and it’s become especially emphasized by the very popular book: The Happiest Baby on the Block, by Dr. Harvey Karp.

One thing I can tell you is this product has already been extensively field tested. It’s easy enough to make a shushing noise with your mouth, but it gets tiring, and can be hard to sustain. I almost always have my iPhone with me, so it’s great to know that if a serious, full-blown fussy tantrum is taking place, I’ve got a little technological help in my pocket. How well the app will do among the general public is anybody’s guess, but I’m sure there will be at least a few jubilant parents out there who find this as useful as I do.

iPhone: $299.

Shush: $0.99

Stopping a fussy baby from screaming inconsolably? Priceless.