1) The application should run on a Nokia phone with camera (6120 or similar, but if the app is easier to develop for other devices, we could change). Preferred platform: Symbian. J2ME could also be an option.
2) It should be very easy to start the application: pushing one key only (shortcut), ...
3) The application has to show the camera vision, so that the user is able to point the camera to the QR code.
4) A square should be drawn in the screen, so that the user knows where to point the camera.
5) The application should read the QR code as fast as possible. The code will just contain a number (123456, for instance).
6) The application also needs to know the date (day and month). The date should be taken from the GSM network (Spain). If this is not possible, it could be taken from the device.
7) The application will have a list of phone numbers (10, for instance).
8) Using the number read from the QR code and the date, the application should select a phone number from the list and should start a phone call to that specific number.
9) If possible, the call should be stopped after a defined number of seconds (10, for instance). The calls will not be answered by the other party (lost calls).
10) The algorithm to select the phone number depending on the QR code and the date will be simple. For instance: if the number from the code plus the day of the month ends with a 0, call the first number in the list, ...
11) Once the QR code is read, the user should only see a message ("Connecting", for instance). Nothing else during the call process, if possible. The call should be made without user interaction, if possible.
12) If the text in the QR code is not valid (not a number, too long, ...) or it is not possible to decode it (light conditions, ...), the application should show an error message ("Invalid code", for instance), and two options: "Retry" and "Exit".
13) When the call is finished, the user should see a message ("Connection finished successfully") and the "Exit" option.
14) The Retry option should show the camera view again
15) The Exit option should return the control to the platform.
16) The source code and instructions to recompile the application should be available to us. We should own all the rights.
17) We should be able to change easily in the code:
17a) the algorithm that selects the phone number to call, using the number in the QR code and the date (REQ. 10)
17b) the list of available phone numbers (REQ. 7)
17c) the duration of the calls (REQ. 9)
17d) the messages and option names (REQ. 11, REQ. 12 and REQ. 13)
5a) The algorithm to decode the QR code should be developed (it is not provided by us), but there are open source projects and SDKs available online (http://qrcode.sourceforge.jp/ ; http://www.partitek.com/PtQRDecode.htm).
1a) If the application is developed using J2ME, it should also work on a Nokia 5310 XpressMusic.
18) The application should stop working (expire) one year after installation.
19) We should be able to install the application on several devices (same phone model) over-the-air (OTA). For instance, sending a WAP push message (with the URL to download the application) to each device.
9 freelancers are bidding on average $1633 for this job
I have developed similar kind of application in Symbain as well as J2ME. Only thing I want to ask you that the algorithm to read the QR code will be given by you or I have to develop.