My Views on RIA

April 6, 2007

Having used asynchronous/part refreshing interfaces and rich client interfaces since 99, I was quite surprised on Ajax and RIA suddenly been seen a new and happening. While thousands of DHTML/javascripts have always been available by individual developers and botiqueues offering RIA. It was a tough task finding what worked and what was flaky and invariably required a lot of coding.

However with RIA becoming popular, we started getting more integrated offerings in terms of toolkits. There were and are multiple approaches:

Pure Browser based:

– Pure Javascript toolkits : Dojo toolkit, Yahoo UI library, Open Rico etc.

– Server side Java toolkits to generate RIA client code: GWT, Echo2 etc. (Possibly JSF can also fall here)

Rich client:

 – Flash based: Either using Flex/Atlas feeding Flash, pure flash widgets, or Flash generated by OpenLaszlo

 – Windows Presentation Framework – the Microsoft’s anwer to Flash – with WPF/E availale it now supports many browsers, not just IE 7.

– Traditional rich client ( Applets, Activex etc. and not so traditional – Java’s F3)

 In the past, finding a good javascript, and Activex used to the only practical options with the rest being too heavy or too flaky. For instance a few years back – It took us over two weeks to optimize Javascript tree menus so that they could render 2000 Nodes.

Today, all of the above are viable. But the question is – which is most pervasive (i.e. will work for most users – based on the current hardware / software they have), which would last some time and which are least likely to break with server side application upgrades.

I find JSF and server side toolkits like GWT slightly difficult to use as there are different versions of JDK and different server side frameworks that we need to work on. However any stand alone – client side item – whether flash/applet or javascript is good enough. I am in no way writing them off. If your need is limited to a single product/platform and you have developers who understand event driven programming – like Java swing – this may be the best option allowing you to debug on proper IDEs – which must be a lot more robust than difficult to test javascripts. I have talked to developers who swear by GWT having taken away their cross browser worries. And I even find a greater willingness amongst programmers to write Java code using GWT than javascript. Now that is a very real advantage.

So among flash/Applet and Javascript – my personal experience forces me away from applets. Its very difficult to get it to make applets light and to get them to work ( atleast amongst the ones I have used – not necessarily coded) and they take just too much time to load – even F3.  Activex used to be slightly more reliable but is increasingly facing trust issues. Flash are robust, fast and persvasive and Javascript based RIA work well – as long as they have gone thru a lot of quality control and testing for cross browser compatibility.

In my personal opinion, I would prefer javascript over flash, even more so with the advent of toolkits. The reason for that are

  • It looks one with the rest of the page.
  • You can select text.
  • You dont have to suffer “click here to activate” forcing you to click twice when all you want is to push a button or expand a node.
  • You dont want browser selection to be chunky etc.
  • You dont need to worry about Javascript vs Flash ( or whatever) interaction or need to worry about how to share data and events between different active windows on page if the entire page is not rich client.

But Flash like client are not a write off but bring a huge value – in fact in content management field, media fields and print fields they can have huge advantages which Javascript cant.

  • you can do multiple file select – no need to upload one file at a time.
  • While editing (lets say you are posting a yellow page entry or classified) – you can take advantage of kerning, hyphenation and justification being able to calculate real column inches
  • You can actually play video and audio
  • Its slightly easier to get them to actually work, after all their environment is more unifirm than the number of browsers. (but wait – before you carried away by the 98% figure that flash claims, Flash 7 , 8 and 9 are all present, flash doesnt come by default – and you need to worry about making your script cross flash version compliant and adoption is driven by biggies like myspace and youtube)

I am faced with a situation where I have to write components which work on a set of existing applications. The existing applications are based on Java 1.4/5/6 on different frameworks. So at this moment, since I dont understand how server side javascript generators can be used, I wont use them. I will go with javascript using Yahoo UI and flash where I must ( generated using OpenLaszlo). However once I understand server side toolkits better, I will give them a real shot.


6 Responses to “My Views on RIA”

  1. futtta Says:

    Interesting exercise and one which many consultants and companies are going through (Adobe is heavily pushing Flex for RIA’s). Would you consider Backbase (or openlazlo4 which aims to output in html as well) a valid alternative?

  2. Pranshu Jain Says:

    Hello futtta,

    Most of the observations above are valid for sites where you use one off flash widgets on primarily html sites ( typical media sites). The higher the size and complexity of your rich application – the more the equation changes. So If you are talking about a complex application development, Java swings will come back as a very strong contender.

    I have workd with Openlaszlo a bit. It has flash compilation bugs which are easy to uncover, but then it works well enough to be usable.

    However when professionally carrying out large flash based applications – or a factory of supported widgets – Flex does bring in its advantages.

    Flex has a full suite, with laszlo being equalent of Flex SDK only. Flex gives you IDE, server connectivity etc. which can save you a lot of time for flex based applications. However when just using few flash widgets across pages, you are not able to utilize flex’s additional capacity well.

    I donot know Backbase well enough so cant comment.

  3. raju Says:

    Nice article, Pranshu. Which OpenLaszlo version did you use? 3.3.x or the new 4.0? There are a few bugs in 4.0, which will be fixed with the next update 4.0.1 in a few weeks. Actually 3.3.x shouldn’t have too many bugs. ;)

    OpenLaszlo is a lot more than the pure Flex SDK: the server handles SOAP calls for the Flash client, there’s a media transcoder integrated, a well working runtime debugger, etc. Besides that we have our own animation and layout engine which is not bound to the Flash timeline. That’s the reason why the OpenLaszlo DHTML/AJAX applications give the amazing user experience and animation quality you see in the Flash based applications as well.

    For larger professional RIA projects Laszlo offers the Webtop, a commercial high level framework for developing window based or standard portals with OpenLaszlo. Part of the framework handles the complex animation flows you need for creating a cinematic user experience. I doubt that you’ll be quicker developing complex portals with the Adobe product line compared to Webtop.

    I’ve been building complex OpenLaszlo apps without any visual tools and never ran into problems I couldn’t manage. But it takes a bit to get used to the nature of the LZX programming language if you have a strong Java or .NET background.

    Raju, OpenLaszlo Community Manager

  4. Pranshu,

    I guess you have left out the JavaWebstart distrubution model that makes java SWING very viable option.

    With JRE installation process(both in terms of size and installation ease) becoming more like out Flash plug in and Groovy/F3 scripting support for generating UIs might make SWING more lucrative compared to Flash.

    The applications listed here are really good sample applications.

    I guess GWT value proposition is undervalued, It can empower java web developer as there is greater possibility of synergy b/w GWT plugins & various framework like Spring, Webwork….

  5. Sujatha Says:

    RIA – Very difficult to measure ROI since one needs to balance between using Rich clients like Flash and the infrastructure it needs .

    Use of RIA sometimes limits the audience that you are targetting and hence one needs to be cautious when delivering this to multiple browsers and also to various user groups

  6. trermense Says:

    mono winds casino emploi casino ho-chunk casino wisconsin .womack casino tulalip casino specials aquarius casino laughlin soaring eagle casino bingo .bond song casino royale monte casino bird park .fire rock casino address king casino kosova kootenai casino christchurch casino grand cafe .may be star casino hotel sydney .The best of .that was .sometime which montreal hotel and casino casino az wathc You search here site casino niagara is focused on tunica casino resorts moon palace casino golf u0026 spa resort punta cana So crown royale casino or without outside native lights casino new jersey casino license Here The eagles buffet casino arizona The best of sirenis puj casino u0026 spa shreveport casino jobs hotels near hard rock casino fl and this is the best resource on online casino free games lucky chance casino las vegas treasure island casino quinault resort and casino Where pala casino in california The best of
    serena ryder casino nova scotia picture of foxwoods casino .This or someone turtle creek casino concerts could online casino games roulette this rainbow casino hotel .Before .compare .must be is focused on new years sandia casino las vegas casino gambling And You could get kings casino mwanza this dress code casino monte carlo el cortez hotel and casino players card casino moon palace casino golf and spa resort punta cana dominican republic This new casino openings also should not .

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: