Your SlideShare is downloading. ×
0
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
RSS Like A Ninja
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

RSS Like A Ninja

1,103

Published on

Get schooled in the arts of RSS. Learn what RSS is, why it's useful, how to create feeds, and how to consume feeds.

Get schooled in the arts of RSS. Learn what RSS is, why it's useful, how to create feeds, and how to consume feeds.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,103
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. How to RSS like a ninja Jason Austin - @jason_austin
  • 2. On the agenda... • What is RSS? • Why should I use it? • Creating RSS feeds • Consuming RSS • Tracking RSS performance
  • 3. What is RSS? • Way to share changing web content • XML based
  • 4. Why use RSS? • Keep users up-to-date with fresh content • Write once, use many • Replace older subscription models
  • 5. Use RSS for... • ...blog posts! • ...news articles • ...forum and article comments
  • 6. DO NOT use RSS for... • ...a calendar feed • ...a replacement for XML-based API’s • ...static content
  • 7. Types of RSS Feeds • RSS 2.0 • RSS 1.0 • Atom • ...lots more
  • 8. RSS 2.0 • RSS 2.0 = Really Simple Syndication • Most Popular • Simplest
  • 9. <?xml version="1.0"?> <rss version="2.0"> <channel> <title>Ninja Academy</title> <link>http://ninjaacademy.com/</link> <description>The source for Ninjas</description> <item> <title>Throwing Stars</title> <link>http://ninjaacademy.com/stars</link> <description>How to throw stars</description> </item> <item> <title>Tips for Sneakery</title> <link>http://ninjaacademy.com/sneakery</link> <description>Be Sneaky My Friend</description> </item> </channel>
  • 10. RSS 1.0 • RSS 1.0 = RDF Site Summary • RDF = Resource Description Framework • way of structuring metadata • Consumption instructions are built in
  • 11. <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" > <channel rdf:about="http://ninjaacademy.com/news.rss"> <title>Ninja Academy</title> <link>http://ninjaacademy.com/</link> <description>The Source For Ninjas</description> <items> <rdf:Seq> <rdf:li resource="http://ninjaacademy.com/stars/"/> <rdf:li resource="http://ninjaacademy.com/sneakery/"/> </rdf:Seq> </items> </channel> <item rdf:about="http://ninjaacademy.com/stars/"> <title>Throwing Stars</title> <link>http://ninjaacademy.com/stars/</link> <description>How to Throw Stars</description> <dc:date>2002-09-01</dc:date> </item> <item rdf:about="http://ninjaacademy.com/sneakery/"> <title>Tips for Sneakery</title> <link>http://ninjaacademy.com/sneakery/</link> <dc:date>2002-09-02</dc:date> </item> </rdf:RDF>
  • 12. Atom Feeds • 2 types of Atom Specs • Atom Syndication Format • Atom Publishing Protocol
  • 13. Atom Syndication Format • XML based • Used for web feeds • Similar to RSS
  • 14. Atom Publishing Protocol • HTTP-based • Standard for API-like services • Used by Google’s GData APIs
  • 15. Atom as a feed • Intended to replace RSS • Meant to clarify feed specs • Not as widely adopted
  • 16. <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>Ninja Academy</title> <link href="http://ninjaacademy.com/"/> <updated>2003-12-13T18:30:02Z</updated> <author> <name></name> </author> <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id> <entry> <title>Throwing Stars</title> <link href="http://ninjaacademy.com/stars/"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2003-12-13T18:30:02Z</updated> <summary>How to throw stars.</summary> </entry> <entry> <title>Tips for Sneakery</title> <link href="http://ninjaacademy.com/sneakery/"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2003-12-13T18:30:02Z</updated> <summary>Be Sneaky My Friend</summary> </entry> </feed>
  • 17. Choosing a Format • Personal Choice • Most syndicators can read all formats • Don’t invent your own
  • 18. Creating a feed • Drupal, Wordpress, Joomla, etc. • Create your own • Lots of OSS libraries in every language • Pretty easy to implement
  • 19. <?php $ncsu = new Tweets_Ncsu(); $timeline = $ncsu->getTimeline(); $feed = array(); $feed['title'] = ‘NC State Tweets’; $feed['link'] = ‘http://twitter.ncsu.edu/feed.php'; $feed['charset'] = 'UTF-8'; $feed['author'] = ‘NC State University’; $feed[‘entries’] = array(); foreach ($timeline as $t) { $feed[‘entries’][] = array( 'title' => 'Tweet by @' . $t['user-screen_name'], 'link' => 'http://www.twitter.com/' . $t['user-screen_name'], 'description' => $t['text'], 'lastUpdate' => strtotime($t['created_at']), ); } // importing a rss feed from an array $rssFeed = Zend_Feed::importArray($fa, 'rss'); // send http headers and dump the feed $rssFeed->send();
  • 20. Validate your feed • w3c’s Feed Validator http://validator.w3.org/feed/ • Validates RSS 2.0 and Atom formats
  • 21. Identifying RSS feeds
  • 22. Finding feeds in code <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"> <head> <title>Jason Austin&#039;s Blog</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="wp-content/themes/lightword/original.css" type="text/css" /> <link rel="shortcut icon" href="http://www.jasonawesome.com/favicon.ico" /> <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://www.jasonawesome.com/feed/" /> <link rel="alternate" type="text/xml" title="RSS .92" href="http:// www.jasonawesome.com/feed/rss/" /> <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="http://www.jasonawesome.com/feed/atom/" /> </head>
  • 23. Consuming RSS • Browsers • RSS Readers like Google Reader • Programmatically
  • 24. <?php $feed = new Zend_Feed_Rss(‘http://twitter.ncsu.edu/feed.php’); foreach ($feed as $f) { echo ‘<a href="’ . $f->link . ‘">’ . $f->title . ‘</a><br />’; echo ‘<p>’ . $f->description . ‘</p>’; }
  • 25. Tracking RSS... • Feedburner • Subscriber stats • Frequency stats • AdWords integration
  • 26. The End Slides on http://www.jasonawesome.com Jason Austin - @jason_austin

×