What is a Rich Internet Application?

The more software experiences become like the natural world the more users are pleased with those experiences. One of the most powerful, understandable, and universal concepts in computing is the idea of a desktop containing files and folders. Users embraced this metaphor in their software because it modeled their natural world experience.

There is a paradigm shift underway. In this shift, developers are creating user interfaces which more closely model the natural world. Since 2002, the term used to describe these types of software applications is “Rich Internet Applications”, or RIAs. Technologies like Ajax, Flex, Silverlight, Adobe AIR, and JavaFX are growing in popularity as this shift to RIAs gains momentum.

But what is an RIA? Answering that question is like trying to answer “What is a tree?” You may be able to identify an RIA or a tree with certainty when you see one, but coming up with an exact definition can be very difficult. In cases like this, the best one can do is to identify some of the fundamental characteristics that the term encompasses.

When you break down the phrase “Rich Internet Applications”, you find that “Internet” and “Applications” are well understood. It’s the “Rich” aspect that makes RIAs interesting, and it’s the “Rich” aspect that requires a fuller explanation. Essentially, a Rich Internet Application is capable of delivering a rich experience to the user. It is the richness of the experience that is often enhanced by making software that is more natural – more connected, more alive, more interactive, and more responsive.

Connected

We are all connected. On this relatively small planet we all have many things in common. We communicate with one another via many different methods, in many different languages, sometimes easily and sometimes with difficulty. Likewise RIAs are built on a network that connects us all – the Internet. RIAs use this network of billions of connected pieces to help us communicate – between each other and between systems, sometimes easily and sometimes with difficulty. And like each of us, in some scenarios RIAs need to be able to work when disconnected from the Internet.

Alive

Movement and the passing of time are critical to our experience of beauty and the emotional reaction we have to it. Watching waves continuously crash on a beach is an experience which fills us with life. Similarly, we would not sit and watch a beautiful sunset for very long if it never changed. In RIAs, we create rich experiences by modeling the movement and beauty we find in the natural world. Smooth sliding transitions, zoom effects, soft blurs, drop shadows, and rounded corners are elements of RIAs which help make software feel more like the natural world. Beauty is often simple and never overdone. Software that feels more alive evokes an emotional response from us. That emotional response can help to improve our overall satisfaction with the software. RIAs should feel alive.

Interactive

When people communicate they interact — sometimes physically, sometimes audibly, and sometimes visually. Interaction is how we transmit and receive information. The richness of an experience is heavily dependent on this interaction made possible by our senses. RIAs facilitate physical, audible, and visual interaction. Many new devices are allowing for more natural methods of physical interaction. Multi-touch interfaces like tablet PCs and media players are becoming more common because users want to interact with software like they interact with objects in the natural world. Many more software applications are also adding video and audio capabilities, and some of these applications support bi-directional multimedia interaction. This allows users to interact visually and audibly in the context of an application. Imagine filling out a form online and, if needed, being able to interact via webcams with someone who can help you complete the form. Applications which embrace interactivity to that level are helping to bring natural world interactivity to software experiences.

Responsive

In the real world when people interact with each other or with objects like rocks and trees, those things typically respond quickly. If I kick a rock it immediately moves, unless it’s a big rock in which case my foot immediately hurts. If someone speaks to another person they expect a timely response. At a baseball game, you can see scores whenever you want, just by looking in the right place. Too often in the world of software people are forced to wait for their computers to respond. Whether due to network connectivity issues, processing limitations, or other problems, software too often makes us wait. Most web applications leave users waiting for at least four seconds every time the user clicks on something. With many applications the wait times can be significantly longer, even on a broadband connection. Imagine what an everyday conversation would be like with that latency. Real-time streaming, high performance client side virtual machines, and local caching mechanisms are becoming in integral part of RIAs because these technologies reduce latency, increase responsiveness, and make software feel more like the natural world.

Natural Software Experiences

All kinds of software applications — from ERP business applications to word processing applications — are embracing the characteristics of what we now call Rich Internet Applications. This move is happening because users intuitively want to experience software like they experience the natural world.

Rich Internet Applications are proliferating because they are more connected, alive, interactive, and responsive than yesterday’s software. In ten years nearly all software will be what today is called a Rich Internet Application. But in ten years it will be only natural to just call it “software”.

  • Good Clarification, some people(15paragraphs) don’t understand what is the meaning, Desktop on a Navigator Hood? or A Web application useful for N people.

    Great post.

  • “But in ten years it will be only natural to just call it “software”.”

    I love that comment… that sums it up perfectly. Whenever I try to describe RIAs to my friends and family members, I tell them to think of all the richness of a Desktop Application running inside your web-browser, no need for a download. You take “Internet” out of the equation, and it’s just a Desktop Application like any other thats been around forever.

    I’m curious about what others think, but my personal understanding of what an RIA is tells me that an AIR application is not an RIA, rather its a Desktop Application built using familiar web technologies.

  • Nice Post James! I can never seem to answer the “What is a Rich Internet Application?” question. Now I can just pass this along.

  • James.. I liked this post.

    It inspired my response: http://blogs.msdn.com/msmossyblog/archive/2007/10/19/rich-interactive-applications.aspx

    It’s probably not going to make fans overnight, but it’s something I’d rather say as a 3rd pass to this entire conversation around “What is RIA” and hopefully will provoke a different stream of thinking like this post hopefuly does.


    Scott Barnes
    RIA Evangelist
    Microsoft.

  • Pingback: Its A Trap » Rich Interactive Applications.()

  • Casper

    Snappy, pervasive and transparent are superlatives I’d hang on to a RIA definition as well. It must not carry too much overhead, it must function in many environments (incl. inside a browser) and must do so without a hassle. This is what sets Adobe technologies apart from certain others – it just works.

  • Hans

    “But in ten years it will be only natural to just call it ‘software’.”

    Very true. And in many ways this is already the case outside the geek community. There’s very little chance most of our parents will ever know (or care) what an RIA is. To “normal” people, it’s all just software. They don’t care what we call it. They care about what it allows them to accomplish.

  • Pingback: Rich Interactive Applications. : DPE Australia()

  • Peter,

    I see Adobe Air applications as still RIAs, they are different to Desktop applications in that they still lend themselves to the four principles discussed here. Although Air includes SQLlite in the runtime, I believe this is to support data persistence in a disconnected state. For that matter I would consider a .Net Windows app with some of the Rich media introduced in .Net 3/Silverlight an RIA too. I agree with James’ points, I personally see the Rich being a better user experience, not only graphically, but subtle animations used to direct users through processes and a clearer interface (Which is what Alive, Interactive and Responsive amount to). So if you have that, internet accessible data (Connected) and an application, either in a browser or on the desktop you have an RIA.

    btw Rob Adams is in the process of writing some interesting articles for the Adobe DevNet site in the ‘Rich’ in Rich Internet Applications as part of the Flex Interface Guide: http://www.adobe.com/devnet/flex/?navID=fig

    That’s my 10 pence worth anyway.

    Regards,

    Jon

  • Pingback: James Ward - RIA Cowboy » Blog Archive » Matt Raible: Comparing JVM Web Frameworks()

  • Pingback: THE EYE OF RIA » Matt Raible: Comparing JVM Web Frameworks()

  • Pingback: Môj diplomový projekt » Blog Archive » Doposia? získané zdroje()

  • Pingback: Just Browsing » Deconstructing Rich Internet Applications()

  • ahmed

    Wooooow, one of the most beautiful articles I ever read about a technology. Truely amazing, It’s like you are writing poet.

  • Pingback: VUDU Brings Web to TV With Rich Internet Application (RIA) Platform | Social Networking Blog - SociableBlog.com()

  • Nice and interesting article. Great insight.

  • Pingback: RIAs on the Web, on the Desktop, and in a PDF()

  • Pingback: Rich User Experiences from RIA technology « 85wan()

  • Pingback: Rich User Experiences For The Win!! | Web 2.0()

  • Asalehimqnesh

    very nice

  • Weqwe

    wqewqe

  • Bharath

    Perefect Explanation….

  • Aleicia

    A very engaging article about RIAs.  I loved the analogy of the sunset in parallel to what RIAs do for technology. An inviting and very descriptive article. I don’t just know what RIA is, I also have a sense and a feel for what it is.  Thank You.

  • Ram_Shankar

    Making technology so simple.  I salute the author the simplicity with which he could explain complex technologies.  Excellent

  • Moeen

    amazingly describe the RIA .. Great magical exploitation power…..

  • breathtaking description! so inspiring!

  • Naren

    great to find this article in online, now I could understand what RIA is.

  • Best explanation I’ve seen this far!
    The author should start teaching!

  • Rich Internet applications should engage rich user experience that improves user satisfaction and increases productivity.

  • Ogbu Emeka

    Very interesting.

  • WanGel

    Can not say anything better that has not already been said. I do thank you for such wonderful information.