Looking Ahead
Hoot has officially outgrown its internal structure and database design. That's not a surprise; but something I anticipated. I wanted the initial stage to be simple to implement and efficient. During this part of the development phase I have been evaluating how to best handle the features that Hoot will handle in the future (if development continues).
Some of the little things that the structure doesn't support include showing if a word was formed with a hook and showing definitions for words. Little things are easy to adjust for, but other things require a closer look at the structure as the functions expand. Hoot shows score values based on Scrabble values, but also shows WWF values. The probabilities are based on Scrabble tile distribution and WWF would vary only slightly, but the values/distribution/probability of other games, lexicons will be considerably different. For example, the French version assign radically different values for some characters. Also in French, the types of word studies a player would do is different and French has a different set of prefixes and suffixes. With the expanded string of extensions possible in French due to conjugation, more involved extension study may be more useful. Instead of studying words with high value tiles (JQXZ), in French you would be studying JKQWXYZ instead. J and Q are 8 points while the rest are 10 points.
Then, there are the tools for studying multiple lexicons. In short, you may want to study words that are in one, but not the other. In the U.S. that is becoming more common with more CSW tournaments. Hoot does have a Compare Lexicon, and now generates a list of common words. I mention all of this for two reasons, to let you know what I'm anticipating changes, and to get your feedback on what else Hoot needs to have. Following are a few of my notes. If you have an idea, contact me through the contact form on my blog.
Identify prefix/suffix by language
Language stems (french)
Database change to include hasFront, hasBack, indicating the word is formed by adding a hook.
Database change to add Alphagrams to the Lexicons. This enables quicker anagram searches and display of number of anagrams.
Database change to add category to word lists.
Database change to add definitions file and link to the word in the lexicon (different for different languages).
Database change to provide more User information.
Database change to allow user note taking, checklists.
Database change to allow saving of searches (search type, letters, filter, userid)
Save detailed information with lexicon, named list exports
Program support for different types of searches for different languages.
Identify lexicon language, game, varying tile value/distribution.