I just published my first application on Android Market. “Logic Shrinker” is a little utility that takes a digital logic function and simplifies it using the Quine-McCluskey algorithm. This application actually comes out of my Amiga emulator project – in particular it is part of the logic function generator for the Blitter component. I did not see an App for this on Android or the iPhone, which is the reason I wrote one for Android first. If there is enough interest, I might release one version for the iPhone as well.
In the last couple of weeks I digged a little bit deeper into digital logic and having a portable simplifier has been very useful to me while standing in front of the whiteboard and simulating the Blitter functionality. It also helped me quite a bit in getting a better feel for developing mobile applications.
The user interface is quite simple: It is mainly dominated by the truth table and the user can define the output of each row in the truth table. I decided to allow a maximum of 7 input variables, mainly for usability reasons. A push on the “Simplify !” button displays the result of the simplification. I had thought about aresult view that is always visible, but it takes simply too much space on the screen so I went with the output dialog for the first version.
All in all, I am pretty happy with the experience of releasing my first app on Android Market. The release process on Android Market is extremely simple and pleasant: in Eclipse it just requires the developer to export a signed application, and the wizard walks you through the process which results in a signed and aligned file that can be uploaded in the publisher.
One small caveat: When downloading my app from the Market, the installation failed with an “invalid certificate” message. I solved that by deinstalling my test application. The test certificate is probably conflicting with the one for the release version.
PS: As a hint to the fact that the functional core of Logic Shrinker was written for my Amiga emulator, I chose the blue background color of the Amiga Workbench 1.3 for the button panel.