Android version: * The key click is flaky on some devices. Why? * Add android:installLocation property to the manifest, to support installing the app on external memory (SD card) under Android 2.2 or later. See http://developer.android.com/guide/appendix/install-location.html * Support arbitrary skin scaling and positioning. * ACCEL, LOCAT, and HEADING don't work on a lot of devices. I'll have to rewrite them using the new APIs (ugh). * Add support for physical keyboards. * Implement pop-up keyboard for ALPHA mode text entry. * Scale print-out (the current 2:1 scaling is a bit small on large screens) * Implement better visual feedback for which key is pressed. iPhone version: * Add option to disable key click. * Haptic feedback option. * The pop-up keyboard handling in the Preferences and File Selection views is broken. The screen often doesn't scroll up when the keyboard appears. That should be fixed, and while you're at it, put those views inside scroll views, so you can scroll them when the keyboard is visible. * Implement pop-up keyboard for ALPHA mode text entry. * Implement copy & paste. * Implement URL decoding for HTTP requests (filenames with spaces, etc.) * Support iPad, iPad mini, and iPhone 5 (screen size issues, and take advantage of big screens to show the calculator and print-out side-by-side). * Support arbitrary skin scaling and positioning. * Support landscape mode. * When the app is suspended while the HTTP server is active, shut down the HTTP server. I think this is the one remaining issue that causes the server port to be unavailable on HTTP server startup. * Implement better visual feedback for which key is pressed. * Instead of the automatic Default.png on start-up, show a screenshot of the most recent app state, with the word "Loading" painted on top. This way, users that do not use the Standard skin will not get the jarring transition from Standard to their selected skin. Of course, whether all this is doable will depend on how quickly we can load and display a PNG (before the heavy lifting of initializing the emulator core and reading the skin GIF). Windows version: * The "Calculator Key" option should probably set \HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18\ShellExecute, not \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18\ShellExecute. Easy enough to fix, but make sure that the new code restores the HKEY_LOCAL_MACHINE key so that people won't have to use regedit to get rid of the old Free42 mapping! * Another "Calculator Key" issue: it doesn't seem to work in multi-language installs. Some other registry key overriding the obvious one, it seems. But maybe that'll be fixed by dealing with the issue above. Mac version: * Modify the file selection dialogs so they have a file type menu, and add extensions to file names automagically when appropriate. GTK version: * The display may not get repainted properly when switching skins. * Add support for the Unity dock. All versions: * Add a feature for importing and exporting variables from and to CSV files. * It would be nice if we would handle the shell_milliseconds() wrap-around. This function is only used for flying the goose and updating the progress report when the solver is running interactively; all it would take is for those two places in the code to detect unlikely values of (startTime - shell_milliseconds()) and assume the nearest likely alternative, a la Y2K. The "Wouldn't It Be Nice" Department: * Algebraic equations. * Units, like on the HP-48G, where units are attached to values.