Nothing Special   »   [go: up one dir, main page]

SlideShare a Scribd company logo
RSS and Atom in  the Social Web Dr. Harry Chen CMSC 491S/691S March 10, 2008
Agenda RSS and Atom – history and differences Their use in Social Web applications Atom Publishing Protocol Publishing RSS in gnizr
What’s RSS? RSS R eally  S imple  S yndication (RSS 2.0) R DF  S ite  S ummary (RSS 1.0, RSS 0.90) R ich  S ite  S ummary (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 @ Google http://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 RSS Note: 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. AtomEnabled http://atomenabled.org
About Atom XML, not RDF Two different specifications Atom Format Syndication Atom Publishing Protocol
RSS vs. Atom
Overview RSS 1.0 RSS 2.0 Atom 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 RSS http://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 Atom Search 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 HTTP GET, 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 platform We need protocols like the AtomPub that allows resources to be created and updated via HTTP and XML.
Publishing RSS in gnizr

More Related Content

RSS and Atom in the Social Web

  • 1. RSS and Atom in the Social Web Dr. Harry Chen CMSC 491S/691S March 10, 2008
  • 2. Agenda RSS and Atom – history and differences Their use in Social Web applications Atom Publishing Protocol Publishing RSS in gnizr
  • 3. What’s RSS? RSS R eally S imple S yndication (RSS 2.0) R DF S ite S ummary (RSS 1.0, RSS 0.90) R ich S ite S ummary (RSS 0.91) There is a story behind all those names…
  • 4. Before RSS (before 1997) Before blogs and feeds, PointCast experimented news “push and pull”.
  • 5. 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 @ Google http://en.wikipedia.org/wiki/Ramanathan_V._Guha
  • 6. 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 RSS Note: RSS has its roots in RDF
  • 7. 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)
  • 8. 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?
  • 10. 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. AtomEnabled http://atomenabled.org
  • 11. About Atom XML, not RDF Two different specifications Atom Format Syndication Atom Publishing Protocol
  • 13. Overview RSS 1.0 RSS 2.0 Atom 1.0 Examples are adopted from http://www.mnot.net/rss/tutorial/
  • 14. RSS 1.0 Is an RDF document “ Channel” has a list of “Items” An “Item” has a “title”, “link”, “description” etc.
  • 15. 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)
  • 16. RSS 2.0 An XML document Not RDF
  • 17. 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
  • 18. Atom An XML document; defines some useful syndication concepts that are missing RSS 1.0 and RSS 2.0
  • 19. 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
  • 20. RSS 2.0 Content Encoding RSS 2.0 allows both plain text and escaped HTML (‘&’  ‘&amp;’) 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.
  • 21. 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
  • 22. 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
  • 23. How Social Web Applications Use RSS and Atom
  • 24. How We Use RSS http://www.micropersuasion.com/2006/06/35_ways_you_can.html
  • 25. 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
  • 26. 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 ….
  • 29. Describing Web Resources Solution: RSS http://www.readwriteweb.com/archives/the_future_of_rss.php
  • 30. 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?)
  • 31. Some Examples Many extensions of feed syndication GeoRSS – adds geo-location information OpenSearch – adds Web search support Google Base – adds resource property description
  • 33. OpenSearch OpenSearch is a specification for discovering search services and describing search and search results. Spec. adds extensions to RSS and Atom Search results are described in a syndication document with meta-data about query paging. http://www.opensearch.org
  • 35. Google Base An open database of many things
  • 36. Create a GBase Item Item properties
  • 37. 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
  • 42. About AtomPub An application-level protocol for publishing and editing Web resources using HTTP and XML. Client Server HTTP GET, POST, DELETE
  • 44. 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
  • 47. 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
  • 48. 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.
  • 49. AtomPub and beyond The Web is a computing platform We need protocols like the AtomPub that allows resources to be created and updated via HTTP and XML.