Sunday, August 31, 2008

RSS tools for smart shoppers

Summary: How technology can help frugal shoppers find good bargains.

Today's bargain hunters have many tools at their disposal:Unfortunately, these services are not very helpful when you're (a) looking for the best bargain (or, at least, a good one) on a particular product and (b) not in a rush to buy.

Ideally, the above-mentioned scenario should be addressed by a service, which would let you enter the product (either the exact model, such as Garmin Nuvi 360, or a range of products meeting certain criteria, such as GPS device), and notify you when this product becomes available at the price you set (or at a significant discount). Alas, this service does not exist, so while waiting for geeks and venture capitalists to get their act together [and if someone is interested, please give me a call], let me explain how to achieve similar results with the help of already available tools.

When hunting for bargains on a particular product or type of product (laptop, printer cartridge, HDTV, diapers, baby products, or whatever), the following services will let you save time, effort, and money (if you're not familiar with these, don't worry: I'll explain what they do and how to use them shortly):
  1. RSS reader
  2. RSS feed from you favorite deals alert aggregator and/or discount shopping site
  3. Yahoo! Pipes
Before I show how to put these services together, let me briefly explain what each of them does (if you already know this, skip the next two sections).

RSS feeds allow you to easily access frequently changing contents of the web sites, such as blogs, forums, news, and, in our case, shopping-specific posts. [In addition to RSS, you may also encounter subscriptions to Atom feeds. Atom is a subscription format similar to RSS, so I use the term RSS to refer to both.] RSS feeds are available via subscription links most often marked with the RSS icon, such as this one: RSS/Atom feed. To get a better understanding of RSS, watch this short (less than 4 min) video:


As the video explains, to access the contents of a web site via an RSS feed, you should use an RSS reader (or RSS aggregator). Bloglines Google Reader Feedly is my favorite web-based RSS reader, but you may prefer a desktop-based FeedDemon (for a very brief overview of Google Reader, watch this one-minute video [UPDATE: Google Reader is dead, but the idea can be applied to any RSS reader]):


For a list of other RSS readers see Wikipedia.

Now, that you know how to read RSS feeds in the RSS reader of your choice (I assume that by this point you've picked one), you can subscribe to RSS feeds from your favorite shopping sites (see links above), but don't do this, yet (or you will risk spending most of your day catching up with the subscription posts). To save time and effort, you should filter posts returned from these feeds by the type of product you're interested in, and this is where Yahoo! Pipes comes in.

Yahoo! Pipes is a free service, which lets you combine and apply filters to one or more RSS feeds. The resulting feed will return only posts matching your criteria. Once you define a pipe, you can receive notifications of the new posts via an RSS reader, e-mail, or phone. To understand the basics of Yahoo! Pipes, see this four-minute Yahoo! video:


So how do you use Yahoo! Pipes to search for bargains? You have a couple of options: you can use a pipe built by someone else, or you can build your own.

Option 1. Use someone else's pipe.
While writing this post, I discovered that other people already built shopping-oriented pipes. For example, Shiva Hothu made two pipes to search for hot deals. Both pipes let you specify up to three search filters, and each filter accepts one or more words. The pipe will scan the most popular hot deals sites looking for the posts matching your criteria (it will look for the exact match of all text entries defined in each filter). There is one difference between these pipes: the first pipe will scan the complete posts' descriptions, while the second pipe will only look at the posts' titles. You can access these pipes here:When you open the pipe's page, enter the search filters, and run the pipe. For example, if you are shopping for a 46-inch LCD HDTV, you can define the following search criteria:
Filter 1: 46
Filter 2: LCD
Filter 3: HDTV
After running the pipe, you will see the list of matching hot deals. At this point, you can do various things with the customized pipe. You can generate a widget (Yahoo! calls it badge) for the pipe results to be displayed in your web site or blog. You can retrieve the URL of the RSS feed of the pipe and subscribe to this RSS feed via one of the supported RSS readers (use the More Options menu). Or you can set up an e-mail or phone-based notification, so that you will be informed immediately once the pipe detects new posts matching you criteria (via the Results by Email or Phone menu).

A limitation of the existing pipe approach is that it does not allow you to define the more precise search criteria. Say, you're only interested in TVs supporting the 1080p display resolution, and you don't care about the ViewSonic models (Note: I'm using ViewSonic here only as an example; ViewSonic TVs are actually pretty decent). Since you cannot add the fourth search filter (1080p) and an exclude criterion (ViewSonic) to these pipes, you can consider building your own as described in option 2.

Option 2. Build your own pipe.
When building a new pipe, you can clone and modify an existing one, such as one of the pipes mentioned in option 1, or create one from scratch.

To build a pipe from another pipe's clone, use the Clone menu option to make your own copy of the original pipe, and then make your modifications. Before doing this, check the source of the original pipe to see if you can figure out how to change it. To view the pipe's source, use the View Source menu option (Note: Do not confuse the pipe's View Source menu with the web browser's View Source menu).

I can't show you how to create a complex pipe, like one of the pipes built by Shiva Hothu, from scratch, but this is how you can build a simple pipe to search for hot deals on 46-inch LCD HDTVs with the 1080p display resolution, which excludes ViewSonic models (again, no offense to ViewSonic; this is just an example):
  1. Create a pipe.
    Sign in to the Yahoo! Pipes web site using your Yahoo! user ID and password (if you do not have Yahoo! credentials, you will need to register; registration is free). After signing in, click the Create a pipe link.
  2. Add RSS feed(s) to the pipe.
    In the pipe editor, expand the Sources group (in the left pane) and drag the Fetch Feed module to the editor window. In the URL field of the Fetch Field module, enter the URL of the RSS feed of your favorite hot deals site. In this example, I will use FreshBargains' feed (http://rss.freshbargains.net/rss.xml) because it already aggregates feeds from multiple hot deals sites. [If you think that FreshBargains feed fetches too many results, many of which are not really hot deals, you can use a more restrictive alternative. For example, you can use SlickDeal's feed (http://feeds.feedburner.com/SlickdealsnetForums-9) or something else.] To add more feeds, click the plus sign on the right side of the URL label and fill enter the URLs off additional feeds.
  3. Add inclusive filters.
    Expand the Operators group (in the left pane) and drag the Filter module to the editor window. Click on the dot at the bottom of the Fetch Feed module (Fetch Feed output) and drag the edge of the appearing line to the dot at the top of the Filter module (Filter input) to connect them. In the Filter module, make sure that the top-most text reads: Permit items that match all of the following. Click the plus signs next to the Rules label repeatedly to create four rows of rules. Make the first two columns of all four rules read: item.title contains. [This pipe will only search for matches in titles; to search complete posts, instead of item.title, select item.description.] Enter the following values in the third column of the four rules: 46, LCD, HDTV, and 1080p (order is not important).

    Tip: To see the output of each module, use the Debugger tab at the bottom of the screen. The Debugger tab displays the output of the currently selected module, so you can immediately see the effects of your filter settings. You can also use the Debugger tab to vie the elements of the feed (you need to click the arrow next to each feed entry to view its contents).
  4. Add exclusive filter.
    Add one more Filter module (as you did in previous step), and connect the output of the previous Filter module to the input of the new Filter module. In the new Filter module, make sure that the top-most text reads: Block items that match any of the following. Make the rule read: item.title contains ViewSonic.
  5. Complete the pipe.
    Finally, connect the output of the last Filter module to the Pipe Output module (this module was auto-generated when you added the first module to the pipe), so your pipe will look like this:
    Click the Save button. When saving the pipe, give it a meaningful name, such as Yahoo! Pipe (46", LCD, HDTV, 1080p, no-ViewSonic). You can also define other properties, such as description and tags, but these are only necessary if you want to publish your pipe in the Yahoo! directory to make it visible to general public.
  6. Use the pipe.
    When your pipe is ready, run it and use the Use this Pipe menu options to retrieve the URL of its RSS feed, subscribe to it in your favorite RSS reader, or register for the e-mail or phone notifications when the pipe detects new posts.
For other examples of using Yahoo! Pipes, see the following articles (although these are not related to shopping, they can give you a better understanding of Yahoo! Pipes):Once you get a grip on the basics, you can build more complicated and useful pipes, but in the meantime, even the most simple pipes should be able to help you find the best deals, and save time and money.

Additional references:
More fun with Yahoo! Pipes
Blogging and podcasting: personal syndication for fun and profit

1 comment: