Developer will provide mobile app for both the iphone and android markets.
App's basic interface is as shown in attached JPG mockup, but text across top of app (website/app name) is NOT final. A decision will be made on that before app is submitted to respective app stores.
Description of app functionality is as follows:
1. On initial app launch the white text that says "registered to" will instead say "please register first" and the button text at bottom of app says "Click to Register"
2. When user clicks button to register, a modal/popup window appears asking for users first name, last name, email address and password (twice to confirm). In addition to that visible information, the communication with server will pass a unique identifying number for the hardware/device. NOTE: Androids identify themselves with a unique 'fingerprint'. If iOS devices do not have same feature, the modal window must have a pulldown menu allowing user to identify their device. that setting is stored within the app.
3. Upon successful registration with the server, the white text at top of app updates and then button at bottom of app changes to "Click Here To Start Test"
5. When the test is begun, the app determines the "Connection Type", "Signal Strength" and "Distance to server" values and displays them. The app will download/upload DIFFERENT files based on connection type. If the connection is slower EDGE/GPRS/1xRTT network, the file sizes will be smaller than if connection type is UMTS/EVDO/WiFi. All files will be retrieved from Amazon S3 service buckets.
5. During test, the icons change color to indicate which test is occurring and the progress bars show how long each test is taking. The download/upload numbers change in real time during the test. Testing is incremental: Download first, then upload, then latency.
6. Once all data has been generated by the app, a connection to web server occurs to create a complete speed test entry with the following information:
1. email_address - maintained as setting by app
2. device_id - unique device maintained as setting by app
3. android_fingerprint - see [url removed, login to view] (or iOS device setting)
4. client_ip - public ip address of client handset
5. client_latitude - latitude of client
6. client_longitude - longitude of client
7. download_mbps - download speed in megabits/sec
8. upload_mbps - upload speed in megabits/sec
9. latency_ms - ping in milliseconds
10. signal - RSSI (refer to [url removed, login to view] )
11. noise - Ec/Io (refer to [url removed, login to view] )
12. connection_type - WiFi or Cell. if cell, refer to [url removed, login to view]
13. distance to server - difference between client lat/long and server lat/long
7. After a test is completed, the button at bottom changes to "Test Again"
In addition to the app functionality described above, these additional conditions must be met by developer:
1. All app bugs identified within first 30 days after first app is downloaded from store, will be fixed free of charge by developer.
2. All app bugs identified by employer after 30 days, will be fixed by developer at hourly rate.
3. App will be identified within itunes store/android marketplace as being owned by employer, not developer.
Let me know your understanding and let me know if all points and the app is possible for respective SDK's?
I want to tell you guys that most of the features are done.. like 30-40% of the work is already done for iPhone version and i have the source code would be.... I can share source code with the best developer.. you must explain your understanding and must tell me if its all is possible?