This started when I was asked to do some prototyping work on Android by a client last November; I hadn’t done any programming on Android before, but I was familiar with Java from my time working on Enhydra Enterprise at Lutris Technologies. When I joined Lutris in 2000 I was new to Java (after 15 or so years working with C on UNIX™) so I wrote an Enigma simulator in Java as a learning project (it was related to security, a good way of getting to grips with object orientation, and fun!) I hadn’t used the code in over 10 years since, but I dusted it off and got it running on Android to get familiar with the new environment.
Having spent a couple of days on it, I had it running with a rudimentary UI and was familiar enough with the Android SDK to put the Enigma project aside and concentrate on the paid work, but I did still wonder if something useful could be done with the code. Back when I first wrote the logic of the simulator, there was a real Enigma machine out on a table at Bletchley Park that you could physically use and experience what the real operators in World War II had to do. These days, with auction prices of the machines topping $200,000, they’re all locked away behind glass. Given the touch UI of Android, it occurred to me that a good enough simulation could be a useful educational tool, perhaps put alongside museum displays on a tablet computer to give people something of the real feel of the machine.
Read the rest of this entry »