Image: Leonard Low, Creative Commons.
As illustrated in the movie Finding Nemo, clownfish and sea anemones have a mutual symbiotic relationship. The latter Wikipedia article states that "The territorial [clown] fish protects the anemone from anemone-eating fish, and in turn the stinging tentacles of the anemone protect the clownfish from its predators. A special mucus on the clownfish protects it from the stinging tentacles". Of course, as also demonstrated in Nemo, mutualism breaks down when uninvited barracudas join the party ;-)
Two of the creatures in the internet application ecosystem are web pages/apps, and rich internet apps created in platforms such as JavaFX and Flex. I like the way that Stephen Chin characterizes these creatures when he was interviewed by James Sugrue for the DZone article entitled JavaFX in Practice:
"My prediction is that this will be the year that the RIA movement will help reclaim developer sanity. Forcing all web applications to run inside the limitations of browser scripting languages was a tremendous setback to the modern computing era and sanity of developers across the world. I have a lot of respect for the intellectual work that has gone into modern AJAX implementations and Javascript code generation libraries, but reproducing decade-old UI paradigms in the browser is not going to advance the computer science field. JavaFX has the potential to unleash the creativity of everyday developers by providing a platform that is limitless in possibilities."
I wholeheartedly agree with Stephen, and feel that it is very important when creating a new application to not just assume that its UI should live in a web browser. We need to carefully consider which portions of its functionality (if any) belong inside a web browser, and which portions would offer the user a better experience outside of the browser. It is my opinion that desktop applications should follow the lead of apps on mobile devices such as Android and iPhone, declaring that "there's an app for that", rather than "there's a browser-based throwback to 1970s mainframe CICS screens for that" :-)
Of course, web browsers will continue to play a critical role in internet applications, and are particularly suited in areas for which they were originally created, namely sharing current, hyper-linked, information in various media types. For example, the Help facilities of many installed applications (e.g. Adobe Photoshop and iTunes) are either entirely composed of web pages, or link to web pages for several of their help topics). Conversely, the Charts tab of the iTunes web site invokes the installed version of iTunes and navigates to a given item in the iTunes store when the user clicks on a song in the web page.
One of the great features of the Web, browsers, and search engines, is the ability to find/bookmark web pages and other content by a URL. To leverage this, I've been experimenting with the idea of having a landing/launch page for JavaFX apps that are invoked via Java Web Start or in a WidgetFX dock. This enables these apps to have a page that can be cataloged/ranked by search engines, and gives the user a way to find/bookmark the JavaFX app. While implementing this idea, I followed the lead of bit.ly and identified a short domain name that would be conducive to tweeting JavaFX app links without requiring URL shortening. The domain name that I'm using is jfx.me, and I've developed a couple of example landing/launch pages whose URLs are easy to remember and type:
- jfx.me/speedreaderfx.html (An application that aggregates news and social network sources)
- jfx.me/radiofx.html (Yannick Van Godtsenhoven's excellent RadioFX widget)
Currently these pages are within the context of the JavaFXpert blog, but if there is JavaFX community interest, I'll forward the jfx.me domain to a site dedicated to this purpose. By the way, you'll notice if you visit either of the landing pages above that both Yannick and I intend to offer these apps (at no charge) in the Java Store.
Anyway, I'm very interested in your thoughts surrounding web page and RIA mutualism, so please leave a comment with your ideas.
Regards,
Jim Weaver
I followed the lead of bit.ly and identified a short domain name that would be conducive to tweeting JavaFX app links without requiring URL shortening.
Posted by: cheap computers canada | January 19, 2010 at 03:04 PM
People are fooled by adobe. Speaking about developers, air developers have to install sdk and runtime, separately. It's a little pain.
Posted by: cheap computers canada | January 15, 2010 at 08:50 AM
"b) Java like security. Oh yea they love it ...
About those security warning messages, do you really think Flash would have been so popular if each time a "new-Flash-Application" was encountered on an html page there was a security dialog ?"
Well, flash has not such capability of accessing system resources (files, folders etc.). This is often forgotten. If you look at adobe air, you find out that it's got security dialog and separate runtime too, because it can access system resources. People are fooled by adobe. Speaking about developers, air developers have to install sdk and runtime, separately. It's a little pain.
I agree that even the newest java plugin si bit slow, but it should be resolved with java 7 and it's effort towards modularity.
I'm just bit sad that there are so little pages employing jfx as it's main technology. It'd have been better if jfx kept the capability to fully integrate with html like it was in the beginning. It was really sweet.
Posted by: goddard | January 01, 2010 at 11:17 AM
My thoughts:
1)I think "The Web" represents 98% or 99% of world application.
Iphone apps and androids or new powerfull trend but too small to think only about those "pure" applications.
2) I think embedded java-or-javaFx application in web page is super. Other platform have made a big hit in this, just look how flash-flexx manage to grow inside the browser.
I mean apllication-inside-web-page is a hit as soon as the application is a bit "too complicated" to bild in AJAX.
So yes symbiosis ajax+application : I agree.
3) Now the sad.
Why is java-or-javaFx-embedded-in-browser a (popular) failure yet ? a) Just look at how slow the jvm start with j2se_6_update_17 [todays latest]
b) Java like security. Oh yea they love it ...
About those security warning messages, do you really think Flash would have been so popular if each time a "new-Flash-Application" was encountered on an html page there was a security dialog ?
- One example illustrate point a and b:
The folowing html page has together, a java-applet and a Flash application.
Guess wich one is java ? ;)
ww.cafes-wifi.com/index.php?option=com_content&task=view&id=100&Itemid=299
I wish Jim Weaver, the javaFx team a successfull 2010 year !
Posted by: Thierry | December 31, 2009 at 07:18 PM