Time line for development



next up previous contents
Next: The news reader Up: Implemented system Previous: Implemented system

Time line for development

The first implementation of the system was a quick hack to create a working prototype that could be used to better define the problems that needed to be solve. Later implementations made the system cleaner and brought it in line with what came to be the final design described in the previous chapter. Our implementations can be roughly grouped into four phases. The first phase involved modifying the news readers to collect statistics on user behaviors. The second phase was creating a simple vote server and hacking into the news readers a method for user voting. In this phase, votes were mailed to the vote server from the news reader. The third phase hacked the news readers to read vote summaries out of a file and then use the summaries to filter or sort articles for the user. The forth phase involved writing the interface module(IM) and the expiration mechanisms; pulling the hacked vote communication out of the readers; and making the news readers use the IM for communicating votes with the rest of the collaborative filtering system. The fourth phase also cleaned up the communication between news reader, IM, and vote server.

The development of the vote server and interface module was fairly straightforward and was accomplished without any significant or interesting difficulties. Since the goal of creating the interface module was to make it easy for programmers to add collaborative filtering to existing news readers, it was very satisfying to find it trivially easy to modify the nn and xrn news readers to traffic in collaborative filtering information. The only difficulties came in modifying the news readers so an article's message-id was available to the filtering routines when we wished to decide whether or not to display the article to the user. The filtering routines needed access to the articles' message-id in order to find the articles' vote histories since the vote information is indexed by message-id. The difficulties arose because the internal data structures of nn and xrn were not well set up to handle article message-ids.



next up previous contents
Next: The news reader Up: Implemented system Previous: Implemented system



David A. Maltz (dmaltz@cs.cmu.edu)