One of the strong points of Android is that it allows apps to be tightly integrated with the platform. Apart from just opening an app it is also possible to write an app that enables users to access the functionality of that app in other ways.
I noticed that a lot of people are either not aware these features exist, or they don’t understand them fully. Because I think these features are important I decided to write a small article that dives into these features. I will also focus a little bit on how this work on Android 3.0 (the next version of Android that also works on tablets). Each section will focus on a certain platform integration feature.
This article focuses on the functionality and is not meant to be technical.
Quick Search Box (QSB)
Each app has the ability to register itself with the QSB. The app can then provide searchable content that a user can find using the general Android QSB. This adds a new entry point to the application. For example by installing the Spotify app you can search your music trough the QSB. Clicking on a found song will start the Spotify app which will show the details.
The official video below shows all the features in the QSB.
Synchronization (Contact Sync)
Android allows apps to register themselve as a synchronization service. This allows an app to sync it’s data with the could. All Google Apps do this. Opening an email in GMail on my phone also markes it as read in Gmail webmail. My calender, my contacts… everything is synced with the could.
With Android 2.0 (api level 5) the api’s for doing these syncing where released. This allows app developers to add syncing features to their apps. Together with the new Contact api this allows for contact syncing to work. The screenshot to the right shows the latest Facebook update of a contact in the native contacts application.
The homescreen is the starting point for users. It has icons to launch apps but it also supports widgets. Widgets are visual areas on the homescreen that an app can fill with content. It could for example show the latest update of friends, it could show you the current weather, a clock, the latest news.. you get the point.
A widget can update itself and respond to UI events. For example clicking a weather widget would bring you to the weather app. Click on “Compose” in the left screenshot brings you to a screen to quickly post a tweet.
In Android 3.0 widgets will become more powerfull. Currently widgets are rather simple and don’t allow lists and other fancy UI elements. However in the video below you will see that this is improved in Android 3.0.
Android allows writing an app that performs a task in the background. The running tasks are always visible in your notification bar under the Ongoing label.
In this way the user is not blocked by long running operatings. For example, uploading an image may take a while on 2G/3G networks. On the right you see that an image is uploaded in the backround.
Multitasking is of course nothing new. But Android requires a developer to make explicit what tasks are candidates for multitasking. This empowers the OS to make smart decision about resource usage. More about this can be read at the Android Developers Blog: http://android-developers.blogspot.com/2010/04/multitasking-android-way.html
Apart from this kind of multitasking Android also supports running multiple apps at the same time. This is technically different from doing a background task. The video below shows how you can switch between apps.
The homescreen has a wallpaper which can be changed. Nothing fancy. However now Android also supports Live Wallpapers. These are basically wallpapers with a thread running and therefore are able to update themselve on the fly. What makes this really cool is that you can write wallpapers that are based on OpenGL.
But lets be honest. These wallpapers make your phone slower and drain your battery a bit more. But hey, they are cool.
Notifications, the thing that Android got right from the start. The notification system in Android is the most sophisticated notification system I have ever seen on an OS. Notifications can be triggerred by any app, notifications are unobtrusive and always accesible from the notification bar.
An application can trigger notifications in a background service or from the app itself. When a user clicks the notification an event callback is called.
To the right you see the notification bar opened. It shows a Twitter, Facebook, Gmail and Hyves notification.
Writing a good Android involves so much more then just designing some screens. Both developers as well ass UI designers should be aware of the possibilities on this platform. This article touched the most important platform integration features of the Android platform. So the next time you are developing an Android app, take this into account!