When I am writing new classes and libraries, sometime I get stuck with the silliest of things: what to call a new class or class member. About a year ago I stumbled onto Visual Thesuarus. If you don’t click over to that site, let me explain to you what the people at ThinkMap have done that is so clever. They have taken a rich lexicon and bolted a very nice Java GUI onto the front of it, representing links between words visually. It works very well, but there is one problem I usually run into. The people at ThinkMap actually want money to use their product, and offer a limited trial version online.

Still, I manage the get around this restriction which seems to consist of a limited number of lookups. I usually find a good term before I reach the threshold.


The visual interface is nice looking, and its functional. In the example above, I searched for “factory” to produce the first screen shot. I then clicked on “mill” which created the rendering displayed in the second screen shot.
When I first stumbled onto this over a year ago, I immediatly wanted to duplicate the interface. At the time I was just getting into WPF, so I spent a weekend writing a simulation of the GUI. As it turns out, it was not that difficult. The real problem here is having the right data. A well stuctured data schema with a sufficiently large dataset, plus software that can efficiently search the dataset is the real key behind this type of application.
As it turns out, there is this little school in New Jersey called Princeton that has been building a fantastic, open source lexicon called WordNet. This dataset is exactly what is needed to build an open source version of Visual Thesaurus. When I learned of WordNet, I got very excited. I thought, “I could build one of these in Silverlight and put it on the web.” Whenever I get a thought like this, I go through several stages:
- Wow, I have a great idea!
- Wow, I have the tools to do this!
- I can start this weekend.
- Hey, if this is a great idea, maybe somebody else has already thought about it.
- Search Google.
- Crap, somebody else did think of it.
It was at step #6 that I stumbled onto Visuwords.

The Visuwords site uses the Wordnet database and Adobe Flash to provide a very “Visual Thesaurus like” experience. The interface is not as clean, but it does get the job done for free. This project highlights what is often the difference between pay software and free, open source software. The Visual Thesaurus has a cleaner design, a more intuitive interface, and is faster. I spend time at both sites. I continue to use the Visual Thesaurus web site out of habbit, but I use the Visuwords site on occasion, especially when I need to do a more extensive search that will trip me up with the trial software requirements at Visual Thesaurus.
