Do you use the Web to communicate with students outside of classes? Are your students tired of checking your class Web pages every day to see whether you've posted anything new? Or are they missing important news because they forget to check?
Try using an RSS news feed as a way to help your students keep up with changes you make in the class Web pages! Students who are already using RSS can subscribe to news about your class and find out about changes using their RSS readers. Others might be interested in trying this technology. Of course, you must also maintain an ordinary Web page of your announcements so that students who do not choose to use RSS are not excluded. This article will show you how to set up an RSS news feed for your class and automatically create an announcements page for your class Web site from your RSS content, so there's no double work.
Setting up your own news feeds will require $36 or so of commercial software, some free JavaScript and XSLT code, and perhaps a couple of hours of your time for the first feed and a few minutes for each one thereafter. This article contains links to everything you need, even the icons!
Although this article focuses on setting up RSS feeds for class announcements, the concepts are completely general. You can set up a news feed on any subject by following these instructions.
If you are familiar with RSS, skip ahead to A word about infrastructure below. Otherwise, start with the New to RSS? section.
If you have an opinion about the utility (or lack thereof!) of RSS feeds for this purpose, an opinion about this article, or a suggestion, please write to me:
.
RSS (and Atom) are methods of using the Internet, specifically HTTP, the protocol of the World Wide Web, to "syndicate" news and other information. The data are in XML files in one of four or five formats. You can use a news reader program or Web service to subscribe to a number of news feeds. The reader program automatically checks for updates every few hours and displays the latest news for you. If you want more details about news feeds, you can check this article(http://en.wikipedia.org/wiki/Web_feed) from Wikipedia.
RSS is a "client pull" technology; the RSS reader program is responsible
for polling periodically for changes and downloading new information to the reader. Your RSS news feed file can be put on any Web server, including the SPSU Web server.
To read RSS feeds, you will need (as you might expect) an RSS reader. The folks at allrss.com have published a Compendium of RSS Readers. (http://allrss.com/rssreaders.html) Free readers recommended by people I trust include Feedreader (http://www.feedreader.com/) and Rss Bandit (http://www.rssbandit.org/)
Class news for one of my classes is shown at the right. There are many RSS readers available; I use Feedreader, and that is what you see in this example. It has the great advantage of being free. You can get your own copy of it here: http://www.feedreader.com/. FeedReader will happily sit in the system tray and download news for you. When a new item is available, FeedReader alerts you with a sound (optional) and a pop-up window. In case you aren't near your computer when new material arrives, the icon in the system tray changes, too.
(Note: a magnifying glass icon in the lower right corner of an image in this article means the image can be enlarged in a pop-up window by clicking it.)
Students subscribe to your RSS feeds from your class Web pages. Here is a screen shot of one of my pages with the subscription link circled in red. The orange Web feed icon
is the link to the actual news feed. (People also use others kinds of icons to indicate RSS feeds. This one is the Mozilla Foundation's preferred symbol, and Microsoft has also adopted it, so I expect it to become universal. Of course, you can use any icon you like for your RSS feed.) The "What's this?" link provides an explanation of RSS for students who may not be familiar with it. You can see the contents of my explanation here: http://www.spsu.edu/cs/faculty/bbrown/misc/rss_announce.html.
To subscribe to a news channel with Feedreader (and most other desktop reader programs), do the following:
It's not marked, but the feed icon also appears in the browser's address bar at the upper right. The Mozilla Firefox browser provides this hint that a page contains one or more news feed links in connection with the Firefox Live Bookmarks feature. Similarly, people using the Google Toolbar with Firefox will see a "subscribe" link in the toolbar. This article explains how to add the HTML links that activate those features in the News links on your class index page section.
Modern feed readers, including Feedreader, can find feeds in Web pages which contain those special links. That means you can just paste the URL of a Web page into the reader and let it find the links. You will learn how to install the necessary special links a little later in this article.
Interestingly, there was some controversy about the icon. The Mozilla Foundation apparently originally filed a trademark application for it, then thought better of that idea and published a set of non-binding guidelines that you can read on the Mozilla Foudation's Web site: http://www.mozilla.org/foundation/feed-icon-guidelines/.
It doesn't take much to set up an RSS feed, and if you're already publishing anything on the Web, you already have most of it. Setting up an RSS feed requires that your Web pages and your news feed be published on a Web server. You will need a Web server and a way of uploading files to the server. Since all programming occurs on the client, you do not need to be able to run programs on the Web server. You will need a modern Web browser for testing. This material has been tested on Internet Explorer 6 and Mozilla Firefox 1.5. Any browser at least as current as those should also work.
If your Web server requires secure FTP (as SPSU's main server does) you must be able to upload and download using secure FTP.
Your students will need a reasonably current browser and a feed reader program. You can safely recommend Feedreader to you students who use Windows-based PCs. It is capable, unintrusive, reasonably fast, and free. (I am very interested in a corresponding recommendation for Mac users, but have no way of testing. If you have a recommendation, please write to me:
!)
You will need software to create a news feed, and I will recommend a package in the next section. There are others available. If you already have a program that will create news feeds, by all means, use it.
You will need to keep a copy of your news feed, at least, on your local computer as well as on your Web page. If you work from two or more locations, you are already familiar with synchronizing local copies with the copy on the Web server. If not, you do not need to worry about synchronizing local copies.
Finally, you will probably need at least a minimal directory structure on your Web site. This article recommends naming your news feed file news.xml and the stub file for your Announcements page as announce.xml. If you're going to have news feeds for two or more classes, you will need two or more subdirectories, one for each class. I have set up a directory for each course and named with the course number. Below the course directories, I set up a directory for each term named with the term code. So, a particular instance of a course might be in a directory named something like /it3124/2007_02. This has the advantage that I can leave the Web sites for previous courses in place. Students in current courses sometimes browse the material from older incarnations of the course, and students considering taking one of my courses like to look at the older material. If I teach multiple sections of the same course in the same term, they all share a Web site. It would be easy to add a section qualifier to the directory name if one wanted to.
There are three files needed to display your news feed as an HTML page. You need only one copy of each, so you will wnat to put them in a common directory. The examples below refer to an "/includes/" directory, but you can name yours anything you like.
You will need corresponding directories on your local computer
If you cannot easily set up a directory structure, or would prefer not to, you will have to make unique names for your news and announcement files, perhaps like it3124_2007_02_news.xml, and edit the announcement file to include the name of the news file. It isn't hard.
Now comes the fun part: setting up your first RSS feed. I am going to be prescriptive and suggest a particular tool for creating RSS feeds. If you have a feed generator that you like, use it. Otherwise, use FeedForAll. FeedForAll is commercial software; the academic price is about $36 at the time of this writing, which should put it within reach of departmental, and even personal, budgets.
Download FeedForAll: Go to http://www.feedforall.com/ and download the 30-day trial of FFA. If you're using a Mac, get the Mac version. Windows users: if the current version is 2.0 or higher, download that; otherwise, look down the announcements at the right of the screen for the version 2 Beta and download that. The screen shots and instructions in this article are for the Windows ver. 2.0 Beta. What you see in real life may be a bit different from this article, especially if you're using a Mac, but the article and your own experience shouldn't be too far apart.
When you have downloaded FFA, install it on your computer.
Configure FeedForAll: FFA does not require much configuration. When you first open it, FFA will have one feed named "untitled.xml." From the action bar,
choose "Tools" and click "Preferences" as shown in the figure. In the "Preferences" screen that opens, use the mouse cursor to highlight "Feed fields" under "All feeds." Be sure the Language field is set to "English (United States)" or the language of instruction for your course. Provide suitable text for the "Copyright" block, e.g. "Copyright 2007 by Bob Brown." The "Webmaster" and "Editor" blocks take email addresses. I recommend that you leave them blank. Your students already know how to get in touch with you and there's no point in making your email address available to spammers. You can remove the contents of the "Docs" field.
While still in the "Preferences" screen, click on "Item fields,"
click the GUID drop-down, and put a checkmark in the "Auto Gen GUID" box, as shown in the figure. The GUID is a Globally Unique Identifier that news readers use to disambiguate similar items. FFA can generate this for you automatically, which saves the trouble of creating a GUID by hand.
It is important to change the items listed. You may also want to explore the remaining options and set any that would support your own style of computing. When you are finished setting preferences, click the check-mark icon at the top left of the window to save your preferences and close the preferences window.
Create your first newsfeed: In the FeedForAll main screen, click on the "untitled.xml" feed in the feeds column on the left. If there's more than one "untitled.xml," as can happen if one experiments with FFA, delete the others, leaving only one.
Your feed needs a title. I use something of the form, "Announcements for IT 3124, Spring 2007." You may use anything you like, but it will be helpful to your students if all the titles are in the same form. Remember what you used for a title (or copy it into Notepad) because you will want to use the same title in your links and in your announce.xml file, which is described below. (FeedForAll has trouble with titles containing colons. If you must have a colon, set up your feed without it and edit it in after you've saved the feed for the first time.)
You must also provide a description. As far as I can tell, the description is used little or not at all by popular readers. I usually just copy the title into the description.
The last required item is the "Link" field. The link for a feed channel should point to the Web page that this feed is about. The feed is "about" the entire class Web site, so I choose the class's home, or index, page as the link for the feed. You must provide a complete URL, including "http://" in the link box. The easiest way to do that is to navigate to the course index page in your browser and copy the link from the address bar. Your link should be something like this: http://www.spsu.edu/cs/faculty/bbrown/it3124/2007_02/index.html
When you have filled in the required fields to define your news feed, click "Feed" and "Save as." Name your feed news.xml (or a unique name for this feed if you are not using subdirectories for organization) and save it in the appropriate subdirectory on your local disk. Depending upon the version you're using, FFA may complain that you must create at least one item, or it may create an untitled item for you. Just go on to the next step if it complains.
Create an item in your feed: Click the "Items" tab on the FFA screen.
. If you have an "untitled" item, work with it. Otherwise, click the "New Item" icon (a sheet of paper with a starburst in the upper left corner, the first icon on the row of icons) or select "Item" and "new" from the action bar.
You will need three things for each item you create:
Think of the item title as a headline; it should be just a few words. Chose something like: "Final exam date: December 5" or "October 23 lecture slides." If your title is longer than seven or eight words, consider revising it.
The description is the text of your news item. It will generally range from a sentence to a paragraph in length, although you can write more if you need to. The description can contain simple HTML markup, and FFA
includes a nifty HTML editor to help you create the markup. You can type plain text or invoke the editor by clicking the pencil and marked-up paper icon below the word "Description."
The link goes in a separate block in the new item panel. Users of feed readers will be presented with the link as a place to go for more information. Since your "Announcements" page will contain the same description text as your RSS feed, it is generally not the right thing to use for a link, although sometimes it may be all you have. You should try to use a more helpful link if possible. If you're announcing that lecture slides have been posted, make a link to the slides instead of the announcements page, and so on.
It is important for you to know that the contents of "Description" will be presented to people who read your announcements on the Web instead of through a news feed reader, but the link will not be. For that reason, you might want to include a link within the description text itself so that it is available from your announcements page as well as in your news feed. I have found the following rules of thumb to be helpful:
Adding a link in the description is extremely easy. In a Web browser navigate to the page that will be the target of the link. Copy the link text to the clipboard. Then, in FFA, open the HTML editor, highlight the text that will become the link and click the "link of chain" icon. Paste the link text copied from the browser into the Link URL box, making sure to paste over the "http://" that's already there so you don't have two, and click the check-mark in the upper left corner.
Save your new feed: If you have already saved this feed at least once, just click the "Save Feed" icon or click "Feed" and "Save" using the action bar menus. If this is the first time for this particular feed, follow the "Save as" instructions above.
Each time you create a news item in your feed, you must publish the feed to your Web server. That's covered in the next section.
Pay for FFA: The makers of FeedForAll offer a 10% non-profit discount that is available to teachers. To get the discount, you must place your order by telephone to (781) 829-0500. Tell 'em Bob Brown sent you!
Every time you add an item to a news feed, you must publish it to the server. Publishing a news feed is no harder than publishing a revised Web page. You just upload it to the proper location on the Web server. Since it's a file, and not a Web page, you will use the file publishing tool of your Web editing program. Just handle the news.xml file in the same way you'd handle a picture or a PDF file.
FFA includes an FTP client. If you prefer not to start your Web editing program, and your Web server will accept FTP connections, you can configure FFA to let you publish by clicking "Feed" and "Upload." However, the current version of the FFA FTP client will not do secure FTP (SFTP) and many Web servers, including SPSU's main server, now require SFTP. For that reason, and because you're already familiar with your current Web publishing tool, probably you should use your current tool to publish your news feeds.
Even though your news feed is on your Web server, it's hard to discover until it's linked from somewhere on one of your Web pages. The second figure in this article is a screen shot of how I link my news feeds to my class pages. There's an orange "news feed" icon; that's the actual link to the news feed. There's also a "what's this?" link that explains a little about news feeds and how they can help students.
Let's do the icon first. Obviously, you need an icon image. Matt Brett has made a collection of images of the standard news feed icon available at http://www.feedicons.com/. Just download his zip file and you're in business. Or, if you want to use the 12x12 icon that I used, just right-click on it and save it to your disk:
(This is one of Matt Brett's images. Thanks, Matt!)
You will need to wrap the image in an ordinary HTML link. The HTML code I've used is below. It assumes the page with the link and the news feed file are in the same directory on the Web server. If they're not, you will need to adjust the "href" attribute of the link to include the path to the news feed. I've put my images in an "images" subdirectory. You'll need to change the part of the code that's highlighted to refer to the location of your own feed icon. You will also want to adjust the "title" attribute to name your own class. Use the same title you gave your news feed when you created it, possibly with "as an RSS feed" appended. (I used a title on the link because it is displayed as a "tool tip" when you hover the mouse cursor over the icon.)
<a href="news.xml" title="Announcements for IT 3124, Spring 2007 as an RSS feed"><span style="position: relative; top: 2px; left: 0px;"><img src="/images/feed-icon-12x12.gif" alt="RSS 2.0 News Feed" width="12" height="12" /></span></a>
The only other thing that might require explanation is the <span> element with the positioning properties. That drops the icon down two pixels and aligns the bottom of the icon with the baseline of the type. (Can you tell I'm a finikin?)
If your preferred Web editing tool offers a code view, you can copy-and-paste from the gray box, then edit the title and the path to the icon image.
If you want to provide a "what's this?" link (recommended) you can make a copy of mine and adjust it to suit your needs: http://www.spsu.edu/cs/faculty/bbrown/misc/rss_announce.html.
There is one other linking task: putting information about your feed in the head of your HTML document. That lets news readers auto-discover your you feeds; students can simply paste the link to the page into a reader that supports auto-discovery. This will also let news-feed-aware browsers know that a page contains a link to a news feed. Paste the following code into the <head> of each HTML document that contains a news feed.
<link rel="alternate" type="application/rss+xml"
title="Announcements for IT 3124, Spring 2007 as an RSS feed"
href="news.xml" />
You will want to adapt the title to suit your class; use the same title you used for the icon link. The href attribute is not highlighted. However, if the news.xml file is not in the same subdirectory, you will need to adjust the "href" attribute to supply the path to the news file. If you have more than one feed on a page, include a separate link for each one.
It is good practice to make the contents of one's RSS feed available as an
"Announcements" Web page, both for students who choose not to use a feed reader and to serve as an archive of the announcements. Oddly enough, that turns out to be more work than setting up the news feed in the first place. It is possible just to display the news.xml file in a browser. However, that turns out to be ugly. (Try it!) The good news is that I've already done most of the work. Some public domain software written by Sean Burke handles the rest. You only have to put some pieces together to make your announcements page.
Note: If you don't want to assemble the pieces described here, FeedForAll includes an "export" function (reached from the "tools" tab) that will export your news feed to an HTML file that you can then upload to your Web server. I chose to use the method described in this section because it seemed likely that I would forget to generate and upload the HTML from time to time. Using the method described, no generate nor upload steps are necessary. The news.xml file is converted to a Web page on the fly.
FeedForAll also includes a mechanism for attaching an XSLT stylesheet to a news feed. However, applying the style in this way doesn't do some of the fancy things we'd like to do.
You can easily set up an announcements page like the one shown. With three exceptions, the content is drawn directly from the news feed, and so is completely under your control. The exceptions are the HTML title, the "Back to the course page" link, and a time and URL stamp that only appears when the page is printed. You can alter these if you like. Styling is all done with a cascading style sheet; by changing the style sheet, you can change the styling of the page. There are four parts that fit together to make this work:
Let's begin by creating the announce.xml file. It should be in the same directory as your news.xml file. Use cut-and-paste to copy the example below, then edit it to suit your needs. The title should be the same as the title of your RSS feed.
<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet href="/includes/rss_to_announce.xsl" type="text/xsl"?> <announcements title="Announcements for IT 3124, Spring 2007"> <news src="news.xml" /> </announcements>
This is the file to which you will link when you put an "Announcements" link on your class page. It is just like an HTML link with the exception of the file type. Here is an example:
<a href="announce.xml">Announcements</a>
That's all there is to it!
Next, you will need a cascading style sheet that defines the style of your announcements page. Here is the one I have used. Use copy and paste to put this into a file in your "includes" directory. Name the file rss_to_announce.css.
body {background: white;
color: black;
font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 90%;
margin: 3em;}
h1 {text-align: center; font-weight: bold;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 140%;}
h2 {text-align: center; font-weight: bold;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 120%;}
.nonprinting { }
.printonly {display: none; }
.update {font-size: smaller; font-style: italic}
@media print {
a:link {color: black; text-decoration: none}
a:active {color: black; text-decoration: none;}
a:visited {color: black; text-decoration: none;}
body {background: white;
color: black;
margin: 0; /* The standard margins are right when printing */
font-size: 12pt;
font-family: "Times New Roman", Times, serif;}
h1 {text-align: center; font-weight: bold;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 120%;}
.nonprinting {display: none ! important;}
.printonly {display: inline;}
}
No changes need to be made to this file to make things work. If you "speak CSS" you can customize this style sheet to change the appearance of your announcements page. Probably you should get things working using the sample style sheet, then experiment with customizations afterwards.
The complete rss_to_announce.xsl file is available here: rss_to_announce.xsl and in the zip file in "The RSS Kit" below. Here are the first few lines, showing the areas that need to be customized. In the full file, replace the highlighted areas with paths to the two files in your "includes" directory.
<!-- rss_to_announce.xsl: retrieve RSS feed(s) and convert to HTML. --> <!-- Based on this article: http://www.xml.com/pub/a/2003/01/02/tr.html --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dc="http://purl.org/dc/elements/1.1/" version="1.0"> <xsl:output method="html"/> <xsl:template match="announcements"> <html><head><title><xsl:value-of select="@title"/></title></head> <meta name="robots" content="noindex,nofollow,noarchive" /> <link type="text/css" href="/includes/rss_to_announce.css" rel="stylesheet" /> <script language="javascript" src="/includes/xsl_mop-up.js"></script> <!-- Above script from here: http://paradigma.pt/ja/slog/index.php/2006/02/xslt-cdata-and-firefox.html -->
Beware! This is only a part of the file; use the link above to get the entire file.
Other customizations you may want to make include changing the "robots" <meta> tag and possibly removing the link to the course index page. The robots tag in the document given instructs search engines not to index the announcements page, not to archive it, and not to follow any links. The rationale is that this material is evanescent, and that many search engines are not able to interpret the XML file using XSL in the first place. To remove the link back to the course index page, remove the following line, which occurs at about line 82 in the file:
<p class="update"><span class="nonprinting">Back to the <a href="index.html">course index page.</a><br /></span></p>
If you want to keep the link, but your index page is called something other than index.html, change the contents of the href attribute to the correct file name.
The final piece is a JavaScript routine developed by Sean Burke that interprets any HTML that may be included in an item description. It is available here xsl_mop_up.js and in the zip file below. It does not need customization, and should not be changed.
All's well that ends: I had fun discovering how to use RSS news feeds to help my students keep up to date. Perhaps you had fun reading about it. If you've followed the steps and made it this far, you probably have a working RSS feed for at least one of your classes. I hope so, and I hope your students find it useful.
I want to hear from you: If you're using the information in this article to provide RSS news feeds for your classes, I'd like to hear from you. I especially want to hear from you if you have problems, find errors, or find things that aren't clear in the article. I really want to fix problems, so please let me know about them. You can write to me at
. Uh, not everything will get fixed instantly, though. I'll have to fit it in amongst my other responsibilities.
Keeping up: Yes, this page does have its own news feed, and you can subscribe here:
I don't expect it to be very active, but as I make substantive changes to the page, I'll post brief news items. Add me to your news reader list!
Onward to podcasting: A podcast is nothing more than an RSS feed with an audio "enclosure." The usual enclosure is an MP3 sound recording, but your feed can enclose any electronic document: slides, assignments, lecture notes, or anything else you have in electronic format. Once you've mastered RSS, podcasting is an easy step. For each feed item, fill in the optional "enclosure" fields. FeedForAll supports the iTunes extensions, too. You'll need to put your podcasting content on a Web server and fill in the URL, the length, and the MIME type. The makers of FeedFor all have written a podcasting tutorial and a tutorial for iTunes podcasting. (If you're interested in reading an article about podcasting possibilities in education, please drop me a line; maybe I'll write one.)
You need the following things to start using RSS feeds for your class announcements. They've all been mentioned in the article, but here they are, all in one place. Everything you need is free except the FeedForAll feed composer program, and it is available at a discounted price for teachers.
That's it! With these items, you're in the news feed business.
This material is copyright 2006 by Bob Brown and is licensed under the Creative Commons Attribution License. You are free to copy the work for commercial and non-commercial use, including use for profit. Each copy of the work must carry this notice: "Copyright 2006 by Bob Brown. Licensed under the Creative Commons Attribution License. Some rights reserved." This notice may be placed as a comment in HTML code, and need not appear on the displayed Web page.
![]()
Back to Brown's home page.
Last updated: 2008-04-19 17:47