Death of the desktop
9 July 2007
Ok, I don’t normally do this but I’m feeling snarky today:
iPhone’s AJAX SDK: No, thank you.
Sucks to be you, Will.
Don’t get me wrong, I’m a fan of the Shipley but he’s just plain wrong on this one – sure, it would be nice to have a full iPhone SDK (and I guess we’ll get one soon enough) but that’s not to say what we’ve got is quite as bad as he makes out.
What I’m not willing to do is starting programming in AJAX, as Steve so gleefully announced we should do at the (non-nondisclosured) WWDC keynote this year.
Of course, AJAX isn’t a programming language it’s a fashionable buzzword but we’ll let that one pass.
But Apple has tried to tell us developers we can immediately make and (presumably) sell web-based applications for the iPhone, while ignoring that none of us are set up to run apps off of giant web servers (whose power and bandwidth must scale based on the number of customers we’d have), nor to program in JavaScript, nor to do the recurring online billing we’d have to do to pay for these servers (and store our customer’s data).
I’m sure no-one has ever had to solve these problems. Woo, paying for servers – scary! Recurring online billing – ouch! It must be difficult figuring out how to pay for stuff like, every month.
- Not very many companies on any platform are successful at selling web applications. Sure, there are some high-profile exceptions, but they are high-profile because they are exceptions.
Ok, snarkyness aside, this one is pretty ridiculous.
The iPhone really isn’t a good match with any kind of subscription-based websites anyways, since it doesn’t remember passwords or autofill forms, so my supposed paying customers would have to laboriously type in their names and passwords EACH AND EVERY TIME they used my putative for-pay site.
It does, however, support cookies so this point is pretty much void.
It would be kind of horrible UI for my AJAX iPhone app to always have a useless (in the context of my app) URL bar at the top of the screen and back and forward buttons at the bottom—I can’t customize what controls the user sees from inside Safari.
Ok, I’ll give you this one, although I’ve read you can get rid of the browser header but that’ll still leave you with the bookmarks bar at the bottom.
My AJAX iPhone app wouldn’t get its own launch icon on the iPhone’s home screen, no matter how cool it was or how much users loved it
Also fair enough – I can’t help thinking though that even if we had got a full SDK you still wouldn’t be getting you icon on the home screen.
I became a Mac developer so I could program in Cocoa…
Well, err, stay being a Mac developer then?
JavaScript was thrown together by some dudes a couple years ago to make web pages kind of, like, do shit and stuff. It’s famous for being slow, hard to read, hard to program, and incompatible across different platforms.
Ah yes, because incompatibility across multiple platforms is a big problem when you’re just targeting the iPhone. I always forget about Cocoa’s much touted cross-platform compatibility.
I don’t trust any “SDK” made by a company that won’t use it themselves. Where are all of Apple’s AJAX apps for the iPhone?
Well, there’s the RSS reader at reader.mac.com for a start.
If you look at it from another perspective, this is a “crisortunity”—it’s Apple’s chance to write a new, tighter Cocoa, that has a HUGE built-in market (eg, all iPhone users) to attract developers to it. And, then, eventually Apple could port this back to Macs, and in a few more years it could gently replace the old, kind of bloated Cocoa we have now, as Cocoa is doing with Carbon as we speak.
Or, on the other hand, Apple could open up the iPhone to thousands of developers that see the mac currently as a second tear platform, and get them to make their apps work right now with the mac.
The crux of the problem, as I see it, is that yes an full SDK would be cool, and allow some pretty cool apps that could take advantage of the technology wrapped up in the iPhone (within the exceedingly strict power/processing limits it has), but – for the majority of everyday problems – you can do just as much in a web app. Which, quite frankly, sucks if you’re not a web developer, and doubly so if you’re not a web developer but a mac developer – you’ve just been hung out to dry.
To flesh things out a little, I think that the web offers far more in terms of new interactions and applications then desktop apps (I guess you can’t really call them “desktop apps” on the iPhone…) do. The always on nature, coupled with the decentralisation and democratisation of the web is way more interesting then the possibilities offered by the greater processing power enabled by desktop apps.
I truly believe that web apps are the future of software development, nasty Javascript and all, which is why just over 2 years ago I switched from being a mac developer – Cocoa, Xcode et al – to being a web developer and quite frankly I’ve never looked back.
I can’t remember the last time I saw a desktop application do something exciting or revolutionary. I see a web app that does that every couple of weeks.
David Emery Online