Self-Centred No More

a-person-meditating

The cheesy title suggests I’m starting to blossom into a caring, generous pillar of the community. Nope 😉 The actual purpose of this post is to talk about the work I’ve been doing in allowing auto-centre to be applied to external devices – not just the device the app is running on – in Gee-Oh! Mobile.

This is a pre-cursor to full integration with Gee-Oh! Server, allowing full tracking and communication between networks/groups of devices. Exciting shit.

Now let’s get into the boring technical detail…

I’ve had to literally rip the guts out of the main class, with all its references to global variables etc. and update this with getters/setters, kept in check by adding additional method references to the device interface. While I “had the bonnet up”, I did a ton of additional fixes, and it ended up being probably the biggest single commit I’d ever be comfortable making, but there you go.

Very pleased with the way it has gone, though. I even snuck in a little “loading” graphic to remove the jerkiness while we wait for interpolation to kick in.

It’s these little details that will make all the difference.

Let’s have a little recap on all the remaining tasks before release:

  • Finish pre-loading server with UK data
    • Currently ~59% complete
  • Confirm that all “centre on selected device” work is done for now
    • Including making sure “test flight” debug mode works with replay etc.
    • In actual debug mode, substitute replay or flight devices with “this” device
    • Highlight selected device/waypoint, whether or not we have GPS location for “this” device
    • Refactor selected waypoint logic to be the same as for selected device
  • Look at implementing “always on” interpolation
    • Move point pair stack into individual devices
    • Each device must have its own interpolation thread running
      • Must retain global control of this
  • Shrink waypoints as we zoom out
  • Replace current waypoints menu with proper pop-up menu
  • Look at implementing “proper” double buffered rendering
  • Make placenames updatable via server API
  • ProGuard builds

I think that just about covers it. I’m not going to add any more features, I just need to clear this list and Gee-Oh! Mobile is getting shoved out the door.

Can’t happen soon enough.

 

TRP

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s