Subsurface for Android

Dirk Hohndel dirk at
Tue Oct 2 20:51:35 PDT 2012

Aurélien PRALONG <aurelien.pralong at> writes:

> Hello Dirk,
> I've developped the Android app you requested on Google+ (see attached
> zip). I have ran out of time, so I could not test on device, but I think it
> should do the trick. Please let me know if it works or not, so I can do
> fixes. Especially, the app needs Android V2.3 to work correctly.

I love the open source community. I had this idea about 12 hours ago and
we already have POC implentations of two of the three components we need

I copied the two main authors and the subsurface mailing list so others
can chime in and help.

Aurélien - the app is a great start. I played with it in the emulator
and it's pretty close to the proof of concept that I was looking for.

One thing that I failed to think through (and this affects both the
server and the client side) is that we are likely to run into situations
where we don't have connectivity when the diver is out on a boat. In
that case it would be great if the Android app could remember the data
(and this could be several data sets - it's not unusual that you would
go to three or four different dive sites before the boat gets back to
shore and within reach of a network) and then send them off one by one
once network connectivity is restored. But this of course means that we
need to add a timestamp to each data set so it is easier to correlate
them to the dive information on the dive computer.

One other note - the files you sent me had no copyright and no license
in them. I assume you intend this to be open source and will at some
point make this available under a reasonable license of your choice and
with your Copyright attached? The rest of Subsurface is under GPLv2, as
is the POC server implementation that Pierre has contributed...

Pierre - I assume the changes I suggested to transfer the date/time
would be easy enough to add on the server side. Should we just agree on
a URL format like this:

http://host/api/dive/<loginID>/<lat>/<long>/<UTC date>/<UTC time>/<location name>

Then the app can cache the data sets if there is no connectivity and
send them out and the server still can provide the correct time stamp
when querried from the desktop application.

Thanks to both of you - the responsiveness was awesome.

One reason I tried to get this kicked off once I had the idea is that
Linus and I will be on a dive trip starting next weekend (we'll spend
Thursday flying to Japan) and we'll both have Android phones with us -
so I'd love to get this far enough along that we can try the proof of
concept app and server - even if I will delay the integration into the
Subsurface desktop application until after the pending 2.0 release...

So maybe we can get these parts to work together tomorrow and have
something "testable" before the weekend?

Thanks again


More information about the subsurface mailing list