Web 2.0 Examples

Brown-Bag Lunch Talk (summary)
November 1, 2005

Listen to audio: choose mp3 (47 MB) or Windows Media Player (11 MB)
What is the Web 2.0?
'Web 2.0' is not a technology, but a set of principles to give web users a better experience and to let users create their own web environment. For a summary of the philosophy and an overview see the essay by Tim O'Reilly. This talk will focus on two example of Web 2.0 applications:
AJAX (Asynchronous JavaScript and XML)
RSS and Podcast feeds

AJAX
AJAX is a web development technique that (1) makes web applications act more like desktop applications (less wait) and (2) reduces the load on the server. The idea is to use the XMLHttpRequest object to load data from an XML file in the background and use JavaScript to manipulate the data in the browser.

The tutorials "How to Develop Web Applications with AJAX", Part 1 and Part 2 explain how to develop a simple application. Look at the code on this Simple Quiz and the associated xml file.

The retail site, Gap.com, uses AJAX to show variations of clothes items.

The AJAX technique (without the name) has been around awhile, but it started to receive lots of attention as a result of being used in Google's Gmail service and Google Maps. Development really took off when, in April, Google made its map.api freely available. Within days, Paul Rademacher created an application that took the real estate listing from Craiglist and mashed them with Google maps. The result was Housingmaps.com. A 'mash-up' is an application that overlays data on a Google map. Other mash-ups include

ChicagoCrime.org that shows the location of crimes in Chicago, and
Earthquakes in the last week
The web site Google Maps Mania tracks Google mash-ups and tools.

Recent newspaper articles about Google Maps and AJAX:

Killer Maps (Technology Review, October 2005)
A Journey to a Thousand Maps Begins With an Open Code (The New York Times, October 20, 2005)
Internet to ask, 'How may I serve you?' (USA Today, October 26, 2005)
New Web-based Technology Draws Applications, Investors (The Wall Street Journal, November 3, 2005).

RSS and Podcast feeds
RSS stands for Really Simple Syndication. A web site that updates content on a regular bases can provide an RSS feed so that 'subscribers' will be automatically notified of updated content. This allows web users to select the content they want, when the want it.

Sites that use RSS feeds include blogs (Schneier on Security), News sites (Yahoo! News), and Colleges (Harvard). The images rss button, xml button, or (in the lower right corner of the FireFox browser) RSS feed detector indicate that a RSS feed is available.

To obtain a RSS feed you need a News Aggregator such as RSS Reader or a browser like FireFox (that includes an aggregator called "Live Bookmarks"). The forthcoming IE 7 will also include a RSS aggregator. The Citadel RSS Feeds page tells how to subscribe to a RSS feed using browsers like FireFox. Note that a 'subscription' amounts to providing your aggregator the url for a xml page.

To set up a RSS feed it is just a matter of making an xml page that tells the aggregator where to find the content (and how often). XMLfiles.com has a RSS Introduction that provides tutorials and includes a link to the RSS 2.0 Specification.

The XML file I'm using for this talk shows the basics. After the mandatory <? xml> and <rss> tags, the xml root is a <channel> node. It has three required elements <title>, <link>, and <description>. The others are optional, although useful, elements. One is <ttl> which gives the number of minutes before the channel should refresh. The most important sub-elements of the <channel> node are the <item> nodes. There can be any number of these. The <item> element must contain a <title> or <description> (which can contain html). There is usually a <link> that gives the url for the item. Basically that's it - the items you provide will be available to subscribers.

A podcast is just an RSS feed for audio (mp3) files. To subscribe you need a 'Media Aggregator' such as iPodder or iTunes. The Instructions for How to set up iTunes to receive Purdue's podcasts work for any podcast. For other aggregators the process is the same, but the interface differs. (It is possible to obtain the audio feeds with a RSS capable browser like FireFox, but you must manually select each feed to download.) The advantage of an aggregator is that it automatically downloads new feeds as they become available. The subscriber can then play from the PC or off load the files to an iPod.

The tutorial Howto: Create Your Own Podcasting Show On Windows walks through the process of recording and uploading a podcast. The weblog Podcasting & Video Blogging gives the history and podcast tools. The xml file that allows people to subscribe to a podcast is just like the xml file for an RSS feed with one additional featurs: each <item> element includes an <enclosure>. The syntax is

<enclosure url="http://path-to-audio.mp3" length="size in bytes" type="audio/mpeg" />

See the sample file

Recent newspaper articles about podcasting:

Teaching with Tech (US News & World report, 10/17/2005)
Princeton begins free 'vodcasting' (Daily Princetonian.com, 10/28/2005)
From Your Living Room to the World, via Podcast (The New York Times, 10/30/2005)
Stanford using iTunes to take lectures global (CNet News.com, 11/3/2005)
Podcasts, haute cuisine help sell high-end homes (Associated Press, 11/3/2005)