Hello, yes, I’m not dead. I know I’ve not updated here for a while but I’ve been very busy and a lot of dev work has taken place in the meantime.
I have built and deployed a very functional eco-system of integrated services, held together via SSOA (Single Sign-On Application), including GOLS (Gee-Oh! Location Service – or Server, I can’t remember) and PBA (Published Broadcast Application), and all of this has been integrated with a front-end web application – whose URL I cannot reveal until after it goes live “proper” – which can be seen below.
As you can see, I have integrated with MapBox (https://www.mapbox.com/), and I’m pretty impressed with their product so far. Will need to get stuck into costs/billing etc. as Gee-Oh! scales up, but as of now I’ve had zero problems. I suppose I should keep one eye on the ease of swapping base map integrations, if anything were to go wrong.
My next focus is some SSOA refactoring; implementing additional features to cope with the evolution of the other services. Following on from that I will be adding more UI elements to the admin pages to get better control of GOLS and PBA, and I will also be adding a “self serve” admin dialog to the web application.
Further work includes some refactoring of GOLS to include timestamps in location data, implementing some extra info items and a pretty crucial refactor of the core broadcasting architecture (removing ‘sendKey’).
And then it’s back onto the web application UI to get the whole thing looking and behaving as smooth as possible. I hope to be in a position to demonstrate something impressive to potential clients/investors soon.
Expect more regular updates for the foreseeable future.
I did manage to solve the previously mentioned interpolation bug, but ended up completely sidetracked into refactoring the entire system of interpolated rendering, hence the late update now.
I think I just have one tiny issue to fix, regarding auto-centering, and then interpolation is done: Basically, there is the occasional situation where the screen is redrawn in between a device’s location moving and the screen being auto-centred, producing a slight jump effect.
I will get this sorted later today by synchronising all selected device location changes with auto-centering.
Aside from that, I just need to diagnose and fix an issue where zoom level change detection is broken and then I can draw a line under this phase.
I will return to work on GeeOhTileProcessor – a tiny refactor for handling error responses better – and then do a “final” pre-loading run, before coming back to the mobile app and finishing it off.
Just a vague update on the commencement of Gee-Oh! Mobile development. Since I got the server back on track and processing squares again last week, I’ve dived right back into the world of Android.
I managed to score a few quick wins from my previous “barriers to release” list, including the rendering of placenames (fading in and out accordingly), and also added the fading out of motorway/main road labels as we zoom out to particular values.
I did a little bit of housekeeping, removing a superfluous ViewThread class that was never really being used as intended, and lots of other little bits, too many to remember fully. Been a busy boy.
My latest venture is a very large refactor to incorporate multiple devices (for now, only a replayDevice and the debug testFlightDevice) and allow auto-centering on these also whilst preserving our actual location indicator on screen. I’ll do a separate blog on this, actually – ’tis a big ol’ topic.
And so this ends.
Got round to doing a bit of re-branding this week – I have officially discontinued MakingTracksGPS and will be going forward as Gee-Oh! Mobile, which brings the Android application in line with the rest of the Gee-Oh! system.
While I’m here, I may as well summarise the remaining tasks before release:
- Pre-load all UK map data (in progress, currently ~25% complete)
- Improve sanity check for GridSquares on level above, kick-starting if required
- Kick-starting null squares (for current level and level above)
- Fix “zoom out too fast” issue, where we see background grid when we shouldn’t
- Implement ability to auto-centre on any provided device, not just device installed on
- Put Gee-Oh! button just above auto centre button
- Render placenames
- ProGuard build
- Website improvements/alterations
And that’s about it, really. Looking forward to getting v1.0 released ASAP.
It turns out that my initial estimates regarding the required storage for Gee-Oh! map tiles were a little out…
I somehow came up with the figure 66Gb for 597871 squares (representing a full 4->10 run) but, having just completed a 4->9 run, things are actually looking a lot sweeter.
For the 66430 tiles already produced, it only required 2.2Gb of storage, and this scales up to only ~20Gb for the lot. Won’t hardly touch the sides of my available storage!
This means I can back up the entire UK quite handily when this is done (as well as quickly copy across to new server(s) etc. for scalability), and also be confident of expanding to other geographical areas (Europe and the US).
Anyway, that’ll do for now. I’ve just started the final run (to be completed in roughly 45 days…) Buh-byyyeee!
Just a quick update on the pre-processing of map tile coverage for the UK – there are currently 52,815 map tiles on file, which constitutes just under 77% of a level 4 to level 9 run. This has taken roughly 5 days.
Once this is complete, I also need to do level 10 to finish it off, which will take approximately 9 times longer (hopefully less, since each square will contain 9x less data).
So I’m looking at around 11th June for the main UK pre-load to be complete. Hopefully under a Labour Government by then…
Of course, looking at the image above, we can see that there are sections of Scotland and Eire that will need to be processed additionally, and the tip of Cornwall by the looks of it (possibly a Channel Island or two for good measure), but essentially 11th June is a good estimate.
Once that is done, no more delays server-side. It’ll be all about getting the Android App finished.
I have finished GeeOhTileProcessor and have got it running in live right now, pre-populating the UK map tiles.
What you can see above is the “heat map” which is part of the GeeOhTileServer monitoring suite, displaying the current progress of level 8 tiles. Strange that the water tiles are not being represented in blue, but that is an issue for another day…
The run currently in progress is from level 4 down to 8, and I will be increasing this to 9 and 10 in the next week or so. Full UK coverage coming soon!
That is all!
EDIT: Problem solved – GeeOhTileServer was just not recording (for processtile API) on heatmap if blank file already exists, and if it didn’t already exist it was just recording it as a land tile. Looks a bit better now…