I am an Android developer and enthusiast with over 10 years of Java development experience. I'm big fan of good design an appreciate well though usability design in applications. Juhani is a DZone MVB and is not an employee of DZone and has posted 110 posts at DZone. You can read more from them at their website. View Full User Profile

Android is Awesome. Here's Why

  • submit to reddit
To me the most impressive feature of the Android operating system is Android intents. Looking at competing mobile operating systems trying to figure out how to integrate Twitter and Facebook to their platforms makes me smile. Android got it right. The integration is not too tight and it is fair. No social network is endorsed by the platform. Everyone is standing on equal ground.

But intents can be much more than just social network sharing or Google Play URL opening!

I've been an Android user for a long time already. Still, sometimes the OS and some apps surprise me and impress me about the capabilities of the OS. I want to share few of them here hopefully to inspire more developers to think how they could integrate their apps more tightly to others.

Context Awareness
Let's say that I have agreed to meet with my friend in a coffee shop and I have typed in the meeting into my Google Calendar. (Side note: I love how easy to use the Google Calendar is as the cloud service keeps everything up-to-date on all of my devices.)

I can tap the address to see selection of apps that can give me more info about the address. I know where the coffee shop is but what I want to know is when do I have to leave home to be there on time. I open Öffi - Public Transport Buddy, an app that know everything about public transportation timetables at least in some parts of Europe. The app does not open from an empty screen but instead has both fields, start point and end point, prefilled. The app know where I am and it knows that I very likely  opened the address with this app because I want to get there. Literally all I need to do to see all public transportation connections is to tap "Go".

It is noteworthy that neither of these apps (the Google Calendar or Öffi) need to have any specific functionality implemented in them. The Android platform takes care of everything.

Second example of an app that impressed me lately is Evernote. Let's say that I arrived to the meeting with my friend and I want to make a note. I open Evernote and tap "New note". Evernote realises that I have a calendar event that is currently ongoing. It prefills the note header with the calendar event title and location. Brilliant!

Knowing What Else Is Going On
Gigbeat is one of my favourite apps. Not only have they done brilliant work with their design (especially in the upcoming new version) but the app is aware of what else is going on in the device.

The app knows where I am and it pays attention to what I'm playing on my music player (Google Music in my case). If I happen to play a song of an artist that is coming to near me the app notifies me. Again, brilliant!

What Next?
Users still hate writing on their mobile devices. The above examples all demonstrate that utilising the system tools correctly you can help your users to achieve their goals in the best case without any writing. Integrating to other apps via the amazing intent system can make your app stand up in the crowd of app!
Published at DZone with permission of Juhani Lehtimaki, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


matt inger replied on Tue, 2012/04/10 - 5:25pm

I wouldn't say that apps dont "need to have any specific functionality implemented in them".  Apps have to have the code send intents (via links, buttons, etc...).  Apps which respond have to register to receive the intent, as well as have code to launch an activity when the intent is received.

The intents themselves are relatively standard for things like URLs, addresses, phone numbers, etc... 

This is why you get prompted which browser to open when you install a second browser on your android device. It's because both browsers have registered for the launch url intent, and the OS wants to know which one you want to allow to respond to it.

This is however, an extremely loose coupling so you don't have to care who called you or who you are calling in order to get the job done. 



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.