What is an RIA?

October 24, 2008

After a lot of convincing, Abesh got me to start writing at SAP Network Blogs … as part of my introductory post I ended up describing what I thought the term RIA meant and I later realized I had never documented my interpretation of Rich Internet Applications so here’s what I said in the SDN post ..

What are Rich Internet Applications? .. while there are many definitions on the web, I like to decide if something is an RIA or not based on the following criteria …

  1. It has to be an Application … something that deals with dynamic data, takes an input and processes it to produce valuable output.
  2. Its primary function should be to deal with data that lives on the Internet (or intranets).
  3. It should offer a user experience that is Richer than what we’ve been used to in the past in a particular environment.

If a piece of software satisfies the above criteria, in my opinion, its an RIA. If you think about these points for a little bit, you’ll quickly realize that, even though a fairly new buzzword, is not a new concept …. Microsoft Outlook, Yahoo Messenger, Gmail etc are all RIAs that came out several years ago. After some more thought, you’ll realize that in today’s context majority of applications that we build have something to do with data that lives elsewhere on the network, therefore the dominant factor that defines an RIA is the richness of the experience users have while using it. So if we oversimplify, RIAs are applications built with special attention to user interface and user experience.

Many modern interface development technologies have been labeled as Rich Internet Application Technologies .. these include AJAX, various Javascript libraries and frameworks, modern browsers, Gears, Flex, Flash Player, AIR, Silverlight, JavaFX etc .. while these technologies facilitate building an RIA it does not automatically imply that everything built with them is an RIA … in fact, it is very easy to build a Not So Rich Internet Application with these so called RIA technologies. At the same time, it is important to note that the use of these technologies is not a prerequisite to building an RIA either.

This is how I understand Rich Internet Applications .. what is your interpretation of the term RIA?

32 Responses - What do you think?

  1. IMHO I think you got it wrong. A RIA runs on the Internet. The biggest advantage of a RIA is ubiquity – being accessible from everywhere. Forgetting ubiquity is forgetting almost everything about a RIA. :)
    For desktop, I normally use the term RDA – Rich Desktop Application.

  2. Joao,

    I respectfully disagree … I think that if an application is primarily dealing with data on the Internet .. it is an Internet Application .. weather or not it runs inside the browser.

    For example, Twitter clients like Twhirl and Tweetdeck or IM clients like Adium or Yahoo messenger are Internet applications in my opinion since these applications have no meaning or utility without being connected to the Internet (or intranet)

    Mrinal

  3. RIA == NO PAGE REFRESH
    thats all
    RIA is not an eyecandy.

  4. >>> RIA == NO PAGE REFRESH
    You don’t get it my friend .. RIAs are about a users overall experience and not just about page-refresh

  5. “Rich Internet applications (RIAs) are web applications that have the features and functionality of traditional desktop applications. RIAs typically form a stateful client application with a separate services layer on the backend.

    RIAs typically do the following:

    * run in a web browser, or do not require software installation
    * run locally in a secure environment called a sandbox

    From Wikipedia: http://en.wikipedia.org/wiki/Rich_Internet_application

    As I said above… Forgetting ubiquity, is turning the complicated concept of RIA into just a “pretty” software. :)

  6. João,

    I think that the wikipedia definition is very limiting in scope … we are talking about Rich *Internet* Applications and thinking of the Internet as being limited to web browsers is a narrow short-sighted view in my opinion.

    I agree with you that ubiquity is a very important for an RIA .. and I define ubiquity here as the ability to run on any platform .. why do think requiring an installation cancels ubiquity?

    Also, let me clarify that when I say “User Experience” I am certainly not talking about just “pretty” graphics … I’m talking about the quality of interaction the user has with the application.

    Mrinal

  7. HTML pages running inside the browser – Web applications
    Interactive Applications accessible from everywhere (every computer/OS/platform) – RIAs
    Interactive Occasionally Connected Applications running on the desktop (Fat Clients) – RDAs.

    I feel you are mixing concepts. Saying that Microsoft Outlook is a RIA, is just.. well, I don’t know. There are hundreds of other applications like Outlook out there since 1995. Doesn’t make any sense to me. RIA is about the fourth generation of software: interactive applications accessible from everywhere.

  8. lets break the term down …

    1. Rich — rich user experience
    2. Internet — leverages the Internet
    3. Application – takes input > processes > produces output

    MS Outlook had a rich experience at least relative to its time … and fits in all other criteria .. I think it was very much an RIA

  9. @Mrinal
    If you say OWA I agree, but the desktop version is NOT RIA. Though the definition of RIA is like defining Open Web, everyone who needs to know what it is – knows it…!
    The ones claiming that they don’t understand what it is is mostly saying so for political reasons, just like that Verizon CEO claiming he “didn’t really understand what Net Neutrality means”. Well, he’s mostly alone (or at least a minority) in the world in those regards ;)

  10. @Thomas

    Thank you for the comment :) … I think its not valuable to debate if one app is an RIA or not .. so lets just leave it at that.

    More importantly, I would like to say that I disagree with the Wikipedia definition when it says …

    >> RIAs typically do the following:
    >>
    >> * run in a web browser, or do not require
    >> software installation
    >>

    Even though it starts with the word “typically” I think it is a narrow and short sighted view to think of the web/Internet as being limited to be inside a web browser .. to me the web is a set of resources accessible with URLs .. a web browser is just one tool to access these resources .. applications can be “Internet Applications” even if they run outside the web browser. In fact in my opinion a browser is an Internet Application .. but that’s just me ;)

    also when wikipedia says ..

    >> * run locally in a secure environment
    >> called a sandbox
    >>

    If you take the term RIA literally there is no mention of a sandbox .. why should the definition mention one? Also how do you define this sandbox .. how much secure? how much limitation? … I think that sandboxed environments make RIAs great and secure .. but I don’t see why running in a sandbox is a prerequisite for an application to be an RIA.

    I’ve never edited a wikipedia entry but now I’m wondering what it will take for me to be able to change the RIA definition at least a little bit ;)
    _
    Mrinal

  11. Hi Mrinal,
    One suggestion :: The post’s you make are not clearly readable , the colors you have chosen does not make the letters visible until unless i bring my face close to the monitor or increase the Brightness and Contrast of my monitor. :-D ,,.

  12. Sorry about that Kumar,
    I’ve been meaning to change the blog theme for a while .. will do it soon :)

  13. Nice explanation Mrinal, In my view, a Rich Internet Application is where user explore different areas of application, areas which doesn’t need any Help document and later becomes so essential that becomes just an obvious requirement from a user.

  14. Hi,
    RIAs run in the browser, otherwise it’s not an RIA. Richness is relative, but the first RIAs were google maps and gmal.
    Ariel

  15. When this term was coined by Jeremy Allaire, he really meant in context of Web. It was rare to see rich experience (like desktop apps) on web, mostly traditional web experience. But Flash Platform was (still is) enabling the richer experience over web.

    Then came the Web 2.0, AJAX was coined, technology has been there for many yeas, but compatibility (XHR in Netscape or other browsers was not available) was problem, as you know.

    I guess, when we talk about Internet we just limit ourselves to browser, don’t forget it’s just a tool/runtime that helps us do a few (actually most of) things today.

    Anyway, I guess terms always get hyped and sometimes it’s really hard to define things.

    RIA means, IMO:-

    Application – non-native code (built using web technologies) which:-
    1) Uses Internet (HTTP, etc) as communication channel and consumes data from it or built on web-apis(platforms/services)
    2) Provides rich experience like desktop using mix of desktop/web UI patterns.
    3) Runs in secure sandbox – as most of data and application (parts of main) comes from app, security should be tight.

    BTW! A well developed application would blur the line between native/traditional desktop app and RIA – that’s the idea, user doesn’t care about all these.

    I wanted to write more and may be in more clear way, just rushing to put my thoughts, hope it makes sense.

  16. >> I guess, when we talk about Internet we just limit ourselves
    >> to browser

    Yeah, most people do, but I don’t agree .. to me the Internet is a network of resources all accessible via a url over http .. the browser is one tool to access and use these resources in a valuable way .. but its certainly not the only tool.

    And, that’s why Rich Internet Application are not limited to being in the browser.

    Mrinal

  17. [...] idea is simple, you build some cool RIAs using Adobe technologies and if Adobe likes your work they give you some very cool prizes and a [...]

  18. Hi,
    What we understand about RIA is, an application which combines the best features of both Web as well as Desktop. RIA application can be a desktop application talking to web(Google Desktop) or a web application talking to desktop(Sliverlight Application).

  19. RT @mrinal: What is an RIA? http://tr.im/lwjV

  20. Dean Gifford
    June 1st, 2009

    Hi Mrinal Wadhwa,

    I totally agree with your view of RIA’s not needing to be restricted to the browser. I have recently wrote a paper investigating the use or RDIA technologies (Rich Desktop Internet Application Technologies … main focus on WPF and adobe AIR)

    Even though I used the term RDIA – i still feel your description of a RIA is also correct.
    Kind Regards,
    Dean Gifford.

  21. Thanks Dean, I’m glad you agree :)

  22. It is a tough things to nail down, but I’m pretty loose in my interpretation of RIA. I agree it is anything that connects to an online datasource or offloads the workload to the interwebs. I personally put many mobile phone apps in the RIA category. I can see how someone would disagree.

  23. RT @mrinal this is how I define RIA http://bit.ly/18oVci << clear and good and still valid 10 months later :)

  24. Garth,

    I would agree, as long as your mobile phone app deals with data on the network and offers a more engaging and richer experience compared to an average mobile app .. in my head its an RIA.
    Its all relative though .. its an RIA today, the same app may not be an RIA an year from now

    Mrinal

  25. * We need to INSTALL browser to access web :) ….. So as Mrinal says, applications running on desktop ( after installation ) is also an RIA. Using Adobe AIR , we can create a mini browser itself and install it on desktop and browse “browser RIAs” :)

  26. RT @mrinal: just heard my name on the @summerofflash podcast … here’s the post they wr talking abt > Whats an RIA? http://bit.ly/18oVci

  27. RIA is just a concept of developing application by providing user friendly controls, same look n feel in browser,mobile,,what ever it is and advanced level of data processing.
    some examples for the above are:
    User friendly controls,widgets : auto suggest box, drag n drop boxes,viewlets,..
    Rich UI: with flash,flex, javafx u wil never face issues and experience richness. apps. using flex looks really rich.
    Advance level of data processing: if data base value got updated. trigger will fire to update the UI.
    its with out ajax refresh in frequent duration. Its with flex.

    Initially auto suggest box was rich. Now its common.
    so RIA defn. is not static to publish and use it years together.

    so keep rocking with Richest Rich Internet Apps.

    Thanks,
    Raghuram Reddy Gottimukkula
    Bangalore

  28. [...] Wadhwa, is a Rich Internet Applications Consultant from Bangalore, India. He uses this blog to study the evolution of a richer Internet. [...]

  29. George Victor
    November 13th, 2009

    Hi Mrinal,

    It seems like you are rigid in your views and wrong at times. So I don’t want to waste my time convincing you. :)

    I expect a bit more of information from a experienced blogger like you, not just debates with stubborn views.

    George Victor
    Motorola Inc.

  30. Hi George,

    Yes I am opinionated (strongly, at times) … but I don’t wish to come across as rigid, so maybe I need to work on that, thanks for pointing it out.

    I do feel that debates (even the intense strongly opinionated ones) are a good thing .. because amidst all the chaos they provide an opportunity for clarity and help us understand things better.

    Thank you for the feedback :)

    Mrinal

  31. according to me, RIA is full of finite states and transitions, so making things faster and easier, handles dynamic data as smooth as silk, next web revolution is just RIA, can’t be anything rather…………

  32. [...] Wadhwa, is a Rich Internet Applications Consultant from Bangalore, India. He uses this blog to study the evolution of a richer Internet. [...]

Your thoughts or questions: