InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Defining RIA, Web 2.0, and AJAX

Posted by Jon Rose on Jun 25, 2008

Sections
Architecture & Design,
Development,
Enterprise Architecture
Topics
Web 2.0 ,
Rich Internet Apps ,
Java ,
Rich Client / Desktop
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

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.