Ultimately, the device I hope to create will offer dynamic control of timing based on various things. I would like the user to be able to define various timing curves and switch between them on the fly even when riding, as well as offer automatic emergency timing changes when temps rise too high.
I have not yet ordered one, but I plan on using the 16x2 adafruit LCD panel which features integrated control buttons. Fun fact: Lady Ada (The awesome gal who runs adafruit) was a member of MITERS where I make all my stuff.
I'm thinking it would be great to have a thumb button which connects to the control unit which would allow you to switch between pre-defined timing profiles on the fly, so if you want to be a cool guy and take off from a stop like a madman, you can switch to an aggressive curve, but once up to speed you can switch to a milder profile so as not to kill your bike, or have one for racing and one for commuting.
I'm also thinking about connecting a temp sensor so as to allow for automatic emergency retardation of timing if you temps rise too high, and possibly even kill the engine if they get way too high.
Throttle position sensing would also be interesting. What if it were to monitor your throttle behavior, and if you were to suddenly whip back the throttle, it would automatically switch to a more aggressive timing curve, but if your throttle position is calm and relatively static, it would retard a bit as this likely means you are on a long steady ride. (edited)