Subtitles section Play video Print subtitles TIMOTHY JORDAN: So this is a talk about Glass-- in specific, building new experiences for Glass. I'm Timothy Jordan-- that's me. Hi. I'm a developer advocate at Google on Glass. If you want to get in touch online after this, go ahead and check out google.com/+timothyjordan. So what are we going to talk about today? Project Glass, of course, which is part of Google X, the moonshot factory at Google. Moonshots are these radical ideas for changing the world and improving the way that we live. For more on Google X and moonshots, you really should check out Astro's talk tomorrow. He'll be here in the afternoon. This particular moonshot, Project Glass, is about our relationship to technology. It's about technology that's there when you want it but out of the way when you don't. What do I mean by that? Last night I went to this event. How many of us went to parties last night? Just a few? OK, everyone. So as people were taking the stage, this weird thing happened. And it happens at South By, but it happens at other places, too-- all of these screens went up into the air. Tablets and phones-- all of these things mediating these people's experience with what was in front of them. It's weird because it felt like they were watching the screens instead of the event. I mean, we all love technology and what it can give us-- the ability to take and share pictures-- but it feels like tech is often getting in the way more than it needs to. And that's what we're addressing with Project Glass. It's so that you can still have access to the technology that you love but it doesn't take you out of the moment. I'm going to play a video. Many of you have already seen this video, but I want to play it because I love it. But also, it's really good at showing you what it's like to wear Glass. Oops, I think I need to hook in a cable for the video. OK, that'll take just a second. How is everyone? [LAUGHTER] AUDIENCE: Do you see anything with those glasses right now? TIMOTHY JORDAN: I will answer those questions in a moment. Why don't I tell you a joke? This is a joke that I've been thinking about a lot lately because we've been doing demos. You want to hear it? It's a computer science joke. AUDIENCE: Yeah. TIMOTHY JORDAN: OK. So a mechanical engineer, an electrical engineer, and a computer scientist are riding along in a car and the car starts making this really funny noise. And the mechanical engineer's like, well, why don't we pull over? I'm going to pop the hood and hit it with a big old hammer. The electrical engineer says, that's kind of crazy. How about we pull over and I'll hook up my computer. We'll see what code it's giving and we'll know what to do then. The computer scientist says, oh, all that is just so much work. We're going to stop the car, turn it off, get out, get back in, turn it on, and see if it's still making the noise. [LAUGHTER] TIMOTHY JORDAN: OK. I think we have audio. [WIND BLOWING] [FLAMES WHOOSHING] [ROCK MUSIC PLAYING] MALE SPEAKER: OK, Glass, record a video. FEMALE SPEAKER: This is it. We're on in two minutes. MALE SPEAKER: OK, Glass. Hang out with the flying club. MALE SPEAKER: Google photos of tiger heads. Hmm. MALE SPEAKER: You ready? You ready? FEMALE SPEAKER: Right there. OK, Glass. Take a picture. CHILD: I got it! [ROCK MUSIC PLAYING] MALE SPEAKER: Go! Woohoo! MALE SPEAKER: Being upside down. MALE SPEAKER: Holy [BLEEP]. That is awesome. CHILD: Whoa, look at that snake! FEMALE SPEAKER: OK, Glass, record a video! Whooo! [SCREAMING] MALE SPEAKER: After this bridge, first exit. MALE SPEAKER: [INAUDIBLE]. MALE SPEAKER: Kelly! Up! [ROCK MUSIC PLAYING] MALE SPEAKER: OK, 812, right there. [ROCK MUSIC PLAYING] [APPLAUSE] MALE SPEAKER: Yeah. Celebrate! FEMALE SPEAKER: Wow. MALE SPEAKER: Google, say delicious in Thai. GOOGLE GLASS: [FOREIGN LANGUAGE]. MALE SPEAKER: Mm, [INAUDIBLE]. FEMALE SPEAKER: Google jellyfish. MALE SPEAKER: Ha. Oh, let's see. It's beautiful. [APPLAUSE] TIMOTHY JORDAN: You can clap. It's OK. So this is the idea, that by bringing technology closer we can get it more out of the way. It seems a little ironic and it's a bit of a crazy idea but that's why it's a moonshot. All right. So let me frame this talk just a little bit. For more information on the product, Glass, go to google.com/glass. We've got a bunch of information up there. Today, I'm going to be talking to developers, those interested in building new experiences for Glass. So for the rest of this session, I'm going to be talking about APIs and building with Glass. And you might ask, why are we doing this now, because we're not selling Glass and we're not releasing any APIs today. In fact, I should let you know-- we're not done. It's early days yet, and some things that you see today could change before we release the API. But we're here because at South by Southwest, it's filled with builders and visionaries and thinkers and the conversation that you have out in the public is an inspiration to us as we continue to work on Glass. So we want your feedback and we want to kickstart the conversation with some more information about how these APIs are going to work. Does that sound like fun? AUDIENCE: Woo! TIMOTHY JORDAN: OK. Let me talk a little bit more about that conversation, because I think this is a really key point. So at Google I/O last year, we had people sign up for what we called the Explorer program and it was a chance to get early access to Glass. As they came up and they signed up, we gave them a glass bar, something that looked a little bit like this. And I was so excited. They gave me one, too. This is mine and I'm number 2182. It's a high number, I know. I went home and I took a photo of this glass bar and I put it on Google+. I posted it to all my friends. I posted it publicly so that everybody could see how excited I was. And it was interesting. This weird thing happened right after that-- we started seeing a whole bunch of these photos go up, and people were doing this crazy thing. They weren't just taking a photo of the bar or talking about the Explorer program-- they put the bar out there where they live and took a photo, or in front of the people that they love, or in front of things that they care about, or the places that made them feel home. And it was then that we started to figure out that this was more than just a group of people signing up for a device. It was a bunch of people that wanted to be part of something. OK. This is going to be kind of crazy, but I'm going to ask you a few questions. Maybe the people up here and I'll repeat you say. Why did you come to this session today? AUDIENCE: I knew about the technology and I wanted to see it in person. TIMOTHY JORDAN: You wanted to see the technology. What else? Anyone, just shout it out. AUDIENCE: Wondering how it's going to change UX. TIMOTHY JORDAN: Wondering how it's going to change user experience. Yes? AUDIENCE: Learn something new we don't already know about. TIMOTHY JORDAN: Learn something new that you don't already know about. Yeah, what else? AUDIENCE: Wanted to be on your spank bank. TIMOTHY JORDAN: I don't know what that means, so I'm not going to repeat it. Over here? AUDIENCE: Get to try Google Glass. TIMOTHY JORDAN: You won't get to try Google Glass today. Come on, seriously-- what else? AUDIENCE: Because this is the next thing, right? We're going from-- technology is getting closer and closer to us. TIMOTHY JORDAN: Technology is getting closer and closer to us and this is the next thing. It's where things are going. Do something great. Now the thing is that I have this conversation a lot, and there's a couple new things today. Again, I don't know what you said, but I-- [LAUGHTER] AUDIENCE: He wants to be close to you. TIMOTHY JORDAN: Yeah. There's a few things that come up time and time again. How is this going to change the user experience and what's next? People keep talking about the future of technology. And that's the thing is that we as a group, we're the pioneers that get to decide how this fits into our lives. And with your help, we can do that. This is about a conversation of all of us together thinking about this new generation of technology, thinking about something that doesn't compete with but blends into your life. After all, this is the future that we're talking about, and that's where we're going to start, that one big theme, that we're building new paradigms for how technology and information works for people. So let's start there. These are the four things that we're going to talk about today. I'm going to give you a demo. That's exciting, no? OK. It's exciting for me. I'm going to show you a demo and I'm going to give you a quick look at the Glass UI live onstage. We're going to look at the Google Mirror API. I'm going to give you a sneak peek of what's going to be available to developers. It's not everything, but a quick overview. And then we're going to go through some guidelines. These are things that we've learned developing with Glass over the last many, many months. And these rules are going to help us all sort of navigate this new technology. And then finally, I'm going to go through some great examples of new experiences that we've been building with some of our friends. Sound like fun? AUDIENCE: Whoo! TIMOTHY JORDAN: [CHUCKLE] There's so many of you. OK, demo. Now, this is going to be interesting. I was talking with the folks back home-- I really wanted to show y'all what it was like, what I was seeing on Glass specifically. To experience Glass, you really need to put it on but I'm going to give you an overview and do my best to give you the feeling live today. To do it, we had to do some hacking. I've got a cable connected to this demo device, the specific device I'll be using for demos, and it's going to transit my screen through the laptop and on there. It's going to be a little bit more choppy and it's going to be a little delayed. It's way more swift and smooth actually on Glass. But the team wouldn't let me bring 1,000 to Texas, so this is what we've got to do. All right. Let me set this up. I don't know what's going to happen. Hopefully it'll be fun. Ooh. OK, I think it's going to work. All right. So first off, when I put on Glass, notice that it's not in my line of sight. That's really key. Now, you've probably seen a few people walking around South By wearing Glass. And you'll notice that none of them have it right in front of their eye. And that's really important because as I'm wearing Glass, I still want to be able to connect with you and make eye contact, and I also don't want anything in the way of what I'm doing. But we want Glass in our field of vision, so all I have to do is look up quickly and there's the screen. So on the side here, as you may have guessed, is a touch pad. I'm going to go ahead and tap on that and it's going to take me to the home screen. If I go ahead and slide down, it'll dismiss-- kind of like the back button on your Android phone. And it can also hear me. OK, Glass, Google, how do you say thank you in Japanese? Oh, arigato. So you'll see that-- you can clap as much as you want. It's totally fine. [APPLAUSE] TIMOTHY JORDAN: So that was a live Google search right there, and it gave me a result on the screen that I could see. And it also said to me how to pronounce arigato. You didn't hear it because that was audio just for me. You notice I don't have anything in my ear so I still hear all the ambient audio around me, but I can also hear something from Glass. All right. Do you mind if I take a picture? AUDIENCE: Go for it. TIMOTHY JORDAN: OK, so we'll do this one. OK, Glass, take a picture. Hey, there we are. So you'll notice I can turn Glass on by looking up like I just did. And if I want, I can scroll to that photo. And if I do a quick, hey, how you doing, it'll nudge the screen to dismiss it. So with these input options-- voice, touch on the side, and some basic head gestures-- I can control Glass in just about any situation. Let's do a couple more things. So I'm going to go to that picture I just took. I'm here at the home screen. I'm going to slide forward. There's that picture-- don't you all look wonderful? I'm going to tap right on that picture, and I get card options. Now, this picture is a timeline card. And on there, when I tap, I can get options, including Share and Delete. I'm going to choose Share and I'm going to share it with my friends on Google+. Done. These timeline cards, there's a bunch of them. Sidney's taking some photos-- I'm getting some updates from him. You'll notice that I have his picture, I've got the arigato-- these are things that have happened in time. We're going backward in time as I swipe forward. If I swipe backward, we go forward in time, or to the left, and I can swipe all the way over here to some Google Now cards. You can see that I've got the weather and I've got some places. Now a note about this special card. You'll notice it has a fold in the upper right. If I tap on a card like this, it expands into more items. In this case, it's the three day forecast. If I swipe down, I'll kind of back out of that. This is what we call a bundle. All right. Now I think there's enough terminology for now. We've got the timeline, swipe forward to go back in time, swipe the other way to go to things that are happening right now. At any moment I can swipe down and tap and I'm at the home screen. Does that all make sense? Super simple, right? All right. We're going to come back to this, I promise. We're going to do more. But first, let's talk through a few more things. Let's talk about the Google Mirror API. This is the first time that we're talking about the Google Mirror API, and I have to say I'm really excited to actually start talking about this in the public. We built the Google Mirror API so people could build Glass services quickly and easily. It's not complex. This is my fancy diagram. It's got three things on it. The only important thing for this talk is this section over here, because that's all you have to build for. The Google Mirror API is a cloud API and it works with RESTful Services, OAuth2, and we transport the data through JSON. So a quick few questions for you. We're going to know pretty quickly how many engineers we have in the audience. Who is familiar with OAuth2? Ooh, a lot of you-- that's great. Who is familiar with REST? Also a lot of you. And of course, JSON. More. Yes, OK. So for those of you that didn't raise your hand, let me go through each of these very quickly. Now, they're open standards, they're all available on the web, with much more information than I can explain right here. But let me, again, just give you a quick overview of each so that you'll know what I'm talking about as we move forward. So first off, REST is a web architecture. It's essentially a mechanism for transporting data between two surfaces using HTTP, or the protocol of the web. It typically works with resources or collections of things that you can insert, update, delete, and list. And you use HTTP methods for that. You can use POST to insert, you can use PUT to update, you can use DELETE to delete, and you can use GET to list all of the items or any one item in a collection. Does that make sense? OAuth2 has sometimes been referred to as the valet keys for the internet. It's a way to allow a third party service to do things on your behalf. In this case, if I want to install a service for Glass, I give it permission through OAuth2 to write things to my timeline. Again, really simple, right? You can think of that as the install process for Glass services. And finally, JSON, or JavaScript Object Notation, is just an encapsulation. We did XML for a long time as a community, but now JSON's really the thing. And it all centers around these timeline cards, so let's start there. The timeline card is just a discreet bit of data that you send to Google and then Google syncs to the user's Glass for you. Now remember that diagram-- all that syncing and knowing whether the device is online or offline, that's all done for you by Google, up to and including how to display these things on Glass and actually rendering that UI. Now these timeline cards can be text, images, rich HTML, it can be video. And it can also be bundles of things. Remember, we saw this with the weather card. Whenever you see that fold in the upper right hand corner and you tap on it, it'll expand into sort of a subtimeline, if you will, and you can see multiple items there. And that's really great for Glass, because you can kind of have a very efficient timeline but then you can drill deeper. Now this is what it looks like in code. And it could be just as simple as this, is you've got a text variable set to "Hello world," you send that to Google, and we push a timeline card to the user that says "Hello world." You can insert images this way using a multipart request, and you can insert rich HTML as well. Now these items can be by themselves or you can do bundling, and there's two ways to do bundling. The first way is through something that's kind of like pagination. It's a single card that you insert into the timeline collection that includes an HTML cover card and HTML pages. Those are the multiple pages that you tap into. This is really great if you have sort of a single item that you want to represent in more than one screen. And it could also be multiple timeline cards that are all linked together with a bundle ID. So you just set a common bundle ID across multiple cards that you insert and we'll put them together in a single bundle. If you want to do an update, just do a PUT request. You'll notice on the endpoint there I'm also specifying the item's ID at the end of timeline. And I'm just going to update that again to hello world, this time without an exclamation mark. You can do delete-- this is a DELETE request. And of course, you can list any single item or the whole list of items. So those are cards. You can insert them, they can be lots of different types. There's also these card options. Now remember, I tapped on that picture and I got Share and Delete. Well, you can specify that menu when you insert a timeline card and it's really easy to do. There's two types of these timeline card options, if you will. There's Reply and there's Read Aloud. Those are system options. You can also do custom options, which are whatever you specify. They have your display name, your icon, and they do what you want them to do. To insert system options, all you have to do is name them. So you can see we're back to this timeline card insertion, and we're specifying in the JSON hello world, and I'm also specifying an array of card options. And the one that I specify, I'm just naming it Read Aloud, and that will add Read Aloud to this timeline card. If I want a custom option, I've got to specify just a few more things. You'll see the action here is custom, but then I'm specifying an ID, a display name, and an icon URL-- in this case, love, as if you were to love an item on a service, because we're in Austin. No? Come on, so much love around here. We've got some share entities. Remember when I tapped on that picture and then I tapped on Share and I got my Google+ Circle for friends? Well, Google+ is a Glass service using the API. It added that share entity for me. Any Glass service out there can add their own set of share entities so that when I take a picture or a video on Glass, I can send it to any one of those services. To insert a share entity, it's a POST request. But this time it's on the share entities endpoint instead of the timeline endpoint, right? So we're just sending this to a different URL. And I'm specifying an ID, a display name, and an image to show along with that. OK, subscriptions. So this is the last big thing. For subscriptions, this is important for your card options and your share entities, because what the user is going to do is they're going to perform an action, Glass will tell Google, and then Google will notify your Glass service, and it happens real quick. To do that, you first need to subscribe to the timeline collection or whatever collection we make available. And you specify your subscription this way, by doing, again, a POST request, using the RESTful protocol to say, hey, I want a subscription. Here's the user token or the verify token to repeat back to me so I know what you're talking about, and here's a callback URL. This is where I want you to send the data. And then what Google's going to do is every time it gets a user action, it's going to send you a lightweight ping in JSON. It's going to include things like the timeline ID. So in the case of a picture, you'll get that timeline ID and then you'll do a GET request on the timeline like we saw earlier and download the photo. Does that make sense? All right. The lightweight ping's going to look a little bit like this. OK. So that was a mouthful, mostly, for me. It was a lot of technical stuff about how the API works. And it's really important because these are sort of the major building blocks for creating Glass services. I'm going to go through them one more time. You have the timeline cards, and these are things that you can insert for the user and they'll see them on Glass. Those cards can have options and those options can be system options, like Reply or Read Aloud, and we'll see those in a demo in a moment, or they can be custom options, in which case you specify what it's called and what the icon is and then you handle that for the user. The share entities-- and these get added to the share menu for any media created on Glass like pictures and like videos. And then finally, subscriptions. By subscribing to updates to the timeline, you get notified with lightweight JSON pings whether the user hits a card option or if they hit a share entity. All make sense? OK. Next up, guidelines. So this is really key because it's a new platform. It's a new form of technology, so we need some new rules for the road. We've done a lot of thinking and playing and experimenting and here's just four quick things that we found make a Glass service really great. First, design for Glass. Glass is a unique platform that's mobile, but it's fundamentally different than existing platforms like your phone or your tablet. And you want to build for Glass with this in mind, that it's for Glass. You wouldn't want to take an experience somewhere else and just stamp it out for Glass. And you'd also want to take the time to experience it on Glass so that you know what it feels like and you know that it works. For example, you wouldn't want to read an entire news story on Glass. When we think about Glass, we don't think about staring at the screen all day. Again, it's not directly in front of my eyes. We think about these quick interactions. So what is a good experience is reading a headline or seeing a picture coming out there from the world and getting these headlines throughout my day-- those short, quick interactions, whenever I want them. The next thing is that you don't want to get in the way. Glass users expect the technology to be there for them when they want it and out of the way when they don't. You want to make sure that your service supports this by not being too frequent and loud with notifications and provide appropriate controls for the user experience. And most of all, you don't want to take precedence. You don't want to override or require. If the user misses a notification, it should be OK. And an example here is that you wouldn't want to do any motile dialogues, for our UX friends out there, with Glass. If the user misses the notification and doesn't respond, it should decay quietly and easily and silently and the user should keep getting notifications like usual. And the reason is they're wearing Glass throughout their day. And when they're doing something, let them do something. They'll get back to Glass when they want. Keep it timely. When you think about it, your laptop or your desktop computer, you work with data that's maybe over the course of the last few months or year. When you're working on your phone, you can really think about that as sort of the day or the week. Glass is a very right now device. So when you deliver data to the user, you want to do it in the moment and keep it up to date, especially, like the A+, is if it matters to them for what they're doing right now. And a real time notification system is provided, right-- those subscriptions that we saw. So when you get those notifications, you'll want to respond right away and provide that user with the experience that they're expecting, which is right there with them, right now. An example here is that you wouldn't want somebody to send a timeline card to you about an email from a week ago. You probably already saw that. You want the email that happened just now and happens to also be important. Then finally, avoid the unexpected, especially the unexpected and unpleasant. You want to be transparent to the user and give them the functionality that they expect, because unexpected functionality is typically bad on any platform, but it's especially bad when it's on Glass because the user is wearing Glass. An example here is if I signed up to be able to share images with your service but you end up sending me timeline cards about all your wonderful new features every day, that will be a bad experience. You would want to use a traditional channel like email or something like that to let me know what's happening with the service and on Glass, I just want that interaction. So those are the big guidelines. Let me just highlight them one more time on the screen here. You want to design for Glass, specifically for the Glass experience. You don't want to get in the way-- we provide an experience for the user that's there when they want it. You want to keep it timely-- make sure it's up to date and matters to them in the moment. You want to avoid the unexpected-- you want to keep away from anything that's going to jar them or shock them out of their life. So we've been working with a few friends to test this new API and how these new experiences fit into our lives. You've got to play with it and use it and see how it works. I'd like to share with you just a taste of what we've been playing with lately. Does that sound like fun? I'm going to keep asking you these questions this whole time. Does that sound like fun? AUDIENCE: Yeah. TIMOTHY JORDAN: OK. First, let's start with "The New York Times." Now as you know, "The New York Times" is a leading global multimedia information company. It enhances society by creating and collecting and distributing high quality news and information. And if you're like me, that means you sit down every Sunday morning and read the "Times." But I also want news throughout my day during the work week, but I don't really ever have the time to sit down and read a newspaper. What really works for me and what we found is a great experience on Glass is getting headlines throughout the day that are there whenever I look for them. And that's what we built. Let's take a look at what that looks like. So here is a bundle of news that I got from "The New York Times" right before I got up on stage. It's an article about the Harlem Shake. And you'll notice it has the curl in the upper right hand corner there, that fold. If I tap on this item, I get a bundle of all these different headlines and rich images. And if I tap on any one of these, I can get a card option for read aloud. So this is really great for me, actually, because I can hear it. Uh huh. OK. The cool thing about that is that I typically wouldn't do that in front of an audience-- listen to a news article-- but I thought it would be fun. But I would do that when I'm walking in between meetings or I'm going for a short walk to take a break, because then I can kind of look at the world around me and I'm also hearing something about what's going on in the greater world that me. So let's take a look at the detail flow there. What "The New York Times" is doing is they're inserting a timeline card. In fact, they're inserting several timeline cards and they're setting a few properties in there. They're using the rich HTML so that it displays with these beautiful photos and headlines. They're creating the speakable text, which is a little bit different than I see on the screen. What they're giving me is a summary of the story, so I can see the headline if I want and I can have the whole summary read aloud to me. And they're adding the Read Aloud card option, so that I can actually choose to hear it. And finally, they're setting the bundle ID on each of these so that every hour-- which is what we've been playing with-- I get a new bundle of news items. And the cool experience here is that as I'm going about my day, I might see that this comes in and take a look at the news right there. Or maybe I'm waiting at the bus stop and I can see the latest articles. So let's go through the guidelines one by one. There's four of them, remember. First, design for Glass. What's cool about this is it's simple, it's there when I want it, and I'm able to have this read aloud to me so I can go about my day. It doesn't get in the way. If at any point I miss one of these bundles, that's fine. The world keeps generating news-- that doesn't stop-- so I can just see the next one. It's up to date with fresh data. So "The New York Times" is really great about publishing that news throughout the day as it becomes relevant and then delivering to me every hour the top news stories right then. And then finally, avoiding the unexpected. And this is really easy-- I'm getting the news that I expect regularly. In fact, we're trying out this other flow that's really great as well where you get breaking news. And that just can happen right away, and I get a notification. And with Glass, using the head gestures, I can just look up and I can see that breaking news. And "The New York Times" is already really great about delivering breaking news to users when it's relevant, when it's actually breaking and important, and otherwise just putting it into the news cycle. OK, let's do another-- my favorite email service, Gmail. Let's try this demo again. So far it's worked good. I'm going to go ahead and tap here. And it looks like I got an email just a moment ago from Jenny, my colleague back in Mountain View. Unfortunately, she couldn't be here today, but we've got game night this Saturday and I'm going to kick her butt. Let me just go ahead and reply to this email, if you don't mind. Are you kidding? I can't wait. Smiley face. And it's going to send that message to her. What it went into was a voice dictation mode there. I started a little bit too early-- that's why it had that "remind" word. But then it heard what I said as I said it, showed it to me, had the option to cancel that if I wanted to, but I didn't. It went ahead and sent it and she'll get an email that has the text of what I just said as well as the audio file. So let's look at this in a little bit more detail again. So this flow starts when I authorize Gmail to insert timeline cards on my Glass. Remember that OAuth process that I told you about? Again, this is really sort of the install process for Glass services. I go over to the Gmail website and I say, I want you to send the most important emails as they happen to Glass. And it jumps into the OAuth flow, I give permission, it calls back to Gmail, and it's done. But at that moment, Gmail does a quick thing. It inserts a subscription for all updates on my timeline. Remember we talked about subscriptions? Essentially, it's subscribing to everything I do on the timeline that concerns it. OK, so now we fast forward to I'm getting my emails throughout the day. It inserts timeline cards. And on those timeline cards, it includes just some simple text and a creator-- in this case, Jenny-- and some speakable text so that I can have it read aloud to me. It includes those card options for Reply and Read Aloud. And when I get that email as a user, I tap on Reply. Glass goes into voice dictation, records what I say, and then it notifies Gmail's subscription endpoint. Remember, it subscribed and then it sends the notifications. The lightweight notification just includes some JSON specifying the timeline item that has all that text that I just said. Gmail will then retrieve that item, download the audio, compose an email, and send it to Jenny. Again, very simple flow, all cloud based, something that you could build and do a first version of in just a day. Let's go through the guidelines. First off, design for Glass. It's a simple, quick interaction, and it's easy to do while on the go. It doesn't get in the way. And this is really key for Gmail is that I'm not getting every email message that comes into my inbox. I wouldn't want that. But I do get the important ones, and Gmail is already good at figuring out which ones those are and sends just those to my Glass. And it's, of course, fresh. I get the new messages as they come in. It's very timely. And it avoids the unexpected. I get emails and I send replies whenever I want. It's just a simple flow. All right. Let's do a couple more. The next one is Evernote. So Evernote, as you know, is a family of apps that help you remember everything, communicate effectively, and really just get things done. In this case, I'm going to be talking about two of them-- Evernote itself and Skitch. Who here is familiar with Skitch? A lot of you. I think Skitch is great. It's just a really quick way to take an image or a screenshot and mark it up with text and arrows so that I can communicate how I feel about something, whether it's a UI design or architecture planning, whatever it happens to be. The interesting thing about Skitch, though, is that I find myself, if I'm in a meeting and I take a photo of something that we're talking about, I don't want to sort of Skitch it up right then. Why? Because I'm in the meeting and, like, we're talking and we're communicating about next steps. Rather, I'd like to be able to quickly give feedback at the right time. So let's try that, shall we? So I'm going to swipe over to the picture I took of y'all and I'm going to tap. I get my card options there. I'm going to tap on Share, and I'm going to swipe to Skitch and I'm gong to tap on Skitch. Now what's happened here is that Skitch was just notified that I took an image and I shared it with it. And again, how that happens is I tap on the card option as Skitch had previously inserted a subscription and said, I want you notify me at this point whenever the user hits the share entity. So I hit that share entity. It goes up to Google, Google bounces that down to Skitch, and then Skitch then takes that information, downloads the image, and sends an Android notification to my tablet, which is right here. I can't believe I'm screen sharing multiple devices in this demo-- it's cool. And this is Skitch. It just opens up with that image. I'm going to go ahead and buzz out my friends from Engadget over here. Oh, I'm just kidding-- I love you guys. And let's go ahead and say awesome press. That's cool, right? So these would, in any other case, be my notes during a meeting. I'm going to go ahead and hit Done here and save it. And Skitch right now, as it usually does, is going to upload this into Evernote so it's a note that I can access whenever I want. Now what I like about this flow and how I've started to use it in my daily life is that I end up at these meetings getting caught between feedback and paying attention. I can pay attention and with Glass I can easily take photos as things happen. And then as I'm walking back to my desk or going for a walk later, I just share that with Skitch on my tablet and I can mark it up and save it to Evernote. And as you can see, there it is right there in Evernote. I've also got some Skitches about fish and this talk, because that's what this talk needs is some more fish. All right. Let's go back to the presentation here and go through that again in detail. So starting with the OAuth flow again, when I authorize Evernote to do things on my behalf, right afterwards it inserts a share target for Skitch, or a share entity, and it adds a subscription for timeline updates. Later, I take a picture. I choose to share it with Skitch. Google then notifies Skitch there's an update. Skitch pushes that to one of my devices. I mark it up, save to Evernote, and that's my day. And the guidelines-- let's go through each of those, one at a time. This one will go quick, though, because it's really simple. You design for Glass. Again, being able to take a picture without interrupting what I'm doing and then be able to take notes on that picture whenever I want is a very cool interaction for Glass. And it doesn't get in the way because I can use the share target whenever I want. And as far as being timely and avoiding the unexpected, I'm making this happen by choosing that share entity. So really, I, as the user, I am in control of this whole flow. All right. Should we do one more? AUDIENCE: Yeah. TIMOTHY JORDAN: OK. So who here is familiar with Path? Great. So Path, for those of you that didn't raise your hand, is a smart journal. It lets you share your life with those you love and do photos, thoughts, more stuff than that. But one of my favorites is simply adding an emoticon to a friend's post when it comes in. I can look at my Path timeline throughout the day-- the path, if you will. And as I see pictures that my friends have shared, I can tap on them and hit like Smile or Frown or Love. And I do this all the time because it's a quick way I can interact with them and yet still go about my day. This is a really great experience on Glass. So let's go ahead and see. Oh, I got a timeline card right at the front there that I took a photo. This is a demo device, so that's why there's multiple mes. Anyway, this is really an excellent photo. I know, I took it. I'm going to go ahead and tap on it, and I get card options for all of these emoticons. And in fact, all the way at the end, I also have the ability to reply, which will add a comment to this post. Again, super simple, quick interaction that I can do while I'm going about my day. I'm going to choose on Smile. And that's done. Path is going to get that notification and it's going add a smile from this demo account to that photo. Let's look at that flow. Let's start one more time at the OAuth portion. I as a user go to Path and I say, I want you to send stuff to Glass. I give permission, and then Path immediately inserts a subscription to timeline updates. Then, as I'm going about the rest of my day or the week or the whatever, Path is sending me pictures from the people that I know really well, the people that I love. And I can tap on any one of these as they come in and I can add a comment or I can choose one of those emoticons without really even breaking my stride. Now, the design guidelines are pretty clear as well. And we've been over these a lot of times. Let me do them one more time. Design for Glass. Love the way emoticons work on Path. It's just that quick interaction. It's a really great experience on Glass because I hardly even have to take a moment beyond appreciating that photo and being able to tell my friends how I feel about it. It doesn't get in the way. I get these pictures as my friends take them. And because it's Path, they're only people that I know really well. It's very timely. I just get the pictures as they come in. And it's never really unexpected. This is the community that I've already curated on Path, and I'm getting the photos that I love. I'm just getting them on Glass now. So those were the demos. Let me say one more quick thing to kind of pull this all together. And this really calls back, again, to those glass bars, that feeling of the developer community coming together and wanting to do something together on this new form of technology. We looked at all of these things in detail. The demo-- I gave you a quick look at the Glass UI. And we talked about the Mirror API. Remember, the four major components were timeline cards, menu options on those timeline cards, share entities to be able to share images and video, and subscriptions to get updates about both those timeline card options and the share entities. And we looked deeply at each of these guidelines that we've been discovering as we've been building these new experiences for Glass. There was designing for Glass, making sure the experience makes sense for a Glass user. Not getting in the way, making sure that the experience you're giving your user makes sense for them right then at that moment. Being timely or staying up to date-- making sure that what you give the user and how you respond to them is in the moment. It's right now. And avoiding the unexpected, especially the unexpected and the unpleasant. You want to make sure that the user is getting the experience they signed up for, and you give them the right settings so they can adjust it for them, like being able to turn it off on the weekend or when they go to sleep. And finally, we looked at some examples. And this is just where we started, with a few friends to test out the API in its early stages. And that's the thing. This is where we're starting. You've got to remember-- and I'll leave you with this thought-- that Glass is in early days yet. We're really just getting started, and the reason we're talking about this today, the reason we want to start having this conversation, is that every time we say something and you guys respond with your dreams and your visions for using this new technology, it's such a huge inspiration to us, and it really affects the work that we do on Glass day to day. So please, keep that coming. Thank you. [APPLAUSE]
A2 timeline user card timothy jordan tap Building New Experiences with Glass 90 6 Zenn posted on 2013/04/29 More Share Save Report Video vocabulary