Navigation Jump

Print This Post/Page

Please DO Feed the Sites: Creating Outgoing Feeds December 3, 2006

Posted by ptvGuy. Comments: 5 comments
icon for podpress  Please DO Feed the Sites: Creating Outgoing Feeds [13:18m]: | Download (4855)

…limited only by your imagination…

Are you tired of all the geek bullies kicking virtual sand in your face, flexing their apps, and getting all the URLs? Have you ever looked at your site on the monitor and wished that you too could bulk up like the big geeks? Well, now you can.

Presenting Outgoing RSS Feeds:

Whatever your coding preference, we've got the plan for you. Whether you'd rather pop it right out of the bottle or create beautifully hand-crafted feeds we've got you covered. Order now, supplies are limited (only by your imagination.)

Sorry, folks, I just couldn't resist that. ;)

Let's jump right into creating feeds for your site, but keep in mind that we aren't going to get into the actual coding of a hand-created feed until part five of this series. (This is part three in case you lost track.)

Converting HTML to RSS

…convert already existing HTML pages to RSS XML…

Basically, the fastest way to begin putting an RSS feed out from a standard website is to convert already existing HTML pages to RSS XML. This works especially well if you're already separating content like event announcements and program highlights into separate files and using SSIs to plug them into your page templates. However, some of the available tools will parse sections out of larger pages.

A good, free tool for this is the RSSxl Generator from WotZWot. This is a (seemingly permanent) beta application, so you might have to double-check the resulting XML. However, it does let you specify strings in your document that identify where the feed content starts and where individual RSS items and item descriptions are located.

XML:Wrench is another free tool. It's a fairly decent (if simple) XML editor that will convert HTML to XML. Even if you limit the source HTML document to nothing but the basic feed content, you'll still have to go through the code itself in the editor and do some cleanup.

The RSS Wizard is a fairly cheap solution from Extralabs Software that generates "the RSS feed out of virtually any web page without having to edit it first." That's the claim anyway. I say you're better off checking code out for yourself, but, then, I'm known to be somewhat anal about these things.

Fill-In-the-Blanks RSS Creation

…an RSS creation form is a good interim option…

A fill-in-the-blanks form solution for the quick creation of RSS feeds is a distinct possibility to get you started. This is a good interim option until you have something better in place. This type of tool is available as a stand-alone desktop application or through web applications on other sites.

FeedForAll has one of the best known tools for the dynamic creation of RSS feeds, and the software, although powerful, is very cheap. Another paid option is PRESSfeed which actively promotes the use of RSS feeds for press releases and other forms of marketing and includes social bookmarking aspects and a number of other services.
Go there for Sally Falkow’s blog on How to use RSS feeds in enterprise marketing and promotions if for no other reason.

…Newshour resource for the creation of station feeds…

The main fill-in-the-blanks solution I want to draw your attention to is a special resource created by the web team at ONIX specifically for the creation of station feeds. It seems that the folks at Newshour would like to see more stations syndicating their news content so that more local news can be picked up by the national Newshour site–especially local election coverage. Pretty smart of them, huh? The thing to remember about this web application from Newshour is that it will work for the creation of any RSS feed irregardless of its "newsworthiness." You simply enter the content directly into form fields, and it does the rest.

…podcasts require special code enclosures to be part of the feed…

There are a couple quick caveats worth noting with this service. First of all, there's a separate form to use if your feed will include podcasts. Podcasts require their own special code enclosures to be part of the feed, and, even though nearly any type of content can be syndicated by RSS, they've limited the content type to MP3s for this tool. Also, there's currently a bug that leaves empty image enclosures if you don't happen to include an image in your feed. This will probably be fixed at some point very soon.

Database-Driven Dynamic Feeds

…the power of a database to parse the same content into multiple formats…

The problem with all these non-database-driven methods is that the content is not truly dynamic. You'll have to add to, delete, or replace content in the feed file yourself item by item in order to keep it up to date. If it's also being used as site-based content like program highlights or events, then you'll end up having to create the content twice, once in HTML for your site and once in XML for your feed. You lose the power of a database to parse the same content into multiple formats and put it where it belongs on its own.

The best method for feed generation is the adaptation of an open-source CMS tool like Drupal or Joomla to do the job for you. RSS feed syndication is built in. This will allow for the running of the site along with simultaneous feed management. Some have even had success with adapting blogging tools like Movable Type and WordPress for use as a CMS.

…a guide to using WordPress as a CMS

Ang Zhuu Ming over at blogHelper has written a pretty comprehensive guide to the ins and outs of using WordPress as a CMS if you're thinking along those lines. Also, Ross Johnson over at 3.7 Designs has recommended five plugins that will help to turn WordPress into a CMS. [Just a sidenote while you’re there, check out Ross’s feed promotion at the top of his blog. Now that’s a clear call to action.]

A good station example of using Movable Type as a station CMS can be seen at WTIU's website, though I'm surprised to see that they still aren't making use of the inherent RSS capabilities. You might want to check out my previous article, Movable Type: An Interview with Angela Jordan of WTIU, for more information about how to get that set up.

Leveraging Your Feed

…don't miss the opportunity to push your membership reminders…

It's all well and good that we're offering our station website content for syndication, but don't miss the opportunity to push your membership/support reminders. As far as I'm concerned, the station membership page should never be more than one click away from anything related to a station's website–including the RSS feed. By subscribing to your feed, users are showing that they appreciate your efforts to keep them informed of site updates and station news. There's absolutely nothing wrong with politely reminding them that this too takes time and money and is publicly supported.

Another thing to keep in mind is good titling and content. Make sure that you pick some kind of title (preferably a catchy one) for each item in your feed. That can get tricky sometimes, but it's worth it to the end user who's feed reader is limited to just titles. Catchy content description is worth some effort here too since the idea is to engage the user quickly and make them want to see more.

Playing Nice With RSS

…usage of HTML within an RSS feed must be limited…

Before I go any further in this, let me clarify something right quick. Although RSS tends to be pretty "stretchable" and certain de facto standards and practices have successfully crept into common usage, the actual specification doesn't allow for much of what is being done with it. That is changing though.

The usage of HTML within an RSS feed must be limited to what is absolutely necessary. That does not include any kind of formatting. Even the kind of CDATA embedded hyperlink that I'll be getting to in Part 5 as we "hand-code" an actual feed is only necessary until some kind of source-type sub-element of the description element is added to the specification. [NOTE: I am aware that entity-encoded HTML is allowable in the description, but I'm trying to keep this as simple as possible here.]

…only plain-text is allowable in the title…

Nothing but plain-text is allowable in the title. It cannot include a hyperlink because it is, in and of itself, a hyperlink back to the source page. Also, keep in mind that RSS feeds are designed to be read outside of your site, so relative URLs may not work; every link should be a complete, direct URL address.

…relative URLs may not work…

One other thing here is the question of how to handle multiple feeds such as station news, program highlights, and community events. The very simple answer is to create multiple feed files. Each can have a separate name with either an RSS or XML extension (though I recommend the latter.) You can place them all in your root directory, in a "feed" subdirectory (and this is my recommendation,) or in a subdirectory related to the content. Choose names with some semantic meaning to make them somewhat human-readable.

Putting the Feed Out

…breaking some new ground for even seasoned RSS users…

Strangely enough, this is the point in the discussion where I will probably begin breaking some new ground for even seasoned RSS users. I say that because there are quite a few stations (and even PBS itself) that are clearly getting the necessity of creating RSS feeds and have, in some form or another, done all the steps I've listed up to this point and then just stopped there as if they were done. There's more to it then just putting an RSS link icon or text in the body of your pages to notify users that you have RSS feeds. They're failing to make use of RSS auto-discovery, and they don't actively promote their feeds.

RSS Auto-Discovery

…RSS auto-discovery is a very widely ignored resource…

RSS auto-discovery is not a new feature of RSS. (In fact, it's not even limited to RSS.) Yet it's a very widely ignored resource. This is one of the more powerful aspects of RSS that's helping to bring it into the mainstream. Not only are many feed aggregators, news readers, and search engines actively hunting this for content, but it's what makes the feed icon in Firefox and IE7 and other browsers that support it pop into life and draw users into subscribing right through their browser.

Trust me when I say, "You definitely want this on your site."

Once you have your RSS file created, you then place an auto-discovery LINK tag for each of your feeds in the head section of your site pages. It looks like the code below, only edited for the correct path and title of your content:

<link rel="alternate" type="application/rss+xml" title="A Title of Your Choice" href="http://www.station.org/url/to/rss/file">

RSS Promotion

…you need to promote the use of your feed…

Placing a visible link to your RSS feeds on your pages will get you subscribers–and it is vitally important that you have this displayed prominently–but feed syndication doesn't end there any more than television syndication ends in the producer's office. You gotta get the word out. You have to notify the various feed directories like syndic8 that you have a feed. You need to promote the use of your feed not only as a convenience but as content for other sites.

One of the more interesting aspects of RSS syndication is that your content can be included in other sites complete with your links back to your site. This is good to encourage among school and community event sites in your viewing area (and almost any other site that you can talk into doing this) as it spreads not only your station's brand, identity, content, and events to a wider audience, it also spreads your membership/support reminders.

Another good free tool to help in the management, promotion, and monetization of your feed is FeedBurner. This will give you numerous tools to monitor and accessorize your feed.

Some Final Words

…content syndication should be an important part of online membership recruitment…

If it seems to you that I've been harping on the station membership/support aspects of this, then maybe you're actually getting the point I'm trying to make here. Web content syndication should be an important part of not only your station's web presence, but its online membership recruitment and marketing. Nonprofit does not mean that you should ignore potential revenue sources. If anything, it means that you should jump at all of them–especially the ones that have been made so incredibly easy for you.

Let me run through it again here because it's so vitally important:

Say that over and over again, make it your mantra, and get to work.

Thank you all, code well, and good night.

Print This Post/Page

Please DO Feed the Sites: What Is RSS? November 18, 2006

Posted by ptvGuy. Comments: 6 comments
icon for podpress  Please DO Feed the Sites: What Is RSS? [11:43m]: | Download (5901)

…an indispensable part of standard web development…

Before I begin this discussion explaining RSS to you as if I were this fount of knowledge that clearly recognized its value from the very first moment I saw it, the fact is that my initial impression after a cursory look-over several years ago was that it was only useful to blogs and news-oriented sites. Outside of syndicating teasers of news headlines and blog posts, not a single aspect of its current usage occurred to me, and I never expected it to become an indispensable part of standard web development or to redefine the web as I knew it. So, if you can forgive me that incredible oversight, then we can get on with this…

RSS as an Update Announcer

…users are notified whenever there's new content posted to the feed…

To explain what RSS is and why it has everyone so excited, let me just start out on common ground with something we already know, a traditional website. Traditionally, a website contained whatever content may have been put on it and that content may be static or may change constantly. The problem here has always been that a user had no way of knowing when or if that content had changed other than checking back periodically or being notified by someone.

RSS solved that problem by "announcing" content updates. A site owner creates a special file called an RSS file along with a link to it, and this creates a "web feed." A web feed is a data format used for sending users content updates. Users have the option of "subscribing" to this feed either through a stand-alone desktop application called a "feed reader," through an online content aggregator like Newsburst, or, increasingly, directly through their standard web browser. Once subscribed, users are notified whenever there's new content posted to the feed. That's all well and good, but it doesn't end there.

RSS Web Feeds

…a web feed is actually just an extremely simple text document…

An RSS web feed is actually just an XML-based file that sits on a site like any other file and contains whatever content the site owner wants to put into it for distribution. It can be created and maintained manually or dynamically (preferably the latter.) Part 3 of this series will cover the creation of such feeds. There's not really a lot to it.

I don't want to lose you in the terminology or the acronyms here. An XML document–especially of the type we're talking about here–is an extremely simple text document. The markup has certain similarities to HTML, but where HTML defines how to display the content, XML categorizes the content (for instance, identifying title, description, author, etc.) and does it in a machine-readable format which means that different software on different operating systems on different platforms can easily access and display that content. This is the part that allows for syndication. Numerous applications exist that look for such files, read the content, and parse it back out for use elsewhere.

RSS for Content Syndication

…content syndication is the primary use of RSS…

Content syndication is (by definition) the primary use of RSS. Originally, RSS files listed just the title of a piece, the author, the date of publication, a link back to the original content, and a quick summary to act as a kind of teaser to get you to go back to the original site to read the article–hence the mistaken view that it was only good for blog posts and news headlines. Now it includes syndication of full content–including HTML–along with "enclosures" to contain multimedia content like images, audio files, and video files and that content is being used in ever more imaginative ways. This needn't scare you away from using it.

RSS Content Usage

…the underlying workhorse or building block of Web 2.0…

Primarily, RSS syndicated web content simply turns up in some form of RSS reader for the usage of an individual who wants to remain informed of content updates on your site. However, this syndication of content along with the inherent extensibility of XML allows for a kind of web presence and sharing of content that was never available before. It's the underlying workhorse or building block of the entire "Web 2.0" movement.

Web content stored and distributed in this manner can be accessed and processed in ways similar to database applications allowing your content to simply be replicated elsewhere or become the basis for an application built on the underlying data. It can turn up as content on another website. It's absolutely adored by search engines (practically search bot candy) which will often index it far faster and with better results than equivalent content on a standard HTML page.

Think syndication, not coordination. Simple web services, like RSS…are about syndicating data outwards, not controlling what happens when it gets to the other end of the connection. This idea is fundamental to the internet itself, a reflection of what is known as the end-to-end principle.
Tim O'Reilly, What Is Web 2.0?

As much as I agree with the ideal expressed here by Tim O'Reilly, I tend to take a more pragmatic approach. I encourage you, if you're considering RSS syndication of your content, to set up a Creative Commons License allowing for the distribution of your content while requiring the retention of source attribution and backlinking. It's not that you don't want anyone else to use your content, but you should get something out of it as well. The idea here is not only to increase your web presence but also your underlying user base.

What Is RSS

With all this background in mind, we can get more directly into what RSS actually is. Wikipedia puts it this way:

RSS is a family of web feed formats. The initials "RSS" are variously used to refer to the following standards:

  • Really Simple Syndication (RSS 2.0)
  • Rich Site Summary (RSS 0.91, RSS 1.0)
  • RDF Site Summary (RSS 0.9 and 1.0)

Wikipedia, RSS (file format)

and Tim O'Reilly refines that further (as is his disposition):

RSS is now being used to push not just notices of new blog entries, but also all kinds of data updates, including stock quotes, weather data, and photo availability. This use is actually a return to one of its roots: RSS was born in 1997 out of the confluence of Dave Winer's "Really Simple Syndication" technology, used to push out blog updates, and Netscape's "Rich Site Summary", which allowed users to create custom Netscape home pages with regularly updated data flows. Netscape lost interest, and the technology was carried forward by blogging pioneer Userland, Winer's company. In the current crop of applications, we see, though, the heritage of both parents.
Tim O'Reilly, What Is Web 2.0?

The hardcore purists out there aren't going to be too happy with this series of articles, because my focus, as I start describing how to create an RSS feed in the next article, will be on RSS 2.0, Dave Winer's "Really Simple Syndication." I've chosen that particular "flavor" of RSS because it allows me to really bring home the incredible simplicity of syndicating web content. My point here is to encourage more RSS usage, not scare anyone away.

What Are The Benefits of RSS?

…every single person reading your feed has willingly opted-in…

I've only touched on some of the benefits of having an RSS feed. Things like the inherent search engine optimization are secondary to the incredible expansion of your audience that comes about through content syndication. You reach people that you would never have reached before. You're able to communicate with them and show them the value of your station as a resource.

It's perfectly acceptable to sell advertising on your feed and include membership/support reminders. Keep this in mind always, unlike other methods of boosting membership, every single person reading your feed has willingly opted-in to receive your message. They won't consider it spam.

RSS was designed to empower the user to view the content he or she wants, when it's wanted, not at the behest of the information provider.
Tim O'Reilly, What Is Web 2.0?

Where Do I Get The Content?

…even the tiniest station websites have content to syndicate…

The question of where to get the content to feed out always amazes me–especially in relation to a public television station website. Unless your site is absolutely static, unless there's nothing there that changes, unless it's the online equivalent of a pre-printed brochure, you have content to syndicate. Even the tiniest station websites are not excluded from this, because it's not about having money for great content productions.

If your station updates any of the following items on their website–even if it's only once or twice a month–you have content to syndicate:

Each of these can be fed into separate RSS files and syndicated separately. Each of them can be used to expand the station branding, presence, user base, message, and support reminders. Each of them will take their own roads through the Internet and reach people you would never have reached otherwise.

Some Final Words

RSS is an incredibly powerful tool easily implemented with enormous benefits going far beyond the station itself. I implore you, if you haven't done it already, then, for the good of your station, for the good of your users, and for the good of public broadcasting as a whole, please, please, feed your site.

Thank you all, code well, and good night.

Print This Post/Page

Getting the Word Out On Web Standards and Accessibility October 20, 2006

Posted by ptvGuy. Comments: 6 comments
icon for podpress  Getting the Word Out On Web Standards and Accessibility [4:21m]: | Download (3228)

…otherwise intelligent business people are entrusting their entire web presence to such as these…

Let's face it, we live in a world where any high school kid with a semester course in "web design" (if even that much training) and a copy of Frontpage can hang out a virtual shingle calling himself (or herself) a "webmaster." Factor WordPress into that with its five-minute install and innumerable themes and you have a job title glutted with people who don't know the first thing about what they're doing. An amazingly large number of otherwise intelligent business people are entrusting their entire web presence to such as these. The general public's lack of knowledge in this area only serves to exacerbate the problem.

Without any foreseeable way to prevent this practice from continuing and growing exponentially, those of us who care are left with the onus of attempting to educate these fledgling webmasters about the need for good coding practices, accessibility, and web standards. I know, many of you have been doing that for years already, but this is an ongoing problem requiring constant reminders.

To help out in this endeavor (and to provide professional web developers with yet one more way to stand out from the crowd,) I've created a document called the "Declaration of Standards Compliance." The style and wording may sound a little familiar to you.

When in the course of online events, it becomes necessary for web developers to ensure access to the content over which they have so meticulously labored and to assume among the powers and tools available to them, the basic responsibility to ensure proper markup and accessibility, a decent respect for their site’s users regardless of their browser, platform, or possible disabilities requires that they should declare their document type for proper page rendering and their assent to basic web standards.
–ptvGuy, Declaration of Standards Compliance

…need for web standards and accessibility cannot be understated…

Now, before anyone gets in an uproar and thinks that I am perhaps mocking the document upon which this is based–The Declaration of Independence–I'm not. I don't know of a clearer way to outline an ongoing problem and then express the need for action and the conviction to carry it out. As a pure study in writing, it's one of the greatest essays ever written. I humbly borrow from the masters.

The need for web standards and accessibility cannot be understated. If you're putting content out there for the world to see, use, and interact with, then there is a certain underlying responsibility to do it correctly. That requires some extra work and study. Fortunately, the web is full of people willing to share that knowledge. I've put together a list of such resources on my Anal Coding page to serve as a beginning point. The very abundance of this information made freely available to everyone everywhere is what makes the practice of bad coding so pointedly shameful.

…standards are themselves evolving and subject to change…

One important thing to remember, however, is that the web is not a static technology. It is constantly growing, expanding, and evolving. New people, ideas, and technologies will come along and suddenly change everything we've taken for granted. (That may even include the aforementioned high school student.) The standards, therefore, that guide us in the creation of accessible and well-coded pages are themselves evolving and subject to change.

I encourage you to read the document itself, comment on it, and, if you agree with it, go to the declaration page and find out how to become a signatory of this important declaration and thereby further get the word out on the need for web standards and accessibility.

Thank you all, code well, and good night.