Google I/O 2013 - Developing For Glass

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
TIMOTHY JORDAN: Hello. [AUDIENCE APPLAUSE] TIMOTHY JORDAN: You haven't even heard anything yet. That's OK. You can applaud as much as you want for the next hour. So I'm Timothy Jordan. I'm a Developer Advocate on Project Glass. A couple of things before we get started, just to set some context, though many of you will already know some of this detail. Google[x] is the moonshot factory at Google. It's about these radical ideas for changing the world and improving the way we live. And Project Glass is one of those moonshots. It's a moonshot about our relationship to technology. This is strange standing up on this little step back here. Let's just pretend it doesn't happen. It's about technology that's there when you need it and out of the way when you don't. And what do I mean by that? Some of you have heard this story, but I'm going to tell it again, because it's really impactful for me. When you're at a concert and the band takes the stage, nowadays 50,000 phones and tablets go into the air, which isn't all that weird, except people seem to be looking at the tablets more than they are the folks on stage or the experience that they're having. And it's crazy. Because we love what technology gives us. But it's a bummer when it gets in the way, when it gets in between us and our lives. And that's what Glass is addressing is, how do we have those benefits of technology and yet get it out of the way at the same time? Now up until recently, you had to take our word for that. But we've started selling devices to people outside of Google. In fact, I see a lot of them in this room today. Could you raise your hand if you have Glass? Oh, a bunch of you. And it's a heck of an adventure we're on together. Who would have thought a year ago we'd be in this room adopting this new technology together and building it together? And that's really what this session is about, that and my really cool roller coaster video. Fair warning, there are not going to be any airships or parachuting today. We did that, and we did it pretty well. Today we're going to focus on developers, that's you, and what you're doing with Glass and the conversation that we're having together. Now this session, I'm going to cover the general landscape of building for Glass, the platform and design and examples. I'll talk about that in a moment. There are some other sessions that you'll want to come to at Google I/O today. One of them is "Building on the Mirror API". Alain and Jenny are going to go into detail about using the mirror API to deploy your Glass service. There's going to be a session on "Voiding Your Warranty", if you want to tinker around with Glass and have some fun that way. And then at the end of the day, we have a fireside chat with some of our leadership, and that's going to be a lot of fun. We'll answer a lot of your questions then. For right now, we've got three things on the menu. First off, I'm going to talk about platform, what you can do today with a Mirror API and a little bit more. Next, I'm going to talk about design. Now the platform, for those of you that have checked out the documentation, is the easy part. It's JSON over REST. It's not new technology. We're just using it in new way. And that's where design comes in. This is the interesting challenge with Glass right now, and this is where we're innovating, building the service for a user that makes sense on Glass. And to that end, we're also going to take a look at some examples, some of the early work people are doing in the area of Glass, building these Glass services for users. All right. Now before we jump into all that material, I'd like to give you a demo. Who here has not seen a live demo of Glass? There's still a few of you. OK. And I understand that we have another room and a livestream. So this is for all of you. I'm just going to go over some of the basic concepts. This is always fun to do live demos. We'll see if Wi-Fi works. Either way, it'll be fun. I have a cable attached to this demo device so that you can see my screen. We did a little bit of hacking so you could see what I see. Now it's going to be more choppy and a little more delayed on that screen. It's much more smooth on Glass. And if you can make a new friend at Google I/O here who has Glass, you can ask them very nicely if you can demo their Glass. I recommend that you do that. Because putting Glass on and seeing this rich display and experiencing it is so much different than just seeing it on the projection screen here. But I'll give you a quick tour anyway. Now the first thing that you note when I put on Glass-- and this speaks to my point about the purpose of Glass-- is that it's not in the way. It's not in my line of sight, but it is in my field of view. And the key thing there is that it's not between me and my life. It's not that tablet at the concert where I'm looking at that instead of what I'm doing. But at the same time, whenever I want Glass, all I have to do is look up, and there it is. By bringing technology closer, we can get it more out of the way. So when you do put on Glass, when you do get a chance to demo, make sure that you take that step. It's really key. There's two ways to wake up or activate Glass. One of them is with the touchpad here. I'm just going to tap on the side there, and you'll see I come to this home screen. It's got a clock. Now if I swipe down on that touched right at my temple, it's going to dismiss it. It's kind of like the Back button on your Android phone. Another way I can activate Glass is by looking up with my head, and I get the same screen. Cool? Right. Voice commands. Mind if I take a picture? I'll take that as a resounding, sure, go ahead. OK, Glass, take a picture. And there we are. Aw, you all look so beautiful. Now let's go ahead and share that with the world, shall we? Swipe forward, tap on that item. I get this menu, tap on Share. I'm going to swipe my Google+ friends circle and tap to share. That's it. So what you saw there is I took a picture. That picture was then put on my timeline. I swiped forward to get the last item on my timeline. As I swiped forward, I go back in time. If I tap on any of those items, I get a menu. In this case, there was an option for sharing. I took that. I saw my sharing contacts, and I chose my Google+ circle for friends. I'm going to come back to all these concepts. OK, Glass, google, how do you say welcome in German? Did you all just start Wi-Fi? Oh, there we go. Well, it recognized what I said. Now if I had a strong connection in this conference room, it would then come back and showed me willkommen and would have said it to me at the same time. Now you notice I don't have anything in my ear, but I can still get audio. And it's relatively private to me. If you were right next to me, you might hear a murmur. But otherwise, it's just for me. Pretty cool, huh? All right. So that's your quick demo. Let's get back to the slides, shall we? All right. So let's start with platform. What we have out there today is the Google Mirror API. I want to go through some of the concepts I just showed you in the demo and how you can affect those with the Mirror API. This is how the Mirror API works. It's RESTful architecture. JSON is the payload encoding, and OAuth is the install process. Now this is a developer conference, so I'm expecting to see a lot of hands here. Who knows what REST is? A lot of hands. Great. Who knows what JSON is? A lot of hands again. Excellent. And who knows what OAuth is? Slightly fewer, but still a lot of hands. OK. That's great. Let me just touch on each of those for the audience playing at home. OAuth is an authentication mechanism. And for the Mirror API, it's analogous to the install process. The user gives permission to the Glass service to write into their timeline and get updates. JSON is the encoding, JavaScript Object Notation. It's pretty much the language that we send over REST, which is the protocol. And that's just HTTP. It's like submitting a web form, but in the background. And all that work happens right here. And this is what I think is really key about the Mirror API is that it's super simple to develop for, and yet you could also build powerful services. All your work is going to be right here between your service and Google. And then Google handles the sync to Glass, dealing with any connectivity issues and actually rendering things on the client on Glass. And there's a handful of major topics we're going to talk about. First, we're going to talk about the Timeline. You saw that. We're going to talk about Share Contacts. You saw those. It's my Google+ friends I shared with. We're going to talk about Subscriptions. This is how your service gets updates when a user performs an action. And I might touch a little bit on Location. You can get Location updates periodically from Glass as well. OK So first off, Timeline cards. Now Timeline cards can be text. It can be images, video. It can be rich HTML. And they can also be bundles. So now you saw, when I was on the Timeline there, there was a single item . It was an image. I tapped on it, and I got a menu. If that item had a page scroll in the upper right, like this Timeline item here, and I tapped on it, it would open up into a sub-timeline. This is how you can group multiple Timeline cards together into a single top level Timeline item. And this is good for a couple different things, and I'll discuss in detail some best practices here in the design section. But you might want to do pagination with this. Or you might want to do threading. For example, if I'm going to have a conversation over SMS, that's going to be in a threaded bundle with my latest message back or forth on top. I tap in, and I can go through the whole conversation. Or maybe I want to show a little bit more of a summary than just on one Timeline card. So I insert a long text string, and it automatically paginates for me. Now menu items, like the Share menu item that you saw when I tapped on the image, you can add these yourself. And they can be of two kinds. One, they can be a system menu item. And that you just have to name. And it uses some built-in functionality of Glass. This could be Reply, Read Aloud. These are system menu items. Reply will put the user into voice dictation mode, take transcription, send you that text and the audio file, and then you can use that as you do in your service. For Read Aloud, Glass will read aloud to speakable text or the text that it finds on the Timeline item. There can also be custom menu items. These are still going to be simple, quick interactions that you build. But they can have your name and your icon, and they can do whatever your service wants them to do. Now Shared Contacts. Shared Contacts can be for sharing, like I shared to my Google+ circle for friends, and then they see that image moments later, or something like Ice Breaker, which I'm going to talk about a little bit later. Some of you might have been playing while you're here at Google I/O. Now that's just a service that takes an image and does something different or interesting with it. Now much like the Timeline, which is a RESTful collection that you can insert, update, and delete items from, Shared Contacts is also a collection. And typically how you would do this in the flow of your service is the user would OAuth-- say, hi, I wanted to give you permissions to do stuff for me. And then immediately your service would insert a shared contact and subscribe to updates from that shared contact, or anything else the user does in the Timeline that the service wants to pay attention to. Now the way those subscriptions work, again another collection. You insert a subscription, and then you start to get updates on the endpoint that you specify. All right? So we have three major collections so far, Timeline, insert cards, add menu items, Shared Contacts for the sharing menu, and Subscriptions. The one last one is Location. I'll talk about that in a moment. For Subscriptions, think of it this way. If you've done pubsubhubbub before, it's sort of similar. You're going to subscribe by inserting a request into Google that creates an item in the subscription collection. And then as the user takes actions covered by that subscription, Google will inform you by calling the endpoint that you specify. It's a lightweight ping, so it doesn't take a lot of network traffic. And most of the time all you need is that lightweight ping, because it includes a Timeline ID that you likely already know. But if you want more information, you can then pull that item from the Timeline item collection. Now Location is very similar. You can subscribe to Location. And then as the user's location gets updated, you get a notification. You pull from the Location collection to get the actual latitude and longitude. That make sense? All right. So that's the platform as we know it today, the Google Mirror API. Let's talk a little bit about what the Google Mirror API is good for and some of the use cases that will feel a little bit forced. In our conversations about building stuff on the platform, we're always thinking, as we do around Google, what's good for the user? What's going to provide an excellent Glass experience for the user? And in those conversations, about 80% to 90% of the ideas we come up with are great Glass services for the Google Mirror API. These include being able to send content to the user and microinteractions with that service, like being able to reply, or being able to add an emoticon to something or +1 something, and being able to share out from Glass images and video, either to be posted on a social network or for your service. All those things work incredibly well on the Mirror API. You can develop them very, very quickly. But there's a handful of things that you might want a different kind of aspect to the platform for. Those can be when you want your service to work offline. Now if I get updates from "The New York Times," I can see them, even if I don't have a connection. But to actually get those updates, I needed a connection at that time, or to do those microinteractions. Well, what if I have something like Navigation, as you see here, where I want to be able to interact and get an immediate response from Glass? Or what if I want to access hardware features, like the Location, in real time on Glass? Well, for something like that, you need a native API. And that's something we're working on right now. It's called the Glass Development Kit. We don't have a lot of details about this right now, because we're actively building it. And since we're in the explorer period and we're building it at the same time, it's actually a really unique place for a product to be, because we're having a conversation right now about what we need to make sure that we add to the Glass Development Kit. So my ask do you-- I make an announcement, and then I ask you to do something for me-- is to tell us, what are your dreams for Glass that would use the Glass Development Kit but not the Mirror API? And what do you want to make sure we cover in that? Later in the day, if you go to the hack your Glass session, HY and PY might talk a little bit more about the GDK. And we might talk about in the Fireside Chat. And of course, if you want to come up and ask me later, we can talk about it in more depth. And I'll take questions at the end. All right. So we've talked about platform. We've talked about the Google Mirror API, which is what you build with today to get services to users and play with the Glass experience and really understand the design and user experience of Glass. And we've talked a little bit about the GDK that'll be coming some time in the future, where you'll be able to do things like offline and immediate access to hardware. The user experience, this big next section of my talk, is about design. It's about how do you make an excellent Glass service for the user, not just technically? But what are the paradigms that you use? What are the user patterns that you use? And to start with, we have four guidelines that you've heard me speak about before-- I've covered these in more depth elsewhere, but I want to touch on them, because they really add context to all of the other items that talk about today-- the first of which is to design for Glass. And this is really key, and there's a remarkable amount of depth in here. Because at the top level, you don't want to take an experience on mobile or on the web and just stamp it out on Glass. It's not going to work, because Glass is fundamentally different. And the one essential thing that you must do is test on Glass. Use Glass in your daily life. Add your service, and use your service in your daily life, and then you're really going to know what works and what doesn't. The second big thing here is don't get in the way. Remember I talked about what are the things that are good for a Glass user. Well, getting in the way is not good. Getting in the way takes them out of their life and puts a barrier between them and what they're doing. And that's not what we're doing with Glass. We want your service to improve their life. And sort of a corollary here is that you never would want to take precedence over the user's experience. So you would never want to send them a notification that if they didn't respond would degrade their experience with your service. They should be able to ignore notifications, and your service keeps chugging along, giving them what they want when they need it. Keep it timely. Glass is a very now device. Your phone, you might do stuff over the last week. Look at your calendar four days from now. Your laptop, you've got data on there from the last few months or year. But Glass is really about what are you doing right now. And when you think about that your service, you want to deliver content to the user that's important to them at that moment. And then one last one. Avoid the unexpected, especially the unexpected and the unpleasant. And this is bad on any platform. But it's particularly dangerous on Glass when the experience is so intimate to the user. They're wearing your experience. So you really need to respect that relationship, and don't do anything unexpected. Just Be honest about the intention of your application, about your Glassware. And give them preferences to be able to get notifications maybe during certain times or know how many they're going to get before they sign up. All right. So those are our four guidelines. And those are things that you can kind just stick in your pocket. And when you look at your Glass service and you have a question, is this going to be right for the user, you can measure it against those four things really easily. And we've talked about those before, but since that time we've been spending more and more time with our partners. And we've gotten a lot of little lessons as well, a lot of user patterns that work really well and a lot of learnings around the different paradigms in Glass that I'd like to share with you. So here are the types of Timeline cards that you might use. You've got text, HTML templates, images, and video. I'm going to touch on some notes for each of these. Now we also document these on our documentation, and we'll continue to expand these best practices, these tips and tricks, as we move forward and as we learn together in this explorer period. First off, if you're only sending text, just send text. Don't use an HTML template. And the cool thing here is that if the text is too long for one Timeline item. it's going to autopaginate. So a user can tap on that Timeline item, and there'll be a Read More menu item, and they'll be able to swipe through that text. If what you're sending to the user is text, this is the easiest and quickest and most powerful way to get that to them. And it looks a little bit like this. Again, you'll see that text, tap on it, get to the Read More, and you can swipe through multiple pages of text, in this case, the dramatically interesting Lorem Ipsum. OK. HTML. Now this is when you once more rich or flexible designs. And maybe you want to combine both text and images on one item. Now HTML is a little bit tricky on Glass. You really need to test on Glass. And we do have a great tool called the Developer Playground. It's got the CSS built in. You can edit HTML inline and see it right there the web browser and hit send and have it go straight to Glass. That's really helpful. And we also have these templates. We've taken some time just like, OK, what are some of the big categories of usage for Timeline items? We've provided these templates for you to go in and edit and make your own. However, if you want to break past those templates and do something a little bit more stylized and specific, you can also add a style tag inline with the HTML. Now it won't do JavaScript. But you can add your own CSS, your own custom IDs and classes. Just remember to always test on Glass. Start with the Playground, and keep sending those to Glass to make sure it renders the way you want it. And also, if you use custom HTML, make sure that as we upgrade the system software on Glass that you keep testing that to make sure nothing changes. We have a couple UI grid templates here to get you thinking about what's the padding and the spacing that will make your Glassware consistent with the rest of the Class UI so that it's familiar and easy to use for the users. Photos and video attachment. There's a couple best practices in here. First, it's 16 by 9, and the resolution is 640 by 360. You want to use that resolution, if you can. And the reason is it's going to transfer to Glass faster, and it'll be the perfect size for showing full screen. It doesn't need to be resized on Glass. It's going to look as you intended. And for videos, they should be short. This is for two reasons. One, you're sending it to Glass over the air. It's going to use the user's data connection. But another reason is that, again, we don't want Glass to get in the way of the user and their life. So getting a video and looking for 30 seconds or maybe up to a minute makes sense. I can take that pause when I'm walking between meetings, and that can be really magical experience. But if you push me 30 minutes of video, I'm never going to watch it, for one. And it's going to be distracting and confusing to the user. It's about short interactions. It's not about staring up all day. It's about living your life. And another thing that I'd like to announce today-- this will be available in the documentation soon-- is video streaming. So what you know about the Mirror API so far is that if you want to upload an image or a video, you add it as an attachment to a Timeline item that you insert into the Timeline collection. You do this once for every user. So if you have 1,000 users and you want one video to go to all of them, you upload that video 1,000 times. It makes more sense to do that for the video intended for that user specifically and update to them from your service. If you're going to broadcast things to users, what makes the most sense is to do video streaming. Now we're going to add some more details about video types and quality in our documentation, and that's best place to reference it. But you so you know how this works is this is a URL attachment. So when you insert the Timeline item into the user's Timeline collection, instead of adding a multi-part attachment with the video content inline, you can add just a URL. And then Google's going to handle the rest. That's pretty cool, right? Everybody's who's been inserting videos on the Mirror API is nodding. And that's nice. All right. Let's talk about bundling. Bundling is super powerful but tricky. There's a few tips I can give you to do this right so it's going to be really obvious to the user and it's going to make a lot of sense to them. First off, there's many kinds of bundles. There's single item bundles, and there's multiple item bundles. Now what do I mean by that? A single item bundle is where you insert a single Timeline item, you specify the HTML attribute as the cover card, and then HTML pages is an array of strings. They're your subsequent pages when the user taps into the bundle. This is a single Timeline item, so it should logically be a single item with multiple pages. That's really straightforward, right? The multiple item one, this could be for threading, or it could be a collection. There's a couple great examples of this. You've seen "The New York Times" on Glass. That's a bundle of the latest top headlines from "The New York Times" for the last hour. You tap into it, and you'll see those multiple items. Threading is something like SMS or messaging back and forth in a service. All you need to do is insert additional items. You set the bundle ID. In the case of "The New York Times", the way they insert them will constitute the order. In the case of threading, you don't even worry about that, because the latest items are always going to appear on top. Now a trick for all of these things, especially the multiple item bundles, is to have a digest cover. This is a cover not where you say what's in the bundle but you show the user what's in the bundle. And "The New York Times" does a great job of this. You'll see this digest cover has images for a number of the headlines contained within. Menu items, a couple short notes about this. Menu items are one line, and there's just a few characters. This is on purpose, because they're short and actionable. I can easily scan through a good menu and choose what I want in just a few moments. That means that not only is it really easy to recognize what this menu item does, because it's clear in one or two short words, but there's also a handful of menu items, not more than that. Always make sure to specify an icon. And be careful with Dismiss and Delete. These are similar, but they're a little different. Most the time you're not going to want Dismiss. It doesn't make a lot of sense on Glass. Because the way the Timeline works, for those of you that have Glass, is you know when updates come in and time moves on. You just don't go all the way back on Timeline. It just kind of decays over time. You're only looking at your recent stuff. So they sort of automatically dismiss, in a way. So you wouldn't want to get the user in the habit of having to just dismiss, unless you wanted to give them the option, like I don't want to see this on my Timeline Or maybe that's an indication to your service of what kinds of updates they like or they don't like. Delete, on the other hand, when you do this it shouldn't just remove it from the user's Glass Timeline. It should also delete that item on your service. A great example of this is when I share an image to Google+ and there's that Delete Item. I tap that Delete Item. It deletes it from my Glass Timeline, and it deletes the post on Google+. It's very clear to the user what it does. OK. Let's talk about Shared Contacts. A couple notes here. Make sure that when you insert a shared contact that the image that you use is 640 by 360. That way, if it's the one, it'll show full screen and it'll be beautiful. Make sure to always specify acceptTypes. Now these are MIME types that say what your shared contact can be used for. So maybe you do image slash asterisk, in which case any images that the user finds and they tap on that image and the Share menu, your shared contact will show up. Maybe you also want to do video. Now when the user does share items on your service, we have two things that people have started to use which make a lot of sense, #throughglass and Sent through Glass. So with your service, it makes sense to include a hashtag, like it's a post on your service. Adding #throughglass is a great way to have a through line of what that user is sharing while on the go from Glass. If you're doing messaging, however, where maybe it doesn't make sense to have a hashtag, but you still want to indicate to somebody that somebody was saying this while they were walking between meetings, then Sent through Glass makes a lot of sense there, just to append at the end of the message. Add these, and there'll be a lot more clarity, as messages are going to go through and similar to the other Glassware. OK. Some of those details all on one screen for you. There are numbers. It's all really straightforward. I've been saying the sizes a lot, by the way, because that's one of the things that we've noticed as we've been doing hackathons and building our own software that it was one of those things that's easy to forget. But you really do want to play to the size of the Glass screen. All right. Let's talk about some examples, shall we? Examples are really important right now. And the reason is that we were all, collectively, me and everybody else with Glass in this room, figuring out what the best experience is on Glass. And we're building up a lot of collective knowledge about these best practices. And even though it's early, some of these Glassware already have the one out there. And I'm going to talk about some of those. You know about some of the Google products that are already available on Glass, like Google+ and Gmail and Google Now. These are awesome experiences on Glass, and we've added to those with some of our friends. We also know that "The New York Times" and Path are available on Glass. There's a few more folks that we've been working with to build this early Glassware, these V1s that people are able to use on Glass. I'd just like to mention a few of those that are going to be available to Glass users today. I like that slide. It's OK. You can applaud. No? [AUDIENCE APPLAUSE] TIMOTHY JORDAN: So this has been a lot of fun, because we've gotten to work with a lot of really cool people innovating in this space and building these really amazing Glass experience for users. Now it's still early, but some of these experiences on Glass really illustrate some excellent paradigms. And I'd like to call out just a few of those and talk about the cool stuff that they're doing. First off, Google+. There's a lot to Google+ on Glass. There's a lot that you can do with Google+. You can share pictures and video. You can get notifications. You can comment on posts. Or my favorite, you can start or receive Hangout on Glass. If you haven't tried it, it's really fun. You can join that Hangout, and people see what you're seeing wherever you are in the world. I'd like to take a look at one feature in particular. This is getting a Google+ notification. Here my friend and colleague, Ossama, has plus mentioned me yesterday in a Google+ post. And I get this notification on Glass. If I tap on that notification, I see two items. One, I can comment or I can plus 1. Plus 1 is great, because I can just kind of do that on the go, and that's it. Or maybe I want to add a comment to the post, in which case I tap on Comment and I just speak out loud. And that will appear on the Google+ post on the web, and the item in my Timeline gets updated. And this makes sense, because Google+ owns that Timeline item, and they can keep the comments as sort of a threaded bundle. Now I see the post Ossama made. I tap inside there, and I can swipe through the comments. And as other people add comments, either through Glass or on the web or on mobile, that item keeps getting updated. And we have that conversation. This is a lot of fun. And one of the things that I really like Google+ is that since we've got this concept of circles and the plus mentioning, I end up getting the posts that I care about with people that I want to communicate with, whether I'm on the go or not. And being able to do that on Glass is a really fun experience. The next one, CNN. CNN and us have been working together on this really cool experience that you may have checked out in the Sandbox. They're out they're showing you. And of course, you'll be able to use it later today. The first thing that you'll notice when you sign up for the CNN Glassware is this Settings page. I love this Settings page. They're doing some really cool things here. First off, they're letting me send alerts between two times. I just want to get updates from CNN during working hours, or working hours plus a few in the evening. And I can set that right here. Also, I can select which topics I want to get on Glass, which ones are interesting to me. And I get an immediate indication of approximately how many updates I'm going to get per day. That's super valuable on Glass. Because maybe I just want to dip my toes in the water with some sports and politics alerts. Or maybe I want to go whole hog and get the top stories throughout the day. Now once I start getting items from CNN, they look like this. They're a bundle that represents a story. I tap into that bundle, and the first item is some text for that story that I can have read aloud. I swipe forward, and I have a short video. This was a really cool one about a taqueria in Florida that serves lion tacos. I don't know how I feel about that, but I thought it was interesting. Now what's neat about this is that when you put on Glass, the first thing that you notice is how brilliant the screen is. You can see images in really high fidelity, and videos look really cool on Glass. And having CNN send me these short video from everywhere in the world throughout the day, and I can look at them whenever I want, is really a unique experience. Twitter. Twitter and Glass, they just work so well together. There's a bunch of stuff that you can do with the Twitter Glassware. You can get tweets from plus mentions. You get the tweets that you have mobile notifications turned on for. So if I have mobile notifications turned on for my friend, Sydney, as he tweets, I get those on Glass. You get direct messages, and you can respond to those messages. And you can share a picture from Glass directly to Twitter. And it'll post it as a photo tweet. A tweet on Glass looks a bit like this. As you know, our friends from NASA just returned to Earth. And it was really fun watching all of their updates getting retweeted by NASA astronauts and getting that on Glass throughout the day. Because they're updating about their return and their tests and seeing their family. And if I want, I can reply to these tweets, I can retweet, and I can favorite right from Glass. Super simple. And because Twitter is that short message model, it just makes a lot of sense on Glass. Another thing that I really love about the Twitter Glassware is this direct messaging capability. Now here Alain sent me a DM asking if I was ready for the afters hour party. To which I replied, most certainly. Because of course I was. It was awesome, right? Yeah. It was a good party. I think that might be the best I/O party yet. Anyway, I hit Reply. I saved that message. And that gets added to the thread on Glass. Remember, I talked about these bundles and threaded bundles? All Twitter had to do was insert one more item, set the bundle ID for that bundle-- which is any arbitrary string it decides. Maybe it's an internal representation of this conversation-- and that bundle grows. And it keeps growing as we reply back and forth to each other. It's pretty neat, huh? All right. Let's talk about Evernote. Evernote, as you know, is great for taking notes, capturing ideas and experiences, and collaborating with your friends. One of the things that I do, one of my patterns with Evernote, is I'll take notes and then I'll reference those notes. I do shopping lists all the time on Evernote, my common shopping list every week. And then I add items, remove items. And then I'm in the store, and I have my phone out, and I'm looking at that shopping list. And it's much cooler having that experience on Glass. So here's my shopping list for Google I/O. I'm not sure that I got that last item, but I did get the extra socks. Now on this Evernote note, if I tap on that Share arrow, I get all the places I can share this note to. And of course, I'm going to tap on Glass to send this note to Glass. Now Evernote, since this is primarily text, they do that thing where they insert a Timeline item that's text, and it autopaginates. In this case, it's the shopping list. It's simple, and it's easy. I can see it on Glass, so I can go through the store and buy these extra socks or unhealthy energy drinks without having to go back and forth to my phone. It's a really cool experience. All right. Let's talk about Facebook. Facebook for Glass lets you share your photos on Facebook. And you can choose who you want to share with, and you can say something to add a description. In this case, we've got this photo that I've taken on Glass. Now I'm going to tap that image, and I get options for Share and Delete. This is just, at this point, a picture on Glass. When I tap on Share, I get my whole list of sharing contacts. And one of them, once I've set up the Facebook Glassware, is going to be much friends on Facebook. Now you can also share with public or with just yourself. I'm going to tap on this sharing contact. And what Glass does is it creates a new image on my Glass Timeline. This time it's owned by the Facebook Glassware. They get a notification I tapped on that Share target. And what Facebook is doing is it's going back to that Timeline item and adding a new menu item, Add Description. So this is immediately posted to my Facebook Timeline, but I can tap here and add a description, say these are white stargazers. And then Facebook will update that Timeline item to also include that caption, that description. And it updates the post on Facebook as well. Now that picture is going to show up on Facebook, so my Facebook friends can see it when they visit my profile. This pattern here is the ability to share a photo, delete it right away if it's an oops moment. But then add a description is really key. Because I can do all those things with Glass and sort of just having that quick experience or add a little bit more information to it. I really recommend this pattern. All right. Let's talk about "Elle." Now I am not the target consumer for "Elle." But what they're doing with Glassware I think is just really cool. They also have this great Settings page. And they're a really important, maybe the number one, fashion magazine out there in the world, part of the Hearst collection of magazines. And it's a neat experience on Glass. You can select on the Settings page for all these different topics, much like you do on CNN. But "Elle" does something else that's really cool in the moment. As I get these items on Glass throughout the day-- and this is a bundle with multiple pages-- and I tap on any one of those pages and I get this menu, I can have this read aloud, I can share it, or right there in the middle I can add to my reading list. Now I love this flow for three reasons. First off, I think it's cool for the user. As I'm reading "Elle" or other articles on Glass, a lot of the time having that headline or that little bit of information is exactly what I wanted. I'm good. But sometimes it's like, oh, I want to read more about this later. Or maybe I want to bring it up on my computer at work on a big screen and share it with my friends. How do I do that? Well, I tap on Reading List, and "Elle" adds this to the Reading List on that Settings page I showed you, right at the bottom. And it's all of the links that I've saved throughout my day. So it's cool for the user. It also helps me, as a user, spend more time with "Elle." because now I'm also on their web product. And finally, it helps "Elle" know what are some of the articles that I want to spend more time with later, not just the updates throughout the day. So it's really good for the user, and I think it's really good for the brand. All right. I want to do one more example. And I love this story. Ice Breaker is here at Google I/O. Whereas this isn't released on MyGlass website, you can go to this website, and you can install it while you're at I/O and play with each other. This is a game. A lot of what we've talked about so far is very productive, and sharing with friends, and it's a lot of fun. But also, I want to have a whimsical experience with Glass. Now these three guys got together at one of our Glass Foundry events, met each other, built some awesome Glassware, and won first prize. And afterwards, we were hanging out, and we came up with this idea of Ice Breaker. And they built it for Google I/O. This is what you do. You land on their page, the icebreaker.io, and it's going to walk you through the whole flow. But let me just touch on what happens. First off, they send a welcome card. And this is something "Elle" does as well that I really like. When you sign up for the Glassware, it immediately inserts a card into your Timeline, so you know it all worked, and the user gets that kind of warm, fuzzy feeling, like now I'm signed up for Ice Breaker. And it tells you a little bit about what's going to happen next. As Ice Breaker gets location updates for where you are, it'll find somebody else also playing Ice Breaker and sends you a card with their photo and their name and the encouragement to go meet them and have a conversation, or break the ice. You can get directions to this person, you can pin or unpin this card, and you can also give up if you can't find them. Now let's talk a little bit about those last two items. First, the pinning, what this does is when I pin a card, it's a System Menu item. It takes that card and puts it on the left side of the Timeline. That's the space reserved for things going on right now. Google Now is over there. You've got your weather card, maybe some stocks that you're following, or other third party Glassware that you've pinned. In this case, I'm looking for Jonathan. I want to make this new friend, so I'm going to keep it pinned to the left side of me Timeline so I can look back and like, OK, have I found him yet? It's like a fun person scavenger hunt. The third option there is to give up. Glass is a very now device. Remember that? So in the patterns of doing something with Glassware, like breaking the ice and finding people to do that, what happens if I can't find Jonathan? And in fact, Ice Breaker knows, since it's getting location updates, if we get too far away from each other, it'll send me a new person still at the conference that I can find and make new friends with. It's really cool, because it's in the moment, and it matters to me right now. Now I find Jonathan, and we have a conversation. We get to know each other, and I take his picture, and I share it with Ice Breaker. He then gets a notification being like, did Timothy really find you? And did you have a good conversation? If the answer is yes, then I get more points. And I keep looking to make new friends who have Glass here at Google I/O. Again, I really recommend you try this. It's a lot of fun. All right. Let's talk a little bit about next steps, shall we? We've talked about developing for Glass. That was this session. There's three more sessions today, details about the Mirror API, building Glass services right away. "Voiding Your Warranty." If you want to go off-roading with Glass, cut loose, and do some crazy stuff-- or do some not-so-crazy stuff, they'll talk about that too-- you can go to the "Void Your Warranty" session. Now when I mentioned the GDK, that's something you're like, oh, that's what I really need for my service, which might happen for a few of you, that's a good place to go and get some more material to start dreaming up those experiences and give us some feedback about that GDK. The Fireside Chat with the Glass team. That's at the end of the day. That's going to be a conversation. I'll answer just a couple questions here today. But some of the bigger questions, I might be like, come to the Fireside Chat. And of course, please do bring your big questions there. We also have a Sandbox out here on the floor at Moscone Center. So if you are live with us here at Google I/O, please come by and say hi. And let's have a conversation about this stuff. And visit some of our partners who are showing off their Glassware there in the Sandbox. Now we have some resources as well. If you have questions, go to Stack Overflow. There's a Glass tag. If you want to download some code and get started with some starter projects, GitHub is the place to go. And of course, we have an issue tracker for any bugs that you might find. Remember, we're in the developer preview period. So these conversations that you have on these resources are really helping us get this API ready for the real world. And the Mirror API is if you want to develop Glass services that people are going to use and that you'll be able to distribute to users soon, then that's where you start. And if you want to get in depth with some more conversations about Glass, we have a general community. For those of you that do have Glass, you have access to this site, glass-community.com. Thank you so much. [AUDIENCE APPLAUSE] TIMOTHY JORDAN: All right. So we have about seven minutes for just a handful of questions. Please head over to the microphones. There's one over here as well. Please know that if you ask about feature requests, I definitely want to hear them. That's what this explorer period is all about. However, I'm not going to be able to comment on any future releases or plans. Yes. AUDIENCE: Hi. Know John Blossom, Shore Communications. On the API where you're showing the ability for individual apps to have command cards, are those commands specific to the app or specific to the content? Because it doesn't look as if we really have the ability to do the equivalent of tapping on hyperlinks in that HTML. So is anybody thinking about how do you disambiguate between buying this and buying that, say? TIMOTHY JORDAN: That's a great question. So I think the question is really about the Menu options on the Timeline item. So the way you do that is that when you insert the Timeline item, part of that JSON in that structure is all the Menu items that you want to appear with that Timeline card enumerated. AUDIENCE: OK. So it's content-specific? TIMOTHY JORDAN: It's content-specific. But you can build this however you want in your app. So if you have a template of menu items for every certain kind of Timeline item that you insert, and you just slap that into your JSON every time, you can do that. It's really under the control of the Glass service. And those can be the System Menu items, like Reply or Read Aloud, or they can be any custom items that have whatever name you choose. AUDIENCE: OK. TIMOTHY JORDAN: So let's say you want to include a hyperlink and you want to give the user the option to save that for later, for when they're at their computer, you can add that as a Menu item. AUDIENCE: Cool. And will the GDK, as it's conceived today, include signals from the headset? Can you read from the headset things besides what are on the command cards? TIMOTHY JORDAN: So there will be. I don't have any details about exactly what. But there will be access to some of the hardware features of Glass exposed in the GDK. Now the GDK itself-- I'll add a little bit more information for those of you that didn't rush off to another session-- is essentially developing for Android with an extra library. So if you've already use Android and you know those paradigms really well, you'll be able to download additional code to target against that'll give you more functionality specific to Glass. AUDIENCE: Cool. Thank you. TIMOTHY JORDAN: You're welcome. Question over here. And then we're just going to go back and forth. AUDIENCE: Hi. Steve Ogden from Starz. TIMOTHY JORDAN: Hi, Steve. AUDIENCE: Wondering, are you adding any new sensors? And also, could you go over the existing sensors within Glass? TIMOTHY JORDAN: So I can tell you what the user has access to today. There is sort of an accelerometer. They know if you look up to turn on Glass, like I just did. There's a camera, and there's a location built in to the paradigm as well. When it comes to the GDK, the best thing to do is if there's a specific sensor that you want, make sure that you let us know on Stack Overflow. Here's my idea. I want to make sure I have access to this. And then we'll work on that. AUDIENCE: OK. Thank you. TIMOTHY JORDAN: We'll do our best. Thank you. AUDIENCE: Hi, Tim. Antonio [INAUDIBLE] from [INAUDIBLE] Apps. TIMOTHY JORDAN: Hi. AUDIENCE: Hi there. You were my target for Ice Breaker, by the way. So I need to take a picture of you right now so I can send it to them. Awesome. So two quick questions. You insisted that the image resolution should be 640/360, but everything we send to Glass goes through Google, right? TIMOTHY JORDAN: Mm hmm. AUDIENCE: So is Google doing some processing of the images, like if we send something that is too big, you would reduce it for us so that it gets the right resolution for the user? TIMOTHY JORDAN: There's a lot of optimization that we do before the user sees something on Glass. And I'm sure there's more that we could do over time. But the reason I say you should set the resolution to full screen is that that gives you the most control over resizing and how it's going to look when it's full screen. And that's always better. AUDIENCE: OK. The second question is you showed a few apps, like Facebook, Twitter, Path, "New York Times". Are you going to have an app store or a place where you can actually publish your app? TIMOTHY JORDAN: Yeah. AUDIENCE: As an app developer, I'm interested in publishing my apps there. TIMOTHY JORDAN: That's a really great question. As everybody here knows, because we're all developers, a healthy ecosystem involves some story around discovery. And right now, if the user wants to add one of these Glassware or Glass services, they go to MyGlass, they've got cards, and they can turn them on. And we believe that that's a great paradigm for showing users how Glassware is there. At the moment, we're still in developer preview, so we're still working on the details about how that's going to evolve and how additional third-party Glassware is going to get in there. And those details will come. But we're definitely going to have something. AUDIENCE: Cool. Thanks. AUDIENCE: Hi. I'm Danny [INAUDIBLE]. I had a question about best practices. I was speaking with CNN, and they mentioned that in their Glassware app they were advised not to use the Delete function. And I was wondering, why would Google advise them not to use that function? Because you mentioned it. TIMOTHY JORDAN: That's a great question. Yeah. I talked about Delete and Dismiss. Now in the case of sending data to the user that the user's going to look at and be like, hey, this is cool, having them be able to delete them encourages sort of a user paradigm of curating their Timeline. Which doesn't really make sense on Glass, because, remember, there's this single Timeline that stretches into the past. And since it's such a now device, I'm going to be looking at the recent few cards. I'm not going to scroll to a week ago. So why would I need to curate it? AUDIENCE: Exactly. OK. Makes sense. TIMOTHY JORDAN: Yeah. AUDIENCE: Hi. I'm Lucas from [INAUDIBLE]. And you talked about you should test the Glass in our apps as much as possible. But how much earlier will get the other developers the Glass before the customers will get them? TIMOTHY JORDAN: So you're asking, are we going to make more Glass available before we're selling to consumers? I don't know. AUDIENCE: OK. TIMOTHY JORDAN: Right now, we've just sort of finished fulfilling and inviting people that have signed up at I/O last year. And we're going on to the "If I Had Glass" winners. That's the next big thing. What's next? I'm not sure. I'm sure we'll let you know. A way that you can make sure we let you know is if you go to google.com/glass, in there is a web form where you can indicate your interest and say that you're a developer. AUDIENCE: OK. Thanks. TIMOTHY JORDAN: Thank you. AUDIENCE: Hi. I'm Sebastian from [INAUDIBLE]. I'm just wondering what features you're going to allow us in the GDK. One of them that would be interesting is, are you going to allow us to have access to the video stream so they we can display information directly on what we are seeing, something similar to layers on Android, but for Glass? TIMOTHY JORDAN: As I said before, I can't comment on any feature requests. But I like hearing them. I think right now the right time to think about this is use the Mirror API. Your dream for Glass, can you build that in the Mirror API? And what that's immediately going to tell you is, is this going to be a simple and quick user experience that makes sense on Glass? And if it becomes really complicated really quick, sometimes that might make sense for GDK, or maybe it makes sense that it doesn't work on Glass. But please do go through that process of design thinking about how this would work on Glass, and let us know in the forums. AUDIENCE: OK. Thanks. TIMOTHY JORDAN: Thank you. And I think, with that, we're just out of time. Remember that we have the Sandbox area. Please come up afterwards. And let's keep having this conversation. Thank you so much.
Info
Channel: Google Developers
Views: 33,550
Rating: 4.8208957 out of 5
Keywords: primetime, gdl, projectglass, i-o
Id: UK8Ho4p3bZc
Channel Id: undefined
Length: 58min 42sec (3522 seconds)
Published: Thu May 16 2013
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.