macdevcenter.com
oreilly.comSafari Books Online.Conferences.

advertisement

AddThis Social Bookmark Button

Everything You Wanted to Know About Safari RSS, Part 1

by FJ de Kermadec
05/31/2005
What are Syndication Feeds

Since the unveiling of Safari RSS last year at WWDC, the Mac community and the Apple marketing department have been in an ongoing battle. For some (guess who), Safari RSS is the answer to all of humanity's problems, from poverty and hunger to the overly frequent appearance of pop-up windows on screens. To others, Safari RSS is the weirdest and most useless combination of technologies ever thought of in the computing world.

Well, luckily, Safari RSS is neither. It is most certainly not the one single piece of software that will turn your browsing experience around (but then, any such event won't happen because of software) but it is a very well crafted, thought-through application that can be, with just a little bit of effort at first, used to dramatically simplify how you work and interact with the web--which is, after all, all one can ask, from even the best of browsers.

Over these next few installments, I'm going to show you (well, try to show you) what can and cannot be done with Safari RSS, what to expect from it, and how to take these capabilities as far as possible so that your foray into the world of RSS (or browser-based RSS, anyway) goes as smoothly as possible. Before starting, though, I ask that you take a few minutes to think about the number of things one can potentially do with HTML and RSS. The Safari engineers without doubt had to make choices, settle on a "vision" of how RSS would be used, and stay true to it while writing the application, so that it didn't turn into a soupy mess. This is what they have done, and I have found it is key to try to "get into the spirit," so to speak, before starting to work and evaluate Safari RSS. Only then can one appreciate the effort that went into it and decide whether it is the right application or not.

Safari 2.0 displaying RSS newsfeeds.
Safari 2.0 displaying RSS newsfeeds

Also, rest assured that, in order to protect your sanity, I will try to use the term "Safari" instead of "Safari RSS" whenever possible.

What Is Safari?

Presenting Safari may seem to long-time Mac users as silly as presenting the boot panel. Nevertheless, as I know many of you have joined us from the Windows and Linux worlds this year, allow me to introduce the "best browser on the Mac."

Safari was introduced on January 7, 2003, during Steve's Macworld SF Keynote. At the time, it was a public beta, as full of promises as it was of questions. At the time also, the Mac browsing landscape wasn't looking grim (contrary to what some might have said in business newspapers), with innovative developers like the Omni Group and the Mozilla Foundation writing awesome browsers, but it was still heavily dominated by the aging and sluggish Internet Explorer for Mac--which, I must admit, was at the time a solid browser and is still today able to render most sites, if you are so inclined. Many Mac users felt it was time for Apple to provide a free, standard alternative to these applications, if only to stand up and face Microsoft in daylight--whether or not that is/was/would have been a good move is yours to decide.

The hard work of the Safari development team was quickly rewarded and, even though the beta was officially declared rough around the edges (which, astonishingly, it wasn't, really), the community jumped on board. At that point, it was clear that Safari was here to stay and that it was an important application on the Mac.

Better, yet; while at first the magic of Safari was confined within the application, Apple quickly decided to split "Safari the browser" and the rendering engine, making it available to the millions of developers that work on Mac OS X. This was done through the release of the Web Kit, which Apple so defines:

"The Web Kit provides a set of core classes to display web content in windows, and by default, implements features such as following links clicked by the user. The Web Kit greatly simplifies the complicated process of loading web pages--that is, asynchronously requesting web content from an HTTP server over the network where the response may arrive incrementally, in random order, or partially, due to network errors. The Web Kit also simplifies the process of displaying content that can contain various MIME types, and multiple frames each with their own set of scrollbars."

In other words, the power of Safari can, to a certain extent, be freely exploited by developers. How is that important, might you ask? Well, it helped push the development of web-enabled and web-friendly applications forward, including some of the most popular news readers on the platform.

By simplifying the "rendering" part, Apple allowed developers to focus on adding features, which allows Mac OS X to be one of the most "connected" operating systems today--visually, of course, as the Web Kit would be of little use without all of the raw networking stuff that's underneath and no user will ever see. From Dashboard widgets to HTML editors, many applications rely on the Web Kit, even partially, to do their magic.

Those who are heavily involved in the open source world might also be interested to know that Safari is based on an open source core itself, KHTML. While this is not really in the scope of this article, you might want to have a quick look here to learn more about your favorite browser before going further. It would also be a shame to miss a chance encounter with Katie.

Safari Improvements in Tiger, Generally Speaking

Equating the improvements to Safari in Tiger to the adjunction of RSS detection would be erroneous. There are actually many more improvements that would, alone, make it a worthy update.

What Are Syndication Feeds

Essential Reading

What Are Syndication Feeds
By Shelley Powers

Syndication feeds have become a standard tool on the Web. But when you enter the world of syndicated content, you're often faced with the question of what is the "proper" way to do syndication. This edoc, which covers Atom and the two flavors of RSS--2.0 and 1.0--succinctly explains what a syndication feed is, then gets down to the nitty-gritty of what makes up a feed, how you can find and subscribe to them, and which feed will work best for you.


Read Online--Safari
Search this book on Safari:
 

Code Fragments only

Safari is now able to export bookmarks, meaning that importing your precious collection into Safari to try it out no longer means maintaining two separate sets of bookmarks until you are sure you have found the right browser--files exported from Safari can be imported in browsers like Firefox in a snap, and also reused by webmasters to publish a list of links online.

The handling of web content has been greatly improved, from rendering speeds to color management (webmasters with sites in shades of gray will appreciate that one) to the ability to display PDFs inline, a seemingly belated feature considering that PDF is everywhere in Mac OS X. Finally, Safari is now much better at displaying security information regarding sites you visit, which is of a great importance to security-conscious surfers.

There are lots of other little improvements and too many to really list here without boring you to death--if that has not already been done, mind you. You can read them all on the Safari page of the Apple website, along with examples and practical demos. Depending on what you expect from your browser, some of these features may appear life-saving or utterly futile, so don't be thrown off if at first you don't see what you expect. That does not mean it's not there--and there are lots of enhancements to WebCore itself that aren't mentioned on the public site.

Improvements that Relate to RSS

Of course, there are also improvements that directly relate to the RSS aspect of the browser, even though they have nothing to do directly with it. These are worth spending some time on, as a good knowledge of how they work and interact with the application will allow you to immediately get more out of the browser's RSS capabilities.

First of all, Safari is now very scriptable. It is unfortunately not yet recordable, meaning that some knowledge of AppleScript will be required to make the most out of it. But by mastering a couple simple commands, you can automate the handling of feeds, URLs and, if you are feeling ambitious, even the extracting and exploiting of this information--think custom blogging systems tapping into your browser's bookmarks or, on a less ambitious note, the automated mailing of links to customers.

Of course, Otto, the Automator guy (that is apparently his official name) is no stranger to Safari and you will find many Safari actions into Automator that can be exploited as well. Of course, most third-party news readers are already scriptable to a certain extent, and this capability in itself is not overly surprising but it is nice to know that you can build upon what already exists and, perhaps, complement a missing feature by yourself. While Automator is still young, there are already plenty of creative things that can be done with it--and it can only improve, as Apple adds more actions to the pool and developers feel more at ease with the technology.

Should you decide, after reading these articles, to use Safari as your Newsreader, you might also want to take advantage of the .Mac bookmark-syncing capabilities to ensure that your RSS bookmarks and feeds will always stay up to date, across your computers. That feature, built right into Mac OS X, will probably provide you with a smoother way of syncing bookmarks than any add-on applications.

This also means that your feeds will be available on any other computer, even those on which neither Safari nor a news reader are installed, thanks to the .Mac web bookmarks feature. Should you not have a .Mac account, you can get creative and use AppleScript to sync the bookmarks file to your iPod and sync it back on other computers you wish to use--OK, that you can do with any file of any kind, but it just seemed like a nice place to allude to that fact.

The ability to mail links to pages can also be of help whenever you wish to send a link to a feed to a friend. Keep in mind, however that, should you check many feeds at once, you might end up sending an email containing a four-page-long link--I sent one to myself and I didn't like myself very much after that. Also, due to the relatively uncommon structure of that link, you might just end up confusing the recipient (who may not know how to open it), so this one feature is to be used cautiously in the context of RSS.

Last but not least, some Mac OS X system-wide improvements have added a lot to the comfort of reading blogs. The new dictionary service, for example, allows me to define any word inline (select a word and enter Command-Control-D), which makes reading technical or advanced articles a lot easier. While most modern newsreaders should be able to benefit from these Tiger-based features, older or more arcane ones (such as the newsreader side of the otherwise excellent Thunderbird) may not offer them.

An Introduction to RSS

Now that we have been talking about RSS for a while, it might be a good idea to define it, don't you think? Indeed, RSS is probably one of the best examples of how confusing acronyms and conventions can be. Roughly speaking, RSS nowadays stands for "Really Simple Syndication" and is used to define a lightweight method of publishing the information contained on sites in "feeds" that can be read by a large number of devices and applications.

The reasoning behind RSS is that constantly opening sites in order to check whether they have been updated is a waste of time--time that would be better spent opening an O'Reilly Safari subscription or watching the WWDC DVDs, for example. Right before RSS became as mainstream as it is today, many web browsers (including the aforementioned OmniWeb) featured the ability of periodically checking bookmarks and letting you know whenever one of them had been updated. That way, to keep current on all the news, you simply needed to have a look at your bookmarks bar and see which pages you needed to reload.

RSS does that, actually, but in a much more organized fashion. First of all, feeds are structured differently from web pages; they are stripped from almost all formatting code and the niceties that we have become accustomed to in pages, which makes sorting through the information they present a lot easier. There is the title, the date and time, and the author, and, knowing that, you can categorize and organize information from thousands of sites under common categories, for the first time. Feeds are also a lot more interesting than full pages when it comes to gathering and classifying information in that they (usually) contain some rich metadata such as information about the site, the category to which the entry you are downloading belongs, the date at which it was last updated, and so on, allowing the content to leap from passive content waiting to be read to an active source of information, easily put in context and perspective.

What's more, most feeds are XML-based, meaning they are lightweight, use a simple structural language (and one that has been known and defined for a long time), and that they can be "reworked" by any good parser so that the raw information you receive can be displayed in an infinite number of ways. From layout to classification, every aspect of a feed can be worked on by the application that receives it, contrary to pages that are designed to be seen on your end as they are on the webmaster's computer.

This means that many, many devices can read XML feeds, even ones operating on slower network links or those with limited operating systems, such as mobile phones and pagers--although one might argue phones are becoming like computers and pagers are out, but you gotta work with me here. Tradition has it that RSS feeds are usually free of advertisements, banners and other "heavy" content but that is now a thing of the past, as many sites are desperately trying to monetize their feeds and advertisers have developed RSS-specific ad insertion technologies.

Of course, not everything is as straightforward as it may seem. Under the name RSS hides many standards and specifications that have been (and still) are confronting each other. Each group has diverging views of what RSS should do and upon which technologies it should rely, meaning that there is no such thing as "an RSS feed" on the internet.

As time went by, other syndication technologies like Atom became increasingly popular and, given the advantages of each system, most sites now offer two (or, in some cases, three) feeds that feature almost identical content, although using different technologies. This distinction has by no means been overlooked by the Mac OS X engineers who aptly named the component in charge of handling RSS feeds "Syndication Agent" and not "RSS agent," which would have any self-respecting geek screaming in pain. The name chosen by the marketing (and interface) teams is probably slightly confusing, but the bottom line is that "RSS is that blue thing that gives me the feeds," as long as you are using Safari!

As an aside, the new podcasting trend you have surely heard about also relies upon the ability of such feeds to carry just about any content. The software that receives podcasts works just like any other RSS-enabled reader, but extracts the files it receives and "pushes" them onto your iPod or your media player of choice--usually through your iTunes library for easy management, but that is a matter of personal preference.

Using RSS

We actually just dropped the term "RSS reader." Indeed, the RSS experience would be nothing if there weren't uses for that content. Originally, RSS was used to populate sites (think news portals) with content from others, consenting or not. This use is still common today: simply have a look at the "More news" sidebar on the Mac DevCenter or at the weblogs portal of the O'Reilly Network for a good example of how feeds can used to enrich a site's content, without requiring someone to sit behind a keyboard, restlessly browsing the Web and refreshing the pages.

Where RSS truly shines, though, is in its ability to keep you updated and act as a buffer between your world and your desire to stay current and the sea of sites you need to browse to do so. By telling you what's happening and where to go to learn what you want, RSS has the potential to, simply speaking, do the browsing for you. But RSS is ugly (well, from a design point of view, a raw RSS feed is about as enticing as a tax-return form) and you still need to query the feed periodically to know whether it has been updated.

This is where "RSS readers" come into play. An RSS reader is a combination mail client and web browser in spirit, in that it periodically queries a server and downloads content, but only notifies you when something new has arrived--along with giving you the ability to archive news items that are of interest. In the back end, these readers can be complemented by RSS aggregators that seamlessly (well, theoretically) combine one or more RSS feeds into one. The O'Reilly Network, with its infinite sites, nooks, and crannies can, to the new eye, look like a gigantic soup of information that one will never be able to manage. Make a quick trip to a powerful aggregator like our very own Meerkat and add your custom feed to your reader. That soup is now ready to be served, along with tasty croutons!

A very popular RSS reader for Mac OS X is NetNewsWire 2.0.
NetNewsWire 2.0 is a very popular RSS reader for Mac OS X

Users have as many ways to read RSS feeds as they have ways to read the paper. Some prefer to use an email client like Thunderbird that will deliver their news as separate emails. Others will rely upon dedicated software like NetNewsWire. It all boils down to the features you need--having too many features can rapidly turn a quick RSS scan into a techno-nightmare, just like not having enough.

Safari RSS

The big news that interests us here is Safari's new ability to handle feeds. Safari is by no means the first browser to feature RSS integration, but it is the first to blur the borders between aggregator, reader, and browser so strongly. This can be a bit confusing at first, but will soon provide you with new tools and some (well-hidden) power features.

As we alluded to previously, Safari RSS is mostly an interface to a syndication agent that will take care of querying the feeds. This explains how you can be in the middle of an intense web application or browsing session and see feeds arrive in your bookmarks without any noticeable lag or waiting time--a very nice feature for heavy RSS users who sometimes need to wait for their application to parse through hundreds of feeds before they can use it. You can also easily browse feeds while new feeds are downloading, etc. Sure, that might not sound overly impressive in the age of supercomputers, but that's still not a standard feature on all applications!

Feeds behave in Safari just as web pages do, with some added functionality. They have addresses that you can enter in the address bar and display their contents in the contents window. Of course, since a feed does not contain any formatting information, Safari will take care of separating the different articles; highlighting titles, dates, and authors for you; and putting all of the required links (such as "Read more…" or "Comment") in the right places.

Actually, let's start experimenting with RSS, shall we? Let's enter the following URL in Safari and see what happens:

http://www.apple.com/main/rss/hotnews/hotnews.rss

Here we go, your first web-page-formatted RSS feed. The Safari team chose a definitely Aqua-looking default theme for the presentation, but you should feel immediately at ease, as this default theme is reminiscent of the default blog appearance. Posts on the left, features on the right. Each post is clearly separated by a gray line and contains at least a title and an excerpt of the content. Should you pick a feed with images, the Apple feed usually doesn't contain any--you would see the images embedded right into the page, with the text flowing nicely around them--unless, of course, the authors of the feed have specified some other structure.

Next Time

The options on the right are where the interesting features start. While they may not sound like much at first, getting to know them, with a single feed, will allow you to feel at ease when you will have hundreds to manage.

In the next installment of this series, this coming Friday, I'll show you everything you need to know to manage your RSS feeds in Safari 2.0. See ya then!

FJ de Kermadec is an author, stylist and entrepreneur in Paris, France.


Return to MacDevCenter.com.