Tuesday, 5 May 2015

Thoughts on Designing for Smartwatches

There's been more and more discussion about wearable tech and especially smartwatches lately. Apple's Apple Watch certainly threw some more fuel to the fire when many tech journalists rushed out their reviews of the device. Many of the reviews of the Apple's device made a big deal about notifications and how irritating and disturbing they were. I believe this to be a symptom of bad journalism and lack of understanding and experience with the device.

While I can't make many claims about the Apple Watch I can, however, talk about the effects of smartwatch use in my life. I have been using Android Wear devices daily since the last year's Google I/O. While the things I'm writing in this article are very much anecdotal I've heard others expressing very similar thoughts during the last year.

At the start, I was extremely sceptical about wearing a smartwatch. Firstly, I abandoned wristwatches years ago. Last time I wore one was when serving in the army in -99. Going back to having something on my wrist was not an easy thing to do. But then again, I'm an Android developer and when something new arrives to my domain I feel that I have to give it a try so I can talk about it to our customers. Second, I really didn't see the point of the watch. Why would I use the small screen when I have a perfectly fine screen in my pocket.

So I did. At the morning of June 26th 2014 I wrapped an LG G Watch to my wrist, jumped through few hoops to get it running with the pre-release software, and I haven't looked back since.

The Watch Extends Your Phone

One thing people (and tech bloggers) keep asking about smartwatches is: "what does it do?". The answer currently is: "not much" and that is good.

Let's first accept few facts. The smartwatch screen is tiny. The currently available watches also have fairly poor hardware behind the tiny screen. Both of these factors limit what you actually want to do on the watch.

A good thought experiment to do is to see how long the task you're thinking about doing on the watch takes. If it takes longer than 5 seconds from start to end you probably don't want to use your watch for it. Think about it. You already have a perfectly fine larger screen in your pocket. taking the phone out and turning on the screen and focusing to the task takes only few seconds.

Apps - not so important - yet

The way Google kickstarted the Wear ecosystem was well thought out. Your Wear device directly hooks into the already powerful Android notification system. Actions on notifications are available on the watch without developers having to update their apps. This is why one could argue that Wear had millions of apps available on the launch day.

The Wear devices can, however, run much more complex apps than just glorified notifications. In fact, your Wear device runs nearly full Android OS. Building complex apps for Wear is easy and fast but that doesn't mean you should.

I already referred to the 5-second thought experiment. Would you actually want to reply to a text message on the tiny wrist screen or would you rather pull out your phone and use the comfortable keyboard on it? I know I would just use my phone.

Interaction is a big problem when it comes to building apps for smartwatches. How do you do user input? There are few attempts trying to implement keyboards for Android Wear but all of them fall short in comfort of use. If the user input you expect is any longer than two words users there's no point trying to get the task done on the wearable.

There is voice, of course, but voice has a very limited use for multitude of reasons. Privacy in crowded places, voice recognition issues in loud areas and so on.

There are limited use cases for apps running on the watch fitting these limitations. Apps running on the watch must behave like extension to their mobile counterparts. Fully standalone Wear apps are unlikely to ever become very useful.

All configuration and data input must happen either via a web client or a mobile app. Never ask user input on the wearable beyond a very simple one-tap interaction.

Let’s look at an app I find really good: Bring! Shopping List which also happens to be pretty much the only app I'm currently using on my watch beyond notifications.

Bring! is a shared shopping list app. The app itself is nicely made and I can recommend to everyone (I just wish they would add Google login to the app). In this context it's the Wear extension that we're interested about.

The Bring Wear extension shows you the current shopping list. From feature point of view it is very limited. You cannot, for example, add new items to your shopping list or send notifications to your partner. For someone who is not a Wear user this might seem to be limited but it is, in fact, very well thought out approach. The only actions you can take on the Wear app is to mark items done. That's all. Any more complex tasks the mobile app is better anyways and your phone is in your pocket anyways.

The simple approach of Bring! Wear app design allows them to keep the UI clean and usable. Shopping list is also a use case where it makes sense for users not to have their phone out all the time and making the shopping list available to your wrists is actually very useful. I use this app when shopping all the time!

In short. Bring! on your wrist makes sense while most apps don't because of:

  • It is used in a situation where users hands might not be available for holding a phone.
  • It seamlessly maintains the shopping list based on what you add on your phone.
  • The interactions are designed to be very simple and straightforward.
  • Only a very limited and therefore focused use cases are supported on the wear. Because of this small focus the UI can be highly optimised for completing the task.

Bring! might not be the killer app that sells the smartwatch use to the general public but their app design approach most certainly is spot on. When you're thinking about extending your app to a wearable think first. Is it needed? Why would users use the wearable instead of their phone? What kind of situations it is for? If you can't answer these questions maybe your time is better spent polishing your mobile app.

This is still a new area for apps. The apps that we're celebrating year or two from now are probably something we don't even think about yet. So keep trying! Just remember to keep thinking about the use context. Instagram feed on your wrists doesn't make sense in any context...

Notifications, notifications, notifications

While we're waiting for the killer apps to emerge let's focus on what is currently the killer feature of smartwatches. Notifications. The way smartwatches help you to handle the constant notification stream is great. To me, personally, this is the reason I wear mine every day. But this is also the place where people are going to be split into two groups: smartwatch users and non-smartwatch users.

Let's start with a screenshot:

If you're a type of person who is annoyed by the flood of notifications in the screenshot smartwatch is probably for you. If you, on the other hand, don't really mind a smartwatch might no really help you.

To me, Android notifications represent a todo list. As long as I have notifications up there I need to do something. Often the "do something" is simply reading the notification and swiping it away. Sometimes it is more like reading an email, replying to G+ comment and so on.

The power of Wear, to me, is that I can filter my notifications (my todo) without taking out my phone every time I receive a notification. Firstly, with a quick glance I can determine the priority of a notification.

The latest notification shows key aspects of the events immediately (depending on the app). In case of G+, GMail and Hangouts I always know which app notified me and who did something to cause the notification. Usually that's enough information to device what to do with the notification. Sometimes it's OK to ignore the notifications while sometimes I want to react to it immediately.

But  this is just the first step. Second, and the most powerful one, is the gestures that allow me to put the notification to its right category.

I can:

  • Pull out my phone, act on the notification immediately. For example, in case of a hangout message from someone I'm waiting to meet.
  • Swipe the notification down. This way the notification is going to stay on my phone. These are the things I want to react to soon but not right now. Maybe a hangout message from a friend but when I'm currently in a situation I can't talk right now. Next time I pull my phone out the notification is going to be there to remind me.
  • Swipe the notification away. These are cases where I get all the info I needed from the notification and I don't wish to react to it on my phone at all. This could be a notification from Swarm, for example. The notification already told me everything there's to know about it. Done.
    Other case for this is an email that is something I want to read but there's no hurry. Swiping the notification away will dismiss it from my phone as well but the email itself stays in the inbox unread and will be waiting for me when I'm in front of my computer the next time.
  • I can perform actions to the notifications. Most useful of all of these is the GMail notifications. If I get an email I can either directly archive it from my watch with one swipe & tap or tap the email to read a bit more before making the decision. I do this A LOT. When I get promo emails which I don't really care so much about I tend to glance at them and archive directly if there's no interesting topics. This way the notification is gone and the email with it.

I keep hearing people (and reviewers) saying that they hate notifications and the last thing they want is more notifications on their wrist. I think this is a misconception. A Wear device doesn't add more notifications to your life. It allows you to get rid of the ones you don't want much more easily. THAT is the best thing about Android Wear in its current form.

Notification on the wrist are not annoying. They do not interrupt you (at least on Wear). You can keep ignoring the subtle vibration on your wrist if you want but it's there if you need it and you don't need to pull out your phone. And of course you can prevent apps you never want to see on your wrists from posting notifications to the Wear.

This is, however, something that takes time to get used to. That's also why I feel that almost all of the Apple Watch reviews were posted too soon and the reviewer didn't actually have any idea of the impact of the wearable. For me, it took more than a month to get used to not pulling out my phone every chance I got to check if I had missed something. Also, when waiting for a message from someone I no-longer was holding the phone on my hand to make sure I don't miss it. My Wear device takes care of that.

It takes time to change your habits but once you do wearables starts to make sense.

Importance of the watch face

As I already said apps don't make much sense on smartwatches. Watch faces, however, do! It's still a watch and users do use it to tell time. On Android Wear watch face is the most persistent part of the user experience. Watch face is the part user sees every time they look at their wrist.

Watch faces also allow personalisation of the device. Different people like different style. Watch faces are going to be one of the key selling points of future smart watches, I'm sure.

On Android Wear the watch faces API was recently opened to devs. Even before there already was a flood of custom watch faces in the Play Store. Today we're spoiled for options.

There are two basic approaches to watch faces on Android Wear at the time of writing this: 1) customisable watch face platforms 2) masterfully designed preset watch faces with little or no customisation options.

When building a customisable watch face there are couple of things to think about. Firstly, if your configuration has a lot of options don't expose them on the watch, do it on the phone.

Probably the best example of doing things right is the Puije Black watch face. Their phone configuration app is easy to use and also follows Android design guidelines. Their preview is live rendering of the watch face available for round and square screens.

If your watch face is highly configurable take more time designing your configuration app. All normal app design guidelines apply here. Think about users. Use Android components and patterns.  Your users will give up if they can't figure out how to make the watch face theirs.

Smartwatches are not for everyone

Wearing a watch is a personal choice and so is spending hundreds of euros for yet another tech device you'll be upgrading in a year or two. Smartwatches are definitely not for everyone. I don't think the potential market for Android Wear in its current form is more than 15% of all Android phone users. How many of them will get one is an even more difficult question.

Even with those limited numbers it makes sense to think about Wear when you're building your app. Making sure you handle notifications correctly is an easy way to please Wear users. Building a Wear app is also very easy as Wear is just Android. But take a minute thinking if building one for your app makes sense.

I like my watch so much that if I accidentally leave it home I really miss it and find it annoying to use my phone. But I completely understand people who don't think they need one. Android Wear is great but not for everyone!