Subtitles section Play video Print subtitles [MUSIC PLAYING] EITAN MARDER-EPPSTEIN: How's everyone doing today? Yeah? Good. All right. Well, welcome to Google I/O. My name is Eitan Marder-Eppstein. And I am an engineering manager here at Google. And I work on augmented reality. And I'm going to take a few polls throughout this talk. And the first one is how many of you are familiar with augmented reality in general? OK. Every time I give a talk like this, more hands go up, which is a really, really great thing. And today, what I'm going to do is give a quick refresher about augmented reality for those of you who maybe aren't quite as familiar with it, and especially how augmented reality relates to smartphones, which is something that we're really, really excited about here at Google. And then I'm going to talk about some of the things that we're doing at Google to improve our platform for augmented reality and the capabilities that we give to some of these devices. All right. So I need my clicker. So I'm actually going to go over here to get the presentation started. But off we go. So smartphone AR stems from this observation that over the last decade, our phones have gotten immensely more powerful, CPUs and GPUs have improved a lot. But the ability of phones to see and understand their environments, and really make sense of the world around them, until very recently was largely unchanged and limited. So if you pointed your phone at this table, it would allow you to take a picture of the table or even a video of your friend climbing over the table. But your phone wouldn't really have an understanding of the geometry of the table, of its position relative to the table as it moves through space. And so what augmented reality seeks to do on smartphones is to take all of this amazing advancement in computing power and leverage it to bring new capabilities to your phone, and to take your phone from beyond just the screen, beyond its own little box, to expand it to understanding the world around it. So now, when my phone looks at this table, it can see that there's a surface there, that there are chairs next to it. And as I move through the environment, my phone can actually track its position as it moves. And we think at Google that augmented reality is really exciting. And we've been excited to see some of the stuff that you've built. And we've categorized it into two main buckets where we think augmented reality can be really, really great for applications. So the first bucket is we think that augmented reality can be useful on smartphones. So recently, I was remodeling my kitchen. All right, another poll-- how many of you have remodeled anything in a house? All right. So if you've done that, you know that measurements is a real pain. And what I needed to do was measure for a backsplash. We were buying some subway tile for our kitchen. And I, instead of taking a tape measure out, actually pulled out my phone, went to my counter, and measured from point A to B to C. And I did all of that without moving any of my appliances where I would have normally had to move in order to get an accurate measurement with my tape measure. So AR can be useful in that way, just from providing a better geometric understanding about your environment. AR can also be useful for shopping applications. So recently, we had some very old chairs at my house. And my partner and I were looking to replace them, kind of like these chairs here. And we were getting into a debate over which chairs we liked more. And so with augmented reality, we were able to take a 3D model of a chair, place it in the environment, see the exact size and scale and color. And we could have our arguments about inevitably what kind of chair we would have at home rather than exposing everyone to it at the store, and be more targeted about how we made our purchase and even buy this furniture online and feel much more comfortable with it. So that's how AR can just provide more utility in your daily life. But AR can also be fun. So imagine a character running across the floor, jumping onto this chair, and jumping onto this table, or me sitting in one of these chairs and having the floor drop out from under me to create an ice fishing game. Ice fishing sounds a little bit boring, but I can tell you that in this game, it's actually a lot of fun. And AR can also be used for creative expression. So here, now in your pocket, you have a lot of ability to go out and create new things that were previously only capable to be created by professionals. So you can generate computer-generated content on the go, on the fly. You can take your favorite character and put them into your scene, and have your friend pose next to them. Or you can take pizza or hot dogs or your favorite food items, as we showed here, and put them on the table in front of you. But now, you have this amazing video editing capability in your pocket. And for those of you who have seen our AR Stickers application on the Google Pixel phone, you know what I'm talking about. And for those who haven't, please check it out. It's really, really cool to have this creation power in your pocket. All right. So that's great. AR can be useful. AR can be fun. But how do you actually build applications for AR? How do you get involved as developers? This is a developer conference. So how many of you are familiar with ARCore, when I say ARCore? All right, about half of you. So ARCore is Google's development platform for augmented reality. We want to make it easy for you to build applications that take advantage of these new capabilities that phones provide, of the ability of phones to see and understand their environments, and to build applications that actually react to this understanding. And ARCore was launched a few months ago. And it provides three main capabilities to allow you to do this. The first is something we call motion tracking. So here, consider the example of taking the Scarecrow from "The Wizard of Oz" and wanting to place the Scarecrow at a taco stand and make it seem like he's waiting in line for tacos because everyone loves tacos. So here, if I look at the Scarecrow with my phone, ARCore actually understands its position relative to a virtual object that I've placed in space. So as I move a meter forward, the phone knows that I've moved a meter in this direction. And as I turn left, the phone also knows that. It's able to track its motion as I move through space. And now, if I combine that with my desire to place the Scarecrow a meter in front of me, I can put the Scarecrow right here. And as I move my phone around, I can change where I'm rendering the Scarecrow in the virtual scene to match my physical environment. So that allows you to register virtual objects to your physical scene in a very natural and intuitive way. The second capability that ARCore provides is something called lighting estimation. So here, continuing our "Wizard of Oz" theme, we've got the Cowardly Lion. And when you turn off the lights, say we want to make the lion afraid because it's cowardly. So here, ARCore is looking at the camera feed and it is estimating the real world lighting of your environment. And with that estimate, ARCore can now light characters in a realistic fashion, helping you to build a more immersive experience that looks natural because the virtual objects that you're putting in your scene look correct. So you can see the tone on the lion change when it goes from light to dark. And you can even script interactions for your characters. In this case, making the lion afraid when the lights go off. And the third capability that ARCore provides is environment understanding. So here, as ARCore is moving around the world and it's tracking its motion and it's also estimating the lighting of the environment, ARCore is also trying to recognize surfaces. So ARCore might recognize this plane below me which is the ground, or this surface here which is the table, or even maybe this vertical surface behind me. And it allows you to place objects that are grounded to reality. So if we want to place the Android character on this table, I can detect the surface and actually place my virtual character on a physical object in the world. So those are three capabilities-- motion tracking, lighting estimation, and environment understanding. And when you combine them together, it allows you to build these experiences that were previously impossible, that bring the virtual and physical worlds together and meld them into a new reality that enables people to see and experience your application in a new and different light. And we're really excited about this and the opportunity to bring apps to our ecosystem for it. And so we have worked really, really hard to expose support for ARCare on as many devices as possible. And with help from our partners in our Android OEM ecosystem, today ARCore is supported on over 100 million devices. And we're working to increase that number every single day. We believe that augmented reality is a next shift in computing, and that soon everyone will take for granted that this power is in their devices. So that's our scale. But we're also interested in scaling the capabilities of ARCore. We want to teach ARCore to do new and interesting things. And that's what the rest of the talk is going to be about. So today, we're announcing some new things in ARCore. And they fall broadly into two categories. The first is we're announcing some new capabilities for ARCore, improving what these devices can do. And those are Augmented Images and Cloud Anchors. And we'll talk about them in the talk today. And then we're also announcing some new tools for ARCore. One new tool is how you can use augmented reality on the web, which we think is really exciting. And you can check a talk to that later today at 12:30 PM. And another is how you can more easily write 3D applications for Android and AR specifically. We've introduced our scene form library, which is a helper library for 3D rendering on Android. And we encourage you to check out that talk at 5:30 today. So enough about the preamble. We're now going to get into the meat of it and talk about what's new in ARCore. And I'm going to kick it off with our first feature, which are augmented images. So augmented images stem from your feedback. We've heard you as you develop augmented reality applications, ask us, hey, AR is great. Wouldn't it be better if we could also trigger augmented reality experiences off of 2D images in our environment, like movie posters or textbooks? And so augmented images seek to do just that. Augmented images provide a mechanism to take a 2D texture in the world and make it more engaging by expanding it to a 3D interactive object. And to show a concrete example of this, consider the case where we have a new children's toy. It's called Castle Toy, I think. And we have told ARCore, hey, we want you to recognize the surface of this Castle Toy box. So now, as part of the product, you can hold up your phone to it and you can actually have an immersive experience come out of that box, a more engaging experience for your product. So augmented images allow you to detect these kinds of textures. And then script behaviors, and take this 2D flat surface and turn it into 3D, which we think is really exciting. And it's based on your feedback. You told us that you wanted this feature and now we have it. So that's the future in a nutshell. But I want to tell you about how it works and also how you can use it in your applications. So augmented images fundamentally work in three major steps. The first step is you need to tell ARCore what images you're interested in. And there are two ways that you can do this. The first way to do this is to tell ARCore that you want to detect certain kinds of images in real time. So you could download an image from a server. You could have it bundled in your application. And you tell ARCore at runtime that, hey, please load this image, learn how to detect it in the scene, and tell me when you do. The second option is to tell ARCore in advance. So we've provided tools where you, on your desktop computer, can take up to 1,000 images and train ARCore on them in an offline fashion, saying, I would like you to be able to recognize any of these 1,000 images when I run my application on device. All right. So the next step is now that we've trained ARCore to recognize these images, we actually want to detect them on device. We want to show ARCore a scene and have it detect the images that we've trained. So now, when ARCore moves around the environment with your phone, ARCore will also look for textures in the environment and try to match those to the textures that you trained on. And when it finds a match, ARCore provides you information on that match with the third step, which is it gives you a tracked object. So for those of you who are familiar with ARCore, tracked objects are a notion for the physical objects in space that ARCore knows about. To this point, that's been planes like these surfaces, both horizontal and now vertical. But it also can give you points in the environment of interest that you can attach to. And now, an augmented image is just another tracked object. So you use it just like you would use any plane or any point. And you can attach your virtual content to the detection of the physical object in the world. So that's it. Really simple, three simple steps-- number one, tell ARCore what you're looking for. Number two, have ARCore detect objects in the scene. And number three, attach your virtual content to these physical objects. And because this is a developer conference, I want to show you those same steps in code. We're going to go through them in Java really quick. But this is also the same for Unity and Unreal. The concepts apply across all of our development environments. So we'll go through the same exact steps again. Step number one is you need to add images to ARCore's memory. You need to tell it what images it's interested in. And so here, we're creating this new augmented images database and just adding an image to it. And we're doing this in real time on the phone. Now, this is a little bit expensive. You have to pay a cost, computationally, for each image you add. So a little bit later, I'll also show you how to create it with the alternate flow on the computer. But once ARCore has a database of images that it can detect, we go to the second step. So the second step is ARCore is always looking for those images for you. And you can get it from the AR frame, each and every frame that AR sees or that ARCore sees in the world. So now, you've got a list of all the augmented images in the scene. And you want to attach virtual content to it. So that brings me to the third step. So for step number three, you just take the augmented images, the augmented image that you want. And you create an anchor off of it. And then you can attach virtual content to that anchor. And it's the same as you would for any kind of plane detection or point detection that you've been used to in the past. So that's it, three simple steps. And if you want to do the pre-computation on the computer, this is what you run. So there's a command called build-db. And you can pass up to 1,000 images into this command. And it'll build an image database in advance that you can then load in ARCore using this code. So this loads the database from file, pulls it in. It's computationally efficient because ARCore has already done the work that it needs to to be able to recognize these images later. And now, you can go off and running with the same other two steps that we showed before, which is detecting the image and then placing content relative to it. All right. Pretty simple. Now, I want to show you a demo of this in action. So we're going to switch to the Pixel phone here. And we're going to run this augmented images demo. So here, we've actually trained ARCore to recognize this poster on the wall. And so when I look at the poster, you can see that it fades out and it goes from 2D into 3D. And now as I move, the perspective that I see changes. So I've got a 3D object coming out of this 2D texture. Nothing's really changed in the world. But I can make it more engaging and immersive. All right. So that's the demo of augmented images, pretty simple. And now, I want to talk a little bit about some use cases. Posters are great for demos, but we think augmented images have a lot more potential as well. So the first use case that we're excited about is education. Imagine a textbook coming to life in front of you, or going into a museum tour where artwork on the wall jumps out at you and gives you more information about the artists or maybe their progression as they were sketching a painting. We think augmented images are useful for advertising. Advertising is all about engagement. Imagine being at a movie theater and holding your phone up to a movie poster and having content come out or telling you showtimes. Or imagine being at a bus stop with a little bit of time to kill and engaging with the ad that you have on the side of the bus stop station. We think augmented images can also be useful for the products that you're advertising. So here, you can build products that meld the physical and digital worlds, that bring both together. It could be Castle Toy, where you have an experience that comes out of the box itself, or it could be a how-to guide for your coffee machine as you try to make coffee for the first time with your expensive espresso machine and you have no idea what to do. So we think augmented images expand the capabilities and usefulness of AR in general. And we're really, really excited to see what you build with them. And we also are not done yet. We're going to talk about one more feature today. And for that, I'm going to bring out James Birney, who's a product manager who works with me. And he's going to talk to you about Cloud Anchors. I think you'll really enjoy it. Thanks very much. Come on up, James. [APPLAUSE] JAMES BIRNEY: So real quick, before we get started-- you guys have been sitting for awhile. And I really like doing this at the beginning of our things. We're going to do the wave real quick going across the room. All right? You guys ready? Laptops ready? All right, three, two, one-- up, up, up, up, up, up, up. Yay, ARCore. Woo-hoo! It worked. [LAUGHS] All right. Thank you, guys. All right. So like Eitan mentioned, my name's James Birney. I'm a product manager on ARCore, and specifically on Cloud Anchors. Raise your hand if you saw the Cloud Anchors announcement yesterday. All right, good. That's slightly more than half, awesome. So that's what we're going to cover in this section. Hopefully you guys are going to be really excited by the time we get through talking with Cloud Anchors and you're going to want to immediately start building. So before we hop into Cloud Anchors, it's really important to start with where AR is today. So could I get a quick hand if you've built an AR app before? All right, so that's roughly about half of you. So for the other half, what happens when-- let's say that together we're going to build an app where we're going to place some dinosaurs. And so we're going to have a T-Rex over here and maybe a Triceratops over here. And they're going to interact. The way that we would do that in the AR app today is we would plant an anchor. And then the T-Rex and the Triceratops would be placed as relative offsets from those anchors. And that becomes your reference frame in your AR app. Now, let's say that Eitan were to come back up on stage. He's not going to come up because that's a long walk. But Eitan goes ahead and creates a separate dinosaur app over here. And he places, say, a bunch of pterodactyls. And again, he plants an anchor. And his pterodactyls are all placed relative to that anchor. Now, what's missing is Eitan's app is running in a different reality, a different augmented reality than the app that we have over here. And the reason why is those two anchors can't talk to each other. So this is what Cloud Anchors solves, is we give you the ability to create a shared reference frame. So that reference frame I was mentioning before, where you have the anchor and you have the offsets to our T-Rex and to our pterodactyl, that now, we can have a common anchor in the middle and all the AR content. So everything from pterodactyls to T-Rexes are able to then interact and play. And then you can create these really fun experiences where not only is my content interacting with Eitan's content, but I can control Eitan's content. He can control mine. That's pretty cool. So that's kind of an abstract thing where I'm literally moving my hands around onstage. A more concrete example would be our Just a Line app, which if you haven't seen it before is an experimental app that we as Google built. It literally draws a single line in space. And what we added to it is the ability to do not just one artist, but multiple artists drawing in the same space. So I'm going to show you an extended version of the video they showed you really quickly yesterday, where you can see multiple artists drawing together. And hopefully you see from this video the powerful experience that you get out of this, where now, you're able to interact with your friends and draw together. And when one person draws a line, you can build on top of that. So I'll give it a second here for the video to finish and for you guys to absorb what's going on because that's a new concept. OK, so let's talk a little bit about how we create these cloud anchors. We've done an awful lot of work to make it very simple. So it's only a few steps. Let me walk you through them. So step one is-- let's say in this example, we make our stick woman. Her name is going to be Alice. And Alice is going to place a cloud anchor. Now, the verb that we use to create a cloud anchor is called hosting. The reason why is we're going to host that native anchor up to the cloud. So when we host that cloud anchor, the features which are the visual features in the environment. So let's say that Alice is standing here. And as Alice is looking at the table, she places a cloud anchor or the app will place a cloud anchor for her on the stage, right here next to our beautiful succulent. Do you guys like our succulent? OK. [LAUGHS] Thank you. I appreciate the one person. OK. So what the phone is going to extract from the environment is all the points where these leaves come to what the phone will see as contrast points, where the colors change, where the lighting changes. So the edge of this table, the edge of this tablecloth, every point where the leaves kind of change, those are the visual features that get abstracted and then get uploaded to the cloud. That then gets saved and processed. And what Alice gets back in a couple seconds is that cloud anchor. Now, in that cloud anchor is a really important attribute. That attribute is the Cloud Anchor ID. So you can think about the Cloud Anchor ID as-- you can think about Cloud Anchors the same way you think about a file. So say you're going to save a file to Google Drive. And when you save it, you need to create a file name, right? Well, with Cloud Anchors, we're going to create essentially that file name or that ID for you. And that ID is the way that you're going to reference it later. Would be really hard to find the file without knowing the name, right? So the Cloud Anchor ID is the same concept. So how this comes into play is all Alice needs to do to get Bob, our stick man over there, to connect to Alice's cloud anchor is to-- excuse me-- is to send over that Cloud Anchor ID to Bob. And that's all she needs to send over to Bob. Once Bob has the Cloud Anchor ID, he then uses the Cloud Anchor ID to-- and our verb here is resolve. In resolving, we'll add the Cloud Anchor ID to Bob's reference frame. So let's say that Bob is standing right here as well. He looks at the same area. The visual features that will get uploaded to the cloud, in the cloud will match those visual features against the visual features that Alice had previously uploaded. And we will give Bob back a cloud anchor that will be relative to where his device is. So even though both devices are in different locations, we'll create the cloud anchor in a consistent physical location. And that's the magic. Because they're in a consistent physical location, you then have a shared reference frame. And then at that point, we can place-- again, let's use dinosaurs because everybody loves dinosaurs, right-- we can place our dinosaurs relative to that cloud anchor and we can start our shared AR experience. Hopefully that makes sense. Oh, cloud anchor comes back. And then I'm going to tie it all together here. We created a very fancy visualization. The orange dots that come up, those are the visual features we were talking about. They go up to the cloud. Bob uploads his visual features up to the cloud. They get matched. And then the two of them create the same shared reference frame. And then once that shared reference frame is created-- wait a second for the GIF to loop around-- you'll see that spaceship show up. And then the two of them can follow the spaceship around the room. And once they're paired, then the devices can go anywhere in the room. And they're in the same reference frame. And they can interact together. All right. So let's keep on going one level deeper, like "Inception," with some sample code. OK, so same format as before, but before we get to those two methods of hosting and resolving, it's really important that we enable the feature. So when you're working with ARCore, interact with the session.config and turn on our feature. You need to do this on all devices. But hopefully this is pretty straightforward. Then on the first device-- so this is Alice's device, the one that creates the Cloud Anchor. The main method we need to call here is HostCloudAnchor. On HostCloud-- and then with-- excuse me. With HostCloudAnchor, you can feed in any preexisting native anchor. So as Eitan was mentioning before, normally this is created from a horizontal plane or now from a vertical plane. And you can pass in that anchor into HostCloudAnchor. Asynchronously that call will complete in a couple of seconds. And what comes back is your cloud anchor. Now, what did we talk about is the really important thing that comes from the cloud anchor? All right, Cloud Anchor ID. Thank you. [LAUGHS] So then, it is completely up to you what means of device-to-device communication you want to use. The demo that we're going to show you in a second uses Firebase. There's also two other demos in the Sandboxes I'd encourage you to check out. Those also use Firebase as well. It's a great means to communicate between. But you can use any means you want. So then on Bob's device-- and it's a really important point here. This is not limited to just Bob. We could also have Bob, Jerry, Johnny, Eitan. And it can be as many users as we want. That all they need to do to join that cloud anchor is receive the Cloud Anchor ID. That's the one that Alice just sent over. And then we need to resolve that cloud anchor. In order to resolve the cloud anchor, it's dead simple. All you need to do is pass in the Cloud Anchor ID. In the background, under the hood, we will take those visual features from what the user is currently looking at. So it's important that the user is, again, currently looking where Alice was. And we'll upload those features and then give you that cloud anchor back. And then at that point, you're good to go. You can start placing assets relative to that cloud anchor. So quick question, what operating system were those devices in that code example running on? Anyone? All right. So the really important point here is Cloud Anchors work on both Android-- which means any ARCore-enabled Android device-- and any iOS ARKit-enabled device, which for today is going to be iPhones. And we believe this is incredibly important to making shared AR a reality. There's no reason that we should discriminate which of our friends can play a game with us based on which operating system they run on their phone. That's not really important to whether or not Eitan and I are friends. If he has an iPhone, he should be able to play shared AR with me, right? So now, I'm going to invite Eitan on up on stage. And we're going to give you guys a live demo. Because it's one thing to say that everything works cross-platform, but it's another thing to show you guys with a live demo. EITAN MARDER-EPPSTEIN: All right. So maybe one last poll just to get started. Who thinks I'm going to win this game? Raise your hand. Oh. Oh, it's tough. All right, who thinks James is going to win? That's the rest of you, right? [LAUGHS] JAMES BIRNEY: So you guys are getting to know Eitan better every minute. And it's really important to know Eitan sandbags a lot. EITAN MARDER-EPPSTEIN: OK. I just got to join this room. OK. So now, I'm going to set up my board. And James, you set up yours. JAMES BIRNEY: Yeah. EITAN MARDER-EPPSTEIN: And you want to get close to me, right? JAMES BIRNEY: [LAUGHS] EITAN MARDER-EPPSTEIN: You need that help. JAMES BIRNEY: I'm also showing off a little bit here. You can see as mine's moving around, the same state is being reflected in both at the same physical location. So I'm going to press that. Here's our futuristic-looking light boards. EITAN MARDER-EPPSTEIN: All right, here we go. JAMES BIRNEY: And we have people in the back that are organizing bets, in case anybody wants to make money off of this. EITAN MARDER-EPPSTEIN: Yeah. So the goal here is to turn the other person's board your color. And I feel like James has been sandbagging me in all of our practice sessions because he's doing much better than he has in the past. Let's see. JAMES BIRNEY: Oh, no. That was [INAUDIBLE]. EITAN MARDER-EPPSTEIN: Oh, so close. Hold on. All right. Just one more shot, one more shot. JAMES BIRNEY: You'll notice that Eitan and I both can't multitask-- EITAN MARDER-EPPSTEIN: Oh, no. JAMES BIRNEY: --very well. EITAN MARDER-EPPSTEIN: Did I get him? JAMES BIRNEY: Oh. All right. Thank you. Hey, it worked. [APPLAUSE] All right. And just to reiterate, so that was an iPhone that Eitan was using. This is a Pixel 2. But this very well could have been any Android ARCore-enabled device. That could have been any ARKit-enabled device. And there's my clicker. OK, so let's talk about use cases. That was gaming. That was an example of gaming working really well. But shared AR does not need to stop at gaming. We think there's a whole lot of other categories where shared AR can make a big difference in the world. Oops. Lance, help me. Can you go back a slide, please? Pretty please? Thank you. OK, so four categories that briefly let's talk about. So one is in the education space. This is an example of-- let me phrase this as a question instead. Raise your hand after I say two options. Option A, you can learn about what it's like to explore on Mars and the Mars missions from a textbook, option A. Option B, you can learn from an interactive 3D model of the Rover that you can play with with your friends. All for option A? OK. Option B? All right. See, we're making improvements in how people learn. And the demo that we're showing you here, this is an example that NASA built for us. This doesn't need to stop at space exploration, although that's a pretty big area to explore. You could do this as well in any sort of visual area such as biology. There's a couple cool demos where you can explore the human body together. And I'll leave it at that. Let's hop on down to creative expression. So you saw our Just a Line example, which is where we draw the white line in space. But we can go beyond that. Take for example this block building app that was built by [INAUDIBLE],, where you can build a full block building thing and then 3D print it later. It's very, very cool. And you can imagine what this would look like as well with the AR Stickers. Raise your hand if you played with AR Stickers. So you can imagine what this would look like if now as you're placing Stormtroopers or-- help me, the Demogorgon-- as you're placing Demogorgon, someone else can place El and have the fight be between your different phones. That would be a very fun experience. Gaming-- so now, you can do ice fishing with your friends. Haven't you guys always wanted to do that? [LAUGHING] Believe me, it actually is an awful lot more fun than it sounds when you just say ice fishing with your friends. It's particularly fun on a hot day in San Francisco to be able to look down at the sidewalk and turn the sidewalk into a ice fishing pool. Beyond ice fishing, you can imagine playing laser tag with your friends. Can now be just with your phones. You don't need to buy special gear. You can just-- two people, quickly pair, do host and resolve. And then you're off and going, and playing laser tag with as many of your friends as possible because Cloud Anchors are not limited just to two devices. You can use n number of devices. And then shopping-- so how many of you guys have bought something and then had your partner, when it actually showed up, veto it? Then you had to return it. Show of hands. Yeah, that's a big pain, right? Then you have to go through find the UPS store, the FedEx store, mail it back. That's not a good experience. It's a lot better if you can preview it with your partners. So now, with Cloud Anchors, if I'm placing a speaker system here, I can have my wife also look at that speaker system from her phone. And there's a feeling of consistency and a feeling of trust that you built if you're the advertiser or the e-commerce site-- that if you have two users looking at it and it shows up consistently for both of them, you build this trust that the product I'm buying, when I'm previewing it, is actually going to look that way when it shows up. Because it's showing up on multiple devices. All right. So that's everything for Cloud Anchors. Now, let's talk about getting started. So ARCore, no surprise, already supports Unity and Unreal, your standard game engines. And then obviously we support Android Studio for Android Native Development. As well, since Cloud Anchors are cross-platform, we provide a SDK so that you can do your development Xcode as well. All four of these environments are live as of yesterday at 1:00 PM. [APPLAUSE] Thank you. So for the folks here at I/O, you guys have a bunch of resources-- or you folks have a bunch of resources that you have at your disposal. Please take advantage of them. There are three awesome demos in the Sandbox. If you guys liked playing Light Board, and especially if you want to play Eitan in Light Board, our Sandbox is right over there in the AR Sandbox. Eitan will be there up until somebody beats him. Right, Eitan? Yeah, thank you. We also have the Just a Line demo over in the Experiments Sandbox. Please check that out. And then the demo that Eitan showed with this picture frame as well as two others are available in the AR Sandbox. It's a really, really fun exhibit. Please go ahead and play around with it. I suspect it'll give you a bunch of very cool ideas for what you can build. For Codelabs, we have over 80 workstations set up. Please play around with them. Every workstation is also paired with an Android device. So not only can you go through the code, but you can actually compile it onto the phone. And then you can see what the code you just built actually works like on a phone. And then we also have office hours. Please take advantage of that. We have some incredibly intelligent guru staff to answer any questions you have. And then a quick shameless plug. Our team, the ARCore team is incredibly busy giving talks this week. Please take advantage of those. Done an awful lot of work putting those in to you to give you a very concise explanation. There's two more today and two more tomorrow. And then after I/O or for the folks online, developers.google.com/ar has all the extra resources, plus all the Codelabs are also available on there. And again, all four of our SDKs are available as of yesterday. So thank you very much. Appreciate your time. [MUSIC PLAYING]
B1 US cloud anchor augmented ar augmented reality reality What's new in AR (Google I/O '18) 29 5 Tony Yu posted on 2019/01/02 More Share Save Report Video vocabulary