Like everyone else, it's become my turn to tell you how wrong everybody else is about the iPad and how right I am and why. Well, not really. I just thought I'd link to a few snippets and blather for a bit. You don't mind, do you?
- Mark Pilgrim laments that the next generation won't be able to tinker like we did
- Joe Hewitt sees opportunity in the big screen + sandbox approach
- Steven Frank: Old World meet New World (a must read)
I think Mark laments needlessly and Joe and Steven are right - but none of them touch on the role that the Open Web stack will play in this New World of Computing. Sam did. The more capable the Open Web stack becomes, the less we need platform-specific APIs and SDKs. Why code for iPad when you can code for iPad, Android, WebOS, Blackberry, Windows, OSX, Linux and Haiku at the same time?
2009 was the year I became convinced that one day soon the Open Web (HTML, JS, CSS, SVG) will supplant all those other cross-platform UI toolkits (Java, GNOME, Qt, AIR/Flash, Silverlight) as king of the heap. I'm willing to wager that in 5 years the majority (say, over 80%) of apps that need a user interface will be done using Open Web technologies.
There are advantages:
- No need for an SDK
- No need for user installs
- No need to install a runtime, plugin, libraries
- No need for user upgrades
- Multiplatform
- No vendor lock-in
There are (current) hurdles:
- High performance (improving)
- Interoperable vector graphics (coming... let's see where we are in, say, 7 weeks?)
- 3D graphics (that will sort itself out soon)
- Video, Audio support (HTML5 will take care of that eventually)
- Better input handling (multi-touch events, gestures, whatever)
- File access (Firefox 3.6 is 50% of the way there)
- Easier networking (web sockets anyone?)
Make it happ'n Cap'n!
Great minds think alike. About 5 years ago, I said other browsers would cut into IE market share and online usage would mean Microsoft wouldn’t matter anymore. About 2 months later, Paul Graham wrote an article saying the same thing, essentially. What you are saying ties into all that, too. I wonder if 5 years is a little too quick but that could put us on the doorstep at least.
> I became convinced that one day soon the Open Web (HTML, JS, CSS, SVG) will supplant all those other cross-platform UI toolkits (Java, GNOME, Qt, AIR/Flash, Silverlight) as king of the heap
Geez I really hope not.
HTML is a mess and is not ready to do the quantum leap it needs (see HTML5). Java is much more portable (see all browsers incompatibilities) and cleanly developed.
And why do you think a browser is not something you have to install ?!?
Really, think about it. Do you think OpenJDK is less Open than HTML5 ?
Hi David,
I can’t think of one modern computing device that doesn’t come with a HTML web browser already installed. Can you?
On the other hand, iPhone and the iPad do not support Java. I haven’t heard whether ChromeOS or WebOS support Java but they are based on Open Web technologies. Android apps are written in Java, but are not at all portable – yet it also comes with WebKit.
This isn’t quite a question of open-ness (though I admit that open-ness does play a factor for me personally). This is about momentum and reality.
By the way, I’m curious – are you talking about standalone Java applications or Java applets (or both)?
I haven’t done any Java application development outside of Android lately, is there a clean mechanism for deploying Java applications that instantly updates itself on every user’s computer instantly. The deployment story for web apps (HTTP) is a big factor for me. Another big factor is the lack of a need for compilation (lowers the barrier of entry for new developers).
> I can’t think of one modern computing device that doesn’t come with a HTML web browser already installed. Can you?
Any Windows computer sold in Europe from March 2010. 🙂
But it’s not because a VM is preinstalled on a lot of devices that it is necessarily good.
I didn’t know iPhone/Pad haven’t Java installed.
What do you mean by momentum and reality ?
I’m talking about Java applications. Applets just add one dependence (html). Of course you can deploy Java applications easily with Web Start.
Well, compilation is a subject of argument since the dawn of computing time. It’s just a matter of taste. I personally can’t stand script languages. Debugging syntax and type errors at runtime is an aberration. The need of a good analysing IDE lowers the barrier of entry for me! 🙂
I’m not against Web applications. But having tasted the mess of browsers incompatibilities and IE hacks and legacy HTTP inconsistencies, and cryable unicode support in PHP, and a lot more poorly written libs API in PHP, and the lack of CSS3/HTML5 support, and … They need to mature. They need a quantum leap. They need to get away from Hixie’s motto : backward compatible incremental changes. And they need a certification office that blame (or even sue!) buggy implementations.
Huh – I thought there was going to be a ballot screen where the user has to choose a web browser. I didn’t realize a valid option was “None”.
If you compare web applications to other enterprise solutions, then yes they have a long way to go. But if you compare the situation to 5 years ago, they have actually come a VERY long way:
Maybe I don’t listen to the proper channels – but when’s the last time time you heard of a company betting big on Java as a UI solution?
The only thing I can think of is Google’s GWT (where you write Java and it compiles to cross-browser JavaScript).
> I thought there was going to be a ballot screen where the user has to choose a web browser
I was just nit-picking about the “already installed” part of your sentence.
Ok I see your point.
Of course it’s going better.
I wasn’t trying to predict the future of HTML or Java. I just hope I can still use Java in the near future as a strong cross-platform toolkit, instead of having to struggle with the non-versioned, not-compatible, non-intuitive, not-compiled, not-easily-implemented HTML.
I just wrote about my own tastes and API preferences. I don’t really care about momentum and reality when I choose a platform. If I would, I’d develop in Flash instead of SVG years ago. 😉