Monday, November 24, 2008

Careful!! Too much of Flex / Silverlight / JavaFX may be harmful.

Everybody so excited about the so called Rich Internet Applications(RIA) and the technologies involved, namely Flex, Silverlight and JavaFX.
These are flashy attractive technologies, and people do get tempted use these in there sites or webpages.
But hey, be careful, too much use of these can be counterproductive
Below I have listed some common problems with all these, which I believe are serious, and cannot be looked over:

  1. Content on Flex ,Silverlight etc can not be index by search engine crawlers. It would The applications would in a sense get cut off from the entire web community because these are not searchable. So, converting the wikipedia.com into pure javaFX or Flex based site would be a bad idea!!
  2. Limited or no integration with the underlying container/browsers. People who are too used to browsing the Internet would find working on or using such RIA applications too limiting or constraining. They might miss certain features provided by the web browsers in these applications.
    To give you an example, a very common feature , search string(ctrl + F), provided by the browsers is so handy that you might feel very irritated that the feature does not search through the text provided on the Flex/JavaFx/Silverlight application.
    Another of my favorite browser feature is, opening a link in new browser window/tab. This just wont work on the RIA applications unless you program it specifically in your application. We use it so often that we kind of forget how handy that is. When we do a google search, we get a number of Hyperlinks as search results. The common thing that almost everybody do is checkout each link in a separate window/tab and then go through each of them individually.
  3. The lack of common behavior. Its very easy to create applications that behave completely differently. The designers might put there intuitive ideas into the applications resulting some applications that behave so different that a common user might just not be able to comprehend/understand the interface at all.
    It would be something like you are switching between different GUIs in every site. Imagine how it would feel if your windows could support different types GUIs(windows, Mac, Gnome, icefaces) in one go. Interesting... but at the same time confusing.

A website context not getting indexed by crawlers is a serious issue. There are ways to counter this. One would be to use the meta information tag in html to describe the information being displayed by the application. Still it has its limitations and really is just a bad fix to the problem.
Google guys with time might come out with some kind of black magic solution to this problem by enhancing there crawlers, but till that time you can't just afford to be completely cut off from the web community.
The second point calls for greater integration with the browsers.
The third point I think is not much of a problem as long as designers are careful with these technologies.
You just wouldn't want to replace the entire Websites interface with with javaFX or Flex or Silverlight stuff.
If these technologies intend to completely replace the way users browse the internet, then painfully these falls short in terms of features. These are really not that good.

Point to note is that the AJAX, which is said to be a no match for these technologies and something which is considered to be a time being patch for a much required RIA interfaces, is comparatively better in the context of above stated problems.

Experience it yourself:
Here is a quick 1 minute exercise for you.
Just go and have a look ate PizzaHut site(www.pizzahut.com). Yes, its beautiful, colorful but it really is lacking, I kind of feel that had it been normal HTML based site it would have been a lot better.
Try searching for Pizza hut menu on google.....
Also,try to search a string(ctrl+F) on the main page, or try opening a link in a new browser window.
Got the point?? ;)