BANGALORE, INDIA: You've got a great idea for a new application, on the web or on the desktop, and you're starting to think about the various features and functionality it will provide. More than likely, a big part of your idea is original, but various features you want to implement already exist out on the web as part of another website.
For instance, perhaps you want to create a new web application called Develevent, a site where developers can find technology events around the world and get all the information they need to plan their trips to those events. At its core, this web-application should have the basic functionality of listing details about a given event and searching for events.
Additionally, for any given event, you may also want to incorporate features that show the user hotels that are available for the nights around the event dates, flights to the nearest airport from the user's home airport, historical weather information for the city of the event at the given time of year, and so on. These features will be valuable to your users, but it is not your core business, nor is it truly feasible to become a hotel availability aggregator or a historical weather data storehouse.
Luckily for you, the web is rich with companies and websites whose core business it already is to provide such functionality. As users of the web, we often see these sites as silos, where in order to access their content, it is necessary to visit the site itself. However, with open APIs, RSS feeds, and services like Dapper and Yahoo! Pipes, it is becoming easier and more feasible for developers to incorporate content and functionality from existing websites into their new creations while focusing on the core functionality you are best suited to provide. With affiliate networks such as Commission Junction, you can even earn money when your users engage with and purchase from the sites whose content and functionality you are incorporating into your own.
Let's take a deeper look at the various means to obtain content you could incorporate into your new application.
Look for APIs
If a website whose content you want to use has an API (Application Programming Interface), this is your best bet. APIs give you structured access to a website's content and allow you to programmatically replicate certain functionality. For instance, Amazon provides many APIs including one that allows you to search for albums by a specific artist and filter and sort the results by various criteria, such as number of ratings and release date. This allows you to easily incorporate Amazon's content and functionality directly into your application. For more about Amazon's web services, check out http://tinyurl.com/2xyfhj.
RSS/Atom feeds
If an API is not available, you may be able to use an RSS feed. Most websites offer RSS feeds for their content. The biggest drawback to RSS feeds (as opposed to APIs) is that they are usually used to provide a website's latest content in date-order. Often times, there is no RSS feed that allows you to pass a parameter, such as a search term or an argument indicating how to sort the results. For example, a hotel site may provide an RSS feed of its best deals this week, but you cannot tell it to give you hotel availability in a specific city on a specific date. However, if a site does have an RSS feed with the content you need, this is a good and easy solution.
Expedia is a good example of a site that provides excellent RSS feeds with parameterization. Check out their RSS feeds here: http://tinyurl.com/5wtjlb. For an example of a feed of New York, see here: http://tinyurl.com/5cm4ph.