Kas has posted 2 posts at DZone. View Full User Profile

Where are the RIA "killer apps"?

04.28.2009
| 38138 views |
  • submit to reddit
I've found, over the years, that in almost every successful field of technology there's a "killer app," a category-leader so strong as to be universally understood as the archetype of success in a given domain. Conversely, when a technology lacks a killer app, it tends to be very telling. It says something about the future of that technology.

Take Java, for example. When Java first arrived, there were high hopes for its success based on the "write once, run anywhere" mantra. Applets started showing up all over the Web. But on the desktop, no killer apps. And even in the applet world, no killer apps, just a bunch of little games and academic demos. (Java's "killer app," the thing that would ensure its place in history, didn't really arrive until 1999: something called J2EE.)

So when a new technology-space like RIA comes along, with contenders having fancy names like AIR, Silverlight, or JavaFX, I sit back and wait for a "killer app" to emerge, signalling the appearance of a likely winner (or at least a contender with a future ahead of it) in the multi-way battle.

JavaFX was late to the party, so I continue to give it the benefit of the doubt, but it looks stillborn to me at this point (and I think the Oracle acquisition of Sun may delay progress with JavaFX until far past the point where it can regain ground against Adobe Flex/AIR). One thing we can all agree on is that there is no killer JavaFX app. In fact I can't even name a JavaFX app. Not a single one. "But it's too early," someone will say. To the contrary, my friend: It may be too late.

Silverlight has the full mass and motive power of the Microsoft juggernaut behind it, and for that reason we can't dismiss it (yet). But again, where are the killer apps? Shouldn't we have seen one by now? Shouldn't it be possible to walk up behind someone at any gathering of programmers, tap a total stranger on the shoulder, and get an immediate answer to the question: "Can you name a really cool Silverlight app?"

Yes, it's early.

And then there's Adobe with its shiny new AIR technology, built atop half-open, half-closed Flash and Flex infastructure, an alluring platform with the not inconsiderable advantage of being built, largely, on ActionScript (hormone-enriched JavaScript). It's fun, it's pretty, it's new. But where are the killer apps?

Actually, there's a class of killer apps built around AIR now. (Maybe you've noticed?) It's called the Twitter Client. TweetDeck, Twhirl, AlertThingy, Toro, the list goes on and on. (Many of these are not just Twitter clients, of course. Some are perhaps better called social clients, since they interact with other services besides Twitter.)

Does this mean Adobe has won the RIA wars? No, of course not. But it sure has a nice head start.

What we need to see now is whether additional killer-app categories start to emerge around AIR. If AIR progresses beyond the point of supporting fun little SoCo apps, things could get very interesting (for users of cell phones, palm devices, PCs, netbooks, laptops, readers, and who-knows-what-else) in a hurry.

If not -- if AIR remains the province of waist-slimming Twitter clients and zero-calorie RSS feed readers -- then we may have yet another evolutionary dead end along the lines of (dare I say it?) Java Man.

Time will tell.
References
Published at DZone with permission of its author, Kas Thomas. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

David Lee replied on Tue, 2009/04/28 - 10:15am

Have you experienced any JavaFX applications ?  They simply are not on par with flex or silverlight on the performance front.  The consumer JRE updates just haven't been an improvement enough to put the startup times on par flex or silverlight.  If you've done any swing development, and then see a javaJX app, you think what's the difference ?  I say there is no difference.  The language is the only difference.  One could write a swing app in groovy and launch it via JNLP and it would still be a swing app launched via JNLP.  Instead of JavaFX, Sun should have focused a super lean jvm and if startup times couldn't match flash, they should have not invested in this area.  Applets and JNLP technology are not not their own problems, JVM detection and startup time are.

Andy Leung replied on Tue, 2009/04/28 - 10:45am

Before I understand your points in the article, can you define what is "killer app"? How you measure as a "killer app"?

Michael Hoffman replied on Tue, 2009/04/28 - 10:52am

While it is a bit of a stretch, Dojo has been able to successfully separate itself to come close to what you are considering a killer app. It still has a ways to go; however, IBM is greatly embracing it as proven by the adoption into their latest version of WebSphere Portal. Also, though I have not worked on it yet, Flex would likely be up there.

A part of me is happy that there is not a killer app yet as I continue to fear supporting these types of applications in the future as JavaScript is not exactly the best at scaling.

Kas Thomas replied on Tue, 2009/04/28 - 10:54am in response to: Andy Leung

A "killer app" is one that fills a critical business or other need and is ubiquitous enough to have instant name recognition across a wide variety of user types. In image editing, Photoshop is a killer app. In social computing, Facebook. In office productivity, Word and Excel (arguably). Things of that nature. Instantly recognizable names.

Jeff Martin replied on Tue, 2009/04/28 - 11:25am

The killer Java RIA app is the app that lets you create Java RIA apps instantly. This was posted here today, and is just the kind of thing Java was made to do:

Can you do JavaFX in Java? (Answer)

Dean Del Ponte replied on Tue, 2009/04/28 - 2:43pm

Am I the only one that believes RIAs built using technologies like Flex, Silverlight, and JavaFX will exist only to fill a small niche?  There are very few compelling reasons to work with these "closed" solutions.  Only in very special circumstances does it make sense.  It will be tough to beat the open web, and I don't believe any of these competing technologies will.

Casper Bang replied on Tue, 2009/04/28 - 3:51pm

Am I the only one that believes RIAs built using technologies like Flex, Silverlight, and JavaFX will exist only to fill a small niche?

 

 Not at all, though I would probably formulate it a little differently: I think they will have their place as "containers" for more complex interaction/presentation, but they will (thankfully) not take over the adressable web as we know it. All the major browsers are getting massive speed increases in their JavaScript engines and every day we see new cool libraries like jQuery, MooTools, ExtJS etc. It's also interesting that Google never bought the "container illusion", their approach in GWT has the potential to leapfrog the competition - so much that Microsoft needed their own version as a supplement to Silverlight, in the form of project Volta .

JeffS replied on Tue, 2009/04/28 - 3:58pm in response to: Dean Del Ponte

I agree.

 

Over the last couple of weeks I've been trying to learn Flex, and do a project where I'm attempting to replace the top section of my company's website, which currently uses basic DHTML techniques, with Flex.  I was atracted to Flex's ability to do more affects, or add more bling (at least initially). 

What I discovered was, minus using FlexBuilder (I won't fork out the money until I'm convinced that Flex is the way to go), working with Flex was a lot like working with standard HTML, JavaScript, and CSS.  MXML is a a lot like HTML.  ActionScript is a lot like JavaScript.  And I found my productivity was no better than when using standard HTML and JavaScript.  

True, my Flex productivity would go up substantially if I used FlexBuilder.  But my HTML/JavaScript/CSS productivity goes way up when I use Visual Studio, Eclipse, NetBeans, Aptanta, Kompozer, et al (all of which have HTML, JS, CSS editors, code completion, WYSIWYG designers, etc, to one degree or another).

I've also played around with Silverlight.  Again, XAML is a lot like HTML.  The big difference is that the "code-behind" is either C# or VB, making it a lot like working with ASP.Net.

 Finally, I've played around with JavaFX.  At least this is different than HTML/JavaScript.  It's essentially a scripting language for creating Java gui, which in turn can be embedded within a page, essentially resulting in a Applet.  Nothing new here.

 So, the productivity comparison in RIA vs HTML/JS/CSS is a wash.

The other selling point for RIA is a consistent runtime (Flash, .Net, Java).  This was actually more compelling, say, 5 years ago.  But nowadays, the major browsers are becoming more and more standards compliant, and more consistent, and more performant.  Plus, the plethora of open source Ajax/DHTML/JavaScript libraries/Frameworks out there, like Dojo, JQuery, YUI, Prototype, etc, all do a great job of abstracting out browser differences (they handle the differences behind the scenes within their component source code).  

So, mondern browsers plus JavaScript libraries makes the "consistent runtime" comparison a wash.

Now, Silverlight runs on .Net, and JavaFX runs on Java.  Adding in those platforms/runtimes is a big gain in terms of library support.  Flex runs on Flash, which has great multimedia support and animation/effects support, so that's a plus.

Also, the Markup/Script in Flex and Silverlight compile to runtime bytecodes, making it more of a true application platform.  HTML doesn't compile to anything - it's markup for document organization/presentation.  And JavaScript is interpreted at runtime.  So that's another plus for RIA's.

But on the negative side, Flash and .Net are closed, proprietary platforms (Gnash and Mono are nice, but will always play catch-up).

Are there corner cases where using a RIA is the way to go?  Sure.

But most of the time good 'ol HTML/JavaScript/CSS will do just fine.

Thierry Milard replied on Tue, 2009/04/28 - 4:11pm in response to: David Lee

1) I think You are right about the long-powerfull-need of a lean jvm.

It's been better since update 10 - 13 and soon with 14.

But still, it is far from Flash. The stress on this team must be great ... but honestly it is at the center of the issues of java on the the Internet client side (ie like Flash or Air). If they don't improve again (and soon) ... nothing will happen for sure because a CTO just cannot  choose an Internet platefrom that take 7 seconds to run on an average machine.

 

2) For the jre detection issues, I think you were right but  ... not anymore. Last week I use a javaScript function that Sun gives (forgot the name). It takes care of everything: detecting the version  ... and installing the proper one if needed. I tested this and let me say that those detecting issues on the java plateform are issues from the past. I just say bravo to the sun team for this wonderfull fix.

Otengi Miloskov replied on Tue, 2009/04/28 - 7:21pm in response to: JeffS

Im agree, all RIA offers are propetary, Flex just the framework is opensource but Flash is Not. JavaFX? The licensing is a mess, Silverlight 100% propetary.

It sucks the RIA offers, I think the only one that is going good and are standard/open is the AJAX as Dojo, GWT, JQuery, html/javascript/css.

Want to do RIA with Java?, I recomend GWT or a Model 2 framework as Stripes for the comet functionality with JQuery for the front end.

David Lee replied on Wed, 2009/04/29 - 6:56am in response to: Casper Bang

I disagree.  My last 3 employeers have all moved to Flex on the front end.  My current employer is on Struts 1.x and trying to decide what to move to next.  Let's see, in the java world what are our options: frameworks A-Z, JSF implentation 1-5 and possible javascript library X or Flex.  In a controlled environment, Flex is going to win. 

So maybe it is a niche, but in my little world, applets, certain parts of java are simply all losing stream. None of my collegues have even as so much tried JavaFX.

Michael Hoffman replied on Wed, 2009/04/29 - 8:12am

Flex is certainly gaining steam. Moving it to open source was a huge move for Adobe as it hopefully will help the bad rap it got for being a propreitary, closed-source development framework. However, I would be curious to know the size of your last three employers and/size of their projects that used Flex. Im not saying that Flex is a bad solution. I am simply curious if mid to large sized companies that drive the use of these types of technologies have started embracing it. Im sure a major obstacle that companies face is finding talented Flex developers.

larry holmes replied on Wed, 2009/04/29 - 10:52am

How about the MLB.tv client?  Killer Flex app in my opinion.

Andy Leung replied on Wed, 2009/04/29 - 12:15pm

Thanks kas_thomas, good job! I agree with you. There is no killer app so far. I tried icefaces, man, even though NetBeans plugin helps a lot, it is very buggy. I also tried dojo, it is just too slow when I worked on portal. I tried jQuery, it works fine but I wish there are better tools that can help me speed up development instead of typing (like drag and drop generates jQuery Javascript). I never like the idea of Flash, Silverlight, Applet and anything else. If I need that kind of power to do something over the web, I rather go for Java Web Start to cache a copy of standalone app on my local machine instead. The plugins can easily crash browsers and it gives me so heavy weight that I can't breath. Besides, developing those apps is never easy.

Lorenzo Jimenez replied on Wed, 2009/04/29 - 1:24pm

I got the impression that this article is more an Adobe Ad.

Juan Hernandez Gomez replied on Wed, 2009/04/29 - 6:05pm

Yahoo Maps is done in Flex. Is not that a killer app?

Otengi Miloskov replied on Wed, 2009/04/29 - 10:19pm in response to: Juan Hernandez Gomez

Oh yeah, Yahoo Maps is a cool app, It is a killer app. I think people is right, Flash/Flex is the way to go. I was reading that Flex 4 will have uber graphics features, Flex is in better position than Silverlight or JavaFX.

Andy Leung replied on Thu, 2009/04/30 - 9:23am in response to: Juan Hernandez Gomez

I don't think it's a killer app cuz I use google map :P j/k

lim tou ee replied on Mon, 2009/05/04 - 2:28am

yahoo maps?

sorry never heard about it :p

Mike Borozdin replied on Tue, 2009/05/05 - 9:55am

Interesting point view. However I wouldn't call Twhirl and another Adobe AIR applications RIA apps cause they are running on the desktop, not in the browser.

But I do agree. I think good popular application is a great way of promoting a technology. Everyone knows that Facebook is built with PHP, so people are more likely to choose PHP than ASP.NET.

Kathy John replied on Tue, 2012/02/21 - 1:07pm

I'd say they are on the way. I think AIR is a natural fit for RESTful services though. That means we need more 'platforms' (as opposed to sites/applications) such as Twitter to emerge.

Also, I used AIR to create a CMIS client. Again, I took advantage of the ATOM services. It is much easier in AIR than in any other language to build this type of application.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.