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.

Advertisements

EZPublish rocks

April 3, 2007

Myself and a collegue have been playing around with open source (non Java – LAMP or similar technology based) CMS and related softwares for quite some time now.  Among the CMS software – We have gone in detail thru Joomla!, Plone and EZpublish (and are yet to cover Bricolage and Typo3 – which I belive will cover the spectrum).

Brief notes on them

Joomla! – rocks on its simplicity to set up a website. However it stops short of being a CMS. (for instance – you cant put metadata to images), It stops short of having a workflow and versioning. I think I will prefer it for setting a personal website over anything else that I have seen.

 Plone  – a lot more professional and a complete CMS – has proper workflow, has versioning extensions, has proper access control etc.  However it feels too much 2004, too much file sharing platform and less of a WCMS and it takes time to learn and work with.

EZpublish – is just great. It will give any professional CMS a run for its money – sample these:- make an article appear in more than one places, run multiple sites of single install – reusing content if you wish, mutliple views of a site, great community support, real upgrade path which works – while upgrading versions. It even offers commerce. – And commercial support too. I guess it offers all that mid sized WCMS implementions needs.

I think i will recommend it as a starting point for those looking for PHP based WCMS – chances are that you will not have to look any further.

(I was looking at feature fit for the following scenario:

1) Product catalog for a multi-brand/multi site/multi geo organization

2) Publishing of online news and periodicals by a mid sized production team

3) Intranet site listing organization information like policies etc.

If your need doesnt fall into above and is much different like collaborative document creation and sharing, legal content filing etc. – then you may find this information useless.

)

It looks so good that I am wondering whether to continue to look at typo3 and bricolage at all or not!

I have been playing with Java based open source CMS as well – though opinions that are for a different day.

In case any of you need notes I gathered on these products ( which in no way would be anything close to a professional summary – likes of what CMSWATCH does) – drop me a message at pranshuj at mindtree.com