Sections

 Home
 Dev Log
 Resume
 Free Media
 Riddles
 Bob's Gallery
 Links & Resources
 Contact


Projects

 Stem
 Nyx
 Kana Quizzer
 Keybinding Util
 Model Gallery
 Applets
 Nexus


Categories

 Dev Blog
 Keybindings
 Spell Checker
 History Search


Extend History Search

Abstract

The final project would consist of both providing providing preferences for how chat history logs are stored and improving the means in which they're searched. This would include introducing a snappy incremental search and extending the current search capabilities of the HistoryReaderImpl class.

Description

Following the other projects the remainder of the summer would be spent improving the chat logging and search facilities. As the ideas page suggests, this includes two components:

  1. Provide the user with additional control over how the history is saved. This would including limits on date/size, archive's location, and any other handy features such as saving the logs as either plain text or HTML.

    One extension that I'd personally find interesting would be to save the logs in HTML to the user's local web directory, where it can be categorized and presented by a simple PHP script. The advantage of viewing logs this way is that the interface can be improved to include search and provide a rich text presentation (for instance inserting the sender's avatar next to their messages).

  2. Improve how the history's searched by the user. This would include writing the interface and possibly changing how history logs are handled (in the HistoryReaderImpl class) to improve lookup time.

    A very spiffy feature for this would be an incremental search so results are narrowed down as the user types the query (kinda like the search for Firefox's about:config). This would be done by preserving the initial search results of the find method and calling a customized implementation of filterByKeyword to narrow those results further. This would keep all the subsets as the search query is expanded to allow quick corrections. However, this would be a pricey operation if the user makes arbitrary changes to the search query...


Back