InfoQ

News

Defining RIA, Web 2.0, and AJAX

Posted by Jon Rose on Jun 25, 2008 07:19 PM

Community
Java
Topics
Web 2.0,
Rich Internet Apps,
Rich Client / Desktop
Tags
AJAX,
Adobe

Christopher Keene, of WaveMaker Software, attempts to define common web development terms in a blog post earlier this month.  He offers a detailed overview on the terms and how to view them together.  In a separate, thread former Adobe Executive, David Mendels, discusses how the term RIA came to be, and the value it has today.

Keene’s post dives into details on how he views the terms, beginning with the following high level descriptions:

It is much easier to understand these buzzwords mean by considering them together. With that in mind, here are my definitions of Web 2.0, Rich Internet Application and Ajax, complete with helpful graphics:
  • Web 2.0 represents a market shift in consumer attention from expert-generated content (Yahoo) to user-generated content (Google)
  • Rich Internet Applications represents a requirements shift for more interactive, PC-like web sites to simplify consumer creation of content (Blogger, MySpace)
  • Ajax is an architectural shift to support RIA requirements
Keene offers this graphic to articulate the shift each of these terms represents:


Former Adobe Executive, David Mendels, recently shared in a RedMonk thread about when the term RIA was coined at Macromedia, and the evolution in the industry since that time. 

I was one of the people involved in coining the phrase “RIA” at Macromedia in the early 2000s (along with a core group of Jeremy Allaire, Kevin Lynch, and Adam Berry if I recall. I am not sure who first hit on the final coinage, it was the product of a series of discussions.).

Here is the thing: it had a very clear meaning *at the time* and was a clear contrast to the prevailing mass of applications on the web. Now that the entire web has evolved dramatically, the contrast is largely gone and the phrase is not less meaningful, but certainly less useful. At the time, we were in a world of page based web apps. Applications that were using the page request model of the browser to deliver very limited interactivity and client side functionality, and led to frustrating repeated refreshes of the page to do anything.

...

Fast forward to today. The term is less useful because it describes the mainstream. Today a large percentage (a majority?) of web applications are “single screen” and use AJAX techniques to update the screen without refreshing the page gratuitously and the major browsers and JavaScript libraries are sufficiently mature that it is quite possible to create platform/browser independent apps with AJAX. Similarly, the use of rich media, usually Flash, is widespread. Of course, over this 8 years, the Flash Platform approach has matured with richer frameworks (Flex..), tooling, components, messaging, and even richer media (H.264 video, for example). But the paradigm is still the same as we saw when we coined the phrase RIA, it just isn’t quite as “unique” and a contrast to the mainstream that it was.
Do these definitions fit with your own? How do you describe the applications you are building?

No comments

Reply

Exclusive Content

SOA Governance: An Enterprise View

Michael Poulin explains the necessity for SOA governance to ensure an Enterprise SOA's success, relying on concepts from the OASIS SOA Reference Model and Reference Architecture.

Developing Portlets using JSF, Ajax, and Seam (Part 2 of 3)

This article covers setting up a RichFaces portlet using JBoss Portlet Container and JBoss Portlet Bridge, deploying a RichFaces portlet, and RichFaces capabilities.

Scalability Worst Practices

This article discusses scalability worst pratices including The Golden Hammer, Resource Abuse, Big Ball of Mud, Dependency Management, Timeouts, Hero Pattern, Not Automating, and Monitoring.

Do the Hustle

Obie Fernandez shares his experience selling consulting services for both Thoughtworks and Hashrocket and give tips how Ruby developers can work with clients.

Natural Laws of Software Development - Deriving Agile Practices

Jeffries and Hendrickson derive Agile practices from the natural laws of software development. They don't just say "Be Agile!", but they explain why Agile practices make perfect sense.

Jinesh Varia About Amazon Alexa Web Service's Architecture

Jinesh Varia talks about the architecture of one of Amazon's web services called Alexa. Jinesh explains how Amazon has reached scalability, performance and reduced costs for the Alexa service.

"We Suck Less!" Is Not Enough

David Douglas and Robin Dymond discuss about companies adopting Agile, but don't go all the way, resulting in failure and rejection of it, and predictably having a negative impact on Agile's future.

The Development of a New Car at Toyota

Kenji Hiranabe talks about Toyota's development process of a new car. Kenji shares his experience meeting Nobuaki Katayama, former Chief Engineer at Toyota, and the lessons he learned from him.