InfoQ

News

Defining RIA, Web 2.0, and AJAX

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

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

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

Ruby.rewrite(Ruby)

In this RubyFringe talk, Reginald Braithwaite writes Ruby code to read, write, and rewrite Ruby. Demos include extending Ruby with conditional expressions, call-by-name and more.

Book Except and Interview : Aptana RadRails, An IDE for Rails Development

Aptana RadRails: An IDE for Rails Development by Javier Ramírez discusses the latest Aptana RadRails IDE, a development environment for creating Ruby on Rails applications.

Fast Bytecodes for Funny Languages

Cliff Click discusses how to optimize generated bytecode for running on the JVM. Click analyzes and reports on several JVM languages and shows several places where they could increase performance.

Scott Ambler On Agile’s Present and Future

Scott Ambler, Practice Lead for Agile Development at IBM, speaks on the current status of the Agile community and practices having a look at the perspective of the Agile’s future.

Manager's Introduction to Test-Driven Development

Dave Nicolette and Karl Scotland try to introduce non-technical managers to one of the most popular Agile development techniques: Test-Driven Development (TDD).

Structured Event Streaming with Smooks

Smooks is best known for its transformation capabilities, but in this article Tom Fennelly describes how you can also use it for structured event streaming.

How to Work With Business Leaders to Manage Architectural Change

Successful architectures evolve over time to meet changing business requirements. Luke Hohmann presents how to collaborate with key members of your business to manage architectural changes.

Colors and the UI

In this article, Dr. Tobias Komischke explains how colors used in a GUI can influence our interaction with a computer and offers advice on using the appropriate colors for the interface.