logo

When (Not) To Use RIA

Sorry, I said I'd write this over a week ago. Don't the weeks fly by though. It seems I blink on Monday and then it's Friday. Oh, the treadmill of life.

In the mean time Ferdy has written on the topic of when using RIA is the right choice. It's the kind of in-depth article only a man without three children could write. Worth a read if you get chance. Ferdy sums it up fairly well:

My claim is that RIA technology is justified when the interaction requires it

In essence, as Ferdy noted, there isn't really any clear way to decide whether to use RIA or not. It all depends.

For those of you wondering what RIA is, it's Rich Internet Applications and is primarily Flex, but also things like Silverlight.

Once you fall for the lure of RIA it's all too easy to see how it could fit any problem and just use it for everything. That's bad.

Just as important as knowing when to use it is knowing when not to (which is the same thing I guess).

  • Don't use RIA if you don't need to.
  • Don't use RIA if you aren't sure the audience will always be able to.
  • Don't use RIA for a plain website just because you think it will make it look cooler.
  • Don't use RIA if you want the site to be reliably indexed by Google et al.

Sorry I can't offer anything more definitive. There just isn't a definitive guideline to follow. Working, as I do, alone, I have the luxury of making the call in most cases, so have never needed think about it to such a degree.

Mixing The Two

As we speak I'm working on a website that mixes both RIA and traditional web technologies. The site allows children of school-going age to create posters about their experience with the outdoors and nature. They can browse existing posters using a normal HTML-based website. If they want to make their own then they register and login using normal HTML forms and then up pops a Flex-based app in a new window.

I could probably have done the whole site in Flex, so that they browse entries, register and login via Flex too. I didn't need to though, so I didn't.

On the flip side I probably could have created a poster-making app in pure HTML. It would have been a nightmare of a job though, not been as nice a product and taken four times as long to do it. So I chose RIA.

Comments

    • avatar
    • Dan
    • Fri 9 Apr 2010 05:04 AM

    Interesting. I was a bit surprised about your definition of Rich Internet Applications as being Flex and Silverlight type technologies. I looked at Wikipedia and it agrees with you, saying that RIAs run in sandboxed VMs.

    I develop with technologies such as Google Web Toolkit and consider myself as developing RIAs as I build desktop-like applications that run in a web browser even though the technology is effectively JavaScript.

      • avatar
      • Jake Howlett
      • Fri 9 Apr 2010 05:43 AM

      According to a comment on Ferdy's post that I linked to this is up for debate over at Wikipedia.

      Is something written purely in DHTML classed as RIA? I don't see why not, I guess, but it's just not what I personally would class as RIA. To me RIAs are what step up to the mark when DHTML can't deliver. With the advent of HTML 5 this might all change, but, for now I think there's a gap between what DHTML can do and RIAs can. Sure, you could probably do most things I've ever done in Flex in DHTML, but it would take an expert in JavaScript to even come close.

      Jake

    • avatar
    • Erik Brooks
    • Fri 9 Apr 2010 07:40 AM

    Hmmm... there's definitely a gap (always-narrowing, however) between what DHTML can offer versus Flex/Silverlight/etc.

    But to limit the definition of RIA to only those VM-based technologies seems flawed. If you do, then you could say "the iPad doesn't support RIA." Which just doesn't make sense.

    • avatar
    • Dan
    • Fri 9 Apr 2010 08:15 AM

    I am confident I could create everything you have created in Flex with Google Web Toolkit coupled to the Ext GWT widget library (http://www.extjs.com/examples/explorer.html#overview) or similar.

    I would not even need to be a JavaScript expert because I would be writing it all in Java :)

    Flex is a good technology but it needs a plugin. A GWT app when deployed is pure JavaScript (Java compiles to JavaScript) and would run on any modern browser including safari on the iPad without a plugin.

      • avatar
      • Jake Howlett
      • Fri 9 Apr 2010 08:42 AM

      Let's start with a simple test then - http://www.codestore.net/workspace.nsf - how about a pure JS version of that?

      Show the rest of this thread

  1. To conclude that Silverlight, Flash,Flex, and AIR are the extent of RIA development is to miss the Whole Web 2.0 world of JavaScript UI Frameworks [think jQuery, EXTjs, DHTMLx, JackBe, Bindows, etc], Google Gears for Offline operations, and the wave of multi-browser, multi-platform apps. And these apps are appearing on Android, ChromeOS and Palm webOS mobile environs.

    HTML5 with its Canvas, SVG, and Offline operations will further extend the RIA deliverable through "HTML apps"[actually, now a far cry from our concept of what a Web page delivers]. Many are becoming standalone apps much like Air.

    • avatar
    • Ferdy
    • Sat 10 Apr 2010 07:10 AM

    Jake, great article, concise and to the point.

    To the other commenters. I don't really get the whole RIA definition discussion and why people are so sensitive about it. I think it should be crystal clear that both Jake and I were talking about technologies like Flex and Silverlight. The discussion is about when to use those, not comparing all possible RIA technologies amonst each other.

    Plus, I am skeptical of anyone claiming that DHTML-based frameworks can approach Flex or Silverlight in terms of capability and productivity. If I am wrong, please do point me to a javascript-based deepzoom, 3d product store, or Digg labs demo.

    Sure, the introduction of HTML5/SVG and fast javascript might close the gap eventually, but we are talking about here and now.

    • avatar
    • Dan
    • Sat 10 Apr 2010 04:03 PM

    I am not putting down Flex or Silverlight in any way. It just seems strange that something like GWT has been missed out. Normally when people talk about RIA, GWT is included. For example here is an event in a couple weeks on RIA I got an email about: http://riaction.sg/

    I just have not come across a Flex/Silverlight definition of RIA before.

  2. I agree with Jake, only use it when you need it.

    Can we see the poster app please?

      • avatar
      • Jake Howlett
      • Mon 12 Apr 2010 03:41 AM

      At some point I hope to show it (off). Depends if they'll let me.

Your Comments

Name:
E-mail:
(optional)
Website:
(optional)
Comment:


About This Page

Written by Jake Howlett on Fri 9 Apr 2010

Share This Page

# ( ) '

Comments

The most recent comments added:

Skip to the comments or add your own.

You can subscribe to an individual RSS feed of comments on this entry.

Let's Get Social


About This Website

CodeStore is all about web development. Concentrating on Lotus Domino, ASP.NET, Flex, SharePoint and all things internet.

Your host is Jake Howlett who runs his own web development company called Rockall Design and is always on the lookout for new and interesting work to do.

You can find me on Twitter and on Linked In.

Read more about this site »

More Content