>> Evelyne Viegas: Okay. Welcome to the final session for of the last few days. This session is all talks are all by Microsoft employees. And the first one is going to be a little bit different from all of the technical talks that we've had the last couple of days. It will be by Willie Callison who is European Privacy Director and Michael Brick who is the attorney for Virtual Earth, and they're going to talk about legal implications of geographic data. >> Willie Callison: Thank you very much. Can you hear me? Is the mike on well enough? This is a really bad idea actually to try to get two attorneys into 20 minutes and late in the afternoon and especially Microsoft attorneys because we tend to drone on and on and on. I'm going to talk about one of the bigger legal issues that affects location based services, which is privacy. And then Michael will talk about a slice of the technology in the different legal issues that affect it and that's more aerial imagery and the different aspects of aerial imagery. So I'll try to keep the slides fairly light. We tried to trim the text a little bit. First what I want to do is kind of lay the ground work for what we're talking about when we talk about privacy and what the considerations are, then a list of a few things you should avoid or areas that cause concerns and then a few things that you should look at trying to do as you're developing products. The first bullet here, personal data could be the topic of an entire seminar on its own. Personal data depending on where you are, what you're looking at is a very broad concept. And I should talk about first the geographical jurisdictions of privacy. I mean, you obviously have been United States and if you're services are limited to the United States that's well and good. If you have a global service you also have to think about Europe, you have to think about Canada, you have to think about individual states who have privacy laws, like South Africa and Russia and various Middle East turn countries now have their own privacy regimes. Those different regimes will define personal data in different ways and the way Microsoft approaches it we try to set the highest bar possible so that we have a global program. So by and large what that means is we look at European rules. The European rules are the most stringent privacy rules around the world and they are being exported to other countries. So the Russian rules adopted two years ago are very similar to the European framework. The concept at a thumbnail level, the concept of personal data is any data, piece of data that could be used directly or incorrectly to trace back to an individual, a specific individual. So it's not data related to an entity, it's not data related to a place, it's to a person. It's also data that indirectly can relate back to them through the use of other data, so associated data also becomes personal data and also has to be used and controlled within the data protection rules. So the obvious things are names, email addresses, phone numbers, physical addresses, pictures, serial numbers or social security number and so forth. The less obvious ones and the ones that affect technology services most fall into areas like cookies and IP addresses and similar types of machine identifiers or client application identifiers and so forth. Under the European rules, the rules by and large say that you can't process data unless you get user concept, give user notice, give user control of what you're doing. The European rules are a little -- have a few tighter aspects in that even with clear user notice, clear user consent they will add certain requirements like concept of necessity for purpose. So if you're providing a service to the user and you're collecting things like income data and school and education data that doesn't relate to the service you're fulfilling for the user, European rules will say that's overboard you can't necessarily collect that unless you do have a legitimate purpose benefitting the user itself. In Europe there's a split between the concept of opt in and opt out and this is really a default setting so opt out is you essentially say you give the user a notice form that's prechecked and it says can I use this data? And the user unless they uncheck it they've opt -- they have allowed you. Opt in is them making an affirmative selection that you know, checking the box that allows you to use the data. Europe is split and some countries require opt in for everything, France, Germany are the most predominant. Europe differs from the U.S. and there's a big argument going on right now around IP address and by and large what we're recommending product groups right now is that IP addresses in and of itself should be considered personal data in constructing our services and products. In most cases you have associated other data with IP address enough that it is personal. I won't get into some of the other topics. Anonymization is a concept of scrambling or encrypting an identifier so that it becomes unidentifiable. We do that with the live ID quite a bit, we don't necessarily do it with IP address. And the concept of irreversible there is a concept that means essentially we throw away the keys, so we make it unrecognizable and the company cannot possibly go back and trace back to the original user. These are again at a thumbnail level and conclusionary level some of the areas where you should start worrying about your service or your product. Improper notice, the concept here is that you've given the user notice of what you're going to collect, what data you're going to use, what you're going to use it for, but if it's not sufficient you can run into data protection problems. Unauthorized sources, what I mean here is really you collect user data about an individual but they're not your user. You collect data from a user about other people. If you don't have consent from the owner of that data, you can also run into problems. The conversely, if your user gives you data and you make that data available to another person, another user, you don't do it properly, again you run into problems. Unnecessary usages, usually this is for marketing and data mining. So you collect data, you provide a service, you provide a customized service you optimize it for a user but then you're also taking that data and you're using it for market surveys and trying to commercialize it. Empowering big brother, this is really a U.S., European situation right now. By and large Europe is changing its privacy rules with a focus on protecting European user data from the CIA and U.S. law enforcement. So there is a very active movement right now where the European privacy rules are looking at minimizing the data that law enforcement could come after. The last one is very fuzzy concept and it's not really something that they've really concretely started enforcing but we started hearing noise from the enforcers. And this is the idea that especially around social networks and those types of services you are encouraging users to overexpose themselves online or through social networks. And that if you don't go overboard or you don't thoroughly give the users control and mechanisms to change -- to protect their own data, you're in essence misleading them into disclosure stated intent. So very quickly, what to do. Most of these come at the product planning and the product engineering level. The first part is to try to minimize the amount of data you collect in the first place. You're not subject to the rules if you don't collect any perm data at all, so that's the ideal. You rarely can get there with online services. But the idea is to minimize the amount of data you need and try to scramble or anonymize whatever you can, so that if you can create an unrecognizable account number and track that account number without knowing who that account belongs to, that's preferable. Obviously you have to disclose correctly. Engineering your services so that user control is as thorough as possible. So the user has the right to tell you, I don't want to be tracked this time, I don't want to be tracked on your service today or I don't want to be tracked anymore or I want to erase everything that's been stored up till now and start over, those mechanisms go a long way with privacy regulators. Strong takedowns, procedures and mechanisms. Mechanisms we often engineer in, but the procedures also have to be there, so if you get notice of a violation you have to be in a position where you're going to take action on that notice and actually take down the offending page. And finally, we haven't had time to go into it deeply, but there's -- there are a lot of complicated rules about sharing the data with other third party commercial services so managing third party access and cross user access to data is also very, very important. So I'd be happy to take questions at the end, but I'll turn to Michael now. >> Michael Brick: Thanks, Willie. For those of you who I haven't met, my name is Michael Brick, and I am the product group attorney for the Virtual Earth product team and business development teams here at Microsoft. And so I'm going to, there we go, I'm going to focus my comments today sort of on legal issues related to the intersection of location data and imagery. And Virtual Earth and the Virtual Earth platform is a great background for this topic because it is incredibly rich and has so much location data and the ability for end users to sort of correlate that data with imagery is growing, you know, with each release. So it's a great exciting product. I'll focus first on really the regulatory regime related to the collection and acquisition of satellite and aerial imagery and also touch a bit about a sort of popular topic in the press, which is the rights of people caught on film through street level imagery. My comments or my short comments here today really focus on U.S. law and I'll make a few distinctions, and also I won't be talking about security regulations. Those vary by country and it's hard to make sweeping generalizations, particularly in such a short amount of time. But most of you know this, but Virtual Earth has made up predominantly or in large part with third party content and third party imagery, imagery that we license in generally satellite and aerial imagery. And the way that the legal regimes work at least in the United States is that regulation on the collection of satellite and aerial imagery really focus on the generators, the creators of that imagery. So in terms of satellite imagery, it's the satellite companies, the private companies which own those satellites which are regulated. And in particular the U.S. Congress passed what's called the Land Remote Sensing Policy Act of 1992 and that act gave the U.S. Department of Commerce the power to create sort of a licensing and administrative system for the regulation of private satellites and private remote sensing space systems. The Department Of Commerce immediately delegated that licensing power to Noah, and that agency is the agency today which issues licenses for satellite companies. And gives them the permissions, the permission to take satellite imagery. They do inspections, audits, et cetera. So again, the in terms of satellite imagery the regulatory regime is really around controlling the satellites licensing process. In terms of aerial imagery and I have a picture up here of one of our ultra cam cameras and a plane from the Netherlands which flies an ultra cam camera. In the United States the Federal Aviation Administration regulates flight plans. So they do not tell you what you can and cannot take pictures of, but they tell you where your plane can fly. So it's an important but subtle distinction. If you're camera in the airplane that's taking the aerial imagery can take a picture of something in a restricted flight zone, like in Washington, D.C. that's not taking of that building, take a picture of that building in the restrict flight zone is not prohibited. Again, the only restrictions are where the relevant aircraft can fly. So what's the legal question. You know. The legal issue is really can or is it illegal to fly over a private property with a satellite or airplane and take a picture? And the answer is no. In the United States it's not illegal. Courts have consistently held that capturing and viewing satellite and aerial images of a private person's property does not rise to the level of trespass. Trespass is in many ways the primary claim that would be brought, you know, intrusion or interference with a landowner's ownership of their property. So you can even fly over Disneyland and take a picture of Disneyland even though or the Microsoft campus, even though it is private property. And there's a relatively famous case out of California where Barbara Streisand tried to sue a nonprofit organization which was collecting imagery of the California coastline saying, she didn't try to argue trespass, she tried to argue, you know, interference or invasion of her privacy. And she lost and the court held that the environmental group's pictures of the California coastline, which happened to include Barbara Streisand's mansion in Malibu, the capturing that mansion was just incidental to the use of the imagery, and so the group was able to keep the imagery up. But it is important to remember, though, there are special issues around the use of celebrity, images of celebrities and images of celebrity properties. Google made a big splash last year with their launch of Street View. It is a product that got privacy advocates around the world very worked up and promoted a lot of discussion in the press and on blogs. You can see here an example of some Microsoft street level view imagery where it's not particularly good resolution, this particular image, but there are some individuals caught on film there, caught in the crossfire. And so the legal issue or question is whether taking an individual's photograph without their consent is considered an invasion of privacy, and in the United States it's not. You know, the holdings that have continually come down from courts, the legal precedent is that the mere taking of someone's paragraph in public without their consent is not ordinarily considered an invasion of privacy. In the United States we have a very low expectation the courts tell us a low expectation of privacy in the public space. So the issue really is or the question really should be was the photo taken from a public or private space. And there are certainly issues if the photo is taken of an individual in a private space. And we're really here I'm talking about, you know, images where, you know, we catch a person's face and can make out who they are and their likeness or, you know, perhaps we capture their license plate number. And again, there's -- there aren't a lot of restrictions on the use of images which capture people in public spaces. This is much different in Canada so we're told and much different in Europe as well. In particular, the privacy commissioner of Canada has been very outspoken since Google launched the Street View product, and she said -- has said very emphatically on a number of occasions that individual consent would be needed unless the pictures were sufficiently and irreversibly blurred to the extent necessary so as not to be able to identify individuals. And I understand from the same article where I took this quote that the privacy commissioner also said that she has worked out a deal with Google and their Street View product that they would always blur faces and license plates. And the UK Commissioner has weighed in as well and indicated that, you know, if the resolution is sufficient to identify the individual there will likely be privacy issues in the UK with similar type products. So I'll just close as I'm out of time, but I just wanted to emphasize what Willie stated and encourage all of you to really focus on privacy by design. That's a term that's come out of meetings from the European Privacy Commissioners. And what they've said and, you know, what is true, it's much easier to develop and create a product that has privacy designs during the development phase rather than to be told that you have to go back in and try and implement some sort of privacy or takedown measures after the fact within the product. So just, you know, be aware that there's certainly a lot more wiggle room in the United States with regard to privacy at the moment. But to the extent that, you know, our location based products continue to aggregate personal data and images and pictures of people's homes and their backyards and how much they paid for the house, you know, everything that's going on about their lives, regulators will get more involved here in the United States and certainly been the movement in Canada and in Europe. So just food for thought. Thank you guys. (Applause) >> Evelyne Viegas: Thank you, Willie and Michael. I believe they might still be here after the session for questions. We actually don't have time for questions. I'm sorry. The next speaker is John Krumm who most of you know he's a researcher at Microsoft research in Redmond, and he's going to be talking about what kinds of things you can do with lots and lots of data about where you've been. >> John Krumm: Working on. Pardon me? I am, yeah. That works. Okay. The first project is data mining collections for finding points of interest, and the second project is using markup models to predict where a driver is going to turn when he gets to an intersection. So this first project on data mining for points of interest. So a lot of organizations have maps and they have a database of points of interest, but it's hard to keep those up to date. For instance, new things come along, this is a new park that's in downtown Seattle. There are colloquial names for places that you don't get any other way. And some people at the company might just not be brave enough to put in certain points of interest like this one up here. So what we were doing is looking at Virtual Earth collections in order to pull out points of interest and so we got a lot of collection data thanks to Steve Lombardi. Anyone can go make a collection in Virtual Earth, which is just a series of push pins, and maybe you could indicate your favorite golf courses, your favorites Mexican restaurants or something like that. Each push pin has a latitude and longitude because you click where it's supposed to go, and then you can add some text, a title and some notes describing the push pin. So our idea was could we look at this text over here to try to pull out possible names of points of interest. And we looked at 40,000 push pins just around the Seattle area. These collections are growing pretty fast. There are 25,000 new collections that are made public that are coming up every month. The basic approach is what we do is we break apart those collections into individual push pins and then we do geometric clustering on the push pin. So let's say we found this cluster of push pins down here, this is in a park called Merrimar Park, we look at all the text that people typed in these push pins and we looked for short phrases one to three words long and we try to find phrases that occur frequently inside this cluster but infrequently outside the cluster. So it's a TF IFD kind of thing, if you're familiar with document analysis. And so if you can find a phrase in here which occurred frequently but didn't occur frequently outside the cluster, that means that that phrase is probably specific to that area and that might be something that's good to pull out and add to the map. So we did a little user study on that. What we did is we pulled out a bunch of potential points of interest names. Some of them we are able to find in a database of points of interest, so they were already known by our mapping group and some of them were not. So we made maps, paper maps that we showed to people that had six points of interest on them. Three of them were found in the database and three of them were not. The second three were the ones that we found. And we asked people look the a those maps and say, you know, if you recognize the points of interest and it's about the right location, circle it. If it's, you recognize it and it's wrong, cross it out, and if you don't recognize it put a question mark by it. And so the question was are the points of interest that we found that weren't in the database about as good as the ones that were already in the database? So here are the existing points of interest that were in the database, here are the new ones. About 16 percent of the existing points of interest people said were okay. About 15 percent of ours were okay. 1.4 percent of the existing ones people said were wrong. About five percent of ours were wrong. And then by far the vast majority of people just didn't recognize. But this shows that the new points of interest that we were able to find were about as good as the ones that were already in the database. So this is potentially a good way to keep maps fresh and up to date. These are some of the points of interest that we found that weren't yet in the database. The other thing you can do with this is quite a bit simpler and potentially also kind of useful. I apologize for the fonts. When I imported this Power Point or this Excel spreadsheet. So you can rank points of interest by how popular they are. So let's say you have a small screen, you can only draw a small map, or maybe you want to decide, well, if you can draw only a small map you can only show certain points of interest on because you just have -- don't have enough room. Or let's say that you're trying to decide which buildings you want to render in 3D. Well, maybe you could use a technique like this to figure out which points of interest or which buildings are most popular and you should pay attention to. So these are ranked by popularity. Of that region around Seattle, those 40,000 push pins, these are ranked number 31 through 60 popular points of interest, and that's how many push pins we found. And this one over here, I'll just let you maybe try to guess before I show the spreadsheet what the most popular point of interest in the Seattle area was and what number two was and what number three was. I think if you're familiar with this area at all, it's probably pretty easy to guess what number one would be. When you see number two I think you'll say I might have not guessed that but it makes sense, and then number three was a little bit of a surprise to me. So I've got this dramatic building here. (Laughter) So if you said Space Needle you were right. You know, that's by far the most popular point of interest. Pike Place Market is a popular tourist place, so that it seems to make sense that that ranks up here. And then number three oddly is Redmond Town Center which is a shopping mall that's really not all that far from here. So there maybe were a lot of Microsoft people putting in push pins. (Laughter) But so okay, it's number three, it's a little bit unusual but it's kind of in this big equivalence class of things that are about as popular as all the rest here. So these first two are way, way more popular than all the rest of these. Okay. So that's that project. The other one I want to talk about is a markup model for driver turn prediction. Here is say someone gets in their car and starts driving, can we predict the turns they're going to make as they make a trip. So you might be following this white Bronco that's driving around and you want to know which bridge to go stand on next to see this thing drive by. So what we do is we say, well, we have observed the person on the current drive on this segment, this segment, this segment and this segment, can we derive some probability for what they're going to do when they get to this intersection over here? Applications of this might be anticipatory warnings, something is wrong on the road that you might want to know about before you get there, points of interest or even advertising. It would be nice to give an ad before someone is actually driving by the store that you're advertising. And even automatic vehicle behaviors. And you can imagine, you know, for some people maybe want to turn off their blinkers automatically. (Laughter) We base this research on a bunch of GPS data that we've been gathering over the past three years. This is a picture that's made -- that was made by one of my summer interns. We've got about 16,000 trips in this database so far, about two weeks from each person. And so what we do is we build up a markup model of people's behavior as they're driving. So we have to represent their trips in just some kind of finite alphabet to describe the roads they drove on, and so what we use is just road segments, where road segments end at intersections or where the road name changes or it dead ends. So what we would with a markup model is say well, we've seen you drive here, here, and here, maybe we've seen you do that ten times, and nine times you went that way and one time you went that way, so next time we see you do that, those are the probabilities that we will assign to what we think you're going to do with this intersection. We had to do some map matching to take our GPS data to get to the actual roads. Here's what our accuracy looks like. This is one-ahead prediction accuracy. If we look at the past one road segment you've driven on, we can predict with about 60 percent accuracy what you're going to do with the next intersection. And as we look further into the past, we can do a better job of predicting what you're going to do at the next intersection. So we're up here about 90 percent accuracy. There's quite a big jump from looking one road segment into the past to looking two road segments into the past and I think that's probably because looking two road segments into the past we have some sense of your are direction on the road. If all we know is that you're here then you could go to any one of these six other roads. But if we've seen you drive here and here, that kind of cuts down the possibility. So that's why I think there's a big jump there. We can also predict more than just one road segment ahead. We can predict however far ahead we want to. And so this is our accuracy if we're looking at ten road segments into the past, how well are we doing predicting the future. So one road, if we were predicting one road segment into the future, again we're 90 percent accurate and as you're predicting further and further ahead the accuracy drops down to about 50 percent here. Road segments are about .15 miles long, so this is predicting out one and a half miles into the future. So I still think that's pretty good. And with these two lines here, they are what you get if you were just rolling the dice and just doing random prediction into the future. So when you're out ten road segments in the future, basically, you know, your prediction actually is going to be zero. Okay. So that's the end of my talk. I talked about data mining using these push pins and pulling out points of interest and then using driver's past history in a markup model to do probabilistic predictions on what they're going to do at the next intersection. So thanks for listening. (Applause) >> Evelyne Viegas: All right. Let's take one question. All right. Or zero questions. Thank you, John. >> John Krumm: All right. You bet. >> Evelyne Viegas: Okay. The next speaker is going to be Steve Lombardi, who is a senior program manager at Virtual Earth, and he's going to talk about collections. >>: Just talked about collections. >> Steve Lombardi: Better. Low. Okay. Sorry about that. I'm going to show you some new stuff that we just released in Live Map/Virtual Earth last week, show you a few more statistics that update some of the stuff that John showed you a moment ago and, most importantly, APIs. I'm going to leave you with some secret hidden rest APIs that let you get at all this data if you want to use it in projects that you're working on. So collections, these are things that Live Search maps that people create push pins, 3D models now cruncher layers, polygons, poly lines, they group them together, it helps them tell a story. The GeoWeb is sort of a superset of the collections on our site and all of the other stuff that's going on on the Web where people are contributing little bits of geoinformation. It could be in the form of Google's equivalent of our collections features, Google My Maps, there's historically been KML files coming from Google Earth, Websites like Palatial have popped up and on an on and on. There's tons of user contributed geocontent out there. And I hate buzz words as well as anybody, but GeoWeb seems to have caught on as the catch-all for all of this information that's out there. We have -- we're now crawling all of that content and shoving it into our big spacial database so all of the features that I'm about to show you don't just work on collections, although it still says collections in our UI, but we're really operating on the superset of all that data. So here's my stats. Right now in this one I was hustling around trying to get an update on this one this morning. We just did some reprocessing of the whole database and we have a lot of dupes in it and we just fixed a bug that's going to knock out a lot of the dupes. I heard that there's up to 24 million entities in the database right now but there's a lot of dupes so the real number is probably at about 18. So i put 20. It sounded a little bit more impressive. But more important than how many we have right now is the growth trajectory that we're on. And that's really killer. And that's 500,000 new entities per week, and that's from across general Web crawl that's finding KML files for us as well as our own collections. And this third bullet's important, too. This isn't a U.S. only feature, although our site only supports four countries, and you can only really -- well, that's our claim is that we support four markets as sad as that sounds at this point in the game. But people aren't waiting for us to support their country, they're contributing everywhere. I'd like to get all of this data into a database that I could do ad hoc queries on so I've been curious, maybe one of you will help solve this problem for me. What is the biggest area, the biggest square area on earth right now that's not covered by any content from our GeoWeb database? And I bet it's a really small area because it's amazing to go into explore mode and see just how much content is out there. So what's new. These are the features that we just added. I have a screen shot of each one, or almost all of them. I think the only one I didn't grab a screen shot of was import, export. So we've got neighborhood subscribe which lets you zoom into an area and pluck an RSS feed for that area, throw it into your RSS reader, it's actually a Geo-RSS feed and stay up to date as we crawl the Web and throw stuff into this big user contributed content database your RSS reader will be continually updated with new information. We've had import for a while. We've just added export. And now that we have both import and export you can do simple conversion. So if you have a GPX file and you wish it was a KML file you can actually do that on our site right now. MapCruncher support, everybody here loves MapCruncher, right? It's one of my favorite features -- it's one of my favorite things that came out of Microsoft Research. We now support it in Live Maps directly so that you can create your crunched layer and display it in Live Maps directly and share it with people so they don't have to find your mashup or come across your layer in another way. If you don't know what Cruncher is, you'll see a screen shot in a minute. This one was very important. As we start to get 20 million, 30 million entities, we have to give people really good tools for sorting and filtering on all that information. And lastly we've got the API, which I'll show you at the end. So here's our subscribe feature. I've zoomed into a really tight view of my neighborhood. I live a little bit that way, so I like to know what's going on in that area. So I zoomed in, turned on Explorer, I clicked subscribe to collections in this map. I grabbed my RSS feed you can see on my life.com page, now I can see what's going on. That's actually a different feed, but for illustration purposes that's my West Seattle feed actually, but you get the idea. Here's Cruncher. So I started with a bitmap, just a -- I think it was a JPEG image of the seating chart at Quest Field. I ran it through MapCruncher, which is a really fun tool to use. Actually I always have a good time placing my tie points in there. It kicks out a bunch of tiles. You have to upload your tiles to a publically accessible Web server, and as your tiles were created it kicked out a little manifest file, a little XML file, and now you can go to Live Maps and to a collection add that XML file, and that tells us everything we need to know to draw that layer. So people are using this to bring customarial imagery in. We had a partner, image patch that just flew over the site of the Beijing Olympics and sent us a nice chunk of aerial imagery, and it got crunched up and it looks beautiful laid into Live Maps. And I talked about the importance of filtering on information when there's so much information in the system. You want to see the good stuff, so our static rank has improved quite a bit, so we're always by default bubbling the better stuff up towards the top. But sometimes you don't want to see the better stuff, sometimes you have more specific needs. So we've got this filtering panel now, and you can choose a tag to filter on. So I've zoomed in in Amsterdam, and I said I only want to see entries that are tagged Wikipedia. And as of yesterday we loaded all the Wikipedia entries that are georeferences, about 160,000 of those. And that's a lot of fun. Turn on the Wikipedia layer or filter by the Wikipedia tag and just cruise around the Earth with that on. It's really awesome. You could say well I just want to see 3D buildings or I just want to see MapCruncher layers, or I just want to see items with photos. And here's the secret API is my last slide, or I think I have one that goes with this. You don't have to write this down because the slides are available. And it's basically a simple rest API, and there's two ways that you can query this information. We've got text queries up here and almost identical syntax, but basically what differentiates these two queries is this one goes against the Monarch search index, and this goes against our Vessy (phonetic) index. But they basically return GRRS feeds of points that come from this database. And here you can see a simple mashup that I built that uses that, and there's the code up there, and you can see it in practice. I'm just panning around the map, and I'm filtering. I think in this case my term was Wikipedia. Yeah. Because that's a Wikipedia entry over there. And with just that little bit of code you can now visualize information from the database on a map. And that's it. Any questions? I think I got two minutes. Two minutes. Two minutes worth of questions. >>: Did you see (inaudible)? >> Steve Lombardi: Oh, yeah, no, it's secret in that it's undocumented. And thanks for pointing that out. We haven't officially supported API coming out in the fall as part of our new platform services, API collections. You'll be able to read and write collections actually, it's going to be super cool, so if you're building an application as long as you implement passport or live ID on your site you're going to be able to read and write collections into our data store which is really cool. So this API that we have right now back here, it's unsupported. We actually use it. These are the URLs that we're using when you do a GRRS subscribe, for instance. So it's not like these are untested, they're just subject to change and yadaya. They're fun to play with right now, they won't below up anything. Any others? All right. That's about it. >> Evelyne Viegas: Thanks, Steve. (Applause) >> Evelyne Viegas: Okay. Before we go on to Drew, I have some bad news and good news. Bad news is Drew is not the last speaker in the session, as it says. But the good news is that our next speaker promises a very exciting fun demo. So Drew Steedly is a scientist in Live Lab. He's going to talk to us about modeling 3D buildings. >> Drew Steedly: Okay. I'm Drew Steedly, I'm a scientist in LiveWebs. I've been working on Photosynth for the fast two years, the synther side of things, and one of the side projects that came out of this was Photosynth generates a point cloud and allows you to jump from image to image but it doesn't actually generate a full 3D model, like what you see in VE. It would be fantastic if we actually had full-on models inside of VE. So we brought in Sidipta Sinha (phonetic), who is an intern from UNC, as an intern this past summer, and Rick and I worked with him on this modeling project to see what we could do with a little bit of user interaction and a Photosynth. So the goal, if we have a full 3D model and we put that inside a Photosynth and we project the images on to that, the transitions from image to image are going to look a lot more beautiful, they're going to be -- every part of the scene is going to be stabilized instead of just whatever plane or proxy is being used now. And also if we can generate 3D models that are textured from Photosynth, well, we could geolocate them and upload them to VE and add user-generated models, high resolution textured models to VE, which would also be very cool. So this is my house, and so this is part of the emphasis for why we would want to upload these models to VE because it's on this road but it's not captured. Here's a birds-eye image overlaid on top of it, and you can see my backyard here, and this is the playhouse that I built. But it's still fairly low resolution. You can't see a whole lot of detail. But these are the photos that I can take in my backyard and add these. VE is not going to be able to drive around and take street-side images and see into my backyard and model this. I don't know that I want them to, but if I want to add this in here, I can take this photos and build a Photosynth out of this fairly easily. But the output of the Photosynth is just a point cloud and the camera position, you know, aside from the images, I mean this is what you get, right, this is not going to look pretty in VE, and I don't think they want us uploading these. But these are the original images that I took, and so the first thing that we did is we added a little bit of processing to the synther. So in addition to just extracting features, point features and matching them between images, we also start extracting lines and vanishing points. So in each image we extract a set of three vanishing directions that are orthogonal to each other, and this gives us three directions and 3D space. We clustered these over all the images, and this gives us the three major axes of the model. So you can see them here as blue, green, and red. And we use that to actually further refine the bundling of the camera positions. And in addition, there are some of these vanishing directions which are not on the major coordinate axis, and so these can be added in by the user by just drawing two lines that specifies the vanishing direction. It goes through all the other images, clusters them together and adds them into the data set. So here we added in two more vanishing directions. So from this, you can start tracing on top of the image. So when you're drawing, it's snapping to these vanishing directions, so this is our rectangle drawing tool. And you can see that it's snapping on these vanishing directions. And when I do this, I'm lassoing some points this were reconstructed in the scene. So when I let go of this, I've told the systems that there are two vanishing directions that I care about, which tells me the normal of the plane that I'm drawing. So the system knows the normal the plane, the only thing it doesn't know is the depth of the plane. But because we have a point cloud underlying this, we can -- we only have to estimate this one parameter, which is the depth of this plane, and we can just do a robust fit to the point cloud to get this plane in there. And so you can see in black here are the points that were considered inliers to this plane fit. So this is a 1D estimation problem. It's actually something that we can do which is fairly reliable. So I'm just going to spend a little bit of time just showing off, you know, how quick you can model something here and, you know, how little texture you actually need to be able to get some models in here, right. So there's not a whole lot of texture on this facade, but there's enough points and we've -- the user has told the system what the plane normal should be, and so it's not actually that hard of a fitting problem. So again fairly quickly you get a pretty tight model. You can also see that all of the images are being projected on to this model at the same time, and so you can see the blending artifacts right here where actually multiple images are being projected on to this. The reason that you have trouble seeing this blending here is it's a fairly planer object and you don't see many artifacts. But if we go over here, there are some pillars that are in front of this where you'll see the pillars are projected from different images on to this plane in the background. The actual portions of the front of the playhouse that are in focus are at the correct depth. So this is the part of it that requires a little bit of computer vision. There are a lot of other things that you can do that don't require any computer vision. Such as just selecting two edges and creating a plane out of that. But still having a Photosynth and being able to project the images on to it gives you feedback about whether or not you have the geometry right. So we can see that the edge of this is wrong, so I can just go and correct it and have it line up with the images. And so similarly, there's a gap between these two. So I can just generate a weld between these two to tie them together, to make it a little more watertight. And then let me go ahead and just put in the floor here. And so pretty quickly you can get a rough model of what it's supposed to look like. Another trick that we do is we take advantage of occlusion. So here there are all these points on the front of the playhouse here that are occluding it and -but we've already modelled this, so we know that these points won't be part of this plane that I'm clicking on, and so it snaps to the one in the back here. And so that's -- it doesn't cause a problem. We also have features to allow you to automatically weld, so if you're drawing it will snap, it will snap the existing geometry which really helps to avoid having to do the inference problem, so here now I'm snapping, snapping to the existing wall and it just snaps into place. So really quickly, five minutes you can generate a model of this. But now, as you can see, there's all these texturing artifacts, so what we really want is a textured 3D model out. But you can see all of the multiple images projected on to this don't look particularly pretty. So we also did some work on graphic cut texturing. So I'm just going to play a video to show the texturing because it's a little cumbersome to do it real-time. This is just putting each one of the images on to the model. Here this -- so this problem is a lot like the mosaicing problem. If you take a panorama they can run through images, you want to stitch them into a mosaic, you choose seams between the images and blend across the seams to create one big seamless image. Well, that's exactly the same thing that we have here. We have a bunch of images that see this one plane, so we project them all on to it, run a graph cut to two seams between the images, blend across the seams, and that gives us a texture map for everything that we saw on this wall here. And here you can see the label image. These are the labels for the images that the texture was taken from. And here again is the final model with the texture map. So these are the texture maps that we get out, and you can see that some of the -- all of this texture is projected back on to the wall, and you get multiple copies of these chairs and that kind of stuff but in general it looks a lot better than just blending it. We also added a feature to allow a little bit of user interaction for when the graph cut is not quite perfect. And so here you can see there's three images here, you can see there are trees in front of the face here and all of the images. And so the graph cut does a good job of getting some of it out but leaves these two trees in here. A little user interaction to say, no, I don't want this tree, I don't want these pixels or pixels like this from any other image to be in to the texture map and you can correct the model with just a few strokes. So here is another model that we generated. This took about 25 minutes of user interaction to model. And there's a ton of detail in here. There are a lot of things such as the front here with these pillars that a stereo algorithm's just not going to get right and requires manual interaction. All of the trees have been removed from the texture maps and the bushes and that was just done with a little bit of user interaction. I guess I'm out of time. But one other trick that we use in the graph cut is that if we have points in the scene like trees that would project on to the texture we use those as automatic negative brush strokes so if we have some reconstructive points in the point cloud that correspond to trees, we use those to say don't take these pixels in the texture map from this area. So. That's it. (Applause) >> Evelyne Viegas: Questions? >>: (Inaudible) I suppose you only put a rectangle on some of the points and planes. Can it extend out to planes to where it's not seen in the image maybe? >> Drew Steedly: Yes. So one of the goals of this is to make it seamlessly integrated with a regular 3D modeler. So if you only see a few of the points, you've specified the normal. The only thing that you have to do is you have to hit one point, and it's going to snap to that point. If you hit a certain number of points, it's going to try to robustly fit a consensus of them. And then just like any other CAD modeling tool, you could just extent the plane to cover any area that you want. And that's actually what we do a lot of the times and allows us to get areas of -- model areas of the scene that are only seen by one image. So you lasso -- you know, you can draw a rectangle and maybe only points are in a certain quadrant of the image or of the plane and maybe you can't see the entire plane in a single image, but it will snap to the right depth, and then you can go into 3D editing tool and extend the boundary of the plane. >> Evelyne Viegas: Thank you, Drew. (Applause) >> Evelyne Viegas: The last speaker for the day is Jason Christie from MSN UK. He's a lead producer, and hopefully he'll tell us what that means. He's going to talk about life space vision. >> Jason Christie: Really short. I'm from MSN UK. I'm a producer. So I don't really deal with academic stuff, so it's an absolute privilege to be here, and some of the stuff I've seen has been mind-blowing. I feel quite humble to get to show you a little mashup that I put together, having found a feed on a blog belonging to Rob Dolan in Windows Live Spaces. There's nothing up there, so I might need your help. (Laughter) So what's happened is it's gone over there. Okay. I'll crack on. I think I've solved this. Thanks. So I start this up here, and this RES, that was a reply from my colleague in London, Rick Stalk, who is an evangelist and he was the one person who went with this feed and sort mumbled and fumbled and said what I want to do is I want to rip off total vision, that's what I want to do, and I'm a (inaudible) to feed, and so he kindly for the purpose of they said you guys who will understand this, this is what he did. A little bit of Java script and a proxy in order to get us to a Twitter Vision type of experience. What I wanted to ask, can anybody raise their hands, has anybody heard of Twitter Vision? So that's quite remarkable. Anybody heard of Flickr Vision? Okay. Spin TV? And Wikipedia Vision? Okay. So it's interesting. Anyone heard of Rickrolling? Anybody been Rickrolled? (Laughter) Okay. I have gone one here. I don't want to Rickroll the whole audience. But what those are, they're content genres, and I deal with content. Our game is page views. MSN UK is the biggest portal. Windows Live Spaces is the world's greatest social network by terms of active users. There's, you know, every Hot Mail user has a Windows Live Space, so it's the biggest. The reason I ask those about content types is because this is a content genre, and it's maybe going to fit on the screen there. You see down there it's parsing the feed and if any luck it will start rolling. So this is a content genre along lines of Rickrolling, blogging, Twitter Vision and so on. This is the pop of content genres. And what you're seeing as was on the bullet points, these are near lifetime updates to the Windows Live Space network from around the world, and it uses a publically available feed and a couple of little search parameters. Really simple stuff where everybody in this room who has any sort of computer science background. So it's a mashup and that is it. I'll leave it with you. (Applause) >> Evelyne Viegas: That was very short and sweet. All right. Any questions? >>: People who are twittering right now are just showing (inaudible) is that right? >> Jason Christie: That's right. These people have recently updated their Windows Live Space. So if you visit that space, you'll see the person in Venezuela just updated. >> Evelyne Viegas: Any other questions? Okay. Thank you, Jason. >> Jason Christie: Thanks. (Applause)