What is an RIA?
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 …
- It has to be an Application … something that deals with dynamic data, takes an input and processes it to produce valuable output.
- Its primary function should be to deal with data that lives on the Internet (or intranets).
- 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?








October 24th, 2008
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.
October 24th, 2008
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
October 24th, 2008
RIA == NO PAGE REFRESH
thats all
RIA is not an eyecandy.
October 24th, 2008
>>> RIA == NO PAGE REFRESH
You don’t get it my friend .. RIAs are about a users overall experience and not just about page-refresh
October 24th, 2008
“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.
October 24th, 2008
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
October 24th, 2008
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.
October 24th, 2008
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
October 24th, 2008
@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
October 25th, 2008
@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
October 25th, 2008
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.
October 25th, 2008
Sorry about that Kumar,
I’ve been meaning to change the blog theme for a while .. will do it soon
October 25th, 2008
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.
October 25th, 2008
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
December 20th, 2008
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.
December 23rd, 2008
>> 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
January 17th, 2009
[...] 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 [...]
January 23rd, 2009
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).
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.
June 3rd, 2009
Thanks Dean, I’m glad you agree