I have been working on a new version of Didier Willis' Dragon Flame / Hesperides dictionary application. I have created a page with some information about it on http://parendili.org/dict/index.html
and also sent a message to Elfling and the German based Mellyn Lammath
forum. It comes down to that I would love to have input from possible users: what they think this application would need in order to be useful.
If you have any questions I'm all ears to hear them!
I have been working the past year on creating a new Sindarin dictionary application.
I've used Hesperides (the existing Sindarin dictionary application) a lot but it could use a brush-up. I approached the author - Didier Willis - and offered my help in creating some or other new version of Hesperides / Dragon Flame which he accepted.
The preparation took quite some time. This was mostly taken up by trying to get my head around the specific format in which the data (the word lists) were put; of thinking of a way to rework this to another format which I could work with and, lastly, then actually doing that conversion. If you're interested: the gritty details are below.
I'm now at the final stage: the point of creating the user interface: the way the program works, receives input and presents output.
It would be very helpful to have the ideas of potential users about this: what would you think of as an ideal dictionary application?
Even though its a pretty simple application, there are many choices to make that can make all the difference between really breathtakingly usable (like Skitch) or about as dumb as a sack full of frozen hammers and as usable as a virtual paper weight (I've encountered some truly great examples of that latter category in my job at a University Library).
It's about things like "what is a good way to search for a word?"
Maybe you have noticed that "auto-suggest" feature in Google .. maybe that would work well.
Or have a list with matches that's being populated as you type so that you don't have to click a "search" button (the current Hesperides can do that).
What search modes? Match the beginning of the word, *anywhere in* the word, or exact matches? Any other possibilities?
Would it be handy to be able to add your own constructed words? Would it be good to present those then with, say, another colour?
Or to be able to add your own private notes to dictionary entries?
Would it be good to have the Sindarin -> English (or French, or German) and the English -> Sindarin both alongside one another?
Maybe offer the possibility to choose large fonts?
Anyway, I'd be happy with all ideas and suggestions.
Also, if there's anyone willing to test the app, let me know. The program will run on any platform (mac, linux & windows - and some more even) and it's about 10 mb to download - that's including the database.
Thanks in advance
(technical stuff below here)
Didier told me that the word lists as he has them - both the ones on his Hisweloke website as the list that's in the existing Hesperides application - are in the "TEI" (Text Encoding Initiative, see http://www.tei-c.org/index.xml
) format, which is an XML format designed to represent text; it is specifically geared towards use in linguistics, humanities and social sciences.
It is perfectly possible to use an XML based document as the source of an application - Hesperides works like that. But it has some drawbacks like a noticeable delay when the document loads - though this is typically one of those areas that can stir up arguments between pro's and contra's. For me it's been clear for years that my brains are somehow incompatible with XML, so if I were to do this, I had to rework the whole thing to a relational format.
It's been a fun challenge to first figure out what subset of TEI was actually used in the files that Didier had sent me and to remodel that into a database schema. To make a longer story short, Perl was a good friend there: and again in re-hashing the list to insert statements to populate the database with.
After that, I had a database consisting of some 12 tables that contained all the information from the TEI encoded word list.
This was actually the hardest part. Building an application that then accesses that database is quite straightforward. This week, I have built a little demo application that does nothing but give the whole list of words and some additional fields from the database .. translation, pronunciation, etcetera. It is built in Java, so it runs on any platform; and the data are stored in very lightweight embedded database (Apache Derby). The whole thing is about 10 megabytes now, database included.
It is also possible to create a web interface for the same database - something that you can put on a website so that users can access it online. An applet, or a php page, or Adobe Flex maybe if we want to make it really snazzy
It's not too hard to add additional languages to the available translations (english, french and german at this moment).
And should someone have a TEI encoded Quenya wordlist, there's no reason that that could not be integrated in the application as well - using some sort of switching between modes, maybe.
I've put some of the technical info like the DB schema etc. on http://parendili.org/dict/
- you can also download the app there (though it does not yet offer any functionality apart from scrolling through the word list and displaying some fields). It will only need a Java Runtime Environment, but practically all computers have that installed. If not, you can download it for free at http://java.sun.com/javase/downloads/index.jsp