Android wear 2.0 a Revolution
We want to redefine what it means to be a great, useful, smartwatch. And we want to enable you, developers, to build great experiences for it, for users. And so to talk about what's new in Android Wear, we're going to reflect back a little bit on the things that we've learned over the last two years since Android Wear came out.
When Android Wear first came out, it was very much tethered to the phone. And this was a great solution two years ago. When Wi-Fi and cellular seemed far out for us. But in listening to users and listening to developers, they have higher expectations for a smartwatch. They want the watch to be able to do stuff on its own. And so with Android Wear 2.0, we're introducing the concept of untethered experiences.
Stand Alone Concept in Cloud
Where the watch can talk to the cloud, your cloud, over cellular and Wi-Fi. And of course, Bluetooth to the handset is still great for many things. It's about adding and evolving the platform. Second-- so we call this concept standalone.
So second, Android Wear has been about personal expression from the beginning. We have over 100 physical designs that you can buy, and we have over 4,000 watch faces on the Play Store. And so when it comes to watching faces, we believe that you should be able to choose what you want to be your watch face. But we want more than that. And users wanted more than that. They want utility and personal expression. And so we're evolving the watch face with Android Wear 2.0 to put glanceable information and action right on your watch face. So this is the new Android Wear 2.0 watch faces. And Android Wear has always been great at quick replies about messages that are coming your way from people that you care about. But we heard from people that they wanted a lot more than that. They wanted conversations. They wanted to be able to express themselves in a multitude of ways, and have those conversations live on over their watch over the course of the day. So we call this Messaging, making messaging great.
And we're going to talk about that as well. And finally, Android Wear launched with Activity Tracking. Google Fit does a great job of keeping track of your walking, your running, your biking, in the background. But we heard from people and developers that they want to do more than that. They wanted activity tracking with insight. And so with this example, this thing that I've done this morning, which is nervously eating a little too much breakfast. DAN KOULOMZIN: Whoops.
BRETT LIDER: And a fitness app can say, well, you know, you did that. And you can get back on track towards your fitness goals by doing the following. So this is helping users with insight that's meaningful. So we talk about this as building great fitness experiences for Android Wear. And together, these are Android Wear 2.0. So we're launching a developer preview. We want your feedback. And we're going to go into detail on all of these topics. So fitness, messaging, the watch face, standalone apps, and we've got a new user interface for both the system UI and apps, to tie it all together. And so to start, we're going to give a tour of that new user interface. And let's roll the video, please.
So here I am. I'm starting out on my watch face. And this is an Android Wear 1.0-style watch face. It's got the time, it's got the date, but not a lot else that helps me get through my day. So with a simple left-to-right swipe on my watch face, a sideways swipe, I'm going to zoom out to the watch face picker. Any second now. Here we go.
So just like that, I'm zoomed out to the watch face picker. And if I keep sliding to the left, I'm actually on my next watch face. And I've selected Elements Analog. The Elements Analog is a watch face that we built to show off the capabilities of the new watch face API. So I've already customized it with four different things that help me. And let's say I wanted to change one of these. I wanted to change this calorie tracker over to something else. So I'm just going to do a sideways swipe, tap on the gear icon at the bottom, and I'm editing the settings for this watch face. So I tap on Complications, the left-hand dial. And Lifesum is a partner that we've worked with-- and they help me track things like how much water I've drunk through the day.
So let's tap on that, and set that as my complication. So with a few swipes and taps, I've made my watch face more my own. And it looks like I'm a little behind on drinking water, and I'll get to that as soon as I get off the stage. So that's a watch face we've built.
But what can third parties do? So let's check out a third party watch face. So again, a left sideways swipe gets me over to my next watch face. And here's Ranger from Zuhanden.
And Ranger's got a unique aesthetic. Shannen's magnificent at making Ranger sing on its own. And so we wanted to give watch face developers the power to style these bits of data, that we call complications, exactly the way they want to. So Shannen's got its color scheme, its type face.
And as a user, I can also customize the watch face to have different complications on various watch faces to suit the various aspects of what I need from my watch. And Dan is going to tell us a lot more about this. So now let's go check out how to add other favorite watch faces to my watch.
So I swipe over to the right, and I browse my watch face drawer. And so I just tap on Elements Digital here, and I've added it to my favorites. So cool. I've got four favorite watch faces.
But you know, this 1.0 style one, this one that doesn't have actual information on it, I'm going to get rid of it. So all I have to do is toss it up. It's gone. So Elements is my watch face now.
Primary Navigation Concept in Android 2.0
I want to cover another important aspect of Android Wear 2.0, which is a primary navigational concept of how to get the user back to the watch face. And so from anywhere on Android Wear, all you have to do is hit the hardware button on the side of the device. So let's say I scroll to the bottom of my watch face figure
Here, and nothing's resonating for me. So I decide to go back. I hit the hardware button on the side, and I'll go back to my list of favorites. And I hit the hardware button on the side one more time, and I'll be back at the watch face.
So hardware button equals back. And now let's check out Quick Settings So Quick Settings is the place where you can quickly get your watch to do what you want to do, kind of at the system level. So all you do is drag down from the top of the watch.
And we've made Quick Settings a lot more compact and put all the actions that you want right in one place. And we've especially gone deep on brightness controls. So if you tap on the little brightness control here on the left, you get up and down paddles. And as you start interacting with them,
We give you a live preview of what that brightness control is going to do to your currently selected watch face. It's pretty gratifying in person. So I hit the hardware button to go back. And I'll hit the hardware button to go back again, and I'm back on the watch face.
So let's check out app launching. That's something we also wanted to make better in Android Wear 2.0. So from the watch face, again I hit the hardware button, and that will open the App Launcher.
And let's we'll go back hitting the hardware button again, and go into it again. And you can see that it comes out from where the hardware button is on the side of the device. And it has this nice, circular reveal. And of course, the App Launcher itself
Takes advantage of the fact that it's on a circular watch and it weighs itself out accordingly. And we've made managed to make the App Launcher have more icons on it. And you can tap anywhere to launch an app. So here I've scrolled down to Strava, and I can tap it,
And it zooms into Strava. And when I'm done recording my hike or my ride, I can hit the hardware button to go back, and I'm back in the launcher. And I hit the hardware button to go back one more time, and I'm back on the watch face.
And let's say I want to launch Strava again. So how could I do that? I just go to the App Launcher and Strava's right at the top. So we keep track of the apps that the user launches the most and put them right
At the top of the launcher. OK. So let's get into the bread and butter of Android Wear, which is notifications-- and especially messaging from people that you care about. So if my watch was in its always-on mode,
Telling me the time and showing me the data in my complications, let's say I got a message from a colleague. What would that experience be like? So here's the always-on mode, and I'm going to get a message from Krystal.
So Krystal's message takes over my watch face in the ambient mode for a few seconds, and if I don't interact with it, it goes away. And then later, maybe when I'm done talking to all of you, I would wake up the watch face.
And Krystal's avatar and the app that she sent that message from would come up and visit the watch face. And now if I scroll up, her avatar will reenter on top of the notification card for this conversation. So yeah, let's reply to Krystal here.
So I've got this conversational detail view on the notification. If I tap on Reply, I can do voice reply, emoji, quick reply-- but let's use the qwerty keyboard. And with a few taps, P and R gets me
the word I want-- "lovely." G gets me "good." S gets me "so." And it's predicted "far." And so with like four or five taps, I've got the sentence I want, and I'm done.
And with the new notification API in Android Wear, my message has been appended to the conversation. And Krystal's already replied, to keep this conversation long-lived. And Dan's going to talk a lot more about that. So I'll hit the hardware button to go back.
I'm back in the card stream. And now I can scroll and check out the rest of my notifications. So here's one from Alexandra. And then here's one from Google Fit. And you can see, as I'm scrolling
I'm getting a scroll bar on the side with a thumb that tells me exactly where I am in the card stream. Helps me orient myself. Tells me how many notifications I have. So I hit the hardware button to go back,
Get taken right back to the watch face. And that's the tour of the new system UI. Let's go back to the slides and check out how this relates to app patterns. So material design for apps is something we're introducing with Android Wear 2.0.
And we're really excited what this will do for app developers. So with Android Wear 1.0, we had the concept of users navigating a relatively big two-dimensional space. Users could scroll down. They could scroll up.
They could scroll left. They could scroll right. They had a lot of power. But we found that just a little too often, users would get a little confused-- where should I go next to get more content, to get more action?
So we've doubled down on the concept of a vertical layout where users start out anchored at the top, so they always know exactly where to go to get more-- it's to scroll down. And this is reinforced, of course, in the system UI, where you start on the watch face and scroll down for notifications. And you start in the App Launcher, and you scroll down through your apps. So we think that consistency from system UI all the way through apps will really help users navigate Android Wear even more quickly, And get the most out of your app. So we'll look at this in a little more detail. We've got these classic isomorphic drawings that we in the Material Design team love to make. So your app is mostly this content view-- the main piece of information or action that your app is responsible for. And what you can do, if you need to add actions that the user needs to take, you can add a wearable action drawer to the bottom. And when the user reaches the bottom of the content view, or changes scroll directions, this component can peek into view. And if you have a more complicated app that has multiple views that are necessary to render in it, you can add a wearable Navigation Drawer to the top of the app that peeks in when the user reaches the top.
So the main benefit of this is that the relatively small screen of a Wear device is maximized by having the content be front and center. And then actions are available just off the screen, and navigation is available just off the screen. So let's take a look at this from the end user's point of view. So here's a user scrolling down in an app and they reach the bottom and the drawer's right there for them to grab. And we'll loop that around again. So they scroll down, they either change scroll direction or reach the bottom and the drawers there. And there's a primary action there that they could have tapped if that's what they wanted. But if they want to explore more actions, they just drag that drawer up. Let's look at the Navigation Drawer.
And we'll wait for this animation to come around, one more time. And so here's the user at the top of their app. And they drag down for their Navigation Drawer, and they can change views. We'll watch this one more time for clarity.
They drag down, they're in their Navigation Drawer, and they can change views. So now that we've talked about layout and functionality let's talk a little bit about aesthetics. Android Wear 1.0 apps have taken their design cues from handset-- which generally means bright white apps. And we think this is great, but we want to make something that's specific for wearables. And that means that we're recommending that all apps develop a dark color palette. There are two big benefits for this.
One is that OLED displays are very powerful on Android Wear devices, and they're very popular. And OLED displays consume a lot less power when they're set to emit less light. So if you have less light emitting.
You'll save the user power. The other main benefit is social appropriateness. There's just a lot of contexts where emitting a lot of light is just not good design. So if you're watching a movie in the evening, or out at a restaurant at night, you don't want your watch throwing off a lot of light. And we'll make this easy for you, developers, to adopt. All you have to do is tell us your primary app color, and we can compute all the other shades that you need for your app.
And this works more than like the purple-y apps out there; it works for all of the apps on the rainbow. And yeah, don't forget the Android Wear apps are real apps. They have access to the entire Android SDK. And the Android Wear apps are even more powerful.
Than the actual normal Android apps, in that, they have always-on capabilities. So what this means that, if I've got visitors from out of town that like their Marmite, and I go to the store to shop for it, and I bring that up on my wrist.
And I'm wandering the store and my short term memory is not great, so I just forget what I was shopping for. But my watch goes into the always-on mode, and it reminds me what I'm shopping for. It's great for to-do lists; it's great for fitness apps. Take advantage of always-on.
And to talk, oh yes-- to wrap up on system UI material design, we've got a new watch face picker, a new app launcher, a new notification stream, a new navigation model, material design patterns for wearables. We want to hear what you have to think about all of this.
And I'm going to turn it over to Dan for more about standalone apps. DAN KOULOMZIN: Thanks, Brett. [APPLAUSE] All right.
So standalone apps, as Bret mentioned before, we think that the independence of the watch is going to be key for experiences in Android Wear 2.0. So that's going to let a user slap on their watch and go for a run.
They can count their steps. They can track their progress. And they can stream music, all without having to bring their phones, so they get faster times. And this is also really going to dramatically change the developer experience that you guys have. And that's because we're going to be able to bring a more Android-y development experience when it comes to cloud and data, authentication, notifications, and distribution. So for cloud and data, here's how it used to work.
If the watch needed some data from the cloud, it would start with a request to the phone. And then the phone would get the data from the cloud, download it, put it back in the wearable data layer, take it over to the watch, and then the watch could then display it.
Well, with standalone apps, you'll be able to use the network connection directly on the watch. So you'll be able to use HTTP, TCP, UDP, whatever you want. And you don't have to worry about whether that device has a Wi-Fi or cellular radio because no matter what, we'll still be able to, if we need to, proxy the network from the phone. And so you'll be able to take all the development patterns that you know of Android phone and tablet development, use all the libraries like Volley, and you'll maybe even be able to reuse some code from your phone and tablet apps right on the watch. And of course, you'll still want to use the best practices you've learned from writing phone and tablet apps. And I just want to call attention to two. One is, don't grab data that you're not going to use.
One mistake we see sometimes is people get images that are way larger than their screen. Well, there's no sense in downloading data you're not going to show the user. So just in general, avoid that. It'll hurt latency and battery life. Also, I want to talk a little bit about Doze and Doze Light. So those are coming to Android Wear 2.0. They're important ways that we manage the battery life of the watch. And so you want to play nice with those. They are responsible for minimizing the wake ups which are really battery impacting. And so you can schedule jobs using job scheduler-- this is our recommended practice. You'll be able to schedule those jobs on the basis of time, whether or not you need a connection to the Internet, or whether or not you need power for long running tasks or things like that. And so this is really great already for things like downloading the weather from the cloud, and showing that to users. But if you want to do more maybe privacy sensitive things, then you want to worry about authentication. And so with Android Wear 2.0 for standalone apps, the watch will be managing its authentication. We have several patterns available that you can look at. There are patterns that-- all the patterns balance developer time, user experience, and flexibility
regarding what platform is running on the phone. I'm not going to go into all the nitty gritty. There are tons more information available at the Standalone talk later today and online, so do check that out. So on to notifications. So notifications have always been the lifeblood of Android Wear. And the magic of the experience comes from them being the same experience regarding the notification between the watch and the phone. So if you get a notification from an app, it appears in both places. If you take action on either of those places, it's reflected in the other. And of course, if you dismiss from one place, it's gone from the other as well. And that has been achieved in the past with notification bridging. And that's still definitely an option for you. But now that you've got the network, you may want to manage notifications directly from your standalone app. So you can, by the way, use Firebase Cloud Messaging, formally known as GCM, Google Cloud Messaging, to actually have the server wake up your watch and then the watch can notify the user. So now that you're able to generate notifications directly from the watch, you may want to shut off notification bridging. And there's an API for that.
And also we have some patterns on helping to keep that replicated experience so that interactions seem to happen in both places. So now onto distribution. So this is a big change in Android Wear 2.0.
It used to be that to ship watch software; you would embed it in your phone APK. And it's been unnecessary stuff for users to download. And it, of course, affects disk space. And now in Android Wear 2.0, watches can download and install apps directly from the Play Store.
And not only does this fix the problem of growing phone APKs, but it also makes it possible to ship apps to watches without having to worry about what operating system is running on the paired phone. So you'll be able to reach a lot more users. And so yeah, it's great news.
[APPLAUSE] So standalone is a really big change. Not only does it let users interact with their devices in more ways, but it's also a huge change for developers. So now you can just do so much more on the watch itself, and we're excited to see what happens now with you guys were taking advantage of this. All right, on to watch faces. Now watch faces have always been a key part of Android Wear. From the very start, we had always-on watch faces, so the watch is always ready to tell you the time.
And you developers ran with our watch face APIs, and now there are thousands of watch faces available on the Play Store. They let users customize how their watches look-- super important, considering this is something we wear.
And then the interactivity APIs that we added last year made the watch face a tool. So it's not just for showing data, it's for interaction as well. And so we wanted to take that and bring it to all of the apps that run on Android Wear. So imagine if all of the apps could participate on the watch face, show information, and then generate those user experiences. So we're adding this complications API in Android Wear 2.0.
So the term "complications" comes from traditional watchmaking, and it refers to any informative element on the watch face that's not just telling you the time. So on traditional watch faces, this can tell you the day of the week, or the day of the month, when your alarm's going to go off, or maybe the phases of the moon. BRETT LIDER: Phases of the moon. Super important to have that. DAN KOULOMZIN: Yeah. If you're a werewolf hunter, very important.
And we think for smartwatches, they should be able to do smartwatch-y things, these complications. So they should tell you smartwatch type of data, like how many steps you've taken, how many calories maybe you've eaten, if you have incoming messages. And of course, they should also react to touch. So touching that notification should drive me to an experience where I can then act on it. And so the complications API is an API for data providers and watch face developers.
And it lets the two work together to provide both form and function to the watch face. And there's no need for them to know anything about each other in advance-- no biz dev deals to sign for data or anything like that. So for data providers, this is a big deal.
It's going to let you get your interactions, and your data, on a lot more watch faces. In fact, you'll be able to have your data rendered by top fashion brands and other experts making beautiful watch faces. And of course, you can drive users back to your applications by when they touch the complications because you assign a pending intent that gets sent when they do that. So Lifesum has been able to add some complications to watch faces that can do things like track Brett's drinks of water, let him know how he's doing with his goals. And you get back to Lifesum to blob all that.
And watch face developers are going to be able to concentrate on making really beautiful watch faces, and they don't have to acquire a ton of experience with fitness or messaging in order to provide that functionality to users.
So here's how it works. Android Wear X is a broker, so the two never really talk directly to each other. It starts when it decides it needs to have a complication drawn. It sends an update request to the data provider.
The data provider gets that request, it fills out this complication data object and sends it back to Android Wear. Android Wear then forwards it onto the watch face, which then can draw it with whatever aesthetic it wants, because it owns the entire drawing part of that.
And the way they coordinate on the general idea of the presentation is the type that's on that complication data. So there are lots of different types for lots of different use cases. I'm going to walk through just a few of them.
So if you want to show the day of the month, how many messages you have, or maybe the temperature outside, you can use the short text type. It's just a little bit of text, and maybe an icon. If you can go even simpler, then maybe you want to use the icon type.
This just shows a picture. So, for example, it might tell me it's sunny outside if I see the sun. And of course, since these complications receive touches, they can also be used as just icons, so the user knows it's like a launcher back to your app.
And there's also a range value type. Think of this as a value between a minimum and a maximum-- maybe a percentage, how many of my daily calories I've eaten, or how much gas is in my car. And there are lots more examples. You can read about them online or you can talk to us in the sandbox later. And so if you're a data provider, you want to be thinking about all the different kinds of data that you have that you can show users. And you want to think about what action they can take when they touch those complications.
And if you're a watch face developer, you want to think about how you can make these things really beautiful for users. So I want to show you a few examples from our partner, two.
There are three examples. In this first one, they've taken an existing watch face, so they already shipped, and they've upgraded it to use complications. You can see they've added it into the left and the right there.
They found some space to their existing face, and add them. And it fits right in. And I think it's pretty nice. This next example is a new watch face that they've written to take advantage of the complication API.
And you can see that it makes obvious reference to mechanical watch faces. And of course, it has that classic-looking dial complication. So if you want that classic look on your watch, this is a great choice.
This last one takes a lot more creative liberty with data visualization. It's using the background and the color of the background-- the texture and color of the background-- to render some data. So if they were to hook this up to a range value type,
then maybe as it gets warmer outside, the watch face gets redder. BRETT LIDER: Our watches were red all day yesterday. DAN KOULOMZIN: Yeah, our watches were red all day yesterday. And I think my face may have gotten redder in the sun too. All right.
So Watch Faces 2.0-- it's a nice, it's a huge change actually, to the way watch faces are going to be as user experiences and as developer experiences on Android Wear 2.0. I think it's going to unlock some great form and function for the watch face.
All right, let's get on to messaging. So Android Wear has always been a great platform for receiving and replying to messages. We want to make that experience last longer and make it more conversational.
So you could get back to messages as you go through your day. So we started by looking at what we have today, and I just want to walk you through what we saw. So here I've gotten a message from my friend Jim. We've been chatting about my friend Charles's new dog.
And he's asking, what's the name? So I'm going to swipe over. I'm going to touch reply, and I'll speak my reply. The dog's name is Brooklyn, which is a pretty cute name for a dog. And then I get this nice checkmark that tells me that the message has been sent, and I feel great. And then I realize, actually, my friend with the dog, Charles, is looking for a dog walker. So I'd like to tell Jim, hey, maybe this would be awesome for you.
And so I go back to the stream and look for that card, and it's gone. And this is actually because the messaging app has marked the conversation as reading because it acted on it, and it's withdrawn the notification. So now I have to hassle to get back to my friend.
So let's see what we've done now in Android Wear 2.0. You can see that there's a big visual change. And we've added-- I just want to draw your eye to this icon at the bottom. That's an in-line action, in this case, it's a reply action.
And it's super easy for users to discover. It's right there on the card. And when they touch that, they're going to get to this new remote input UI. As you can see, we're offering choices now on the input method that you pick to talk or to respond.
And voice is still there in case you're on the go or don't have your hands available. But we also now have touch-based input methods. And it's an entire input method framework. So our creative partner, TouchPal has made this nice new watch face.
And you'll be able to make watch faces. And when users download and install them, they'll be ready to go for when users want to type. And so now I've sent my message. I see it appear right on the card, and the card doesn't go away.
And this happens for two reasons. The first is we're using the new messaging style for notifications that's been added in Android N, and it's also on Android Wear 2.0. And that's going to allow the UI to take that reply and just put it right on the card.
It knows where to put it, because of the clearly defined semantics of the message. And also we're asking developers not to retract messages until they know that the user has dismissed them. And we think that that's going to create that longer running conversational experience.
And in general, notifications on Wear 2.0 are going to be a lot more as they are on phones and tablets. On a phone or a tablet, you have this expectation that if you swipe down on a shade and you touch a notification, you get to an experience that, for the app that submitted the notification, You get to a part of that app where you can then act on whatever you've seen. And we want that to work the same for Android Wear. So we're asking developers to set the Content Intent to drive users back to your carefully crafted experiences.
Now if you're using notification bridging, what happens? So in this case, there isn't an app on the watch. But we have a solution. So we decided to make a greatly expanded notification experience, and this works for all notifications. When you touch a notification, you launch into it.
And it kind of stands in for the app. And for messaging, especially, we're able to present an experience that's a lot like with the best of what we see in messaging apps. So because of all the data you add in your messaging style for the notification, we can show you conversation history. Your messages come in the right place. And we've also added a smart replies API that lets Android Wear insert contextually appropriate possible replies. And it does that using the machine learning
Model right on the device. And of course, as you use your conversational apps more, they show up on the launcher in the recent section, so they're easy to get back to. And the new complications will allow users to add shortcuts to conversations and people they care about right on the watch face. So my partner is just one touch away. So messaging just got a lot more conversational. We now have in-line actions that are easily discover able and easy to use.
We have in-line replies, so messages show up right in the right place. We have content intents that launch apps, and of course, expanded notifications that stand in for those apps when they're not there. The App Launcher is much faster to get back to conversational apps. And saved conversations-- you can save your conversations and put them right on the watch face so you can get back to them easily. All right. Back over to Brett for hearing about the Fit Platform on Android Wear. Thank you. [APPLAUSE] BRETT LIDER: So as we've heard from users and developers, users want more from their wearable experiences regarding helping them reach their fitness goals. And developers wanted more out of the Fit platform regarding being able to help users. So we've heard that feedback, and we have a bunch of stuff to talk about in the fitness platform. So we're doing three things in 2016-- real-time data update notifications, so that you can drive contextual notifications and experiences for users; real-time gym activity recognition, so that untapped experience of being in the gym can get a lot better with a wearable fitness app; and the one I'm excited about, a magical one, which is real-time walking, running, and bicycling recognition. So let's talk about these. So real-time data update notifications allow you to set a pending intent to get updates on any of these data types in the Fit platform. Concretely, it means that an app like Lifesum can look for when I've stopped a fitness activity, like the walk I went on this morning. And it can say, hey, you should have a glass of water, based on the length of that activity. Or if I did a long bike ride, it might say, you should have two or three glasses of water.
And call back to our earlier experience, if I have overeaten a little bit, and log that in an app, another app can look at that and say, hey to get back on track, maybe eat a little less or do a little bit of a workout. So these kind of real-time, contextually-driven notifications are just a lot more possible
in Android Wear 2.0. And we're looking forward to what you do with them. Second, is that we're working on an API for launching later this year, that recognizes the actions that people are doing in the gym. So that means that bicep curl, deadlifts, push-ups, squats can all be recognized in real time. And then you can build fitness experiences around that for people's gym time. The third is recognizing outdoor activities such as walking, running, and cycling. This means that the user, just by wearing their wearable and starting a run, the app that they want to launch when they start that activity will just launch and support that activity. So for me, that's Strava. And I can't wait to use this so that I don't have to fiddle with my watch to launch an app to support my run. We're really excited about this one. So that's all the fitness stuff for Android Wear 2.0. And then just, in summary, we've made a lot of improvements across the entire platform-- fitness, messaging, the watch face, standalone apps, and a new user interface and app patterns to tie it all together.
If you like to Read about Amazon Underground than Click here.


No comments:
Post a Comment