Captain's Blog for Android


GO-LIVE JAN 22, 2014!!!

Get it on Google Play

We do lots of blogging from our sailboat. I found it was getting very time-consuming to collect photos, GPS tracks, and text and get everything together so it could be presented in one blog. I wanted a tool to help speed up the process of collecting all this stuff and making it sharable somehow.

I looked for something that would do this on Android and iOS. Nothing really.

So I wrote it myself. I was beta testing early versions of the app last year.

What it does

Captain's Log is an easy way to make journals of your voyages and then share (publish) your adventures. Write chapters and enter log entries within the chapters complete with speed/direction and information about the conditions. Record tracks along with your chapters to show where you've been. The publishing part, puts your content on Google Blogger, the photos on Google Picasa. Location data such as GPS Tracks and Log Entries get published to my own map server (running on google appengine) where they are presented graphically. If you use Google Blogger, the final blog post has your text plus embedded photos and the embedded map display from my map server.

If you don't wish to use Google Blogger, you can just publish the location data and embed the map widget into your own blog - or facebook - or whatever.

Here is what the map widget looks like

What it costs

Nothing - it's free. Free I tell you. Yes, it does have ads... but wait before you get all upset... it's just on one screen and it's not in the way of anything. Also, the astute user will notice the paypal donate button on the bottom of the opening screen. Clicking that brings you to this page where you can choose from several small donations. In return, you will have my eternal gratitude and inspiration to continue further improvements and features.  It will always be a free app (Google does not let you change from free to paid - ever), but I may try in-app billing for "pro" features that I add later. 

Where do I get it?


Jan 22, 2014, Captain's Blog is now LIVE on the google play store

  Get it on Google Play

As of Jan 2014, the app is in the beta testing area of the play store. I have a few active beta testers and I feel like it is very close to go-live. I worked on this all through the winter of 2012-13 and am trying to finish it up enough to release a 1.0 version while I'm still young.

Enjoy screenshots

 The Chapter List



 The Chapter Editor



The Log Entry Editor



The Publisher


Technical Bits

The Android client app is written with the Android Java SDK. The local storage on the device is using the built-in Sqlite Database. I'm using an open-source ORM library to map Java Objects to the various tables.

Publishing is the most complicated part.

Photos are uploaded to Picasa first so that I can get the final URLs of the images. The Picasa upload took a while to get working. There doesn't seem to be an SDK that will work on the Android (or at least that I could get to work). So I rolled my own Picasa Client which builds the POST body complete with all the binary data from the images. Fun. 

Tracks and Log Entries are uploaded to my own map server.  This server runs on Google App Engine and is using the Google Datastore Cloud storage. I'm using Objectify as the ORM library for the server-side persistence. The interface to this map server is implemented as a restful webservice. The request handling is done using Spring-MVC.

Finally, the actual blog content is put together using a series of template files. The Chapter Title and Body as well as Tables with <img> tags with the URLs returned from the Picasa upload and an <iframe> that points to my map server - are all put together into a single blob of html which is uploaded to Blogger using the Android Blogger API.