Tuesday, January 26, 2016

New Blog

Hey, in case anyone is paying attention here, I got tired of Blogger. So I've started blogging over on my github page, Random Nodes.

Monday, August 11, 2014

Photo Spheres on Google Maps

I am often surprised how few people know about photo spheres. 360º panoramas, they are ridiculously easy to create using the Android camera app, or with your own camera. There's even dedicate 360º cameras that will export to a photo sphere.

Even fewer people know that you can submit those photo spheres to Google Maps for use in Street View. Using Android, it's as easy as viewing the photo and sharing it with Google Maps. The sphere then loads into Google Maps Views and awaits moderation. While you're waiting, you can still share it with people. There's a convenient share button with a link and embed code. Here's one I took in Iceland just a few days ago. It's waiting for moderation, but can still be viewed.

In 1973 a US Navy DC3 went down on a beach in Iceland, and it's still there. I took two photo spheres of it, in addition to a number of other pictures. This is shared off Views. Once submitted, it's always available to you. Even if Google decides not to use it in Street View, you can still see it in Views, and even use it in the Google Maps API. Look at the iframe embed code, and find the panoid parameter. Use that as your "pano" property in your StreetViewPanoramaOptions object. Here's an example:

Friday, July 18, 2014

Imagery Resources

Over the last ten years or so, there's been an explosion of imagery available to every day users. Free to use imagery has come from from Google Earth and Maps to the APIs to APIs available through other providers like Bing, Yahoo! and Apple. But perhaps one of the most interesting things, to me at least, is the availability of tools to manipulate and control your own imagery, and combine imagery from different sources. I thought I'd highlight a few here, not at all in an exhaustive way or in any particular order.

Map Knitter by Public Lab comes out of the mapping tools they developed, DIY balloon and kite mapping. But the tool would also be useful for those doing mapping with private drones, such as the Parrot Drones, any one of a number of other drones, or DIY drones. Public Lab also produces the Spectral Workbench for people to "Use a homemade spectrometer to scan different materials, and contribute to an open source database."

Of course I'd be remiss if I didn't mention Google's efforts to make imagery available through its new Google Maps for Business Imagery program. And Google Earth Engine which allows you to do "A planetary-scale platform for environmental data & analysis."

I've been playing around with PostGIS, an extension for PostGreSQL. PostGIS is probably the best relational database for vector data. A couple of years ago, they started a raster project. I've not seen any progress recently, but it's worth keeping an eye on.

And of course books have been written about GDAL, the Geospatial Data Abstraction Library. Powerful, with lots of scripts written for it. Definitely not for the faint of heart though. There's a great set of python scripts to do raster data manipulations.

Thursday, July 3, 2014

A Couple of Common Maps API Errors

I think it's worth occasionally calling out common errors using the Google Maps API. I run into these periodically, and I am calling them out not because people are doing something done but because they are easy to make and I wanted to record them. I'll probably make this a semi-regular thing I post about. If you run into questions about using our API, the Google Maps API support page has the right links and resources to use. In this post, I've got two that I see a lot. Both are for the JavaScript Maps API.

Using undocumented methods and properties

It's not uncommon that I run into people complaining on Twitter where they say something like "Google has changed the properties of this object so that Latitude is no longer in the .a property, it's now in .b. Thanks Google for breaking my site! :-)"

FYI, the Google Maps API has no object with a .a property. When Google compiles objects, the object may be represented with a .a property to the API. People find this out using tools like Firebug and Chrome Dev Tools and then come to rely on them, not realizing that the actual object is a say a google.maps.LatLng object that has methods .lat() and .lng() and that's the right way to get those values. And Google won't change those with a version change. There's no such guarantee about undocumented methods and properties.

Making the map invisible

Creating a google.maps.Map object you give it a node in the DOM to place the map. Usually people put this in a div object. However, developers often forget to give the node a size, say a height and width. And they're confused then when nothing shows up on their map. You can see it in the Simple Map sample if you click on the Javascript + HTML tab.

<!DOCTYPE html>
    <title>Simple Map</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
      html, body, #map-canvas {
      height: 100%;
      margin: 0px;
      padding: 0px
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
var map;
function initialize() {
  var mapOptions = {
  zoom: 8,
  center: new google.maps.LatLng(-34.397, 150.644)
  map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

google.maps.event.addDomListener(window, 'load', initialize);

    <div id="map-canvas"></div>

Tuesday, June 10, 2014

Thoughts on the new Street Art Project

Today the Google Cultural Institute announced the Google Street Art Project. Honestly, I didn't even know it was going to happen. And yet I'm so thrilled! I actually happen to love street srt, and these 5000 beautiful images are incredible.

Giant murals by Martin Ron and Blu (Italy)

This is in Buenos Aires, and if you want you can see it's location on a map.

Map of Image location

But the map doesn't itself give you this sense of the location. Place is about the feel, the view, the people. That's why Street View is such an exciting tool, it helps people understand so much about the world.

More interesting to me right now is thinking about Street Art. Street Art is often an ephemeral practice, and that's part of the appeal. While Banksy pieces may be preserved to help the property values go up, much Street Art is covered up, cleaned up, or itself tagged over by other artists. It's an artistic representation in the public sphere that both invades but also reflects a sense of the community. The artists have to go someplace and become, at least temporarily, part of the space. And they must accept that their piece won't last, won't be preserved in a gallery (for the most part).

And they have to be found. People walk by their art. Whether grand or small

Zurich Street Art, picture by Mano Marks

it evokes a response and both conveys a sense of the space and shapes it. Check out the Street Art Project.

Friday, May 9, 2014

I'm back

So, I took a bit of a hiatus from blogging. OK, more than two years. I've been focusing on blogging on the Google Geo Developers blog, and maintaining the Google Maps API Plus Page and Twitter account. However, there’s been some projects I've been working on, and I've been getting the long-form content itch back. So watch this space, I’ll be publishing more soon. My focus will probably be more on the tech end of things, code I’m working on etc. But as before I’ll be sprinkling some other thoughts along the way.

Thursday, December 8, 2011

The Hazards of Magic

Designers and people who admire designers have been talking for awhile about this concept of "magic". That is, making a product that feels so magical it doesn't matter that it wasn't the first in it's field or even necessarily the most powerful, but that it brings things together in a way that seem really intuitive, beautiful and magical. This has become so common that I no longer know who generated this theory. Apple is widely held to generally produce magical devices, devices that work really well, are seamlessly integrated, and that are beautiful. The iPod wasn't the first digital music player, but don't tell that to legions of people who think it is the only music player. The iPhone wasn't the first smart phone, or even the most powerful, but it just worked and felt intuitive. Or at least that's what people tell me. To be honest I've always been partial to Android and not just because I'm tribal. But that's not important here.

Google also has that magic in web search or Google Earth. People look at it and just marvel. Old time GIS people are often frustrated by Google Earth, for instance, that they were doing maps and looking at satellite imagery, and if you just downloaded ArcView, and installed....and at that point they've lost the magic. No offense to ESRI products, they make some great stuff and for analysis there is nothing that beats them, but there isn't that easy, intuitive use to it that you find with Google's mapping products.

"Magic" often distracts people from the limitations of a device or site. Apple's products tie you into using iTunes for instance, and lock you into a platform. But people who love iPhones will line up to buy a new white version of the iPhone with little or no feature updates. Just because it's white. I'm not blaming them, it's an amazing job that Apple has done, creating that desire for a white iPhone you never knew that you had.

Netflix had the magic too, right? They have a really amazing recommendation engine, far better at surfacing movies and shows you wanted to see than any other similar site. Amazon, in my view, comes closest and their recommendations for movies and their interface are just terrible compared with Netflix. No one cared that Silverlight was being kept alive by Netflix, and we paid a nice premium to have it on a variety of devices. Ooops, can't view it in Australia, well there's always VPN right? The number of movies available, and free, and in the early days their ability to get you movies sometimes the day after you returned yours was truly magical.

Well, that's gone right? The hazard of magic, I think, is that when you lose it you really lose it. The vehemence that people reacted with was really incredible. There's been a lot of analysis of why this happened. There's an interesting piece on O'Reilly today about What publishers can learn from Netflix's problems. One of the singular moments in the whole thing was, however, when Netflix reassured us that DVDs from Qwikster would still be in the little red envelopes. The Oatmeal had a great comic on that. That was the moment the magic was gone, when people started screaming about that. The distraction, the attempt to get users to focus on things that don't add functionality, to create a mystique around a small aspect of the brand, had failed miserably.

I'm not sure United Airlines ever really had the magic. I fly a lot, and ended up on United flights frequently in the last year. They merged with Continental, and at the beginning of every flight in the last 6 months, they would put up a video with the president of United extolling the virtues of the merger. What were those virtues? Well, they were repainting planes. That's right. Continental planes were being repainted to United planes. By the third time I saw that video, which I couldn't get away from, I wanted to scream. Untied has an aging fleet of planes. Mostly uncomfortable, with TV screens placed above our heads in the ailes instead of in the seat backs, uncomfortable chairs, and food that is usually pretty bad and that you have to pay for. But they are a low cost airline that goes everywhere and has a great frequent flyer program with lots of partners. What I wanted to hear about was their plans for modernizing their fleet, or providing more leg room, or something like that. No magic at all.

OK, so what's the lesson of this? If you've got magic, you can get people excited by surface changes and get them to look away from your problems. If you lose that magic, or never had it, don't focus on the surface, focus on what people care the most about. In Netflix it was the price and then integrated app, DVDs and streaming together, working on fast, easy, and nice delivery of your product, video, to every platform. In United's case, focus on what's working for you and don't keep talking about appearance. People don't care about that as much as you think. 

Wednesday, December 7, 2011

The School of Information's Alumni Day: What I said and wish I'd said

In 2006 I graduated from UC Berkeley's School of Information. One of my professors, Bob Glushko, who runs 202, the Information Organization and Retrieval class, invites alumni to come back every year and discuss what they've done with their education. I thought I'd write it up as a blog post incorporating what I said, my responses to some of the questions, and a few bits I wished I'd said:

Bob wants me to talk about how this class helps me with my work, and I'll certainly be doing that. But I also want to talk about how your two years here will inform the work that you do, since these are probably two of the most important years of your life.

I'm Mano Marks, a Developer Advocate at Google. What that means is I travel the world helping Developers put Google Geographic technologies on the sites, and advocating on their behalf with the engineering teams. People who graduate from the School of Information have gone on to be user experience researchers, designers, coders, policy wonks, product managers, directors, developer advocates, academics, lawyers, and much more. They work at Google, Yahoo!, Microsoft, startups, design firms, consulting firms, nonprofits, think tanks, for the government, and many other places I haven't thought of.

Back in 2004 when I started at what was then the School of Information Management and Systems, or SIMS, we were trying to figure out what the program was. One of my classmates, Benjamin Hill, who taught 290TA the Information Organization Laboratory this semester, ran a survey asking people what their elevator pitch for SIMS would be. The answer that won was something like "Mumble it's interdisciplinary and walk away." SIMS, now the I School, was in search of itself. No one knew exactly what we were doing. But at the same time the professors, and hence the students, were passionate about it. I hope that hasn't changed. The dynamic tension inherent in the exercise of what-are-we-doing drove innovative new approaches and discussions that I still value today.

What does 202 do for you? What it did for me give me a greater sense of the whole picture of organizational practices. We can get lost in the details of a particular system, which database we use, whether to use Python or Ruby, all the fascinating and fun details for geeks. But what 202 got me to do is look at an organization as a system built on top of information flows. How information flows internally but also how it flows in relation to external partners and customers.

This helps me in my daily work, working with external partners who are using Google's mapping products. It helps me see, and hopefully communicate to them, that their maps are not just a map slapped up on a site, but rather a way of communicating information to their partners and customers, and gathering information from them. It is a part of an entire ecosystem of data that their company/organization/loose network uses, consumes, and produces. Our maps (or substitute your own application or document format) don't just have to be artifacts or dead things, but living interaction devices.

But beyond 202, beyond the underlying data and information flows in an organization is a whole context that the organization exists in, a legal and sociological framework that shapes and guides it. That context is what the rest of the I School experience is about. Understanding that context, and how it relates to the core concepts of 202 is what the School of Information is all about. Or at least, that's my proposal. Please challenge that, after all I'd hate for there to be a last word on what the I School is or does.

Thursday, December 1, 2011

Some quick links

Experimenting with different ways of distributing links. Mostly I do it using Google+ but I get concerned I post too much there, so here's some stuff I'm reading today:

WebGL Playground: a great tool for playing with WebGL code, allows you to change things live and see the results.

Hangout-3d: Demo code for using WebGL in a Google+ hangout.

Porting 3D graphics to the web: Opera tutorial. Shows techniques for porting 3D graphics from commonly used 3D graphics programs to JSON to use in WebGL.

These were pulled from Learning WebGL.

Latest imagery updates in Google Earth

NORAD Santa Tracker Coming

Wednesday, November 30, 2011

Thoughts on The Paperless Map

I was reading The paperless book by Todd Sattersten over at O'Reilly, a similar discussion around maps occurred to me.

Sattersten references Stacey Madden who argues that, no offense to e-books, but they aren't "books" and we should reserve that word for a physical medium. Every time I've read that kind of argument on the Internet, as in we should reserve x word to mean only an older meaning of x, the person arguing that has already lost. Hacker/cracker anyone?

I am sure there are those who argued, when maps first came to the web, that they weren't really maps, they were some other medium. However, if they did, you don't hear those voices anymore. Perhaps that's because of the strong history of GIS before the web, or because maps are primarily used for a vehicle to convey information, not generally as a completed composition. Those who know more of the history of cartography, please point me to any debates I may be unaware of.

Sattersten describes an experiment where readers are invited to participate in the compilation of a book by purchasing content as it's developed and adding their comments and feedback. It's actually hard for me to imagine bothering doing that with a book, especially if it's one of fiction, but I can easily imagine contributing to a map. I just actually don't see the need to put an end point on it, as in "this map is done."

Of course, I have had many discussions on the superiority of paper maps over digital maps in certain circumstances, say out in the field where your device may not have a reliable source of power, or where the large format may make it easier to share with others. I wonder if tablets will start to fill the latter use case. And I've admired the bridging technology of the digital pen with GIS.

I think we made the transition with maps a long time ago, thank you CGIS. So while the GIS world got a surprise when we started moving to the web, it didn't immediately dismiss the medium as not a map. In fact, one of the things I've heard from GIS folks that are surprising to non-GIS people is the question "Why would I care about web maps? They're only about making maps."