Regarding iPods, Developers and Attention Spans

I just linked to a post that complains about ADD from indie Mac developers, but as I played around with another of my pet projects, I realized that there was more to it than just apps.

Take iPhone development, a hot topic if there ever was one, and something that I have had a passing interest ever since the browser’s capabilities came to light.

Now, I’m one of those odd people who couldn’t possibly care less about getting one in its present state1, but I did get an 8GB iPod Touch as a gift from my wife, and as consequence I’ve been playing around with it for quite a few weeks2 – which, in my case, includes throwing little snippets of JavaScript at it to see what it can do.

Nearly a year ago, I ranted on at length about how it would be better if people used jQuery to develop apps for these devices and also linked to a couple of pieces that cautioned against using custom, device-specific code on mobile browsers, and it is interesting to notice a number of things, namely that iUI, the much hyped “oh my goodness, it looks native” little framework, is pretty much dead in the water.

There were a couple of wiki updates today, but their last release was back in November 2007 (about a month after Apple announced they would release a native SDK for the iPhone). You’d expect that given its initial popularity it would have gotten a lot farther by now, right?

Well, it didn’t. Joe Hewitt’s site is now laden with hazard signs when you visit via Google, so I guess his job at Facebook is keeping him too busy to blog (or something, hope he’s OK3). Plus the iPhoneWebDev blog is stale (their last entry at this time is date September 2007).

But this isn’t just about fads and ADD. It’s also about careful investment and time and skills.

For, you see, in my view, the above validates my point regarding using more common frameworks to target this kind of devices (or, in fact, pretty much any kind of mobile device with a decent browser) – there is less to lose by investing in mainstream libraries overall: you learn re-usable skills (that you can apply to other environments), there’s a larger number of people using the same toolkit, and there’s a lot less risk of having the code base go stale on you4.

And, right now, all my jQuery stuff works pretty much flawlessly on my dinky little iPod, and I’ve (so far) re-written one line of code to cater to the iPod’s little quirks – and that was because I was lazy and didn’t query for the browser screen size.

The only reason I might have for using iUI right now is that they got the CSS pretty much perfect, and even then that’s only a matter of someone taking the time to re-implement all of the logic in jQuery and documenting things (which, sadly, I’m unlikely to have time for within, oh, a few years or so).

If anyone gets around to that, feel free to drop me a line. I’m now trying to graft a mobile Safari theme onto Yaki, and it would be nice to have an iUI replacement that is entirely coded in jQuery.

Anyway, a little nugget – if you’re like me and want something a little more structured to play around with the browser on your iPhone or iPod, there are other much more interesting approaches, such as Journyx’s jPint.

It uses Prototype (to my dismay), but seems to be pretty mature right now.

1 Dear Apple Zealots, please read this to find out why. In a nutshell, Nokia designs better (if less intuitive) phones.

2 I will eventually get around to summarizing my notes on that, perhaps even in comparison with other gadgetry.

3 For those of you who missed it, he implemented their iPhone front-end. I can’t find any trace of him online these days.

4 Before you point out that Snakelets (the app server that this Yaki wiki runs in) has been “stable” for years, allow me to point out that there is nothing else like it out there that suits my purposes (and that my stance on the CGI-oriented mindset of common Python frameworks borders on the nihilistic).

See Also: