You have chosen to sponsor your bid up to a maximum amount of .
To save your time allow me to start with the main points of the app requirements. So you can quickly decide if this project is interesting for you or not.
- you can build this app for iPhone and Android
- In-App Purchase / In-app Billing
- access to the device' phonebook
- playing a mp3 file while it is downloaded from a remote web address
- (if possible: unique app user identification to prevent a user from uninstalling and reinstalling the app to refresh the daily free use)
If this 4 or 5 points above let you think "Hey, that's easy!" then you should go on reading.
Detailed project description:
General: This app is for making prank phone calls. The user can enter a phone number and the app sends this phone number as a html POST command to my remote web server. That server starts the real phone call (voice over IP) to the given phone number and returnes a download/streaming address of the recorded phone call to the app. The app starts downloading and playing this mp3 file while still downloading. I know that there is a certain latency/pre-caching especially in iOS. That's okay if the latency does not overstep 5 seconds.
1. App installation
When the app is installed there must be generated a unique user id. A perfect solution would be a device (hardware) depending id. I know that especially iOS do not offer the official device ids to apps any longer but there should be some workarounds. But this isn't a must. It is good enough to generate a random id after the app is installed and save it.
2. Intro screen:
While loading the app a intro image is displayed. You will be provided with this image and you will be provided with all other images this app needs
3. Main screen:
The main screen displays a sample of prank dial suggestions. That are just buttons with a short information text on them which can be clicked to forward to the next screen. For example the different texts may be "Tell the phone called person that the ordered pizza comes a bit later" or "Tell the phone called person that the other day a very loud party will happen in the apartment next door"
4. Prank screen:
If the user clicks on one of the buttons from (2.) he comes to a new screen. On this screen the user can
a) click on a button to listen to the chosen audio file of the pre-recorded prank call. Just to decide if he likes it before he makes a real prank call. If he clicks on that button a mp3 file (which is part of the app installation) is played
b) Also the user can manually enter a phone call number in this screen or chose one from his device phone book and then press the button "make prank call". If this happens the app must send some parameters to a remote web server with POST (not GET) request: id of the chosen prank call, phone number and user identify id. The web server will answer with a code or with the mp3 download address. If it is a code (i.e. '0') the app must display an assigned error message like "number not available". If the server returns a download address to an mp3 file the app must download the mp3 file and start playing in while the download is still going on. The latency mustnot be > 5 seconds.
5. In-App Purchase / In-app Billing offer. If the user bought credits, the amount of the bought credits and the user id is send to the remote server with the next started prank phone call to update the remote database with this information
Okay, I hope this is good enough for a rough overview. If you have any questions please let me know.