In the works…
I've had a number of language learning software projects in the works for a long time. Unfortunately, given my limited time, I've been struggling to get them "out of the works" in into a place where other people can use them. But until that time, I'd just like to describe what they are - or really what they will be!
Memorati™ is my main focus right now. It is an online flash card system based on spaced-repetition. It is designed to be rich and flexible using modern Web 2.0 techniques and easily embeddable inside of other applications. In fact, when you go to www.Memorati.org, you are actually seeing Memorati (the application) embedded into Memorati (the website).
There are still many features missing from Memorati and at this point should be considered Beta. In the future, I plan to include:
- Plugins for domain specific cards, ie. geography cards could include maps.
- Media! With a player for audio and video files.
- Offline support, so you don't always need an internet connection.
- User sharing and collaboration.
- And much more!
This is only the begining! But development has been slow considering the day job. One of my focuses in the near term is also trying to make the project more community accessible to attract new developers. If this is successful the pace of development could increase.
Lingwo™ is a piece of code that I have poured hundreds of hours into, writing and re-writing several times over the past four years. Yet I've failed to ever release it in an end-user-able form.
Its a translating, morphological dictionary. A translating dictionary in the sense that it doesn't include full definitions, just glosses in other languages. And a morphological dictionary in that it understands the morphology of the language in question. I've spent way more time on the morphological aspect than the dictionary aspect.
But basically, it can be given an XML definition of morphology of the target language. In highly inflected languages (ie., Russian, Polish) this can be very complex but also very useful because there are many forms of each and you need to be aware of that when doing things like analyzing text.
Then in the entries for each individual word, you need only point out the exceptions, the areas where it differs from the regular morphology of the language as it was defined in the XML file (ie. the past tense of write isn't *writed, its wrote). For languages like English, this functionality is only marginally useful, but as a student of slavic languages, I've focused more on the needs of those languages.
One day this software will be put on a community website that will be like the Wikipedia of translating dictionaries. Users will be able to enter words they know with translations into their language. This information will be immediately entered into the database for others to use, although unlike the Wikipedia, it will be marked "unverified" until a trusted native speaker is allowed to review it. I consider this a good compromise. Errors in language can be deadly in the wrong context (ie. military), but the information is still immediately available with a warning.
An API will be provided to allow any other application to use the Lingwo data. I can foresee many uses for this: Automatic translation, automatic generation of grammar exercises, etc... Of course, it will be integrated into Memorati too! I envision being able to enter a word and have the flashcard automatically created from a user designed template. For example, the user wants the "key forms" of each verb and the gender of each noun. Bam! Looked up automatically in Lingwo. Or maybe just the exceptional properties of each word! Since Lingwo knows the grammar of the language, it can specifically point those out.
Anyway, thats whats in the works! I'm excited. Here's to hoping I can keep that excitement up through to finishing these projects!