Daniel Steinberg’s article entitled Java to the iPhone: Can you hear me now? is getting some link love tonight, me included.
I don’t think there’s any real epiphany here, more like a “yeah, that’s right” sort of forgone conclusion in my head that just makes sense. While I think Daniel has a bit of nostolgia for the old bird (that would be programming language Java, in case you’re not following), the truth of the matter is that Java never did shit on the desktop. Or more appropriately, that’s all it did. Even with the dramatic and amazing efforts of a lot of people - the reality of java on the desktop was a clunky, often-slow, and non-repeatable-between-OS interface that never really looked like anything other than a clunky interface.
I suppose you could call this post “Why flash is going to kick java’s ass on the desktop” just as well - because it’s not even related in many respects to the iPhone, except for a comment that Jobs as reported by David Pogue. Would you spend the resources porting java to the iPhone. If it was my choice, no way. Java still does some things well, but to me it’s moving into the real of “bank software”. Compiled server software? Sure, yeah. Probably over C++ in my book (but there’s always room for C if you need the down and dirty speed). But productivity for the developer? No, sorry - not anymore. More flexible languages like Python, Ruby, even PHP are taking it down. They’ve optimized significantly more towards “developer time” over performance. Java did this over C and C++, but it’s been surpassed.
But move to the desktop, and you’ve got even more specific needs. The rules disappear and the options explode for what you “want to do”, and a language that’s both tedious and relatively indeterminate (in terms of what you’ll actually GET in performance and visuals) isn’t going to last long. Flash, I think, will take it down at the end. Shoot - just look at Flash 9/ActionScript 3. A flash “movie” looks the same on a Mac as a PC as a Linux desktop. That’s the win, right there. It might be a pain in the ass to code towards - I personally prefer Cocoa/Objective-C for desktop apps, but then I can’t get a result on Windows and Linux with that. I can with Flash. It’s predictable. It’s growing, and not just in WS*craptola API’s. It will be interesting to see how Adobe plays out it’s hand here (I actually have little faith they’ll do it intelligently) - but I still expect Flash to suceed in spite of anything Adobe might actually do.
If I were Ray Ozzie, I’d be worried about Flash and what it’s going to do to my desktop. Or how I could use it… one of two.
Will Flash stand up to a large desktop App (Can you even imagine MS Word in Flash???). Maybe, maybe not. I’ll bet not. I’ll bet the small-pieces-loosely-coupled concepts of Unix are finally making it around as well though. And that it won’t matter. That having a reliable expectation of what the interface will LOOK like will ultimately be more important than the 600,000 features you don’t use.
Spreadsheets in a web browser - that must have been Bill Gate’s worst nightmare about 10 years ago. And they’re here. Any they’re not awesome, but they ARE disruptive. They’re somewhat functional, cost nothing, and will undoutable get better. It’s done mostly in Javascript with some clever server side function. Javascript is (more or less) ECMAScript. Flash 9 is ECMAScript as well. Connect the dots.
In the end, I real Daniel’s piece and thought. Yep, makes sense.