Wednesday, June 11, 2008

Buzzwords 2.0: What is Web 2.0? What is RIA? What is Ajax?

The much-hyped but poorly defined terms Web 2.0, Rich Internet Application (RIA) and Ajax are best understood when they are defined together.

Buzzwords represent job security for entrepreneurs like me who would be practically unemployable were it not for our secret knowledge of the true meaning of words like Web 2.0. However, even I must admit that these Buzzwords 2.0 get in the way of clear communication.

In addition, while there are many standalone definitions of terms like Web 2.0, 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

Definition of Web 2.0 - Shift In Consumer Attention

Consumer eyeballs still rule the web. The huge power shift over the last 5 years has been from expert-driven content (which could be created using expert tools like Adobe Dreamweaver) to user-driven content (which requires web based tools that are easy to use). The shift in consumer attention is also driving a shift in business focus as corporations look at ways to engage more effectively with their customers and employees.

Definition of Rich Internet Application - Shift in Web Requirements

In order for more people to participate in creating content for the Internet, the content creation tools have to be both simpler and more interactive. Rich Internet Applications seek to erase the difference in user experience between browser-based applications (Gmail) and traditional client/server applications (Outlook). A quick comparison of Gmail versus Outlook shows that RIAs have a big usability gap, but the Internet brings the offsetting benefit of dramatically simpler application distribution.

Definition of Ajax - Shift in Web Architecture

Ajax is an architecture which makes the browser smarter and more interactive by running Javascript programs on the client. Don't tell anyone, but the old name for putting logic on the client was fat client programming. Everything old is new again and it turns out the only way to make an interactive client is to do more processing in the browser.

The following diagram shows the fundamental changes between the Web 1.0 architecture (circa 2000) and the Ajax architecture.

Where is all of this leading?

Web 2.0 is driving new application requirements and in turn creating a demand for new development tools that can meet those application requirements. Building increasingly visual and interactive web applications requires a WYSIWYG Ajax tool - something like a Microsoft Access for the Web. Flex and Silverlight, Adobe and Microsoft are providing proprietary tools for building RIA applications.

For an example of an open-source tool for building RIA applications based on Spring, Hibernate and Dojo, check out WaveMaker . Download Wavemaker to see what a visual Ajax tool looks like! Wikipedia also lists a number of other Ajax frameworks for building RIA applications.

A number of others have gone before me in defining these terms individually. Jonathan Schwartz recently pointed out that Java has always had RIA capabilities (but he also admits they didn't work very well until recently). Here are my personal favorites definitions:

Monday, June 02, 2008

Finding open source software

In the first day of our Open Source CEO shoot-out, Esther Schindler asked how companies should go about finding open source projects:
Let's say that a company is philosophically willing to use open source. How does it learn about the best software for the company's purposes?
Bob Zurek of EnterpriseDB notes that open source awareness is promoted by hiring open-source savvy IT people:
Businesses are gaining key knowledge about open source software by employing the next generation of young IT professionals who grew up using open source software like Linux, PHP, PostgreSQL or maybe MySQL.
Matt Aslett responded by referencing a report from the 451 group about what open source database vendors need to do to take on the commercial vendors. He also points out:
The selection process [for open source software] tips the balance of power much more in favour of the customer in that they are able to download the software and ensure it fits their needs before engaging in a commercial conversation with the vendor.
I noted that open source doesn't have to mean marketing impaired. Open source isn't an excuse for poor marketing, it is a strategy to reduce marketing and distribution costs.

Here is a simple test. If you are looking for a technical solution - for example a visual ajax tool - you should be able to type "visual ajax tool" into Google and get both open source and proprietary solutions (all about WaveMaker, naturally ;-).

Read the Silverado Rules for Open Source Success for more on how the open source business model is evolving.