Introduction
In this article, I will be introducing you the basics of Android Wear. Keeping the beginners in mind, an introduction to Android wear is made so that you will get some ideas about wearables, especially smart watch.
More than programming the smart watches, there are various aspects and concepts that one has to learn or understand in terms of designing apps for smart watches with a small real estate. These days, till today most of us are still using desktops, laptops and smart phones to perform our day to day tasks. But with the advancement of smart watches, there’s a drastic shirt in the way how things can be performed.
Wearables in itself is an interesting ones with a lot more challenges in designing apps; fortunately, when it comes to the App design, Google has put forward very good documentation on how to design, so we don’t have to break our head in understanding how to design for smart watches.
Although, the smart watches looks tiny, it does a lot. We just have to appreciate, understand the technology and make use of the best to fulfill the needs in a smart way.
Background
It's good to have some knowledge or hands on experience in Android development.
Android wear is an operating system and an open platform software specially designed for smart watches and other wearable devices. Some were in March 2014, Google announced or introduced the world with “Android Wear”, a new version of android operating system for wearables.
If you ask about the devices which make use or run Android wear, here are the popular ones - Motorola 360, Samsung Gear, LG’s G and Sony watches.
Before we discuss more on let’s take a step back and understand the wearable technology.
Wearable technology and is something which is evolving and advancing in recent years. It’s a booming technology and lots of things happening in the industry in bringing in various wearable devices to market. Google Glass, is something you can recall or remember is a head mounted wearable device.
Generally, the Android wear smart watches are paired with the smart phone. Ones paired, you should be able to do a lot of stuffs on your smart watch like
Controlling the music that’s being played on your smart phone, making a phone call or receiving one etc. Voice commands and notifications are the key thing in Android Wear. When it comes to voice, all you have to say is “OK Google” and proceed with your request or command so that the smart watch takes your command and performs necessary action.
The Android wear provides the user with the stacked set of cards through which the user can easily navigate and use the application that they are interested in. There’s a fundamental shift of change in the way how the apps run on smart watches. There is no more launching of apps but instead there’s a stream of cards, which provides all the necessary information at the right time for the user based on their location, time etc. However, the user can still ask and get the apps that they wish anytime by just commanding Google Now by saying “OK Google” followed by the request.
The Android Wear development can be done by using IDE’s like Eclipse or Android Studio. I’m much used to using Android Studio for normal developing Android Phone apps. So I prefer to go with it.
If you haven’t set the Android Studio yet, please download the same by navigating to the below URL
https://developer.android.com/sdk/index.html
Depending upon the platform you are using, you can download the suitable IDE for Windows, Mac and Linux operating systems. Also please make sure to install Java development kit (JDK).
The next thing what we will be doing is, installing the suitable SDK’s and software required for creating a wearable emulator.
Open up Android Studio and click on icon shown below to launch the “Android SDK Manager”.
From the above screen, click on the link to launch standalone SDK manager. You will see the below screen where you can select “Android Wear Intel x86 Atom System Image” and Install the selected package.
Please feel free to select and install “Samples for SDK” so you can import Android samples codes directly from Github to your local development machine.
The next thing is creating an Android virtual device based on the installed system image. Open up Android Studio and click on the “AVD Manager” icon to launch the Android Virtual Device Manager screen.
Click on the button “Create Virtual Device… “, then select the appropriate Android Wear device.
Clicking on the Next button lets us to choose the system image.
Select the targeted image and click on “Next” button to continue. In the below screen, make sure to select “Use Host GPU” option which improves the emulator performance.
Click on “Finish” button, you are all set and done in creating a virtual device so later on we can debug or run on emulator to see and have a feel about our app running on an virtual device.
As it says, the apps that is being targeted for Android Wear devices especially with smart watches, make sure to complete the task within 5 seconds time. It’s very important because, you don’t the users to take too much time in navigating and performing something and get lost with it. The whole purpose is to simplify the task and do what it’s required in no time by providing a simple and efficient user interface. Simplicity is the key. If your app takes more than 5 second, it’s time to revisit and redesign to make sure you are able to accomplish the things within 5 seconds.
When it comes to smart watch wearables, with the limited real estate, it’s very important to think and design the user interface to be big enough and easy to access so can perform the required things in no time. With the small screen, you have to forget about small precise selections. That’s not what the smart watch is meant to operate. Try to maximize the screen usage and allow users to easily make selection and perform task easily with minimal touches.
Think about the scenarios about the apps usage, the users make use having a conversion with someone or have a walk. Do you want the user to focus on their watch and do some precise selections or make them take time to understand and perform tasks? No that’s not how we are going to design apps for wearables.
Below is an example, where you can see the difference in the design.
(Image credit - http://developer.android.com/design/wear/principles.html)
The Android wear apps are designed with cards. It’s a part of the wearable device library. The usage of cards provides a consistency in the look and feel with other wearable apps. This is something new to developers and have to get used to this design. As we already understood one key thing about the wearable apps, they are always running and shows up as a stream of cards.
The applications that we are developing will also be a part of the stream. So it’s important to design these cards and show up to users at right time and right at the moment when the user wants. Say based on the location, time etc. you can determine when you show. There are cases where it’s not possible to know when to show up the stream, in such cases you can rely on the voice commands using Google Now.
The glance ability of App is something which is really important when it comes to wearable app design. The apps must be designed in such a way that the users should be easily able to recognize and understand the meaning of the cards in no time. Unlike mobile device where the users will be focused on the screen and perform some actions, we cannot take this in to account with smart watches. Several aspects of the design including the app background, the visual appearance etc. all matters to users in providing ways to make our apps to easily glance and perform tasks or actions.
The low interaction wearable app based design is really important in making the users to perform what is needed with a minimal interaction. With wearable devices, the app should be designed so that the user should be easily perform the tasks in a bare minimum time, with as much less interaction as these devices are meant to do specify task easily with a few swipes else there wouldn’t be any difference in the way how we are deal and interact with apps on smart phones. Also we don’t want the users to take away from normal their day to day activities.
Most of the inputs are simple touches, voices etc. that’s said, with the small screen devices, we cannot take into account of soft keyboard inputs as it takes away the user and more over precision is something which is required so we have to try avoiding such cases.
Now that we have understood the key design aspects about wearable devices, we shall take a look into the key user interface design that as a developer has to be aware of. The Android Wear App is based on Suggest and Demand.
With Android Wear, all the apps that you see are based on the cards except for Watch faces, they are bit different and we will see later about them. To explain you with an analogy, you can imagine how the social media feeds, they always shows up and lets us scroll through the list.
As we previously learnt, with wearables, there’s a drastic shift in the way how the apps are shown or running. The apps are not launched but instead they all are shown on the vertical stream of cards and lets the users to choose them.
The interesting thing about this one is, users are always shown with the most relevant things at a given point based on their location, time etc. All our apps too go along with the virtual stream of cards. The users can just swipe the cards and navigate from left to right to see additional information which also gets displayed on a separate card.
The Clue card based design is something which is on demand and the apps gets listed or show based on the users requirement. With Google Now, which lets the user to speak through and it lists the specific apps and lets the user to scroll though and choose the one which they are interested.
You can imagine apps like music, they might not show up in the vertical stream of cards. In such cases, if the user is interested in controlling the music, she/he can easily do on demand with the clue cards where the user can just suggest Google Now through simple command say – Take a note, call a taxi etc. As a developer one has to understand in handling these voice inputs so we can design our apps to run on demand when necessary.
Let us now create a brand new wearable watch app and understand the application structure.
Open up Android Studio and click on the first option under “Quick Start” to start a new android project.
Below is the screen you see, just key in the application name and rename package name is required.
Click on next button and uncheck the “Phone and Tablet” and check the Wear option. Leave the minimum SDK for as it is for now.
Click on the Next button to see the below screen where you can select “Blank Wear Activity”.
Click on “Next” button and rename the activity name if required else just hit “Finish” button.
After clicking on “Finish” button, just watch out for the project creation. The first thing you can do is change the preview to use Android Wear round or square as you wish.
Note – It’s just the preview so you have a feel about how the app design looks like.
Now let us run our first wearable watch app on emulator and have a feel about it.
Note – Assuming you have already set up the emulator for wearable else please follow the instructions under Setting up the development environment.
There are several ways you can run the application. Either by clicking on Run ‘app’ under the Run menu or directly clicking on the Run tool bar icon or Shift + F10 also does the same.
Choose the emulator if required or just click on “OK” button.
Just give a minute, the android wear image gets loaded and the emulator gets started. You should see something at first.
Ones the emulator gets fully started, you will see the below screenshot.
You don’t have to wonder why your app is not showing up, Just swipe from bottom to top, you should be able to see the Hello Round World activity.
Points of Interest
Although, I was little aware of smart watches and programming. When I came across Android Wear, there's so much I got to know and the interesting thing for an Android Developer is, she/he can leverage their existing skills in coding for wearables. I really like the design principles and the approch to think and design apps for wearables. The wearable technology itself is so exciting and I hope it brings a great change to the world in using technology in our day to life to perform various things.
Android development site has a tremendous information that I came across and learnt. Without which, there would be a hard time to understand and program the wearable devices.
History
Version 1.0 - Publised initial version of the article introducing Android Wear - 10/15/2015