Blog Archives

Data Exchange and Sync (part 5)

Since the beginning of our journey, we have tried to create a wearable experience starting from our existing handheld app. A first working solution has been achieved just taking advantage of the WearableExtender that has allowed us to easily extend the status bar notifications, providing detailed info and extended functionalities to the wearable device. Even if this approach can work for the majority of the applications and it is really straightforward to achieve, it has some drawbacks in terms of achievable features and availability of content on the smartwatch. In fact, if the smartphone and the wearable device are not coupled, the latter one cannot offer any more access to the previously shown content. Keeping in mind that the wearable device is not a substitute of the handheld one but more like an extension that should try to simplify the user life, we have then exposed a limited number of functionalities into a custom wearable app. In order to achieve this result both applications currently share a common module but are decoupled in terms of single application modules. In this way it is possible to recycle and share code elements like the ContentProvider, the models and common utilities but at the same time keep distinct the different platform based implementations. In Pimp my Wear, this solution has led us to a wearable application that can be used by the user even if the two devices are temporarily disconnected but at the same time to a situation where the content gets out-synced. In this chapter we are going to have a look at how the Wearable Api can help us exchanging and syncing data between the two different devices.

Read the rest of this entry

Geolocation Panel at #AppsWorld

Hi all 🙂
today with Ian Holt(Ordnance Survey), Carl Patridge(London & UK Bus Checker) and Josh Garnier(OpenTable) I have taken part into a panel, moderated by Shivam Gadhia(Novoda), about Geolocation for the Android platform at the Exhibition Center in Earls Court. Due to time limits we haven’t touch in deep every different aspect of the “new” Google Play Services but we have given to our gently audience a panorama around what this new service offers.

First of all, I would like to thanks all the people that have attended our panel and that have beared my accent. Then all the other panelists those have explained pretty well, thorough their working scenarios, all the problems, issues and solutions that they encounter every day during projects lifecycle.

Somedays ago I have read a post on a blog that accuses Android not being open source anymore and that now only Google has the full control on it through their magical Google Play Services: that’s not completely true. If you think about Android as an Operating System, the Play Services are a useful tool on the top of it and something that helps you dealing with complexities of the Android platform. In an ideal World, every device should have its Google Play Store installed, with every kind of related plugin, but, due to the open nature of Android, any different brand can customize and provide a different build.

In this way it’s quite difficult to have the Google Play on devices like Kindle or build those mount different stores for the apps.

So, when you are conscious that on most of the devices (90% on the market) around the World the services can be available, you should start to think something like:

  • Ok, I want to target that 90% without considering the other 10% taking advantage of the Play Services higher level API
  • I can take advantage of the Google Play Services and at the same time provide a customized(not necessarily worse) solution on the remaining 10%

One thing that I discourage you to do is to rely completely on the old location management for all the available devices. It’s true that Google Play Services aren’t available on every device and that managing all the possible edge cases can create some complexity, but at the same time, if you are able to use them, you’ll get rid of a lot of complexity to manage Geolocations issues. At the same time the device battery, other applications and your application as well will benefit of the big advantage of this new top layer tool; indirectly this means that you’ll provide a better experience for your users those will definitely be more happy!

Cheers,
Simone