RSS and Atom in the Social Web

Post on 13-Jan-2015

2.878 views 2 download

description

 

Transcript of RSS and Atom in the Social Web

RSS and Atom in the Social Web

Dr. Harry Chen

CMSC 491S/691S

March 10, 2008

Agenda

RSS and Atom – history and differencesTheir use in Social Web applicationsAtom Publishing ProtocolPublishing RSS in gnizr

What’s RSS?

RSS

Really Simple Syndication(RSS 2.0)

RDF Site Summary(RSS 1.0, RSS 0.90)

Rich Site Summary(RSS 0.91)

There is a story behind all those names…

Before RSS (before 1997)

Before blogs and feeds, PointCast experimented news “push and pull”.

The Birth of RDF

PointCast technology was later succeed by the Meta Content Framework (MCF) sometimes btw. 1995-97 by R.V. Guha*. Guha left Apple and joined Netscape.

In 1997, Guha led the creation of Resource Description Framework (RDF)

* Guha now leads Google Custom Search @ Googlehttp://en.wikipedia.org/wiki/Ramanathan_V._Guha

Netscape created “My Netscape” portal in 1999.

RDF was used to created a language for describing content information in the portal.

RSS 0.90 was born.RSS 0.91 followed (mainly cleanups)… the end of RSS at Netscape. (~1999)

The Birth of RSSNote: RSS has its roots in RDF

RSS at the Forkroad

RSS-Dev Working Group

(R.V. Guha)Dave Winer

RSS 0.91

RSS 1.0 (Dec. 2000)

RSS 0.93, 0.94 (withdrawn)

RSS 2.0 (Sept 2002)

The Birth of Confusion

So many different syndication formats. RSS 0.90, RSS 0.91 RSS 0.93, RSS 0.94 RSS 1.0 RSS 2.0

The Community was confused. Which format should I use? If want to make changes, who should I talk to?

Timeline

Source: http://www.shopwithoutborders.com/history.html

Where did this come from?

Atom

Atom is a syndication format Created because the official RSS 2.0 spec.

doesn’t permit changes for stability reasons

Since no one “owns” RSS, it’s difficult to create new iterative standards based either 1.0 or 2.0

The Community sees Atom as the solution to the problem.

AtomEnabledhttp://atomenabled.org

About Atom

XML, not RDFTwo different specifications

Atom Format Syndication Atom Publishing Protocol

RSS vs. Atom

Overview

RSS 1.0RSS 2.0Atom 1.0

Examples are adopted from http://www.mnot.net/rss/tutorial/

RSS 1.0

Is an RDF document

“Channel” has a list of “Items”

An “Item” has a “title”, “link”, “description” etc.

RSS 1.0 and RDF

Because it’s an RDF document, it’s easy to extend a syndication document with additional RDF description Dublin Core (DC)

RSS 2.0

An XML document Not RDF

XML Namespace in RSS 2.0

RSS 2.0 doesn’t permit spec changes, but it allows the use of “external module”

New modules (i.e., vocabularies) can be introduced using XML Namespace Similar to what’s permitted in RSS 1.0

Atom

An XML document; defines some useful syndication concepts that are missing RSS 1.0 and RSS 2.0

Why Atom 1.0 maybe better than RSS 2.0

RSS 2.0 is probably more widely used than Atom 1.0

However, Atom 1.0 few useful features

http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared

RSS 2.0 Content Encoding

RSS 2.0 allows both plain text and escaped HTML (‘&’ ‘&’)

But, no way to tell a client that which encoding scheme is currently being used. This makes the client implementation difficult In the open Web, software must implement

addition logic to detect the encode scheme.

Atom Content Encoding

Atom allows the encoding schema to be explicitly labeled Plain text (default) Escaped HTML Well-format XHTML Some other XML vocabulary (not XHTML) Base64 binary content A “pointer” to Web content not included in the feed

Content Description

Full content vs. Partial content RSS 2.0: Can’t explicitly describe whether the

content is “partial” or “full” Only <description/> is available

Atom 1.0: Can choose to use <summary/> or <content/> Full content may be “audio” (binary) Summary may be a text translation of the audio

How Social Web Applications Use RSS and Atom

How We Use RSShttp://www.micropersuasion.com/2006/06/35_ways_you_can.html

RSS & Atom in the Social Web

Syndication is an important foundation of the Social Web

(1) Pushing news and updates to the users

(2) Describing Web resources

(3) Publishing and editing Web resources

Pushing News and Updates

Social Networking sites exploit RSS to build user loyalty – i.e., “news update! come back often”.

• My News Feed • Friends’ Mini Feeds • Friends’ Profile Updates • Friends’ Updated Photos • Groups Updates • Events Updates • and more ….

Monitor Changes

Enabling Mashups

Describing Web Resources

Solution: RSS

http://www.readwriteweb.com/archives/the_future_of_rss.php

Web Resource with Multi-dimensional Properties

Resources

Relates to a YouTube video(link?)

John Smith is in this picture(homepage?)

Taken on 2007/12/03 @ 10:00PM

Johnny is the photographer(homepage?)

Relates to a family trip(trip’s homepage?)

Location Piccadilly Square(latitude/longitude?)

Some Examples

Many extensions of feed syndication GeoRSS – adds geo-location information OpenSearch – adds Web search support Google Base – adds resource property

description

GeoRSS

OpenSearch

OpenSearch is a specification for discovering search services and describing search and search results.

Spec. adds extensions to RSS and AtomSearch results are described in a

syndication document with meta-data about query paging.

http://www.opensearch.org

OpenSearch example

Google Base

An open database of many things

Create a GBase Item

Item properties

GBase’s Attributes

Extends the Atom spec, GBase defines additional terms for describe GBase Items

Universal Attributes These applies to all things in GBase

Item Type specific attributes These applies to a specific kind of GBase items

Universal Attributes

ItemType specific attributes

Course Schedules (e.g.)

Atom Publishing Protocol

About AtomPub

An application-level protocol for publishing and editing Web resources using HTTP and XML.

Client Server

HTTPGET, POST, DELETE

AtomPub model

http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-04.html

Remember CRUD?

What can you do with AtomPub?

Ask the server for a list of available resources. Collections “folders” or “directories” Entries e.g. blogs or web pages

Request the server to perform CRUD ops

Create and Read

Update and Delete

Why AtomPub is interesting

Many Web 2.0 sites now implement AtomPub Google GData API WordPress

GData is the core API for interacting with Google services: Google Apps, Goolge Base, Blogger, Google Calendar, Google Contact, Google Notebook, Picasa Web Albums, YouTube

Summary

We’ve come along way in creating syndication formats for the Web, from Pointcast to RSS, from RSS 0.90 to RSS 2.0, and then Atom 1.0.

Syndications continue to play important role in the Social Web – for pushing updates to the users, and for describing, publishing and editing web resources.

AtomPub and beyond

The Web is a computing platformWe need protocols like the AtomPub that

allows resources to be created and updated via HTTP and XML.

Publishing RSS in gnizr