Someone asked this question in class on the 18th, and I found it slightly entertaining because I had spent some time the day before thinking about just how I would teach the topic. So, since I have the space here, and I'm avoiding studying for my midterm tomorrow, I thought that I would try to write down an explanation for RSS.
I feel that the best way to explain RSS in this fashion is to present it in the form of a dialogue. A one on one instruction. If you are left unclear as to the concept, please post in the comments & I'll try to clear it up for you!
Note: You could avoid reading my explanation and just hit wikipedia up. They've got a rather detailed page on RSS.
RSS?
RSS stands for either Really Simple Syndication, RDF Site Summary, or Rich Site Summary -- depending on who you talk to. The title is not very important however, and it is just generally referred to as RSS.
What is it?
Uninformed Student: Excuse me, Dave, what's RSS?
Dave: The really simple* answer to this is that an RSS file is an XML file.
US: Alright then, what the hell is an XML file?
D: Well, XML is a file type that is a progression from HTML.
US: Hey, HTML... I think I've heard of that! That's what they use to make websites, right?
D: Yes! HTML, or Hyper Text Markup Language, was created for the purpose of making web pages. HTML has a set of standardized markings that Web Browsers such as Firefox, Safari, and Internet Explorer all are supposed to use to turn plain-text into an interesting and informative website! Examples of these markings are things like <title></title> which tells the browser to put whatever goes between the markings into the titlebar of the browser!
US: OK... But where does RSS fit into all of this?
D: Patience young one! This is important background information!
US: Sorry.
D: As I was saying, XML, or eXtensible Markup Language is another set of rules, similar to HTML, for formatting a more ambiguous language. HTML was designed with a specific purpose -- to format and display webpages** -- while XML was designed to be ... well, extensible. However, the key difference is that HTML has definite applications of the rules. Things like the "image tag:" <img></img> for displaying an image. XML has none of these predefined "Tags"
RSS is a result of applying the XML rules, with an added set of rules and some of these predefined "Tags".
US: You're talking a lot about rules...
D: Yes, I know. There are a lot of rules to follow, but thankfully, you won't have to worry about most of them. Your Blog here on Blogger automatically takes care of many of those for you! Also, there are other services like Feedburner that also take care of RSS generation.
US: OK, but who makes these rules?
D: Why, the W3C-- the World Wide Web Consortium. A powerful group of people, so don't mess with them! They're the ones who set the standards for web-based languages!
US: Ah. And now getting back to RSS?
D: Yes yes, I was getting to that. RSS feeds/files (it's the same thing) lay down the rules and a set of these "Tags" in order to allow other programs, often called Feed Readers or Feed Aggregators, to compile and display the RSS feeds, much in the same way that HTML allows Web Browsers to display web pages! (Whew, long sentence!)
An RSS feed has certain requirements.
Just as HTML requires***
<html>
<head>
<title></title>
</head>
<body></body>
</html>
RSS needs to have ***
<rss>
<channel>
<item></item>
</channel>
</rss>
US: They look surprisingly similar!
D: Well, as I said, RSS is an XML file, which in turn was modeled after the rules laid down by HTML. Now, the important thing here is the Item tag. That's the meat of the RSS file. In it go several other tags, such as "author", "content", "link", and several others. Some are optional while others are required by the W3C. Each RSS feed can (and usually does) have multiple "items" in it, each representing a seperate... well, item. These items can be blog posts, articles, episodes of a podcast, really anything you want!
US: That brings up a good question Dave. Why WOULD I want to use this?
D: Indeed, that is a good question. And to answer it, we're going to look to our own blogs!
US: Eh? What's my blog got to do with this?
D: Well, your blogger.com blog generates, by default, an RSS feed.*(4) You may not realize it, but it does. Now, say I want to watch your blog. I could go in and check your blog every few minutes to see if you've updated.
US: Oooo, that would be a lot of page hits. My ads would really start making me some money!
D: Yes, but it would also be a huge waste of my time! If you're updating once a day, spending hours of my time checking if you've updated is wholly unproductive! Compound onto that fact that I might want to keep up with a dozen blogs, and we'd have a serious problem!
US: And... in comes RSS?
D: YES! In comes RSS. It saves the day. More specifically, RSS Readers save the day. Rather than have me sit around and wait for you to update, I can get a program to go and continually check your RSS file.
US: "Continually looks at? There's gotta be a better name..."
D: There is, it's called "subscribing". The program that looks at your RSS file, periodically checks if it updates, and then DISPLAYS that update for me right there, without having to go through the web to your blog! This saves on bandwidth and on time, both of which are quite valuable.
US: I see, so instead of YOU doing the active work of checking my blog, this way, my blog notifies you! Neat!
D: Yep! And there are dozens of readers out there that you can use. In fact, RSS has become so popular that most web browsers are building in functionality to read an RSS page and subscribe to it right there. Firefox calls it a "Live bookmark."
US: Ok, so let me check here. RSS is just a file with certain rules. When I update that file, manually or automatically, then anyone "subscribed" to the file will automatically be notified of the update, and they can read the update right then and there?
D: In an overly simplified manner, you've got it!
US: So, where should I go to get one of these readers?
D: Well, my personal favorite is Google Reader. It does require a Google account, but those are free and quite easy to set up!
US: One last thing Dave...
D: Shoot.
US: GO STUDY!!
Wow, that ended up being a little longer than I thought it would be, but I hope that if you've made it this far, then you found it useful. As always, comments are greatly appreciated.
*I apologize whole heartedly for my puns
**HTML has since been changed to REMOVE the formatting aspect except in the loosest sense. Formatting is now supposed to be taken care of using an external "Cascading Style Sheet" (CSS).
*** This is really an over-simplification, there are a few other lengthy requirements, such as doctype, but that's irrelevant for this discussion
*(4)More specifically, it generates something called an ATOM feed, but it might as well be RSS, they perform the similar functions in almost an identical way.
Tuesday, December 9, 2008
An interesting point
I felt that it was worth pointing out that the EDMT 330 assignment that was the genesis for this blog has no actual posting requirement. It only requires the creation of the blog.
This blog will be an area of information. It is my intention that what I post here will be interesting and entertaining. Many things will be related to Mathematics, Technology, Programming, or Education, but I do not promise that the posts always will be. I may, at times, feel like posting something I enjoyed and wanted to share. This shall be an exploratory blog, so let's go and explore!
This blog will be an area of information. It is my intention that what I post here will be interesting and entertaining. Many things will be related to Mathematics, Technology, Programming, or Education, but I do not promise that the posts always will be. I may, at times, feel like posting something I enjoyed and wanted to share. This shall be an exploratory blog, so let's go and explore!
Subscribe to:
Posts (Atom)