Recently I was asked to share my implementation of the Google Maps SDK for iOS‘s Street View “Polylines,” via a post on the Google Geo Developers Blog. This was a thrilling opportunity to share some code and technique, and something I want to do more of.
The post covers overlaying items on top of a street view panorama and ensuring that they move accordingly while the user moves the panorama.
A fully working sample project is hosted on github.
Just wanted to post a quick update, things have been quite hectic this year so far, so unfortunately I didn’t get around to writing a “part 2” to the previous post.
The most recent version of Sun Surveyor (1.4.9) features native Italian, Spanish, and German translations. Thanks to Samuele Tovagli, Marco Götze, and Francisco Javier Fonseca Padilla and Juan Pablo Fonseca Padilla!
I am pleased to say that version 1.0 for iOS is almost complete and ready for submission to the App Store, after some final touches and beta testing. The development target is as follows:
iPhone 4, iPhone 4s (iPad version to follow)
English (Italian, Spanish, German translations to follow)
As soon as it has gone through the review process and is in the App Store I will post an announcement.
Most of the functionality from the Android version will be present, the major difference being that some of the advanced Map functionality from Android will not be present in 1.0. This is due to the very different SDK APIs, and slightly different implementations of the Maps on iOS versus Android. This functionality will follow in a future update.
Working on a port to iOS has been very interesting; I’ve learned a lot from the experience so far and hope to write about it at some point in the future.
Recently I released version 1.4.1 of Sun Surveyor. This followed on a major effort in release 1.4 to include Time Zone detection and many usability enhancements. 1.4.1 adds left/right buttons next to the time slider. These allow for fine adjustments relative to the selected slider mode, and more than ever helps better realize the unique vision for a 3D Compass visualization of Sun and Moon data, with the interactivity that I wanted when that portion of the app was conceived.
Flurry analytics was also implemented recently, and it’s been a great tool to show which features are the most used (Compass, Augmented Reality Camera, Map, Details in that order, and of course Help being the least used, accessed 6 times per 100 sessions!). Today, I added AdMob ads to the Lite version, and it will be interesting to see if that brings in any revenue from the many Lite users. The ads are located on the Main Menu dashboard and do not appear in any of the functional modules.
It’s been approximately 6 months since Sun Surveyor was first released, and it’s been an incredibly fulfilling time. It’s brought me great pleasure to interact with Sun Surveyor users, to receive helpful and critical feedback and implement suggestions to improve the product. The most important lesson I’ve learned in this time is to stick to a vision for what the product is, and what the product is not. To stick to what it does best, and leave certain functionality and features instead to those other applications which do them best.
The Android platform has been great to develop on, and it was possible to create this application in a much shorter period of time than I initially thought, using nights and weekends. It’s been a lot of hard work, and involved re-learning a lot of math and trigonometry, and learning graphics programming concepts, optimizations for mobile and mobile JVMs specifically, mobile UI concepts and interaction patterns. There’s still a lot of hard work ahead, especially in creating the iOS version natively, but I feel Sun Surveyor is now in a good place, as a software product.
So here’s the roadmap for Sun Surveyor from this point on:
– Graphical / UI Updates to make it a more finished product in appearance
– iOS version development work
– OpenGL implementation for the Augmented Reality Camera
– OpenGL and more graphical implementation of the 3D Compass (possible)
– Altitude lookups and calculations w/r/t Sun/Moon altitude (possible)
On the side, another creative outlet has been in creating some fun Live Wallpapers for Android, with fellow ACiD Produtions alumnus and artist Cat Spencer which are a vehicle to learn some more graphics programming concepts, and some OpenGL ES which will be useful for potential re-writing portions of Sun Surveyor to use OpenGL. These can be seen here: All my Android Apps.