My Favorite iPhone App…

I "heart" PatternMusic

I "heart" PatternMusic

Creating a sophisticated iPhone app involves a lot of sweat and toil. For some reason we developers tend to convince ourselves that because the program is running on a tiny 3.5 inch screen that somehow the problems of creating the software will be tiny too. It’s just not true. Developing an iPhone app of some depth is just like any other complex software project with seemingly uncountable hurdles to overcome. The issues of quality and performance are just as prevalent in iPhone apps as they are on the desktop or web. There are no shortcuts.

I think we maybe got some impression early-on in the history of iPhone development (all 18 or so months of it) that iPhone apps were trivial due to the preponderance of joke apps like “Pull my Finger” and “More Cowbell” that were allegedly whipped out in an afternoon.

I was committed to creating a deep and quality program with PatternMusic. I was trying to tackle the difficult problem of how make music creation accessible and appropriate for a device that seemed to be getting most its attention as a platform for consuming and task engagement typically measured in seconds.

Somewhere in late spring I did an assessment of where the PatternMusic project stood. I’d been working on iPhone development for a year and exclusively on PatternMusic’s design and implementation for more than six months.  I was taking an unflinching look at everything that was problematic. What I found was a spectrum of issues of all sizes. The big issues were obvious they had to be fixed… yesterday. But then there were those little issues. There’s always a little voice telling you they might just go away. However, as anyone experienced in software development can tell you, the little problems don’t go away. They just become bigger. And that was so true. All the little problems that didn’t either get cut from the app or hadn’t been fixed as part of some larger overhaul eventually festered into bigger and bigger problems to the point they too were so obvious that the project couldn’t continue until they too were addressed.

Fortunately, I really enjoy software development. I enjoy inventing things and solving problems. But I must admit there are some days when the problems seem to be winning when I don’t enjoy it quite so much.  There are times when I can’t stand to tear that section of code apart again in search of that elusive error or figure out how in the world those process threads are stepping on each others data.

But the second thing I’m fortunate about was that the program I was building, even in it unperfected state, was the coolest app I had on my phone. After a long day of fighting with some coding glitch, I could fire up PatternMusic and create a song. And the amazing thing was it would totally redeem all the hard work.  The next day I would face that maze of code and defeat the bug.

PatternMusic is now launched into an overwhelming app marketplace. People tell me they love the app. But I’m the developer. I’ve been living with this creature for a year. The amazing thing is I still feel the same way. I fire up PatternMusic at the end of a long day and write a little song, and all that hard work is redeemed.  My favorite iPhone app is the app I wrote — PatternMusic.  Check it out.  You might think it’s cool too.

***

If you do think PatternMusic is cool too nominate it for 2009 Best App Ever. Anyone can nominate an app under a variety of pre-defined categories. One nomination per reader per app category is allowed. So you can nominate PatternMusic in all of the following categories — or any others you think are appropriate.

Also Mobile Orchard – the “goto blog and podcast” for iPhone development news — is part of the nominating committee.