I currently have a C/C++ application written for the Palm. It is used to make the Palm function as a Bluetooth remote for an embedded piece of hardware. The Palm is past its end of life and I need to migrate to the Touch.
I need to have the application modified (rewritten) to work on a Touch utilizing the on device Bluetooth hardware. This is an extremely low use app. It is typically installed on less than 10 devices per year.
The end user will use the Touch as a simple remote to control an embedded device. The Touch will send a small packet of data via Bluetooth depending on what is entered on the Touch.
The user will wake the Touch and click the Remote App icon. (Or, if possible, any time the Touch wakes, it starts the App automatically.) The touch will display a splash screen that is a JPG file saved on the Touch. The splash screen will display while the Touch connects(pairs) with the remote Bluetooth device. The Touch will refer to a TXT config file to get the remote device's address to pair with. If the pairing is successful the app will continue. If the pairing fails the Touch will display a screen to remind the user to turn the remote device on and retry. Once the pairing is successful, the Touch will send a small packet of data requesting the embedded device's configuration. The embedded device will reply with its current settings and the Touch will use that data to populate buttons later.
The Home screen will include three choices for sub screens and an exit or quit button (or whatever is within the Apple UI standards.) The three sub screens from Home are: Tour, Show, Ambience.
The Tour screen will populate at runtime with a list of buttons using names from another TXT config file on the device. When one of the buttons is tapped, the Touch will send a small packet of data. The button will change appearance showing that it is active. When the next button is tapped the previous will change back and the new button will change and send its data. Essentially, the Touch sends data to the embedded device to indicate what button has been tapped. There will also be a Home button to return to the Home screen.
The Show screen will have a numeric (0-9) or simple alphanumeric (0-9, A-F) keypad for entering data. The decision to display which keypad will be made at runtime by referring to the TXT config file. He user will enter a 3 or 4 character string of data and the Touch will refer to another TXT data file to see if the string is listed in the file. If it is, it will send that data via Bluetooth and add the number to a listbox displayed on the Show page. If it isn't, the Touch will warn the user that it isn't a valid number. The user must be able to tap on numbers in the listbox and delete them. When they are deleted, the Touch will send another packet of data to the embedded device. There will also need to be a Home button.
The Ambience screen will have an ON/OFF button and two groups of three radio buttons. The first group will be Brightness (Bright, Medium, Dim) and the second will be Numbers (Many, Some, Few). Tapping each button will send a small packet of data. There will also need to be a Home button.
The application will also need to limit, or lock down the Touch as much as possible to force it to only be used as the Remote and to prevent the user from wandering away from the Remote application and getting the device into state where they can't find their way back to the Remote App.
* * *This broadcast message was sent to all bidders on Monday Jan 10, 2011 9:54:08 AM:
I have just added the C++ source code for the original Palm application to the project page. This will allow bidders to review the code and see what may be required to migrate to the iOS.