Please leave any comments you may have about Comob Net below on this support page.
While most users of Comob Net will probably just use it with our server as it comes configured by default, it was our goal from the start to also support other groups of researchers, artists, etc. by giving them an opportunity to use the app with their own servers to collect their own location data.
To set up your own server, you need a standard web server:
The Comob Net iPhone app sends requests to the server (specified by the base url, which can be changed in the advanced settings) with HTTP GET variables. It uses the same variables as the Comob app, ‘uid’,’lat’,’lon’,’acc’,’time’ which correspond to userid, latitude, longitude, accuracy and timestamp (the number of seconds since 1970 (UNIX timestamp)).
In addition to that it also sends the variables ‘alt’ (altitude), ‘altacc’ (accuracy of the altitude (<0.0 if no altitude available)), ‘grp’ (group name) and ‘rndid’ (ID consisting of 15 randomly generated alpha numeric characters).
The HTTP requests are thus of the form:
<BASEURL>?lat=<latitude>&lon=<longitude>&acc=<accuracy>&alt=<altitude>&altacc=<altitudeaccuracy>&time=<timestamp>&uid=<userid>&grp=<group name>&rndid=<random ID>
After the user pressed the mark button, it also contains ‘&mark=true’.
In return the app then expects at least the string ‘ok’ to be returned.
However, in order to be able to see positions of other people on the map, a key feature of Comob Net, this information needs to be returned by the server.
WARNING! This data format may change in the future. Please let us know that you are relying on this format by submitting a comment below or sending an email to email@example.com if you are using your own server. Then we can let you know of possible changes before releasing an update that may break your system.
A typical string returned by the server looks like this:
ok j8Gr27gas47u4xH_Jochen,55.965600,-3.191054 xMX9Ea0pcAbPYxa_work,54.600766,-5.928085
This string consists of several substrings divided by whitespaces (the app checks for whitespace characters space (U+0020) and tab (U+0009) and the newline and nextline characters (U+000A–U+000D, U+0085) ).
The first of these substrings is usually “ok” alternatively it can be “mk”, which the server sends to acknowledge the receipt of a mark (after the user pressed the Mark button) this also sets the line color to red. Something we have not actually used with our server yet is that you also can return anything from “m0″ to “m9″. While these don’t acknowledge that mark has been received (the app keeps sending the mark until it receives a “mk”), they allow you to draw the map-overlay in different colors, signalling something to the users.
The rest of substrings deliver user data. These strings consist of three substrings separated by “,” each. The first is the user name (although this is not displayed in the current version of the app). We decided to combine the randomly generated user ID (15 numbers or letters) with the user name specified in the settings screen, connected by an underscore. This helps to distinguish different Bobs and Bills in our database. If we support the display of names next to the positions in a future version, we would obviously discard the first 16 characters and just display the name from the settings tab.
The other two substrings are latitude and longitude of the person.
Have fun with it and don’t hesitate to contact us if you have questions.