Dev of the Week: German Viscuso
- Geolocation with an MBaaS on Android
- Using an MBaaS in your Mobile Game (Part 1): Preferences Manager on the Cloud
- Using an MBaaS in your Mobile Game (Part 2): High score tracker on the Cloud
Thanks for talking to us! What have you been working on lately?
I've been engaged in many activities related to developer evangelism at Kii, where I help app developers learn and use Kii Cloud and Kii Analytics to build, analyze and monetize their apps. Quite recently I've been working on providing a platform for the Kii Developer community http://community.kii.comYou've written about geolocation on Android. What are some challenges Android developers face when implementing geographic positioning into their apps?
It basically works and it's pretty straight forward (considering the limited resolution) but I saw several challenges when working with geolocation including:
● Creating geolocation heavy apps without draining the battery (I recommend moving to the latest Android version and APIs here which are more efficient in this respect (Google Fused Location Provider)
● Problems with getting geolocation to work well in Android 4 when using PhoneGap (I don't use PhoneGap, I just heard about several problems). My advice here -> go native
● Problems reading geolocation data on webviews using the HTML5 API (maybe related to the item above)
● Need to update all geolocation apps to the new Google Maps API and inclusion of new features (e.g. geofencing). It's not a problem per se but challenging depending on your app complexity and dependence on geolocation features
A general piece of advice here would be that you should avoid polling location all the time when you need to do something when the user is in a specific place. Use the new Geofencing and the Fused Location Provider to make your "geo" app more efficient!
Are there any particular developer tools or resources you couldn't live without?
As an Android developer I thought I couldn't live without Eclipse with ADT. But recently found Android Studio by the IntelliJ Idea guys and was pleasantly surprised. I had a glimpse at IntelliJ Idea and Android when I was working with the Android Bootstrap http://www.androidbootstrap.com project and thought it was a pleasure to work with. Now I'm glad thank there's Android Studio.
Also, I was always a little bit disappointed by the native Android emulator but found GenyMotion http://www.genymotion.com (I seriously encourage Android developers to give this emulator try to test their apps, it rocks!)
Finally, I have come to appreciate mobile backend-as-a-service (MBaaS) frameworks to a point where I couldn't live without one in my next app (I don't think about backend development anymore for my next mobile app project). It's a winning combo for me because I tend to focus a lot more on getting analytics insight from my app when my data is readily accessible on a backend. I would recommend of course developers try out Kii Cloud http://www.kii.com ;-)
Do you have a favorite open source project (or projects) that you've contributed to recently?
All the Android projects on the Kii open source project repository on GitHub https://github.com/KiiPlatform
Outside Kii I have only contributed internally to forked versions of these projects:
● Android Bootstrap: a skeleton app for Android with a nice project setup and all the tools a developer needs https://github.com/donnfelker/android-bootstrap
● Discourse: a next generation discussion/forum system built with Rails and js https://github.com/discourse
Do you follow any blogs or Twitter feeds that you would recommend to developers?
I'm a fan of DZone since a long time ago. I have contributed articles, reviewed books and run campaigns on DZone. But I guess that anybody reading this is already on DZone, right? ;-) If you want to stay informed of what's going on with MBaaS you can follow us at http://blog.kii.com
Did you have a coding first love -- a particular program, gadget, game, or language that set you on the path to life as a developer?
Yes. Logo (I was 8 years old). Later in my life I found out that the Logo language (created by a team lead by Seymour Papert) had its roots in AI and w as specifically designed to on-board kids to CS. Since it inspired languages like Smalltalk then I think it wasn't a coincidence at all that my first programmer job was with Smalltalk. It seems that it worked for me :)
Anything else you'd like to mention?
I'm not a kid anymore and have been in software development for 15+ years. I see a lot of technologies being thrown at young developers which seems to affect their ability to focus and master a specific technology/language. My advice to young developers is a paraphrase of Einstein’s "Make things as simple as possible, but not simpler." and that would be "Try out as many new languages and technologies as you can but not more".
Check out German on Twitter!