I'm looking for a developer that can build an iPhone application which connects to an OpenGTS server (running on Linux) via OpenDMTP protocol to report GPS location, altitude, speed and direction along with timestamp. Capability to report additional information will be added in the future.
1) the app must be able to send updates on a variable interval specified by a default configuration and easily changeable (eg 1 second to 5 minutes)
2) the app must send data to an OpenGTS ([url removed, login to view]) server specified but is also be configurable to use an alternate server.
3) protocol can be http or UDP to interface with existing OpenGTS server-side collectors. Best approach would be sending as little data as possible.
4) the client app must be able to store/cache data points if the phone has no carrier signal but yet has GPS signal. Once carrier signal is restored, the client app will batch upload the data points to the OpenGTS server. The cache size will be determined by the available storage on the client device but should be on the order of tens of minutes to a few hours.
5) the app must be able to run in the background uninterrupted in the case of an incoming phone call or text message
6) the client app must be able to be assigned a unique ID which can be used to identify the device
7) local display on the client can be simple - GPS location, direction, and speed. No need for local map display at this time.
8) the app should have a low power mode in which the screen display blanks to consume less power. Overall, the app should be designed with minimized power use in mind.
9) the configuration of the app (opengts server name, unique identification ID) will be possible to be populated by a configuration file.
10) the app must be written towards deployment via the Apple App Store and function on iPad and iPhone IOS devices.
11) the app should be backwards compatible to the oldest possible IOS version which does not limit the functionality mentioned above.
This specification is the first incarnation of the client application. The person awarded this project will be invited to undertake further development of this app and porting of the app to Android and perhaps other phone platforms.
Follow-on additions to this app (future development path - will require server-side modifications) will include the uploading of new photos taken on the IOS device in conjunction with GPS data mentioned above and uploading of additional local information fed by an externally interfaced device (eg temperature).