Tags: Rich Internet Applications
I've been doing some research on the coming wave of technology for "Rich Internet Applications" ( my del.icio.us links tell the story).. This JavaFX thing is very interesting and intriguing, as well as the other developments we're working on.
InfoQ has a really good overview of JavaFX and other client side Java improvements that's pretty much on the mark. I believe they're summarizing the information presented at last weeks Client Java Drinks & Snacks Event.
What inspired me to write is WealthFly talking about web 3.0. Treading into this web2.0/web3.0 territory is fraught with marketeerese so please bear with me.
The "Web 2.0" moniker is so vague that how can we adequately talk about it. WealthFly's blog posting is a case example in point. S/he defines Web 2.0 as "the ability to multi-thread and the ability to update browser HTML without refreshing the browser. It lets HTML apps act more like desktop apps and less like simple document viewers." That misses several game changing aspects of web2.0 such as user generated content, simplified read/write of web content, and the whole mashup, microformat, and API phenomenon.
In any case the DHTML (a.k.a. AJAX) aspect of web2.0 is interesting. It has improved user experience of websites but as a technology it leaves a lot to be desired in terms of GUI/UI usability and performance.
Traditional desktop application development methods tend to provide better usability and performance. To take an example of usability, I'm reviewing the rich editing widgets available for the Drupal content management system. I use Drupal for my personal websites (such as davidherron.com) and I've come to recognize that editing web pages in a textarea is a throwback to the usability of the early 80's. Editing in a textarea is very much like using 'vi', and writing HTML or BBCODE or any of the various WIKI markup languages is, well, very much like using 'nroff'. There are several pseudo-WYSIWYG HTML editors written in javascript (such as fckeditor) and the Drupal community has made modules to incorporate many of these.
The last two I evaluated have the same problem. Clicking on a toolbar button (e.g. to select bold) means the textarea looses focus. In a normal word processor such as Open Office clicking on a toolbar button does not shift keyboard focus away from the textarea, and it's a jarring user experience to click on a toolbar button then start typing again and realize your text isn't going into the text area.
Getting back to WealthFly's blog posting ... s/he goes on to discuss "Rich Internet Applications" (a.k.a. web 3.0) as a flashy internet-aware and internet-centric GUI written with traditional desktop GUI techniques.
I suppose this vision is to free the Internet from being trapped in a Web Browser.
I've been on the Internet for over 20 years and remember what it was like before Web Browsers came along. In fact the first impressions of web browsers was as a nicer user interface to browsing FTP sites ... sigh. In any case there are tons of other services the Internet can run besides HTTP and HTTP is hardly the be-all-end-all of what the Internet could be.
For example .. at home I do not own a TV and instead have a Mac Mini in my living room along with a 22" LCD computer monitor. Okay, I'm a geek, but I hate TV and still want to watch DVD's in the living room. The Mini is running iTunes and I've poured a zillion audio CD's into it, and subscribed it to 3 dozen different podcasts (video and audio).
An interesting feature in Mac OS X is Front Row. With the Apple Remote I can sit on the couch or stand across the room and use Front Row to browse the content in iTunes. Podcasts become something akin to a slew of TV channels, in that Front Row makes browsing downloaded podcasts a simple experience.
Front Row also has access to the Apple's movie trailer collection. This also is a simple remote control experience to viewing movie trailers.
What's going on behind the scenes? The Front Row UI hides the complexity, and I haven't taken a look, but of course it's simply a presentation layer for several underlying technologies that retrieve stuff over the Internet. The important thing is there's not a web browser in sight.
Source: weblogs.java.net