Blogs

Best practices and trends in technology

Lets welcome Android Wear!

Jan 01, 2015

Two companies launched smart watches back to back; it started with Sony’s Smart watch which was followed by the hyped Samsung galaxy Gear.

It is announced that a lot more are in pipeline from various companies like Motorola, LG, ASUS, Fossil, HTC, Intel, Qualcomm to name a few.

Android Wear preview SDK launched recently, will let developers start playing with the Android Wear watch emulator which can be hooked up live to their devices and get the feel for how everything will work.

Right now the focus is on handling notifications from various apps running on the device paired with the watch which makes Android Wear more of an accessory rather than a full-fledged standalone device. This also makes sense, I mean why would someone have all the phone features embedded in a watch. It’s a different story with notifications though. If you have a phone in your pocket while you are driving, with Wear, you will get all your notifications on your watch! All Facebook updates, Tweets, Mails, Hangouts, Noom steps and updates like these will be reflected on your watch.

Current Status

The current Android Wear Developer Preview is intended for development and testing purposes only, not for production apps. There are chances that in near future Google may officially release Android Wear SDK.

The applications developed thru current Developer Preview SDK are not meant to be distributed publically, as this Developer Preview will no longer be supported after the official SDK is released (which will cause applications based only on the Developer Preview to break).

UI Guidelines

Android just keeps on growing and growing each day. We welcome the new watch specific UI and I bet developers must be very excited about this.

As the smart watches are new form factor (different resolution/different screen size) hence deserves a new UI model so as to make most out of its dimensions constraints.

At a high level, the Android Wear UI consists of two main spaces centered on the core functions Suggest and Demand.

Suggest: The Context Stream

We first saw something like this in the Sony’s Smart watch. We installed plugins from Play store and these little cards showed up on the watch. These cards show all the updates/notifications from different apps installed on your device. Each of these cards shows a useful piece of information. Navigation is done vertically and only one card is displayed at a time. Swiping horizontally gives more information about that update, so its quite different from the usual status bar notifications in Android.

Cards can also be dismissed by swiping left to right, removing them from the stream until the next time they have useful information to display.

Demand: The Cue Card

For cases where the context stream can't anticipate what the user would like to do, the cue card allows users to speak to their device.

There are two ways to wake it up: -

  • By saying, "Ok Google"
  • By tapping on the "g" icon on the home screen.

Swiping up on the cue card shows a list of actions,

The list of actions includes Android intents for voice actions. The upcoming official Android Wear SDK will enable developers to match their applications to these intents so users can perform actions using these voice commands.

Now the question arises what if multiple apps register for same voice command. In such scenario, all matching applications will be listed for that particular single voice intent, and users will have the opportunity to choose which application they prefer to use.

Building Blocks of Notifications:-

Actions: Actions appear to the right of your notification when you swipe the card to the right. Only three actions at most are allowed using Wear SDK. Let’s take Gmail for an example. If we get a mail, the card will show that a new email is received. When we will slide card from right to left it will show action that can be performed on that mail like, Reply, forward and delete (as compared to phones where there can be many other options to choose).

Images: Images appear behind cards in the stream. Image should support message of notification For example, a card about a sports team could include the team color and logo; a message from a contact should display that person's profile photo.

Pages: Pages are additional cards that appear on right side of main card, if message is longer, use pages for additional content. No limit on number of pages you add. However, if notifications consist of actions, then there can be no more than 3 pages.

Notification Stacks: Stacks are basically used when an application has multiple notifications. Each notification (a unique card) can have its own pages and actions. User can click more to see all these notifications.

Voice Replies: Voice replies can be used by messaging applications to provide a hands free way of sending a message. There are also some messages which we can save for later sending and are named “Canned messages”.

Creating notifications: Android wear notifications can be created using NotificationCompat APIs combined with the new NotificationManagerCompat API:

  int notificationId = 001;  // Build intent for notification content  Intent viewIntent = new Intent(this, ViewEventActivity.class);  viewIntent.putExtra(EXTRA_EVENT_ID, eventId);  PendingIntent viewPendingIntent =          PendingIntent.getActivity(this, 0, viewIntent, 0);    NotificationCompat.Builder notificationBuilder =          new NotificationCompat.Builder(this)          .setSmallIcon(R.drawable.ic_event)          .setContentTitle(eventTitle)          .setContentText(eventLocation)          .setContentIntent(viewPendingIntent);    // Get an instance of the NotificationManager service  NotificationManagerCompat notificationManager =          NotificationManagerCompat.from(this);    // Build the notification and issues it with notification manager.  notificationManager.notify(notificationId, notificationBuilder.build());      

When this notification appears on a handheld device, the user can invoke the PendingIntent specified by the setContentIntent() method by touching the notification. When this notification appears on an Android wearable, the user can swipe the notification to the left to reveal the Open action, which invokes the intent on the handheld device.

Similar such code snippets such as for Adding buttons, adding pages, adding bigview, and new features for Wearables can be found and used for further development from Android developer website.

With this new feature Google has yet again proved that they will keep on coming up with more and more exciting technologies and never stop and further give developers what they need, something new to work on and keeping them interested!

Awesome Google APIs, Android, Google TV, Google Glass, Android, now Android Wear…question is, what next? PS: Excited about the new Motorola smartwatch! What say you?

About Author