Lessons Learned

General Scenario Observation

The biggest problems were encountered with trying to process data from more than one source. Most of the tools we tried were best when a single source was handled. This led us to back away from combining data feeds, and to having separate feeds for different elements. The kinds of difficulties we encountered were not that different from the kinds faced when doing data integration inside the enterprise, although the web data integration tools and technologies are more limited.

RSS may be convenient and popular, but it is a very limiting technology because of the inflexibility and inability to handle more data than a title and description. For business applications, a protocol like Atom is much better suited for passing data because it is extensible. Unfortunately we ran into challenges with every tool we used when attempting to consume data via Atom instead of RSS.

Contest Technology Experience

The tools are all relatively new and we had difficulties with some of the rough edges with each of the products we were using. The biggest surprise was the inability of most tools to consume Atom feeds. We were less surprised by the quirks of the user interfaces, since they were all web-based and complex web-based UIs have always been challenging.
 

We were happy with our ability to produce a web-based application that combined data and display elements, and with built-in interaction between components on the screen. Doing this type of work even a few years ago required much deeper skills in arcane areas. While ease-of-use is not up to par for end users, developers will definitely be more productive. We were able to build this mashup from start to finish with about 9 hours of work, including all of the data extraction (excluding time spent learning the tools).

Best Practices Used

1. Plan the data contents before doing anything else, and source most of the data before starting to build the UI. Backtracking when we couldn't obtain certain data required us to rebuild the entire UI several times.

2. Keep the data feeds simple and discrete. The data extraction/integration tools are not yet capable of addressing moderate to high complexity integration requirements.


3. Have fun, and never give up!