<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5219216092017947898</id><updated>2012-01-26T14:28:28.658-08:00</updated><category term='mobile'/><category term='raster'/><category term='GIS'/><category term='Base'/><category term='wherecamp'/><category term='KML'/><category term='Twitter'/><category term='NACIS'/><category term='GeoRSS'/><category term='Hack'/><category term='Where 2.0'/><category term='NoGIS'/><category term='Maps Data API'/><category term='drag and drop'/><category term='Augmented Reality'/><category term='Map Styles'/><category term='memories'/><category term='first post'/><category term='Places API'/><category term='Places'/><category term='earthquake tsunami'/><category term='SketchUp'/><category term='History'/><category term='Disaster'/><category term='barcampnairobi'/><category term='JSON'/><category term='Google I/O'/><category term='HTML5'/><category term='GeoWeb'/><category term='Crisis'/><category term='Google+'/><category term='oss'/><category term='geocoding'/><category term='Open Data'/><category term='workshop'/><category term='Closure'/><category term='Visualization'/><category term='Earth API'/><category term='Cloud Computing'/><category term='FOSS4G'/><category term='wherecampafrica'/><category term='Open Source'/><category term='Street View'/><category term='Canvas'/><category term='Can&apos;t we all just get along'/><category term='Maps'/><category term='Data'/><category term='Earth'/><category term='Japan'/><category term='WebGL'/><category term='Maps API'/><category term='HTML'/><category term='Haiti'/><category term='Fusion Tables'/><category term='Local'/><category term='The Future'/><category term='ARML'/><category term='Place'/><title type='text'>Random Markers</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>82</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-7189974578225090708</id><published>2011-12-08T12:33:00.000-08:00</published><updated>2011-12-08T12:33:11.161-08:00</updated><title type='text'>The Hazards of Magic</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;"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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Well, that's gone right? The hazard of magic, I think, is that when you lose it you really lose it. The&amp;nbsp;vehemence&amp;nbsp;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&amp;nbsp;&lt;a href="http://radar.oreilly.com/2011/12/netflix-publishers-kickstarter-reading-tim-carmody.html" target="_blank"&gt;What publishers can learn from Netflix's problems&lt;/a&gt;. One of the singular moments in the whole thing was, however, when Netflix reassured us that DVDs from&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Netflix#Qwikster" target="_blank"&gt;Qwikster&lt;/a&gt;&amp;nbsp;would still be in the little red envelopes. &lt;a href="http://theoatmeal.com/" target="_blank"&gt;The Oatmeal&lt;/a&gt; had a &lt;a href="http://theoatmeal.com/comics/netflix" target="_blank"&gt;great comic&lt;/a&gt; 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-7189974578225090708?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/7189974578225090708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=7189974578225090708' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7189974578225090708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7189974578225090708'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/12/hazards-of-magic.html' title='The Hazards of Magic'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-6895642400656988652</id><published>2011-12-07T09:54:00.000-08:00</published><updated>2011-12-07T09:54:38.263-08:00</updated><title type='text'>The School of Information's Alumni Day: What I said and wish I'd said</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In 2006 I graduated from UC Berkeley's &lt;a href="http://ischool.berkeley.edu/" target="_blank"&gt;School of Information&lt;/a&gt;. One of my professors, &lt;a href="http://www.ischool.berkeley.edu/people/faculty/robertglushko" target="_blank"&gt;Bob Glushko&lt;/a&gt;, who runs 202, the &lt;a href="http://www.ischool.berkeley.edu/courses/202" target="_blank"&gt;Information Organization and Retrieval class&lt;/a&gt;, 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:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;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.&amp;nbsp;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.&lt;br /&gt;&lt;br /&gt;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 &lt;a href="http://www.ischool.berkeley.edu/courses/290ta" target="_blank"&gt;Information Organization Laboratory&lt;/a&gt;&amp;nbsp;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.&lt;br /&gt;&lt;br /&gt;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&amp;nbsp;fascinating&amp;nbsp;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-6895642400656988652?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/6895642400656988652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=6895642400656988652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6895642400656988652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6895642400656988652'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/12/school-of-informations-alumni-day-what.html' title='The School of Information&apos;s Alumni Day: What I said and wish I&apos;d said'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-7800084943517144292</id><published>2011-12-01T11:04:00.000-08:00</published><updated>2011-12-01T11:04:37.301-08:00</updated><title type='text'>Some quick links</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;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:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://webglplayground.net/" target="_blank"&gt;WebGL Playground&lt;/a&gt;:&amp;nbsp;a great tool for playing with WebGL code, allows you to change things live and see the results.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/p/hangout-3d/" target="_blank"&gt;Hangout-3d&lt;/a&gt;: Demo code for using WebGL in a Google+ hangout.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.opera.com/articles/view/porting-3d-graphics-to-the-web-webgl-intro-part-2/" target="_blank"&gt;Porting 3D graphics to the web&lt;/a&gt;: Opera tutorial. Shows techniques for porting 3D graphics from commonly used 3D graphics programs to JSON to use in WebGL.&lt;br /&gt;&lt;br /&gt;These were pulled from &lt;a href="http://learningwebgl.com/blog/" target="_blank"&gt;Learning WebGL&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://google-latlong.blogspot.com/2011/11/imagery-update-week-of-november-28th.html" target="_blank"&gt;Latest imagery updates&lt;/a&gt; in Google Earth&lt;br /&gt;&lt;br /&gt;&lt;a href="http://googleblog.blogspot.com/2011/12/here-comes-santa-claus.html" target="_blank"&gt;NORAD Santa Tracker Coming&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-7800084943517144292?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/7800084943517144292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=7800084943517144292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7800084943517144292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7800084943517144292'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/12/some-quick-links.html' title='Some quick links'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-8887108030886582295</id><published>2011-11-30T08:52:00.000-08:00</published><updated>2011-11-30T08:52:59.397-08:00</updated><title type='text'>Thoughts on The Paperless Map</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I was reading &lt;a href="http://radar.oreilly.com/2011/11/the-paperless-book.html" target="_blank"&gt;The paperless book&lt;/a&gt;&amp;nbsp;by&amp;nbsp;Todd Sattersten over at O'Reilly, a similar discussion around maps occurred to me.&lt;br /&gt;&lt;br /&gt;Sattersten references&amp;nbsp;&lt;a href="http://www.torontoreviewofbooks.com/2011/11/a-book-is-a-book/" target="_blank"&gt;Stacey Madden&lt;/a&gt;&amp;nbsp;who argues that, no offense to e-books, but they aren't "books" and we should reserve that word for a physical medium.&amp;nbsp;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?&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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."&lt;br /&gt;&lt;br /&gt;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 &lt;a href="http://www.directionsmag.com/articles/digital-pen-and-paper-accelerate-gis-projects/122588" target="_blank"&gt;digital pen with GIS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I think we made the transition with maps a long time ago, thank you &lt;a href="http://en.wikipedia.org/wiki/Canada_Geographic_Information_System" target="_blank"&gt;CGIS&lt;/a&gt;. 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."&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-8887108030886582295?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/8887108030886582295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=8887108030886582295' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8887108030886582295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8887108030886582295'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/11/thoughts-on-paperless-map.html' title='Thoughts on The Paperless Map'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-4689600401518771483</id><published>2011-11-23T12:18:00.000-08:00</published><updated>2011-11-23T12:20:09.606-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Street View'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><title type='text'>Easy Panorama creation with Ice Cream Sandwich</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I was hanging out with &lt;a href="https://plus.google.com/105593270217665985575/posts" target="_blank"&gt;+Dan Galpin&lt;/a&gt;&amp;nbsp;in China, and he was showing me an Ice Cream Sandwich phone. ICS comes with a panorama capability in it's phone. He took a few photos and sent them to me. I spent a few minutes and pulled them up into custom&lt;a href="http://mano-demos.googlecode.com/svn/trunk/demos/icspano.html" target="_blank"&gt; Street View panoramas&lt;/a&gt;.&lt;br /&gt;&lt;iframe src="http://mano-demos.googlecode.com/svn/trunk/demos/icspano.html"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It was pretty easy to do, but there were a few caveats. The panoramas didn't contain any location EXIF headers. Not sure if that will be part of the final release. My demo didn't require it since I was just using a free floating panorama viewer. Also, the panorama camera didn't always go a full 360 degrees, so the seam between the two ends was a little uneven. The only other issue was figuring out where the center of the panorama was and coding that into the heading of each panorama. Still, it was a nice and easy way to display these panoramas. Oh, and take a look at the full version, it shows the copyright information for Dan that I coded into the panorama.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-4689600401518771483?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/4689600401518771483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=4689600401518771483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4689600401518771483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4689600401518771483'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/11/easy-panorama-creation-with-ice-cream.html' title='Easy Panorama creation with Ice Cream Sandwich'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-183556376954307618</id><published>2011-11-19T00:04:00.000-08:00</published><updated>2011-11-19T00:04:07.262-08:00</updated><title type='text'>Google Developer Day Berlin, start of day</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I'm excited to be here in Berlin, at the &lt;a href="http://www.google.com/events/developerday/2011/berlin/" target="_blank"&gt;last Google Developer Day of 2011&lt;/a&gt;. It's hard to believe we're on the cusp of 2012, and getting ready for a whole new season of conferences. At Google, we're a little worn out from 2011:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-cuMuyX4MRYE/TsdfXeFYoII/AAAAAAAAtaU/E6gKDzg2qkg/s1600/DSC_0289.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-cuMuyX4MRYE/TsdfXeFYoII/AAAAAAAAtaU/E6gKDzg2qkg/s320/DSC_0289.JPG" width="212" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-v-9Sr6bCXiE/Tsdfj5DdjHI/AAAAAAAAta4/rfp8a5wkAPQ/s1600/DSC_0397.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-v-9Sr6bCXiE/Tsdfj5DdjHI/AAAAAAAAta4/rfp8a5wkAPQ/s320/DSC_0397.JPG" width="212" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;(Photos from Tel Aviv)&lt;/div&gt;But we're amazed by the turn out here in Berlin, over two thousand. The most of any GDD this year, possibly the biggest single event we've ever thrown, outside of the US. The event is being held at the massive &lt;a href="http://www1.messe-berlin.de/vip8_1/website/Internet/Internet/www.icc-berlin/englisch/index.html" target="_blank"&gt;ICC Berlin&lt;/a&gt;. It's so big that I'm not going to the keynote, because I'm afraid I wouldn't have enough time to make it to my session which only starts 15 minutes afterwards. Seriously, this place is like the Death Star. We keep expecting to see little robots racing down the halls, and given that it's GDD that's an actual possibility.&lt;br /&gt;&lt;br /&gt;One of my complaints about GDDs is that there is so much great content, but I never get to go to the sessions because I'm working. In a tradition going back to the first German GDD, we've got a track devoted to speakers from universities in Berlin speaking about some cutting edge research. I can't wait till the videos go up. But the truth is, I'd rather be talking to developers anyway, I learn so much from you. So if you're here, see you at my session, or in the GTUG area, or exploring some of the sandbox events. For the rest of you, see you on Google+.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RYXLjwMg24E/TsdfssBzyII/AAAAAAAAtbQ/bLb7bTLfnY4/s1600/DSC_0349.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://2.bp.blogspot.com/-RYXLjwMg24E/TsdfssBzyII/AAAAAAAAtbQ/bLb7bTLfnY4/s320/DSC_0349.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-183556376954307618?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/183556376954307618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=183556376954307618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/183556376954307618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/183556376954307618'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/11/google-developer-day-berlin-start-of.html' title='Google Developer Day Berlin, start of day'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-cuMuyX4MRYE/TsdfXeFYoII/AAAAAAAAtaU/E6gKDzg2qkg/s72-c/DSC_0289.JPG' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Charlottenburg, Berlin, Germany</georss:featurename><georss:point>52.505851768621696 13.280994137573316</georss:point><georss:box>52.4756192686217 13.214756137573316 52.53608426862169 13.347232137573316</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-1877256307823158728</id><published>2011-11-17T03:46:00.000-08:00</published><updated>2011-11-17T03:46:58.030-08:00</updated><title type='text'>Thankfulness</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I recently took a break from blogging, mostly due to travel. I've been on the road for almost 4 weeks, traveling around the world. Literally, around the world: San Francisco, Beijing, Shanghai, Sydney, Tel Aviv, Bern, Berlin, and on Sunday I go home to San Francisco. Excited about that actually.&lt;br /&gt;&lt;br /&gt;But I'm back to blogging, and feeling reflective. I thought I'd share a couple of things I'm thankful for before next weeks' Thanksgiving festivities in the U.S.&lt;br /&gt;&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;I am thankful for my work. I get to travel around the world, meeting really amazing and interesting developers who are doing great projects such as the&amp;nbsp;&lt;a href="https://market.android.com/details?id=com.picitup.iOnRoad&amp;amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5waWNpdHVwLmlPblJvYWQiXQ.." target="_blank"&gt;iOnRoad&lt;/a&gt;&amp;nbsp;app developers, or the folks from&amp;nbsp;&lt;a href="http://www.pointgrab.com/" target="_blank"&gt;PointGrab&lt;/a&gt;&amp;nbsp;who demoed using Google Earth:&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ewGvfNFF1ZM/TsTxHUPIkLI/AAAAAAAAs7c/l4ww5hinYzw/s1600/DSC_0392.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://2.bp.blogspot.com/-ewGvfNFF1ZM/TsTxHUPIkLI/AAAAAAAAs7c/l4ww5hinYzw/s320/DSC_0392.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style="text-align: left;"&gt;I am thankful for the Internet, or rather for the fast connection I enjoy most of the time. While I was in China for about one and a half weeks, the Internet connection was terrible. I didn't really get it, the Great Firewall of China, before. I thought certain sites were blocked, OK, but I could go on with my life normally. Nope. It seems all sites, at least all non-Chinese sites, are filtered, even if they are not blocked. They appear to be checking each site and each bit of content as it loads. Sites of my favorite web comics, for instance, such as &lt;a href="http://www.pvponline.com/" target="_blank"&gt;PVP&lt;/a&gt;, loaded slowly. Yes, PVP is filtered in China. The image of the comic would slowly, pixel by pixel, appear. It was torturous because I didn't know which pages would load and which wouldn't. Most people I talked to used a proxy, a VPN connection to outside of China, but even that was slow because of course you're adding on layers of connection and other servers routing your content. And yet they also told me there is lively debate within China on the net about the GFWC.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: left;"&gt;So I am thankful for these things. I hope to be writing more about what I'm thankful for in the next week before Thanksgiving.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-1877256307823158728?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/1877256307823158728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=1877256307823158728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1877256307823158728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1877256307823158728'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/11/i-recently-took-break-from-blogging.html' title='Thankfulness'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-ewGvfNFF1ZM/TsTxHUPIkLI/AAAAAAAAs7c/l4ww5hinYzw/s72-c/DSC_0392.JPG' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Berlin, Germany</georss:featurename><georss:point>52.5234051 13.411399899999992</georss:point><georss:box>52.3547831 13.075097399999992 52.6920271 13.747702399999993</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-1591481199748893852</id><published>2011-10-21T09:00:00.000-07:00</published><updated>2011-10-21T09:00:00.385-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='memories'/><title type='text'>Memories of Prague</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;When you go to Prague, people ask you a lot "Is this your first time in Prague?"&lt;br /&gt;&lt;br /&gt;In fact, my trip for &lt;a href="http://www.google.com/events/developerday/2011/prague/"&gt;Google Developer Day in Prague&lt;/a&gt;&amp;nbsp;on Tuesday was my fourth, and my third in the last year. My first though was in 1990.&lt;br /&gt;&lt;br /&gt;My first visit was in 1990. I was in the midst of my junior year abroad, living in Budapest. I didn't have much money, so I took the train up to Prague, a 9 hour trip if I remember correctly, stayed 16 hours in Prague, and went back that evening. It was a magical place back then, just emerging from the fog of communism. Spared destruction during the Second World War, Prague retains a medieval core, one of the most beautiful and unblemished in Europe, in my opinion. It became the cool center for expats in the early 90s, when English speaking 20-somethings would go to Prague to teach English and drink inexpensive but delicious beer. So many went there, in fact, that a 2002 novel about expats in Budapest in 1990-91 was entitled &lt;i&gt;&lt;a href="http://www.amazon.com/Prague-Novel-Arthur-Phillips/dp/0375507876"&gt;Prague&lt;/a&gt;, &lt;/i&gt;as in they missed the boat and went to the wrong Eastern European capital. (I don't regret Budapest, BTW, but Prague did have the cachet back then).&lt;br /&gt;&lt;br /&gt;I left my nice camera at home, so took &lt;a href="https://picasaweb.google.com/107054744026933176373/Prague2011"&gt;pictures with my Nexus S&lt;/a&gt;. I'm particularly happy with this one:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-O-sBcAiy_pI/TpyFOODHVoI/AAAAAAAAqsw/9qmLVUvuBRE/s1600/IMG_20111017_205013.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-O-sBcAiy_pI/TpyFOODHVoI/AAAAAAAAqsw/9qmLVUvuBRE/s320/IMG_20111017_205013.jpg" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;There are plenty more pictures of Prague from last year at GDD in my &lt;a href="https://picasaweb.google.com/mano.marks"&gt;Picasa albums&lt;/a&gt;. Some day I'll scan in all the photos from 1989 and 1990 and post those.&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-1591481199748893852?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/1591481199748893852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=1591481199748893852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1591481199748893852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1591481199748893852'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/10/memories-of-prague.html' title='Memories of Prague'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-O-sBcAiy_pI/TpyFOODHVoI/AAAAAAAAqsw/9qmLVUvuBRE/s72-c/IMG_20111017_205013.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Paris, France</georss:featurename><georss:point>48.856614 2.3522219000000177</georss:point><georss:box>48.813328 2.229360900000018 48.8999 2.4750829000000176</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-99831250304744230</id><published>2011-10-19T09:51:00.000-07:00</published><updated>2011-10-19T09:51:59.270-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='WebGL'/><category scheme='http://www.blogger.com/atom/ns#' term='Canvas'/><title type='text'>Thoughts on vector based mapping</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Traditional...wait, I have to put that in quotes..."Traditional" web mapping, as you see in pretty much any web mapping application, relies of raster tiles to convey the base map. The reason for this approach is pretty simple: You can convey a ton of information in a raster image simply by changing the colors of pixels. And it's highly performant. As many pixels in your image is as many points of information you can portray.&lt;br /&gt;&lt;br /&gt;But there's been a lot of buzz for awhile about the possibility of vector based mapping. Vector mapping is essentially pushing the underlying data used to build a map to the client, instead of the fully assembled map. By pushing vectors to a client (browser or mobile application) you can push the assembly of the map into the client machine, saving quite a bit of work on the server side. But it also gives you a lot of capabilities that are absent from raster maps. For instance:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Reprojection and restyling on the fly: If you are assembling a map based on vectors, you're just providing the base map data and allowing the local app handle constructing the map. That allows you to do interesting things like reproject and restyle a map in the client and on the fly.&lt;/li&gt;&lt;li&gt;Graduated map drawing: You can draw the map while the user watches, instead of loading it tile by tile.&lt;/li&gt;&lt;li&gt;Perspective changes: You can tilt maps, create 2.5D or 3D maps, do all sorts of things based with the data.&lt;/li&gt;&lt;li&gt;Fluid transitions: Instead of jumping between zoom levels, you can have smoother&amp;nbsp;transitions&amp;nbsp;as you navigate a map.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;This comes at a cost to the client of course, you have to have a device of sufficient power to assemble the map. Fortunately, a variety of new technologies in the browser are making that happen. Here's the basic approaches developers are taking:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Google Maps for Android: Google Maps for Android uses vectors to draw the maps. It uses a custom vector format and pushes it down to the application where it runs on the mobile device. If you have an Android phone, chances are you have vector mapping already on that device:&lt;/div&gt;&lt;div&gt;&lt;iframe allowfullscreen="" frameborder="0" height="200" src="http://www.youtube.com/embed/dLuWhNPmBWE" width="250"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;Scalable Vector Graphics (SVG):&amp;nbsp;&lt;span style="background-color: transparent;"&gt;SVG has been around for awhile, and has even been used by Google for rendering overlays on Google Maps API maps. But it was always held back by the performance in the browser and lack of support by IE. IE9 finally gives support for SVG, and most modern browsers are now performant enough to use it.&amp;nbsp;&lt;/span&gt;&lt;a href="http://polymaps.org/" style="background-color: transparent;"&gt;Polymaps&lt;/a&gt;, a JavaScript library,&lt;span style="background-color: transparent;"&gt;&amp;nbsp;was the first major implementation of vector mapping for the web that I saw. It allows developers to draw maps using SVG and style them using CSS styling. I think SVG is still a little slow, but it is now widely supported and the CSS styling is a great way for developers to style maps.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent;"&gt;Canvas: There's been a lot of hall-way talk at conferences like WhereCamps and FOSS4G about using HTML5 Canvas to render vectors, pushed down in a standard format. I haven't seen any great implementations, but Canvas is also widely supported in the browser and generally has good performance.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent;"&gt;WebGL: WebGL gives the browser access to a machine's graphics card to do rendering, giving it some tremendous power. Browsers traditionally only had that kind of access through plugins like Flash. Google launched an experiment last week called &lt;a href="http://googleblog.blogspot.com/2011/10/step-inside-map-with-google-mapsgl.html"&gt;MapsGL&lt;/a&gt;. It's pretty awesome. We've got buildings, smooth transitions, and nice animations of 45 degree imagery. The downside of WebGL is that it isn't widely supported yet in the browser. Currently only Chrome 14 and later versions of Firefox have good enough support for MapsGL. And currently &lt;a href="http://www.readwriteweb.com/hack/2011/04/internet-explorer-webgl-and-a.php"&gt;Microsoft has no plans to support it&lt;/a&gt;. My hope is that WebGL will take off because of the power that graphics processor gives maps developers.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This isn't meant to be an exhaustive list, feel free to add other approaches you've seen or implemented. I'm really excited by vector mapping and want to see it succeed. I really feel like it's "The Future"&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/yosuvf7Unmg" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-99831250304744230?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/99831250304744230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=99831250304744230' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/99831250304744230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/99831250304744230'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/10/thoughts-on-vector-based-mapping.html' title='Thoughts on vector based mapping'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/dLuWhNPmBWE/default.jpg' height='72' width='72'/><thr:total>4</thr:total><georss:featurename>Paris, France</georss:featurename><georss:point>48.856614 2.3522219000000177</georss:point><georss:box>48.813328 2.229360900000018 48.8999 2.4750829000000176</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-2153535535731625165</id><published>2011-10-05T07:37:00.000-07:00</published><updated>2011-10-05T07:37:36.370-07:00</updated><title type='text'>How I got to be where I am: part one of many</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;So yesterday I received an invitation to speak at the&amp;nbsp;&lt;a href="http://bit.ly/AppsAgainstAbuseSF"&gt;The Apps Against Abuse Challenge: San Francisco&lt;/a&gt;&amp;nbsp;event, which I'll be at tomorrow. Interestingly, I don't think that the inviter has any idea that I once worked at a rape crisis center and that was how I got into tech. Or, as people not in tech used to say, "into computers." I'm telling the story now because people often ask about it.&lt;br /&gt;&lt;br /&gt;I am 42, graduated college in 1992, with a BA in History. In 93, I got an MA in History, and took a year off from the Ph.D. program. I went and worked in Budapest for a year, and never went back to school. That's a story for another post though. Bottom line, I went back home to the SF Bay Area, and got the first job that came along, doing data entry at a non-profit. Back then, it was called the Rape Crisis Center of Contra Costa and Marin Counties, but now it's&amp;nbsp;&lt;a href="http://www.cvsolutions.org/"&gt;Community Violence Solutions&lt;/a&gt;. It was a caused I believed in, and still do, and I eventually ended up doing a term on the board of the now-defunct National Coalition Against Sexual Assault. Another story for another day.&lt;br /&gt;&lt;br /&gt;One day, while working at RCC, one of my colleagues was exasperated, she couldn't make the computer work. I walked over and hit the 'on' switch on the monitor. You have to realize this is 1994, and most people, particularly those who worked in non-profits, didn't have much experience with computers. A couple years later one of the office staff in our Marin office refused to unplug a computer because she was afraid damaging it, necessitating me driving over there to unplug the computer from the power strip and plug it into another power strip, thereby "fixing" it.&lt;br /&gt;&lt;br /&gt;So anyway, with that acting of turning on the monitor, I became the computer expert in the building. A few years later, someone would coin the term "accidental techie" to describe what happened to me. I'd always had a computer, fiddled around with it, but never gotten too deep into it. Until then. When you're the computer person at a non-profit in the 90s, you were the computer person. I did everything from database work to hardware troubleshooting, to networking. Eventually we hired a data entry person for me to supervise. I went on to a series of non-profit jobs, eventually back to school, and then to Google. But I will never forget that first moment of turning on the monitor and having people literally turn to me with new found respect in their eyes.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-2153535535731625165?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/2153535535731625165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=2153535535731625165' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/2153535535731625165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/2153535535731625165'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/10/how-i-got-to-be-where-i-am-part-one-of.html' title='How I got to be where I am: part one of many'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total><georss:featurename>San Francisco, CA, USA</georss:featurename><georss:point>37.7749295 -122.41941550000001</georss:point><georss:box>37.7206295 -122.50881550000001 37.8292295 -122.33001550000002</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5924088917767030088</id><published>2011-09-30T20:24:00.000-07:00</published><updated>2011-09-30T21:31:39.584-07:00</updated><title type='text'>Why do we do it?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Here's a question I get asked a lot: Why does Google do it? Why create things and give them away for free? Why is the Google Maps API free? What does Google get out of Google Earth?&lt;br /&gt;&lt;br /&gt;Because it's the right thing to do. The Google Maps API was the world's first monster web mashup platform and is still the most used web API in the world. When we started Google Maps, we thought "Oh great, people can search on maps for directions, and look at&amp;nbsp;satellite imagery."&amp;nbsp;We though we were making a really cool app that people could visit. And we did.&lt;br /&gt;&lt;br /&gt;But external developers showed us how it could be used to create mashup, data visualizations that really gave meaning to data. And they could do it without having a geography degree or a certification in GIS software. And they could do it with that then unique slippy map feel that we now expect from Google Maps. So we released the Maps API.&lt;br /&gt;&lt;br /&gt;Because we could get sites like &lt;a href="http://healthmap.org/en/"&gt;HealthMap&lt;/a&gt;, or the &lt;a href="http://www.ushahidi.com/"&gt;Ushahidi&lt;/a&gt;&amp;nbsp;project. We did it because people wanted to see &lt;a href="http://www.housingmaps.com/"&gt;real&lt;/a&gt;&amp;nbsp;&lt;a href="http://trulia.com/"&gt;estate&lt;/a&gt;&amp;nbsp;on &lt;a href="http://redfin.com/"&gt;maps&lt;/a&gt;. We did it because mapping &lt;a href="http://projects.latimes.com/mapping-la/crime/"&gt;crime alerts&lt;/a&gt; was meaningful to people. We did it because people want to share &lt;a href="http://code.google.com/apis/kml"&gt;KML files&lt;/a&gt;, mark up the earth, and have now created over 1 billion of them. We did it because in a crisis, people can turn to &lt;a href="http://www.google.com/crisisresponse/japanquake2011.html"&gt;our maps&lt;/a&gt;&amp;nbsp;and &lt;a href="http://project.wnyc.org/news-maps/hurricane-zones/hurricane-zones.html"&gt;yours&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Sure, there's a business model behind it, Google makes money on advertising, and the more sites out there, the more people are search. So, yeah. And we do make money from people who want to make the &lt;a href="http://code.google.com/apis/maps/documentation/premier/"&gt;maps&lt;/a&gt; &lt;a href="https://earthbuilder.google.com/"&gt;private&lt;/a&gt;, or &lt;a href="http://www.google.com/enterprise/earthmaps/enterprise-technical.html"&gt;offline&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But fundamentally, we do it because it's the right thing to do, we do it because we believe that people want to, that they benefit from using maps as a platform for understanding data.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5924088917767030088?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5924088917767030088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5924088917767030088' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5924088917767030088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5924088917767030088'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/09/why-do-we-do-it.html' title='Why do we do it?'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total><georss:featurename>Phoenix, AZ, USA</georss:featurename><georss:point>33.4483771 -112.07403729999999</georss:point><georss:box>33.133222100000005 -112.27304229999999 33.7635321 -111.87503229999999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-6400537958657730630</id><published>2011-09-24T20:12:00.000-07:00</published><updated>2011-09-24T20:12:00.609-07:00</updated><title type='text'>Technology: Do you get it?</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I give a lot of talks. I talk to developers, engineers, gis people, students, professors, geologists, NGO workers, and many more. And there's one statement that comes up quite often, a statement people make to me all the time. Usually not engineers or developers, but just about anyone else. It is some variation of:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;i&gt;Oh, I'm just not good with technology.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;This statement puzzled me for a long time, even though I think I understand what they are trying to say. The truth is, even the remote stone age tribe that hasn't made contact with the rest of the world uses technology. The light switch you flipped on? Technology. The paper you write on? Technology. The radio, car, dish washer, technology. The fork you eat with. Even the fact that you wear clothes. Technology. Anyone who has played &lt;i&gt;Civilization&lt;/i&gt;&amp;nbsp;or some other strategy game with a tech tree knows this.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What they are trying to say is that they are not good with computers. But chances are, they email regularly, post on [insert favorite sns], or use some IM client.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what do they mean? I'm going guess they mean something like this:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;&lt;i&gt;I am intimidated by how much you know about geo/programming/mobile phones etc. And I feel I could never learn that much.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is a much more reasonable proposition. Still likely untrue, but much more reasonable. I generally find that if I work with them, they can learn a surprising amount in a short period of time.&amp;nbsp;My personal theory is that it is fear of failing more than anything that prevents people from actually being able to do something.&amp;nbsp;Once they get past that, they tend to see how easy something can be, at least at the start.&amp;nbsp;I know there are things I've been scared to try for fear of failing or looking bad. That's natural. I think obsession with certain terms, like "technology" in our cultural make it harder for people to start, create a class of things they don't understand.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am not saying that everyone can be good at anything, or that some people aren't better at things than others. But one of our jobs as technologists and developers is to make it easier for people to understand what they are already doing, and to learn new things by relating them to things they've already learned. I've taught rudimentary JavaScript programming to people who didn't know what a text editor was, and some of them have gone on to make really amazing maps visualizations, by showing them the basics and relating it to what they already know.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK related note, some of you have heard this before, but a short story:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A friend of mine, a UNIX systems administrator, told me that he didn't think he was a geek. Oh, he's also a SciFi fan. And I mean he organizes SciFi conventions in his spare time fan. I should say Fan with a capital F. So he says to me, he doesn't think he's a geek.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After a moment of stunned silence on my part, I said "OK. So, let me ask you a question. What's your favorite text editor?"&lt;/div&gt;&lt;div&gt;"Well..." he began and I said "You're a geek." He looked at me and I explained "If your response was anything beyond 'Huh?' or 'You mean like Word?' then you're a geek." He then went on to explain to me why it used to be EMACS because of the capabilities, but was now vi because it existed on any machine he cared about without installing anything extra. My point was made.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-6400537958657730630?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/6400537958657730630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=6400537958657730630' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6400537958657730630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6400537958657730630'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/09/technology-do-you-get-it.html' title='Technology: Do you get it?'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total><georss:featurename>San Francisco, CA, USA</georss:featurename><georss:point>37.7749295 -122.41941550000001</georss:point><georss:box>37.7206295 -122.50881550000001 37.8292295 -122.33001550000002</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-1182057845035402627</id><published>2011-09-17T13:31:00.000-07:00</published><updated>2011-09-17T13:31:32.447-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Source'/><category scheme='http://www.blogger.com/atom/ns#' term='WebGL'/><category scheme='http://www.blogger.com/atom/ns#' term='raster'/><category scheme='http://www.blogger.com/atom/ns#' term='FOSS4G'/><title type='text'>Highlights from FOSS4G</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I went to &lt;a href="http://2011.foss4g.org/"&gt;FOSS4G&lt;/a&gt; this week, and had a great time. Believe it or not, this was the first time I went to a FOSS4G, and now of course I am hooked.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;First let me say that everyone I talked to and every talk I went to really was great. Such a friendly and smart crowd of people. And everyone was working on really interesting problems. I missed several talks because I just got into a conversation with someone and we didn't want to stop!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;There were a few things I wanted to call out in particular that I found really compelling.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;a href="http://vizzuality.com/cartoset" id="internal-source-marker_0.21792446123436093"&gt;&lt;span style="background-color: transparent; color: #000099; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;CartoSet &lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;and CartoDB: Awesome early stage project that draws inspiration from &lt;a href="http://www.google.com/fusiontables"&gt;Fusion Tables&lt;/a&gt;. Nice functionality, great designers working on it. The folks at &lt;a href="http://vizzuality.com/"&gt;Vizzuality&lt;/a&gt; are doing great work.&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.webglearth.com/"&gt;&lt;span style="background-color: transparent; color: #000099; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;WebGL Earth&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;: A nice 3D globe written entirely in JavaScript. Especially compelling in the developer release of Chrome. From &lt;a href="http://www.klokantech.com/"&gt;Petr Klokan&lt;/a&gt;, of &lt;a href="http://www.klokan.cz/projects/gdal2tiles/"&gt;GDAL2Tiles&lt;/a&gt; and &lt;a href="http://www.maptiler.org/"&gt;MapTiler&lt;/a&gt; fame. &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://trac.osgeo.org/postgis/wiki/WKTRaster"&gt;&lt;span style="background-color: transparent; color: #000099; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;"&gt;PostGIS Raster&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt; (pg Raster): This year a lot of buzz was around PostGIS Raster, which would as much as possible treat queries on raster data as SQL queries. It is still pretty experimental, but shows a lot of promise, especially attached to the mature PostGIS project. But the other thing that shows is there is a lot of desire for treating rasters as data, not just overlays. Of course, we believe that at Google, which is why we're working on &lt;a href="http://earthengine.googlelabs.com/#intro"&gt;Google Earth Engine&lt;/a&gt;. But I'm also glad to see so much desire for it in the FOSS community.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;Here's some photos I took at the conference&lt;br /&gt;&lt;table style="width: 194px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="center" style="background: url(https://picasaweb.google.com/s/c/transparent_album_background.gif) no-repeat left; height: 194px;"&gt;&lt;a href="https://picasaweb.google.com/mano.marks/FOSS4G2011?authuser=0&amp;amp;feat=embedwebsite"&gt;&lt;img height="160" src="https://lh6.googleusercontent.com/-FHlcxKO_clI/TnUCsmwPXVE/AAAAAAAAqdA/U_ysOH82nVA/s160-c/FOSS4G2011.jpg" style="margin: 1px 0 0 4px;" width="160" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: center;"&gt;&lt;a href="https://picasaweb.google.com/mano.marks/FOSS4G2011?authuser=0&amp;amp;feat=embedwebsite" style="color: #4d4d4d; font-weight: bold; text-decoration: none;"&gt;FOSS4G2011&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="background-color: transparent;"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;span style="background-color: transparent; color: black; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-1182057845035402627?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/1182057845035402627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=1182057845035402627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1182057845035402627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1182057845035402627'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/09/highlights-from-foss4g.html' title='Highlights from FOSS4G'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-FHlcxKO_clI/TnUCsmwPXVE/AAAAAAAAqdA/U_ysOH82nVA/s72-c/FOSS4G2011.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>San Francisco, CA, USA</georss:featurename><georss:point>37.7749295 -122.41941550000001</georss:point><georss:box>37.7206295 -122.50881550000001 37.8292295 -122.33001550000002</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-8287340610314188089</id><published>2011-08-25T17:03:00.000-07:00</published><updated>2011-08-25T17:26:43.974-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='drag and drop'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='raster'/><title type='text'>Playing with the HTML5 Drag and Drop API</title><content type='html'>&lt;p&gt;So another thing that inspired me during Sean Maday's talk at &lt;a href="https://sites.google.com/a/events-google.com/geospatial-awareness-day/home"&gt;Google's Geospatial Awareness Day&lt;/a&gt; was his demonstration of using HTML5's drag and drop API to load a KML file into a Google Earth API site. In that sample, he loaded the KML file. The JS then parsed the KML and read it into the plugin. I immediately thought about using it with Maps, and adding in a GroundOverlay. So I wrote a &lt;a href="http://mano-demos.googlecode.com/svn/trunk/demos/ddgo.html"&gt;quick sample&lt;/a&gt; to do just that. Of course, it doesn't work on older browsers, but if you're using later versions of Chrome, FF, or Safari it works just fine. I haven't tested it on IE9.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The code owes a lot to Riyad Kalla's &lt;a href="http://www.thebuzzmedia.com/html5-drag-and-drop-and-file-api-tutorial/" target="_blank"&gt;HTML5 Drag and Drop Upload and File API Tutorial&lt;/a&gt;. He does a good job of explaining the API, so I'll leave that part to his post. All mine does is put any image in a GroundOverlay on a map. Drag any image from your computer into the little space at the top and it'll show up in a pre-defined place on the map. Next-up I'll work on a way to stretch and position the image. I'm also thinking I'll try to pull out any positioning in the EXIF headers to make a guess about location.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I'm thinking this would be useful for image upload and positioning sites. Say I want users to place images of old maps or more recent satellite imagery. They could position it on the map and then upload it to my server. Of course this doesn't take care of proper georeferencing or projections. Thoughts for another project.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Here's my code for creating the GroundOverlay:&lt;/p&gt;&lt;pre&gt;function handleReaderLoadEnd(evt) {&lt;br /&gt;&lt;br /&gt;  var imageBounds = new google.maps.LatLngBounds(&lt;br /&gt;    new google.maps.LatLng(40.716216,-74.213393),&lt;br /&gt;    new google.maps.LatLng(40.765641,-74.139235));&lt;br /&gt;  var oldmap = new google.maps.GroundOverlay(evt.target.result,&lt;br /&gt;    imageBounds);&lt;br /&gt;oldmap.setMap(map);&lt;br /&gt;}&lt;br /&gt;  &lt;/script&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-8287340610314188089?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/8287340610314188089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=8287340610314188089' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8287340610314188089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8287340610314188089'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/08/playing-with-html5-drag-and-drop-api.html' title='Playing with the HTML5 Drag and Drop API'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-6165521883310690236</id><published>2011-08-24T20:40:00.000-07:00</published><updated>2011-08-24T20:56:30.948-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML5'/><category scheme='http://www.blogger.com/atom/ns#' term='Fusion Tables'/><title type='text'>HTML5 Input Range for a slider</title><content type='html'>&lt;p&gt;I was at Google's &lt;a href="https://sites.google.com/a/events-google.com/geospatial-awareness-day/home" target="_blank"&gt;Geospatial Awareness Day&lt;/a&gt; today, and Sean Maday did a demo of the new HTML5 input type of range, and I had a palm on forehead moment. Regular readers of the blog know I'm slightly obsessed with sliders, so I came home tonight and did a quick sample using a demo I did in Mexico City at the &lt;a href="http://www.estoesgoogle.com/" target=_blank"&gt;Esto es Google event&lt;/a&gt;. The example uses a FusionTablesLayer to show polygons from Natural Earth Data showing the boundaries of the Mexican states, and colors them using the populations, as found on Wikipedia.&lt;/p&gt;&lt;p&gt;Here's &lt;a href="http://goo.gl/RskQj" target="_blank"&gt;the sample&lt;/a&gt;, and here's the code for this sample.&lt;/p&gt;&lt;pre&gt;function initialize() {&lt;br /&gt; &lt;br /&gt;    var center = new google.maps.LatLng(23.99170847335287, -102.6702973539042);&lt;br /&gt; &lt;br /&gt;    map = new google.maps.Map(document.getElementById('map_canvas'), {&lt;br /&gt;      center: center,&lt;br /&gt;      zoom: 5,&lt;br /&gt;      mapTypeId: 'roadmap'&lt;br /&gt;    });&lt;br /&gt; &lt;br /&gt;    layer = new google.maps.FusionTablesLayer({&lt;br /&gt;      query: {&lt;br /&gt;        select: 'Shape',&lt;br /&gt;        from: '1231298'&lt;br /&gt;      }&lt;br /&gt;    });&lt;br /&gt;    layer.setMap(map);&lt;br /&gt;  }&lt;br /&gt;    function showValue(newValue)&lt;br /&gt;{&lt;br /&gt;  document.getElementById("range").innerHTML=newValue;&lt;br /&gt;   layer.setOptions({query:{&lt;br /&gt;      select: 'Shape',&lt;br /&gt;      from: '1231298',&lt;br /&gt;      where:"'2010'&amp;gt;" + newValue&lt;br /&gt;    }}&lt;br /&gt;      );&lt;br /&gt;}&lt;br /&gt;  &amp;lt;/script&amp;gt; &lt;br /&gt;&amp;lt;/head&amp;gt; &lt;br /&gt;&amp;lt;body onload="initialize()"&amp;gt; &lt;br /&gt;  &amp;lt;div id="map_canvas" style="height:75%"&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt; &lt;br /&gt;  &amp;lt;input type="range" min="600000" max="15000000" value="600000" step="100000" onchange="showValue(this.value)" /&amp;gt;&lt;br /&gt;&amp;lt;span id="range"&amp;gt;600000&amp;lt;/span&amp;gt;&lt;/pre&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-6165521883310690236?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/6165521883310690236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=6165521883310690236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6165521883310690236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6165521883310690236'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/08/html5-input-range-for-slider.html' title='HTML5 Input Range for a slider'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-7495051006131019836</id><published>2011-08-12T12:12:00.000-07:00</published><updated>2011-08-12T12:12:37.327-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='Earth'/><title type='text'>Using gx:altitudeOffset to raise polygons during a KML Tour</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;During the keynote Tuesday at &lt;a href="http://estoesgoogle.com/"&gt;Esto es Google,&lt;/a&gt; I showed a demo in Google Earth demo. In the demo, Polygons showing the boundaries of the states of Mexico were raised to relative heights based on their population. The KML is &lt;a href="http://mano-demos.googlecode.com/svn/trunk/slides/mexicocity2011/mexpoptour.kml"&gt;uploaded here&lt;/a&gt;&amp;nbsp;if you want to take a look. Basically, I got the boundaries from &lt;a href="http://www.naturalearthdata.com/"&gt;Natural Earth Data&lt;/a&gt;, and then wrote a quick Python script (it's not worth posting here) that helped me create a KML &lt;gx:tour&gt; which updated, over 10.5 seconds, the altitudes of the polygons based on the population. I got the populations from Wikipedia. &lt;gx:altitudeoffset&gt; is a Google extension to KML that allows you to say "Hey, change the altitude of this whole polygon by X meters" without having to update each coordinate in the &lt;coordinates&gt; element. By specifying that the &lt;gx:animatedupdate&gt; takes place over a period of time, you get a nice raising effect. And since they are extruded to the ground, you get a 3D bar chart effect. I also move the camera around so you can see different perspectives and polygons that might otherwise be hidden. I have 3% battery life, so I won't post a screenshot, but you can see if you open up the KML file and play the tour.&lt;/gx:animatedupdate&gt;&lt;/coordinates&gt;&lt;/gx:altitudeoffset&gt;&lt;/gx:tour&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-7495051006131019836?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/7495051006131019836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=7495051006131019836' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7495051006131019836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7495051006131019836'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/08/using-gxaltitudeoffset-to-raise.html' title='Using gx:altitudeOffset to raise polygons during a KML Tour'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-8322521878235460463</id><published>2011-07-22T14:44:00.001-07:00</published><updated>2011-07-22T14:44:32.122-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google+'/><title type='text'>Thoughts on Social Media: Early Days with Google+</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;OK, because everyone else is doing it, I thought I'd write a post on my experiences using Google+.&lt;br /&gt;&lt;br /&gt;First, I'd like to say for the record, I do work for Google, but not on Google+. I work on Google Geo, and specifically helping external developers use Google Geo APIs. I don't know why, but a variety of people have said to me "Now that you're working on Google+..." or something like that. I think I might have shared a post by someone who does and that's why people think that. Or something. And as always, these are my thoughts, not necessarily those of my employer.&lt;br /&gt;&lt;br /&gt;Anyway, here's some thoughts:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I &lt;i&gt;Heart&lt;/i&gt; Circles&lt;/b&gt;&lt;br /&gt;I do feel like they solve an issue that I've had with social media in the last several years. I have a job where I represent a company, Google, and therefore don't want to mix-up my public sharing of photos and link with my private sharing with friends and family. I haven't really had that since getting on Facebook and Twitter and having thousands of people following me. Which basically meant I didn't have a private life online. Many people my age wonder why that's an issue, but I have nieces and nephews who really communicate mostly online, and it is a great way to keep up when you're away. And I travel a lot. I mean 30-50% of the year I think. So I'm often in different time zones, etc.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What I am still trying to figure out&lt;/b&gt;&lt;br /&gt;I represent a company. So in some ways, the more people "follow" me, or rather in this case have me in their circles, the better for me. The means sharing a lot of things publicly. But that means everyone I share with sees all of that. And everyone who has put me in their circle. But if I limit what I post to certain circles I've defined, it means people don't see it when looking at whether they want to follow me. So that's interesting. Certainly hashtags and following someone by only certain hashtags would solve that, and I know the team has said they're looking into it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;I &lt;i&gt;Heart &lt;/i&gt;Hangouts&lt;/b&gt;&lt;br /&gt;Great experience, a really nice feature. I want to start doing some evening "let's have a beer" hangouts with folks. Or perhaps use it while playing video games or something. Anyway, still many use cases that haven't been figured out yet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lots of people adding me to circles quickly&lt;/b&gt;&lt;br /&gt;I think there's probably a lot of overlap between my Twitter/Facebook followers and my Google+ community. I am already over 1000 people with me in their circles, a number it took a lot longer to reach on Twitter.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclusions:&lt;/b&gt;&lt;br /&gt;Basically, loving it so far. I think that more tools to manage your stream will help a lot.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-8322521878235460463?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/8322521878235460463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=8322521878235460463' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8322521878235460463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8322521878235460463'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/07/thoughts-on-social-media-early-days.html' title='Thoughts on Social Media: Early Days with Google+'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-7489272342796920671</id><published>2011-06-04T07:26:00.000-07:00</published><updated>2011-06-04T07:26:42.845-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Street View'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><title type='text'>Fictional Worlds in Street View</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I hope I'm not shocking anyone, but &lt;a href="http://en.wikipedia.org/wiki/Liberty_City_(Grand_Theft_Auto)"&gt;Liberty City&lt;/a&gt; isn't a real place. The central location in the video game Grand Theft Auto is a fictional self-contained world, a sandbox in gaming terms where there are missions but you essentially have free reign of the city, not confined to a narrow path like in some other kinds of RPG video games.&lt;br /&gt;&lt;br /&gt;So why am I talking about video games, aside from the fact that video games are AWESOME?&lt;br /&gt;&lt;br /&gt;Recently, I discovered &lt;a href="http://www.gta4.net/map/"&gt;a map &lt;/a&gt;on a fan site for Grand Theft Auto IV. It's actually not the first one, the first &lt;a href="http://grandtheftauto.ign.com/maps/1/Liberty-City-Map"&gt;one I've seen was on IGN&lt;/a&gt;. Both these sites use &lt;a href="http://code.google.com/apis/maps/documentation/javascript/maptypes.html#Projections"&gt;Custom Projections&lt;/a&gt;&amp;nbsp;and map tiles to define a map that shows only Liberty City with no reference to Google Map tiles.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;The new site though has a significant new feature, it uses &lt;a href="http://code.google.com/apis/maps/documentation/javascript/services.html#CustomStreetView"&gt;Custom Street View Panoramas&lt;/a&gt; to display the Street View of Liberty City. Go ahead, try it, drop pegman onto the city and check out the panoramas. I'll wait.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Pretty awesome, huh? There's an interesting hack going on too. When you add a custom panorama it doesn't become part of the blue overlay that happens when you grab pegman but before you drop it. Since the designer had access to all the road data, since they designed the map, they were able to create a custom pegman that created their own custom blue overlay that allows you to see where Street View is.&lt;br /&gt;&lt;br /&gt;I'm hoping we'll see more of these kind of fictional places in Street View Maps API implementations. The code for it is reasonably simple, creating the actual panoramas is more difficult. I hope this sort of thing inspires people to use the Maps API to show planning projects too, showing interiors of buildings yet to be built, etc.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-7489272342796920671?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/7489272342796920671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=7489272342796920671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7489272342796920671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7489272342796920671'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/06/fictional-worlds-in-street-view.html' title='Fictional Worlds in Street View'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-678045538371708579</id><published>2011-06-03T16:22:00.000-07:00</published><updated>2011-06-03T16:22:42.310-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='Earth'/><title type='text'>Hacking Google Earth to show Earth Interiors</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;At the Smithsonian today I showed off Declan de Paor's &lt;a href="http://www.lions.odu.edu/~ddepaor/kmz/Fuji.kmz"&gt;classic interior of Mt. Fuji&lt;/a&gt;&amp;nbsp;which uses time animation and &lt;a href="http://sketchup.google.com/"&gt;SketchUp&lt;/a&gt; models to show half Fuji sliding out to reveal the interior cone. I mentioned this to Declan and he pointed me to his recent use of Mars in Google Earth to represent the core of the Earth, and building on top of that. Pretty cool. Here's his &lt;a href="http://www.digitalplanet.org/DigitalPlanet/New-June.html"&gt;more complete write-up&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.digitalplanet.org/DigitalPlanet/New-June_files/BlueMarbleCutout.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://www.digitalplanet.org/DigitalPlanet/New-June_files/BlueMarbleCutout.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-678045538371708579?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/678045538371708579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=678045538371708579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/678045538371708579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/678045538371708579'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/06/hacking-google-earth-to-show-earth.html' title='Hacking Google Earth to show Earth Interiors'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-8847740035879167389</id><published>2011-06-02T18:21:00.000-07:00</published><updated>2011-06-02T18:21:33.122-07:00</updated><title type='text'>Working with People</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The Humanities are traditionally a lonely profession. While in the hard sciences it's not uncommon to see a long list of names on papers, in Humanities professions there's little reward for multiple people working on a project. Tenure was based on articles you wrote, sole project work. One of the reasons I love digital humanities work is that people are coming together, breaking the restrictive bonds of solitary work. It was the reason I went back to grad school in 2004, tired of being the lone computer guy at a non-profit doing interesting data management work for people who largely didn't understand what I did.&lt;br /&gt;&lt;br /&gt;Today I was lucky enough to meet with folks at the &lt;a href="http://www2.lib.virginia.edu/scholarslab/"&gt;Scholar's Lab&lt;/a&gt; and the &lt;a href="http://shanti.virginia.edu/"&gt;SHANTI&lt;/a&gt;&amp;nbsp;at the University of Virginia in Charlottesville. It was inspiring to see the work they're doing by coming together, and building great projects. As&amp;nbsp;David Germano explained it, the early days of DH work were dominated by projects built around individuals. Which mean highly specialized projects that had to be continuously maintained by individuals who also had to fundraise for them. These projects were difficult to bring to other applications. Now, they're trying to build infrastructure projects, or better yet build on top of infrastructure projects to build the capacity for all DH professionals to do powerful projects. And of course, since a huge number of their projects have a geospatial component, they were fans of Google Maps and Earth. But Fusion Tables was pretty new, so I hopefully helped them out there.&lt;br /&gt;&lt;br /&gt;Tomorrow, I am meeting with people at the Smithsonian and then hurrying back to Fairfax for &lt;a href="http://chnm2011.thatcamp.org/"&gt;THATCamp&lt;/a&gt;&amp;nbsp;where I'm leading a self-guided a workshop on Google Geo. Come and join us. And work together to develop projects.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-8847740035879167389?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/8847740035879167389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=8847740035879167389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8847740035879167389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8847740035879167389'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/06/working-with-people.html' title='Working with People'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-762659466046812288</id><published>2011-05-30T01:45:00.001-07:00</published><updated>2011-05-30T01:45:02.288-07:00</updated><title type='text'>Memories and Ghosts-Berlin then and Now</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;My first stint in grad school I had a roommate, an air force officer who was getting her masters. One day she showed me a medal she got, as part of the occupation force in Berlin. She was one of the last to get it, having been stationed there in 1990 just before reunification.&lt;br /&gt;&lt;br /&gt;I'm in Berlin, my last few hours here actually. People have been asking me a lot "is this your first time in Berlin?" and I say no, and they assume I know my way around. I say "Actually, it's my third, but the last time was 21 years ago." I'm 42, that makes it half my lifetime.&lt;br /&gt;&lt;br /&gt;I visited Berlin twice before, in 1989, just after the Berlin Wall opened up. I don't like to say "fell" because the physical wall was in place for weeks afterwards, and in fact they've preserved at least one portion of it for posterity, but in an out of the way place. The second time was the following summer, I came here with my mother.&lt;br /&gt;&lt;br /&gt;Walking around Berlin, I feel ghosts. Not actual ghosts of course, but things I catch out of the corner of my mind's eye. Standing in front of the Brandenburg Gate, I remember standing there, looking up at the Wall, looking up at the East German guards still patrolling the Wall, a little confused I'm guessing at why they were still there since other portions had been removed, and the checkpoints open. I remember the French activist - activist for what I'm not sure, just he had a sign and long hair - yelling up at the guards to tear down this portion of the wall, to open the gate. He was very impassioned, but the rest of Berlin was having a party.&lt;br /&gt;&lt;br /&gt;I was a hungry student, traveling with three other hungry students. It was cold, and we'd been used to living the East (Budapest) for awhile. Several major companies decided that the opening of the Wall was a great marketing opportunity. Marlboro had people hand cigarettes to East Germans as they drove their Traubants through the checkpoint. Western cigarettes had been greatly prized, and often used for bartering in Eastern Europe. Candy companies got into the act too. We four followed someone from Snickers around, as she handed out candy in front of Brandenburg Gate. We positioned ourselves in front of her, and acted surprised and pleased every time she handed us some. I felt vaguely sick that night from all the sugar, but I had saved a lot of money on food for the day.&lt;br /&gt;&lt;br /&gt;There's no trace of the Wall left around the Gate, except for some signs for tourists explaining a little of the history. Walking through the Gate was weird. Greenpeace activists were staging a small anti-nuke demonstration last night. They'd put up big banners on the Gate. And I realized with a start that I had walked from former East Berlin into former West Berlin. Without really realizing I had been in the East. I saw in my mind my mother breaking off pieces of the Wall. Or perhaps I am thinking of the actual picture I have of her doing just that. Funny that my memory might actually be of a picture of the event not the event itself.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.berlin-gtug.org/"&gt;Berlin GTUG&lt;/a&gt; meeting yesterday was at &lt;a href="http://www.c-base.org/"&gt;c-base&lt;/a&gt;. In &lt;a href="http://mano-demos.googlecode.com/svn/trunk/slides/georoadshow/berlin/berlingtug.html"&gt;my talk&lt;/a&gt; I discussed Fusion Tables and the Places API. The group is so vibrant and interested. Before hand we discussed different scripting languages that run on the JVM, someone was really excited about &lt;a href="http://www.scala-lang.org/"&gt;Scala&lt;/a&gt;. c-base itself is modeled on a crashed space station, if the space station had been designed for a 1970s movie. Very nice space with a great view of the Spree. I drank Czech beer and ate&amp;nbsp;barbecue and looked at the Spree, and forgot about the memories and ghosts of Berlin past. The present in Berlin is so much more beautiful.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-762659466046812288?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/762659466046812288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=762659466046812288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/762659466046812288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/762659466046812288'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/05/memories-and-ghosts-berlin-then-and-now.html' title='Memories and Ghosts-Berlin then and Now'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-527482954066612418</id><published>2011-05-19T06:48:00.000-07:00</published><updated>2011-05-19T06:48:26.222-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Places API'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Place'/><title type='text'>More Ruminations on Place</title><content type='html'>Back in March, I wrote a post, &lt;a href="http://randommarkers.blogspot.com/2011/03/ruminations-on-place.html"&gt;Ruminations on Place&lt;/a&gt;, after a day walking around in Kyoto. I've been in Paris for a few days and I'm thinking more about Place, and what is a Parisian sense of place. Or rather, I should say, what is my sense of Paris as a Place. These are just some random thoughts.&lt;br /&gt;&lt;br /&gt;I have passed approximately 50 - or it may be as low as 10 -&amp;nbsp;souvenir&amp;nbsp;shops selling postcards in distinctive black and white or sepia styles. Do an image search on "Paris France" - "Paris" gets you a lot of Paris Hilton stuff - and you'll see examples of it. It's a style that I realized unconsciously made up my sense of Paris as a Place, and made me long for a black and white camera.&lt;br /&gt;&lt;br /&gt;Americans, I think, often have the stereotype that Parisians are rude, particularly when you try to speak French. Apparently, this is no longer true. Oh no, I didn't try to speak French, my partner is here with me and has a great accent, though not a lot of vocabulary, and it's be wonderfully fun. And everywhere we go, Parisians have been definitely not rude. I realize this too was part of my sense of the Place that is Paris, and strangely I feel a conflict between my internal sense of the Place and my current experience. At the same time I am of course happy to have that proven wrong.&lt;br /&gt;&lt;br /&gt;Like many of my generation, I am used to relying on guide books for travel. My partner had one, which I will no name here, which had much inaccurate information. I am proud to say that the Google Places app on my Android device was really helpful in situations like "Oh, I need a place to eat now that I have time before the concert I just decided to go to." It was not so helpful in finding a breakfast place because breakfast isn't a big deal here like it is in the US. So we found a restaurant nearby, but not one that served crepes, which we wanted. Because apparently Parisians don't do that. But nothing in Places, or an online search, or a guide book would have told me that. So, still work to do.&lt;br /&gt;&lt;br /&gt;Speaking of Places, and to earn my keep, the &lt;a href="http://code.google.com/apis/maps/documentation/places/index.html"&gt;Places API&lt;/a&gt; is now open to everyone and has some really cool capabilities, check it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-527482954066612418?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/527482954066612418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=527482954066612418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/527482954066612418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/527482954066612418'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/05/more-ruminations-on-place.html' title='More Ruminations on Place'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-3764135363153240221</id><published>2011-04-29T14:15:00.000-07:00</published><updated>2011-04-29T14:15:00.851-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='memories'/><title type='text'>Memories: When the Soviets tried to recruit me to be a spy</title><content type='html'>Dan Morrill on the Android team reminded me today of a story I told him awhile back that is worth sharing.&lt;br /&gt;&lt;br /&gt;In 1989 I was on my junior year abroad, in Budapest Hungary. Nice random chance. I had gone into the education abroad program at UCSD and told them "I need to get out of the country!" and they obliged. When I'd applied, it was 1988 and there was maybe some interesting stuff going on in Poland with Solidarity, but no one knew what was coming. I arrived in August of 1989, and a week later the Hungarian government opened the borders, allowing East Germans to leave to Austria. At the time, this was hugely&amp;nbsp;momentous. East Germany and Hungary were part of the Warsaw Pact, an alliance of Soviet backed Socialist states run by the Communist parties and mostly dictated to by Moscow. Travel between those countries was permitted but travel to the West was severely restricted. East Germany (officially known at the time as the Germany Democratic Republic, or it's German&amp;nbsp;abbreviation&amp;nbsp;"DDR") cut off travel to Hungary, but the chain of events that had started (arguably) with the&amp;nbsp;Solidarity&amp;nbsp;strikes in Poland started to cascade. The end result was a very different Europe. But no one knew that at the time.&lt;br /&gt;&lt;br /&gt;In fact, I didn't find out about the Hungarian government opening the border for a week. There were few English language news sources at the time (remember, no public Internet) and the faculty of Karl Marx University of Economics, where my program was situated, didn't bother to tell us, perhaps a little scared about what was going on.&lt;br /&gt;&lt;br /&gt;Anyway, I was studying to be a historian at the time and historic things were happening so I was in heaven. My mother was a peace activist, and decided to go to Moscow to do work there. She was also an artist and had no real concept of dealing with&amp;nbsp;bureaucratic institutions. She wanted me to visit her for Christmas in Moscow, and since I was in Budapest I thought why not? But to go, I needed an invitation to get a visa. Not an easy process. BTW, still not an easy process. So I asked her to get me an invitation.&lt;br /&gt;&lt;br /&gt;My mother responded by saying "I invite you". I told her I needed something written, and she sent me a telegram that went something like this "Here's your invitation. I don't understand why you need this. Seems like you just don't want to spend Christmas with your mother." I may be mis-remembering that last sentence.&lt;br /&gt;&lt;br /&gt;Sighing in frustration, and realizing I wasn't going to get anything better out of her, I showed up at the Soviet consulate. Now most embassies have nice neat orderly lines that move people through the place. The Soviet consulate in Budapest, at the time a part of the Soviet embassy, a huge concrete monstrosity, ran things differently. They let people crowd around and push their way to the front of the line. Being a shy retiring type at the time (unlike now) it took me an hour to get to a window. I tried to communicate to the official who just stared at me, and then turned and summoned someone who could speak to me in English. He frowned at me, looked at my passport, this young idealistic many trying to get a visa, glanced at the telegram dismissively, and said only "You come back tomorrow, 12:00".&lt;br /&gt;&lt;br /&gt;Dutifully and full of dread, I came back at 12:00 the next day. "Sasha" grilled me for two hours at his desk. What did my father do (episcopal minister, deceased)&amp;nbsp;? What did my grandfather do (stockbroker)? Why was my mother in Moscow (peace work with the Peace Committee, a known KGB front organization)? What was I studying (History, very interested in Eastern Europe)? Where did I grow up (Berkeley, at the time home of radicalism and Marxism in the US)? Would I like to learn more about the Soviet Union (oh yes of course? and the kicker Would I like to study Russian with his daughter, trade language lessons (Oh yes, of course, sounds great)?&lt;br /&gt;&lt;br /&gt;At the time I wasn't a Quaker, so a little lying and&amp;nbsp;stretching the truth wasn't beyond me. He seemed satisfied, and pulled out a ticket, he actually paid for my train ticket to Moscow. How exciting! At the time your ticket came with a separate seating assignment. He gave me the top bunk in a sleeping car. Wow, how generous, thank you! Afterwards I learned that the ticket was about $7 or something, depending on whether you exchanged money officially or on the black market.&lt;br /&gt;&lt;br /&gt;So the day finally came, and I get on the train. Top bunk, all the way to Moscow, more than a day of travel. In my mind I remember it as 36 hours, but I'm not sure now. While I was boarding the train, a revolt broke out in Romania. By the time I got off the train&amp;nbsp;Ceauşescu, the communist dictator was arrested. He was executed a couple days later. I'm against the death penalty in general, but I certainly didn't mourn his death.&lt;br /&gt;&lt;br /&gt;But I didn't find out about the arrest because I was on the train. No phones or Internet in those days, and no one announcing what was happening. And I was the only American in my car, as far as I could tell. My grand mother had sent me a big box of candy, and I learned the value of american candy, so I shared them with those in my cabin. There were six people in my cabin and lo and behold in the bunk across from me there was this beautiful Russian woman who spoke English with just a slight and endearing accent. She engaged me in constant delightful conversation. Turns out her father worked at the embassy, what a coincidence! Now you have to understand that this sort of thing never happens to me. So a clever man of the times, with a slight paranoid bent, I easily put together what was happening. When she gave me her number in Moscow as we got off the train, I wasn't surprised. I never called of course. My mother had her own KGB handler, and I'm sure everything was bugged in my mother's apartment. That's not paranoia, that's just how it was back then.&lt;br /&gt;&lt;br /&gt;"Sasha", btw a very common Russian name, short of Aleksandr, wasn't at the embassy when I went back. He had asked me to "report" on what I saw in Moscow. I thought I'd be dutiful about that, thankful for the ticket, and then just not follow-up. But he wasn't there and the embassy staff acted as if they had never heard of anyone named Sasha and it was strange that I would ask and would I please go away. Sorry Sasha, you failed to recruit a spy, but thanks for the ticket!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-3764135363153240221?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/3764135363153240221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=3764135363153240221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3764135363153240221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3764135363153240221'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/04/memories-when-soviets-tried-to-recruit.html' title='Memories: When the Soviets tried to recruit me to be a spy'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-3724725052207986325</id><published>2011-03-31T18:36:00.000-07:00</published><updated>2011-03-31T18:36:45.248-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NoGIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Can&apos;t we all just get along'/><category scheme='http://www.blogger.com/atom/ns#' term='GIS'/><title type='text'>NoGIS: Round Two of Neo vs. Paleo Geography?</title><content type='html'>Can't we all just get along?&lt;br /&gt;&lt;br /&gt;I started, apparently, a few days ago with the posting of&amp;nbsp;&lt;a href="http://nogis.eventbrite.com/"&gt;NoGIS Meetup&lt;/a&gt;, and the subsequent blog post, "&lt;a href="http://blog.geoiq.com/2011/03/29/what-does-nogis-mean/"&gt;What Does NoGIS Mean?&lt;/a&gt;" by Sean Gorman on the GeoIQ blog. Among other things, Sean said&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"F&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 22px;"&gt;or decades, location and geography have been their own special niche, served by GIS technology from a fairly small number of vendors. &amp;nbsp;As many have&amp;nbsp;pointed&amp;nbsp;out “spatial is no longer special” and as a result location is quickly becoming a feature of many technologies. &amp;nbsp;As location base apps become ubiquitous the characteristics of geographic data are changing as well. &amp;nbsp;The data of this new&amp;nbsp;paradigm&amp;nbsp;does not look like the&amp;nbsp;static&amp;nbsp;parcel data, which is stereotypical of much traditional GIS work. &amp;nbsp;As we saw in the NoSQL characteristics data is now high volume, dynamic and users/developers want to see/query it in real time."&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 22px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 22px;"&gt;And the usual statement by neogeographers (in one of the comments)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 22px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif; font-size: 14px; line-height: 22px;"&gt;&lt;i&gt;"I’m not inferring that GIS and NoGIS are mutually exclusive..."&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 22px;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 22px;"&gt;James Fee, traditional defender of the Paleo...OK, that's a bit much but let's say a frequent defender of all things Paleo responded in &lt;a href="http://www.spatiallyadjusted.com/2011/03/30/nogis-the-engine-behind-neogeography/"&gt;his blog post&lt;/a&gt;:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 22px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 22px;"&gt;&lt;i&gt;As with anything, everyone is quick to say we’ve all been doing this since the 1960′s so ignore it and move on unless you’ve got one of the following to accomplish:&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;And then goes on to list the geography industry's equivalent of hipster evils.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;And I thought that the Neogeography vs. Paleogeography wars were largely over and we were all getting along. But perhaps it was just a Christmas ceasefire.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;That said, I'll be at the NoGIS workshop, should be interesting. No one ever said geographers were boring. Oh, wait, many people have. But they are, of course, wrong.&lt;/span&gt;&lt;/div&gt;&lt;div style="font-size: 14px; line-height: 22px;"&gt;&lt;span class="Apple-style-span" style="font-family: Helvetica, Georgia, 'Times New Roman', Times, serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-3724725052207986325?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/3724725052207986325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=3724725052207986325' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3724725052207986325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3724725052207986325'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/03/nogis-round-two-of-neo-vs-paleo.html' title='NoGIS: Round Two of Neo vs. Paleo Geography?'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-7182433376215276889</id><published>2011-03-29T20:58:00.000-07:00</published><updated>2011-03-29T20:59:13.072-07:00</updated><title type='text'>My Slides for CalGIS: What you should be asking us The future of geography, and the hard - and easy - questions that follow</title><content type='html'>&lt;div&gt;I do a lot of talking in my job. This quarter, January 1-March 31st, by the end of the quarter I'll have given 19 different talks at 16 different events. Many of the talks are the same or similar, targeted to a specific audience but conveying some of the same essentials in terms of content. That's because I'm doing the "spreading the word" part of my job, telling people about new technologies.&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;div&gt;Sometimes, though, I like to do new things. I was invited to do a keynote at &lt;a href="http://www.urisa.org/calgis/info/" target="_blank"&gt;CalGIS's conference&lt;/a&gt;, and decided to write an abstract that was different from what I've been doing, so that I could explore different themes. I talked for the first time in a public talk about Google's on-going work on the Japan Crisis, and how cloud providers can help maintain a web presence for public service agencies - most of the participants were from government agencies -  and related topics. I think the slides convey more of a "of course you should go with a cloud provider" then I actually presented, but most of what I was trying to convey was that these are hard choices and here's a place to start.&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;div&gt;BTW, I hate the word cloud in this context. It's so market-y. Anyone have recommendations for a real replacement?&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;iframe src="https://docs.google.com/present/embed?id=dgv94rzh_42tsr9zbhq" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-7182433376215276889?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/7182433376215276889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=7182433376215276889' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7182433376215276889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7182433376215276889'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/03/my-slides-for-calgis-what-you-should-be.html' title='My Slides for CalGIS: What you should be asking us The future of geography, and the hard - and easy - questions that follow'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-3449015407952615224</id><published>2011-03-27T05:19:00.000-07:00</published><updated>2011-03-27T05:19:04.748-07:00</updated><title type='text'>Recent Slides</title><content type='html'>&lt;p&gt;By the end of March, I'll have done 19 talks this year, at 16 different events. It's been a busy quarter. I'm not going to put all 19 sets of slides in here. Some of them had a lot of similarity. So I thought I'd post a couple of representative ones.&lt;/p&gt;&lt;p&gt;I did a talk on March 1st at the North Capital Area GTUG, at the Google DC office, on Fusion Tables. This was the culmination of a US East Coast tour that took me to College Park Maryland, Boston, and DC. It was video taped, but unfortunately the tape hasn't been digitized yet, I'll post that when I get it.&lt;/p&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df795pd2_3007gmhtxc8" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;p&gt;In Tokyo, at that Yahoo! Japan Geolocation conference, I gave a talk on Fusion Tables and mapping in the cloud.&lt;/p&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df795pd2_301r358knc8" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;p&gt;I then went on to give talks at the Tokyo and Kyoto GTUGs. Here's the slides from Kyoto, largely the same as the Tokyo ones.&lt;/p&gt;&lt;iframe src="https://docs.google.com/present/embed?id=dgv94rzh_41ckc9h6gq" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-3449015407952615224?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/3449015407952615224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=3449015407952615224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3449015407952615224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3449015407952615224'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/03/recent-slides.html' title='Recent Slides'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-3391610957286970617</id><published>2011-03-16T16:36:00.000-07:00</published><updated>2011-03-16T16:41:34.912-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='earthquake tsunami'/><category scheme='http://www.blogger.com/atom/ns#' term='Japan'/><title type='text'>Tragedy in Japan and how to help</title><content type='html'>Like everyone, I am horrified by the loss of life and homes in the recent&amp;nbsp;devastation&amp;nbsp;in Japan. The scale is enormous, and as we hear more about it, many of us feel hopeless to help and scared about what it means for the future. Aftershocks and worries about radiation are all over the news, along with calls for donations, and occasional worries about scams, people promising to help, but taking money anyway.&lt;br /&gt;&lt;br /&gt;At the same time, I am consistently impressed by the people who jumped in to help. From the first responders, the military, to the nuclear workers working day and night to prevent greater tragedy. There are people on the ground in Japan doing great work, mapping transportation routes, helping people find loved ones, providing food and shelter.&lt;br /&gt;The Google Crisis Response team has been putting together many of these resources here:&amp;nbsp;&lt;a href="http://www.google.com/crisisresponse/japanquake2011.html"&gt;http://www.google.com/crisisresponse/japanquake2011.html&lt;/a&gt;, including ways for people to donate money, maps of the situation, and links to the Japan Person Finder app.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://wiki.openstreetmap.org/wiki/Humanitarian_OSM_Team"&gt;Humanitarian OSM Team&lt;/a&gt;&amp;nbsp;is also on the ground, with more information here:&amp;nbsp;&lt;a href="http://openstreetmap.jp/crisis/"&gt;http://openstreetmap.jp/crisis/&lt;/a&gt;&amp;nbsp;about how to help with their mapping efforts.&lt;br /&gt;&lt;br /&gt;Millions have already been donated. Millions more will be needed. Please help out now. If you want to know more about what Google is doing, follow &lt;a href="https://twitter.com/#!/earthoutreach"&gt;@earthoutreach&lt;/a&gt;&amp;nbsp;on twitter.&lt;br /&gt;&lt;br /&gt;If you have other creative ways to contribute, please feel free to leave them in the comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-3391610957286970617?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/3391610957286970617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=3391610957286970617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3391610957286970617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3391610957286970617'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/03/tragedy-in-japan-and-how-to-help.html' title='Tragedy in Japan and how to help'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5917783741057270967</id><published>2011-03-10T05:05:00.000-08:00</published><updated>2011-03-10T05:05:12.556-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Street View'/><category scheme='http://www.blogger.com/atom/ns#' term='Place'/><category scheme='http://www.blogger.com/atom/ns#' term='Open Data'/><title type='text'>Ruminations on Place</title><content type='html'>Sunday, I was on a panel with Steve Chase, Hurricane Chase, and Murata Takehiko at the Yahoo! Japan &lt;a href="http://gihyo.jp/event/2011/geoconf"&gt;Geolocation Conference&lt;/a&gt; (&lt;a href="http://twitter.com/#%21/search/geoconf"&gt;#geoconf&lt;/a&gt;). Yahoo! Japan (a distinct entity from Yahoo! Inc. btw), put on an excellent conference, and had announced that they would be contributing data to &lt;a href="http://www.openstreetmap.org/"&gt;Open Street Map&lt;/a&gt;, in a similar fashion to Bing and MapQuest. There was a lot of excitement in the room, with many OSM participants present (by design I imagine). And there were inevitable questions about Google's future involvement in the project - something I'm interested in personally but can make no commitment to on behalf of Google of course. But more importantly, to this blog post at least, a question came up about whether Google would contribute Street View imagery to OSM, and whether there were any OSM related projects developing open versions of Street View. As a panelist, and someone who can't avoid talking, because I'm just that way, I had to answer of course. My answer went something like this, speaking as myself not foreshadowing a future Google product:&lt;br /&gt;&lt;br /&gt;I don't think in the future, Google should have to be driving all the streets in the world. Ideally, we will move toward a time in which everyone is providing data about the world in open formats, in ways that are search-able and crawl-able. What makes Street View so compelling, I think, is that it gives us a sense of place, a sense of the essence, be being-ness of the location we're looking at. And in fact, in places where we don't drive cars, you can still see geolocated photos. Look at Moscow, for instance, with Pegman selected. There are photos all over. Ideally, this is something self-perpetuating, something people want to open up.&lt;br /&gt;&lt;br /&gt;That got me to thinking, especially after reading Ed Parson's &lt;a href="http://www.edparsons.com/2011/03/1930s-teddington-street-view/"&gt;recent post about a 1930's video of Teddition&lt;/a&gt;. He, and the commenters, talks about what can be seen there, and what has stayed the same. Ed ends with this statement:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;"We are lucky to have rare video like this for it’s completeness but at  the same time it’s disappointing that for future generations Google  Street View which could offer a similar resouce has had to be mutilated  to accomodate privacy concerns."&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Indeed, there is something we miss out on. I am not arguing for doing away with privacy, I'm just ruminating here on pictures and meaning. The word "place" has many meanings in English, but they are interrelated. The reason satellite imagery, and particularly street view imagery is so compelling is that it relates something that standard maps can't, a sense of the place or essence of a location. And that place-ness, that sense that is tied to location, time, people, trees, buildings, smell, sounds, all of that is incredibly powerful, and I think Street View is only starting to touch on what that means to people.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;I've been in Japan this last week, and at two GTUG meetings, I did demonstrations of custom Street View. In particular, people were interested in this simple holiday greeting from Digitas. In it, the developers added some panoramas to their Street View application through the API, which of course anyone could do. The panoramas lead off street into the digitas office where employees hold up signs and there are thought and word bubbles around them. This conveys a sense of the place, a sense of celebration and fun and associates it with Digitas. I hope it really is that fun to work there, they seem like really nice folks in the picture!&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;The point I'm trying to make is that by this simple set of panoramas and a few lines of code, they were able to extend the sense of place that is the city around them, and change it to create a view of the place that is their company.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;I know there are lots of academic writings on this subject, but frankly since 1994 I get bored when post-modernism or marxist dialectics get mentioned, so my forays into those studies have been unsuccessful at moving me. I read the works of China Meivelle, or Armistead Maupin instead, each of whom conveys vividly this sense of place &lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Today, like most days I have free in cities not my own, I walked. I walked around Kyoto. Not to find temples or castles, but to find that sense of place. I walked around, a lot, often going back over the same streets, visiting occasionally the same shops. I tried my extremely limited Japanese, and people graciously helped me out. I walked not just the big streets, but the small ones, gathering into myself my own impressions, my own sense of Kyoto-ness. Of course, this is very different from living here, what the place is like, and especially different from being a native. I tried to take pictures (posting them later) that captured this sense. How will technology solve this? Street View, satellite imagery, they are a start, but I believe augmented reality applications are going to be the best bet for capturing the "-ness" of a place. And I believe at some point, most of us will be involved in that capturing. The popularity of check-in applications, the rise of geotagged photos and videos, providing reviews, &lt;a href="http://www.foodspotting.com/"&gt;Foodspotting&lt;/a&gt;, and more are already starting it. It's only been 6 years since Google Earth and the Maps API came out, I wonder what we're going to see in another 6 years.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5917783741057270967?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5917783741057270967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5917783741057270967' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5917783741057270967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5917783741057270967'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/03/ruminations-on-place.html' title='Ruminations on Place'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-6793460557109469135</id><published>2011-03-04T00:21:00.000-08:00</published><updated>2011-03-04T00:21:39.723-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Fusion Tables'/><title type='text'>Private Tables in Fusion Tables: Better privacy for your data</title><content type='html'>&lt;p&gt;Back in June, I wrote about "&lt;a href="http://randommarkers.blogspot.com/2010/06/techniques-for-protecting-your-data.html" target="_blank"&gt;Techniques for protecting your data&lt;/a&gt;." Yesterday, Google announced another way to protect your data, &lt;a href="http://googleenterprise.blogspot.com/2011/03/fusion-tables-protected-map-layer.html" target="_blank"&gt;Protected Map Layers&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Protected map layers, a part of the Google Maps API Premier package, allow you to create a data table in &lt;a href="http://google.com/fusiontables" target="_blank"&gt;Google Fusion Tables&lt;/a&gt; and keep that table private. Maps API Free allows you to use only tables marked Public. Protected map layers are rendered as clickable rasters. You still have to be careful what data you put into the infowindow, make sure it's only what you want public.&lt;/p&gt;&lt;p&gt;Of course, Maps API Premier also allows you to make maps that are password protected, so this will be really useful for enterprises that want to keep their data entirely private but still take advantage of the performance improvements and spatial queries that are allowed by using a FusionTableLayer.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-6793460557109469135?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/6793460557109469135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=6793460557109469135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6793460557109469135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6793460557109469135'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/03/private-tables-in-fusion-tables-better.html' title='Private Tables in Fusion Tables: Better privacy for your data'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-955037613246851809</id><published>2011-02-09T15:33:00.000-08:00</published><updated>2011-02-09T15:34:18.348-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='Earth'/><title type='text'>JSON in KML Templates</title><content type='html'>&lt;p&gt;Since Google Earth 5.0, the &lt;a href="https://code.google.com/apis/kml/documentation/kmlreference.html#description" target="_blank"&gt;description&lt;/a&gt; balloon has handled pretty close to full JavaScript. There's some interesting things you can do with this. In this example, I'm showing a very basic use of JSON using KML balloon &lt;a href="https://code.google.com/apis/kml/documentation/extendeddata.html#balloonStyle" target="_blank"&gt;templates&lt;/a&gt;.&lt;/p&gt;&lt;pre class="code"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;kml xmlns="http://www.opengis.net/kml/2.2"&amp;gt;&lt;br /&gt;  &amp;lt;Document&amp;gt;&lt;br /&gt;    &amp;lt;Style id="testStyle"&amp;gt;&lt;br /&gt;      &amp;lt;BalloonStyle&amp;gt;&lt;br /&gt;        &amp;lt;text&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;          &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;             function loadData(){&lt;br /&gt;               var foo = $[foo];&lt;br /&gt;               var myObj = foo.myData[1].value;&lt;br /&gt;               document.getElementById("example").innerHTML = myObj;&lt;br /&gt;             }&lt;br /&gt;           &amp;lt;/script&amp;gt;&lt;br /&gt;           &amp;lt;body onload="loadData()"&amp;gt;&lt;br /&gt;             &amp;lt;div id="example"&amp;gt;test&amp;lt;/div&amp;gt;&lt;br /&gt;           &amp;lt;/body&amp;gt;&lt;br /&gt;          ]]&amp;gt;&lt;br /&gt;        &amp;lt;/text&amp;gt;&lt;br /&gt;      &amp;lt;/BalloonStyle&amp;gt;&lt;br /&gt;    &amp;lt;/Style&amp;gt;&lt;br /&gt;    &amp;lt;Placemark&amp;gt;&lt;br /&gt;      &amp;lt;styleUrl&amp;gt;#testStyle&amp;lt;/styleUrl&amp;gt;&lt;br /&gt;      &amp;lt;ExtendedData&amp;gt;&lt;br /&gt;        &amp;lt;Data name="foo"&amp;gt;&amp;lt;value&amp;gt;{"myData":[&lt;br /&gt;          {"value":"1"},{"value":"50"}]&lt;br /&gt;          }&amp;lt;/value&amp;gt;&amp;lt;/Data&amp;gt;&lt;br /&gt;        &amp;lt;Data name = "bar"&amp;gt;&amp;lt;value&amp;gt;23094&amp;lt;/value&amp;gt;&amp;lt;/Data&amp;gt;&lt;br /&gt;      &amp;lt;/ExtendedData&amp;gt;&lt;br /&gt;      &amp;lt;Point&amp;gt;&lt;br /&gt;        &amp;lt;coordinates&amp;gt;0,0&amp;lt;/coordinates&amp;gt;&lt;br /&gt;      &amp;lt;/Point&amp;gt;&lt;br /&gt;    &amp;lt;/Placemark&amp;gt;&lt;br /&gt;  &amp;lt;/Document&amp;gt;&lt;br /&gt;&amp;lt;/kml&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Balloon templates are designed to allow you to use a single &amp;lt;Style&amp;gt; element for all or a set of your &amp;lt;Placemark;gt; elements, and then just insert &amp;lt;Feature&amp;gt; specific data into the template. Named &amp;lt;Data&amp;gt; elements inside a &amp;lt;ExtendedData&amp;gt; element provide name/value pairs. However, this can be a little flat. You can put JSON elements inside the &amp;lt;value&amp;gt; element (a child of &amp;lt;Data&amp;gt;, which gives you a lot more flexibility.&lt;/p&gt;&lt;p&gt;The good folks at &lt;a href="http://secoora.org/format_feed_support" target="_blank"&gt;Secorra&lt;/a&gt; provide &lt;a href="http://carocoops.org/twiki_dmcc/bin/view/Main/ObsKML" target="_blank"&gt;ObsKML&lt;/a&gt;, an ocean observations format, using this technique.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-955037613246851809?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/955037613246851809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=955037613246851809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/955037613246851809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/955037613246851809'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/02/json-in-kml-templates.html' title='JSON in KML Templates'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-4610241813702550211</id><published>2011-01-29T13:24:00.000-08:00</published><updated>2011-01-29T13:24:25.202-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hack'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Fusion Tables'/><title type='text'>Interactivity with FusionTableLayer and mouse clicks</title><content type='html'>&lt;p&gt;The &lt;a href="http://code.google.com/apis/maps/documentation/javascript/reference.html#FusionTablesLayer" target = "_blank"&gt;FusionTablesLayer&lt;/a&gt; in the Google Maps API is a bit of a black box. &lt;a href="http://google.com/fusiontables/" target="_blank"&gt;Fusion Tables&lt;/a&gt; generates a clickable tile overlay to use place in your Maps API application, but you don't get direct to change anything. If you want to change data, you have to do server side calls. However, the FusionTablesLayer does give you access to row data on click, which allows you to do interesting things server side.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In my sample &lt;a href="http://ftclientlogintest.appspot.com/html/interactiveftlayer.html" target="_blank"&gt;interactiveftlayer&lt;/a&gt;, I use a Fusion Table of &lt;a href="http://google.com/fusiontables/DataSource?dsrcid=414431" target="_blank"&gt;Google's corporate addresses&lt;/a&gt;. The table has a simple Color column, with values of 0 or 1. In the Fusion Tables map visualization for the table, I configured the Marker Icon such that values of 0 are green, and 1 are blue. The color means nothing of course about the actual office.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In interactiveftlayer, I suppress the InfoWindow by adding a suppressInfoWindows: true option to the layer initialization. I then add an event listener to the layer that captures the click event on the layer. This gives me row information about the feature clicked. I then send a XMLHttpRequest to the server (in this case App Engine) with the other color (1 if the color is 0, 0 if it is 1). After the response from the XMLHttpRequest, I reload the layer.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;There's one tricky part, and hopefully we can find a way to improve this on the Maps API end. The FusionTableLayer is cached by the browser. Which means that even if the data has changed, the layer stays the same, at least at zoom levels visited while it was visible. This includes, BTW, not only the images but the row data associated with them. In order to defeat that caching, I append a Where parameter to the layer selecting for a Id greater than a random number from -1000 to 0. Since I know all Ids are greater than 0, I can do this. I'm not proud of that strategy, but it works.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-4610241813702550211?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/4610241813702550211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=4610241813702550211' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4610241813702550211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4610241813702550211'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/01/interactivity-with-fusiontablelayer-and.html' title='Interactivity with FusionTableLayer and mouse clicks'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-6027291947617043615</id><published>2011-01-25T11:59:00.000-08:00</published><updated>2011-01-25T11:59:16.981-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Closure'/><category scheme='http://www.blogger.com/atom/ns#' term='Fusion Tables'/><title type='text'>Two Thumbed Closure Slider for Time Slider</title><content type='html'>&lt;p&gt;I've posted a couple of times about sliders - &lt;a href="http://randommarkers.blogspot.com/2010/12/playing-with-closure-ui-library-slider.html" target="_blank"&gt;Playing with Closure UI Library: Slider&lt;/a&gt; and a basic &lt;a href="http://randommarkers.blogspot.com/2010/12/basic-time-slider-in-closure.html" target="_blank"&gt;Basic Time Slider in Closure&lt;/a&gt;. My &lt;a href="http://manomarks.net/ftlayers4.html" target="_blank"&gt;final slider example&lt;/a&gt; uses the same data set as the last, and incorporates a Two Thumb slider, meaning you can use the slider to set a range of values, not just a less-than or greater-than value. I also corrected something that impacted performance in the last sample, that is I checked whether the query changed by the different events, and change the query on the map layer when the query changes from the last. This is an artifact of the events that I'm listening form, MOUSEUP, MOUSEOUT, and KEYUP. You may remember in the first sample, I realized that firing off a query change whenever the slider had a CHANGE caused too many queries to hit the overlay server, causing the Map to show the missing overlay error. Listening for mouse and key events caused fewer events to fire, but still more than one per change. The change simply tests to see if the new query is different from the old query, and only re-query the layer server if the query changes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-6027291947617043615?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/6027291947617043615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=6027291947617043615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6027291947617043615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6027291947617043615'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/01/two-thumbed-closure-slider-for-time.html' title='Two Thumbed Closure Slider for Time Slider'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-3231079573573530281</id><published>2011-01-09T20:30:00.000-08:00</published><updated>2011-01-13T19:06:00.159-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Places'/><category scheme='http://www.blogger.com/atom/ns#' term='Local'/><category scheme='http://www.blogger.com/atom/ns#' term='The Future'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>It's 2011: Time to think about the future of Geo</title><content type='html'>It's fairly traditional to start a year with either a retrospective of the previous year, or a look forward. Or, of course, both. In that tradition, I'd like to start the year thinking about some trends that I think are going to be important for Geo this year.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;Powerful Easy Analysis Tools&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;This is the year. In 2005, the Google Maps API and Google Earth broadened the use of geography tools far beyond the traditional GIS crowd, sparking a debate between so-called neo- and paleo-geographers that lasted for years. In the last year or so that debate seems to have calmed down a bit, as traditional GIS tools adapted to the web, and neo-geographers, were everywhere. So there's room for a fresh controversy.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;The Google Maps API, followed shortly by a host of other APIs from Yahoo!, Microsoft, OpenLayers and others, allowed developers to easily&lt;/span&gt; place maps on their site. But as I pointed out in my &lt;a href="https://docs.google.com/present/view?id=df795pd2_210d87gxfhn"&gt;Ignite Spatial talk&lt;/a&gt; in September, developers and GIS professionals aren't the only ones who want to share spatial data. In fact, I'm guessing the vast majority of spatial data, by volume if not quality, is in tabular form. &lt;a href="http://geocommons.com/"&gt;Geocommons&lt;/a&gt; has recognized this for years, providing easy tools for uploading, combining, and sharing spatial data. With the addition of &lt;a href="http://www.google.com/fusiontables/"&gt;Google Fusion Tables&lt;/a&gt;, and easy mapping of spreadsheets and sharing of data, powerful tools for data analysis are in the hands of anyone with a Google account. I won't call them "low-end" tools, though certainly they lack the power of &lt;a href="http://www.esri.com/"&gt;ESRI&lt;/a&gt;'s tools, or any of a host of other proprietary and open source GIS applications. I predict that this year will see a lot of people migrating to Fusion Tables, and others using the API to back-end store the data. Which leads us to&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cloud&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;OK, I almost had to slap myself for saying "Cloud." After all, of all the buzzwords going around, I think it is the least penetrable to people not "in-the-know" and perhaps has the most number of definitions. To make matters worse, Microsoft has diluted the term even more with &lt;a href="http://www.youtube.com/watch?v=Lel3swo4RMc"&gt;this wacked commercial&lt;/a&gt;&amp;nbsp;campaign. &amp;nbsp;However, it is being used a lot, so let me be clear, I think this is the year of Cloud Data Hosting.&lt;br /&gt;&lt;br /&gt;I predict more and more spatial data will go into "The Cloud." We're already seeing that happening with services like &lt;a href="http://simplegeo.com/"&gt;SimpleGeo&lt;/a&gt;, &lt;a href="http://www.microsoft.com/windowsazure/"&gt;Microsoft Azure&lt;/a&gt;'s support for spatial data, and many other services. Fusion Tables of course &lt;a href="http://code.google.com/apis/fusiontables/"&gt;has an API&lt;/a&gt; which I anticipate will be useful for a number of spatial data storage services.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cloud Analysis&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;It's still early days on this. I think that 2011 will be the year of early adoption. In particular, tools like &lt;a href="http://earthengine.googlelabs.com/"&gt;Google Earth Engine&lt;/a&gt;&amp;nbsp;will allow you to run high-end analysis in cloud data centers. Some of these tools are already out there, but the introduction of Earth Engine allows you to do things we're used to in the spatial world, namely raster data analysis, but do it faster and cheaper than before.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Location&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Well, really, who am I kidding? 2010 was the year of local and location. &lt;a href="http://www.facebook.com/places/"&gt;Facebook's Places and Places API&lt;/a&gt;&amp;nbsp;were a very powerful entrance into the location and local scene. &lt;a href="http://www.google.com/places/"&gt;Google Places&lt;/a&gt;&amp;nbsp;with&amp;nbsp;&lt;a href="http://www.google.com/hotpot"&gt;Hotpot&lt;/a&gt;&amp;nbsp;is a big entry into the local market, but it came pretty late in the year. 2010 was about local, 2011 local will become mainstream, such that everyone will have forgotten that it wasn't part of our sites. Remember when there weren't maps everywhere? That was only 6 years ago, now it's taken for granted. Local will get that way by 2012. When of course the world ends, right? That's what the movies tell us anyway.&lt;br /&gt;&lt;br /&gt;Prediction posts are fun, because rarely are you held to them. But really they tell you more about where you are now. The things we can't talk about, or don't know about yet, those are the real surprises. Happy New Year everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-3231079573573530281?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/3231079573573530281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=3231079573573530281' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3231079573573530281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3231079573573530281'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2011/01/its-2011-time-to-think-about-future-of.html' title='It&apos;s 2011: Time to think about the future of Geo'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-2770310762021029172</id><published>2010-12-18T09:52:00.000-08:00</published><updated>2010-12-18T09:52:40.176-08:00</updated><title type='text'>Basic Time Slider in Closure</title><content type='html'>&lt;p&gt;Earlier this month I was playing with a the &lt;a href="http://randommarkers.blogspot.com/2010/12/playing-with-closure-ui-library-slider.html" target="_blank"&gt;Google Closure library&lt;/a&gt; and using the slider. I wanted to play with it for developing a time slider too. Since I'm going to &lt;a href="http://historyhackday.org/" target="_blank"&gt;History Hack Day&lt;/a&gt; at the end of January in London, I thought I'd show off some samples there and this was a perfect hack for that.&lt;/p&gt;&lt;p&gt;Anyway, it's pretty simple. You set minimum and maximum values on the slider that correspond to the millisecond values used by JavaScript to represent time. Then use the JS Date object to convert those to readable date and time for display under the slider. You can see the sample &lt;a href="http://manomarks.net/ftlayers2.html" target="_blank"&gt;here&lt;/a&gt;. I set the slider to between Wed Dec 31 2003 23:59:59 and Fri Jan 01 2010 00:00:00 since I knew all dates in the underlying table fell between them. I used another Wikileaks table, the &lt;a href="http://www.google.com/fusiontables/DataSource?dsrcid=224453" target="_blank"&gt;Afghan War Diary, 2004-2010&lt;/a&gt; table.&lt;/p&gt;&lt;p&gt;The tricky part is that Fusion Tables doesn't document the date formats that it accepts for queries. We just haven't gotten around to changing the docs, but I happen to know that we accept these formats:&lt;/p&gt;MM/dd/yy&lt;br /&gt;MM-dd-yy&lt;br /&gt;MMM-dd-yy&lt;br /&gt;yyyy.MM.dd&lt;br /&gt;dd-MMM-yy&lt;br /&gt;MMM/yy&lt;br /&gt;MMM yy&lt;br /&gt;dd/MMM/yy&lt;br /&gt;yyyy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-2770310762021029172?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/2770310762021029172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=2770310762021029172' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/2770310762021029172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/2770310762021029172'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/12/basic-time-slider-in-closure.html' title='Basic Time Slider in Closure'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-6622243908033339396</id><published>2010-12-13T17:32:00.000-08:00</published><updated>2010-12-13T17:32:53.323-08:00</updated><title type='text'>AGU 2010: Data Visualization</title><content type='html'>So, this was the first year without a digital globes track. I think two things happened:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Organizers got tired of doing it every year&lt;/li&gt;&lt;li&gt;More important: Digital globes are now all over the American Geophysical Union's annual meeting. There's really no need to separately call it out.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;So this year, I presented to &lt;a href="http://www.cisl.ucar.edu/hss/workshops/aguvis2010jc.html" target="_blank"&gt;Visualization Aided Data Analysis: Tools and Techniques for the Geophysical Sciences.&lt;/a&gt;&amp;nbsp;Smaller than my other years at AGU, this was still a vital record of the different tools needed for data analysis. I was particularly impressed by&amp;nbsp;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 16px;"&gt;Hank Childs' presentation on VisIt: A Tool for Visualizing and Analyzing Very Large Data, which really seemed to be a tool for visualizing anything in any possible way. Wow, awesome tool. I was also really impressed by&amp;nbsp;Vis Research: Advances in Visualization Research by Ken Joy, U.C. Davis. He had really impressive visualizations of flow patterns.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-size: 16px;"&gt;My own discussions of Fusion Tables, Earth, and Earth Engine seemed a bit more basic, but perhaps that's the point I've been &lt;a href="https://docs.google.com/present/view?id=df795pd2_210d87gxfhn" target="_blank"&gt;trying to make&lt;/a&gt;, that visualization tools can be powerful and hard to use, putting incredible versatility and detail in the hands or professionals, or easy to use and basic for everyone. And when they are easy and basic, everyone can use them effectively.&lt;br/&gt;&amp;nbsp;Anyway, here's my slides:&lt;/span&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df795pd2_281dsqzjngs" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-6622243908033339396?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/6622243908033339396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=6622243908033339396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6622243908033339396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6622243908033339396'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/12/agu-2010-data-visualization.html' title='AGU 2010: Data Visualization'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-4666139817914864303</id><published>2010-12-09T11:00:00.000-08:00</published><updated>2010-12-09T11:11:17.886-08:00</updated><title type='text'>Freebase Meetup and JSONP</title><content type='html'>So, I was invited to speak at a &lt;a href="http://freebase.com"&gt;Freebase&lt;/a&gt; &lt;a href="http://www.meetup.com/sf-freebase/"&gt;meetup&lt;/a&gt; by Kirrily Roberts. I thought "Cool, Freebase. Oh, I should learn that!" Especially now that Freebase is part of Google! So apologies if you're looking for my intended next sample which was closure as a time slider, that will come.&lt;br /&gt;&lt;br /&gt;I did a couple of maps mashups to try and learn the query language. But at the same time, I wanted to learn more about Google Closure. So, here's a &lt;a href="http://manomarks.net/freebase4.html" target="_blank"&gt;couple&lt;/a&gt; of &lt;a href="http://manomarks.net/freebase2.html" target="_blank"&gt;samples&lt;/a&gt; that I did. Let me explain in further detail:&lt;br /&gt;&lt;br /&gt;&lt;pre class="postCode"&gt;&amp;lt;link href="http://code.google.com/apis/maps/documentation/javascript/examples/standard.css" rel="stylesheet" type="text/css" /&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script src="goog/base.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;   &lt;br /&gt;goog.require('goog.net.Jsonp');&lt;br /&gt;var obj;&lt;br /&gt;var map;&lt;br /&gt; &lt;br /&gt;function initialize() {&lt;br /&gt;  var latlng = new google.maps.LatLng(0,0);&lt;br /&gt;  var mapOptions = {&lt;br /&gt;        zoom: 2,&lt;br /&gt;        center: latlng,&lt;br /&gt;        mapTypeId: google.maps.MapTypeId.ROADMAP&lt;br /&gt;  };&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;  map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);&lt;br /&gt;  getEvents(); &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;function getEvents() {&lt;br /&gt;  var envelope = 'http://www.freebase.com/api/service/mqlread?query={%20%22query%22:%20[{%20&lt;br /&gt;        %22type%22:%20%22/time/event%22,%20%22id%22:%20null,%20%22name%22:%20null,&lt;br /&gt;        %20%22included_in_event%22:%20[{%20%22name%22:%20%22world%20war%20ii%22%20}],&lt;br /&gt;        %20%22locations%22:%20[{%20%22geolocation%22:%20{%20%22latitude%22:%20null,&lt;br /&gt;        %20%22longitude%22:%20null%20}%20}]%20}]%20}';&lt;br /&gt;  getData(envelope,'');&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;function getData(dataUrl,data) {&lt;br /&gt;  var jsonp=new goog.net.Jsonp(dataUrl);&lt;br /&gt;  jsonp.setRequestTimeout(100000);&lt;br /&gt;  jsonp.send('',setObject);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function setObject(response){&lt;br /&gt;  obj = response['result'];&lt;br /&gt;  addMarkers();&lt;br /&gt;}&lt;br /&gt;function addMarkers(){&lt;br /&gt;  for(var i in obj){&lt;br /&gt;    for(var j in obj[i].locations){&lt;br /&gt;      var latLng = new google.maps.LatLng(obj[i].locations[j].&lt;br /&gt;            geolocation.latitude,obj[i].locations[j].geolocation.longitude);&lt;br /&gt;      var marker = new google.maps.Marker({&lt;br /&gt;          map: map,&lt;br /&gt;          position: latLng,&lt;br /&gt;          title: obj[i].name&lt;br /&gt;      });}&lt;br /&gt;      console.log(obj[i].name);&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So what I did there was use goog.net.jsonp from Closure to load the JSON from the query results and then create markers. The first sample finds events during World War II and find their geolocation. Since some events have more than one geolocation, it gives each location a marker with the same title, which will show up as a tool tip on hovering over the marker. In this case, the event contains a /location/location node which has /location/location/geolocation nodes. Someone comment if I'm not getting that quite right.&lt;br /&gt;&lt;br /&gt;For those that don't know, I used the JSONP utility to get around the same domain policy of browsers, which prevents you from loading scripts directly from domains other than the one you are loading from. Server side scripting would have solved that issue for me easily, but I decided to set myself the additional challenge of finding that workaround. JSONP takes advantage of the caveat to the same domain policy that allows you to load scripts into &amp;lt;script&amp;gt; tags in HTML. In the case of the Closure library, it creates a temporary &amp;lt;script&amp;gt; tag, uses it to get the JSON object, and then gets rid of the script tag. One must exercise caution when using this approach, of course, that the source of your JSON is trusted to prevent attacks on visitors to your site.&lt;br /&gt;&lt;br /&gt;My &lt;a href="http://manomarks.net/freebase4.html" target="_blank"&gt;second sample&lt;/a&gt; took a /location/location, in this case Berkeley California (where I grew up) and found all /location/location nodes that had a containedby relationship to Berkeley California. And then mapped them. Then I added in animation to, so if you click on one place it bounces. Just for fun.&lt;br /&gt;&lt;br /&gt;It was pretty basic. Figuring out the query language is not easy. Actually, before I spoke at the meetup, Jamie Taylor did a great talk about the schema which really cleared up some things for me. Unfortunately, we experienced a complete A/V failure in the room the meetup was in&gt; Jaime did his talk with a white board, which I think made him happy. I jokingly referred to my talk as interpretive dance. I described my approach, why I was using JSONP, what tools were available, and then we went and had a beer.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Update&lt;/h3&gt;I should have credited &lt;a href="http://wiki.freebase.com/wiki/MQL_Manual_Javascript_Example" target="_blank"&gt;this article&lt;/a&gt; on JQuery and JSONP with part of my inspiration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-4666139817914864303?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/4666139817914864303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=4666139817914864303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4666139817914864303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4666139817914864303'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/12/freebase-meetup-and-jsonp.html' title='Freebase Meetup and JSONP'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-6017375425278022118</id><published>2010-12-03T16:35:00.000-08:00</published><updated>2010-12-03T16:54:18.711-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Closure'/><category scheme='http://www.blogger.com/atom/ns#' term='Fusion Tables'/><title type='text'>Playing with Closure UI Library: Slider</title><content type='html'>For Google Developer Day in Saõ Paulo, my colleague Ossama Alami created this &lt;a href="http://oa-samples.googlecode.com/svn/trunk/presentations/gdd-2010/saopaulo/samples/fusiontableslayer.html"&gt;sample&lt;/a&gt;, which allows you to select between three different &lt;a href="http://www.google.com/fusiontables/"&gt;Google Fusion Tables&lt;/a&gt; layers and play with queries against them. I looked at that and decided that I would use it to play with the &lt;a href="http://code.google.com/closure/library/docs/gettingstarted.html"&gt;Closure Library&lt;/a&gt;. Specifically, I wanted to play with the UI library. So for the GDD events in Munich, Moscow, and Prague, I decided to add a slider. The results were fun, and instructional for me. The code to add a slider was pretty simple. Here's my &lt;a href="http://manomarks.net/ftlayers.html" target="_blank"&gt;sample&lt;/a&gt;, and here's the slider code:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;&lt;br /&gt;  var el = document.getElementById('s1');&lt;br /&gt;  s = new goog.ui.Slider;&lt;br /&gt;  s.decorate(el);&lt;br /&gt;  s.addEventListener(goog.ui.Component.EventType.CHANGE, function() {&lt;br /&gt;    document.getElementById('out1').innerHTML = s.getValue();&lt;br /&gt;    });&lt;br /&gt;&lt;br /&gt;  goog.events.listen(&lt;br /&gt;            s.getContentElement(),&lt;br /&gt;            [goog.events.EventType.MOUSEOUT,&lt;br /&gt;             goog.events.EventType.KEYUP,&lt;br /&gt;             goog.events.EventType.MOUSEUP],&lt;br /&gt;            function() { &lt;br /&gt;    var preset = document.getElementById("preset").selectedIndex;&lt;br /&gt;    var query = presets[preset].sampleQuery + s.getValue();&lt;br /&gt;    document.getElementById('query').value = query;&lt;br /&gt;    layer.setTableId(parseInt(document.getElementById('preset').value));&lt;br /&gt;    layer.setQuery(query);&lt;br /&gt;     });&lt;br /&gt;  &amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;I just took that from the documentation. Of course, there's a an HTML element for the slider, and some CSS to style it, and loading the library itself. Well, you can view source. The instructional bit was that of course as soon as you move the slider, events start firing. If you listen for a CHANGE event, as you slide the slider, it'll fire too fast. Each tick, it'll try to grab a new layer from Fusion Tables. That'll consume lots of bandwidth as FT tries to return a layer with each tick. So instead, I listen for MOUSEOUT, KEYUP, and MOUSEUP events, which fire when the user is done moving the slider, either moving off it or releasing the mouse.&lt;br /&gt;&lt;br /&gt;Next up, I'm going to try to use it to simulate a timeslider.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-6017375425278022118?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/6017375425278022118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=6017375425278022118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6017375425278022118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6017375425278022118'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/12/playing-with-closure-ui-library-slider.html' title='Playing with Closure UI Library: Slider'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-4029583716581865479</id><published>2010-11-21T08:01:00.000-08:00</published><updated>2010-11-21T08:01:13.420-08:00</updated><title type='text'>Google Developer Days in Europe</title><content type='html'>&lt;p&gt;I just got back from Google Developer Days in Munich, Moscow and Prague. OK, I got back on Thursday, but I'm just coming out of my jetlagged state. I presented similar talks in all three places, though in Munich I talked about Latitude, and in Prague Jarda Bengl joined me and talked about Street View. My demos are all linked in the slides. The theme was New Features in Google Geo. Here's the Munich slides:&lt;/p&gt;&lt;br /&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df795pd2_278c979g8f4" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Here's the Prague slides, with Street View at the end:&lt;/p&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df795pd2_2808cdkfjcf" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In Moscow, I went a little slower, cut out the Latitude and Street View slides because of the simultaneous translation. I did have a separate slide deck, but it adds nothing over the other ones.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Fusion Tables was the killer, though, very popular in all three cities, especially with the new spatial queries. Turns out, people love one click visualizations and easy Maps API integration. Especially fun was the &lt;a href="http://manomarks.net/ftlayers.html" target="_blank"&gt;demo&lt;/a&gt; I did using a &lt;a href="http://code.google.com/closure/" target="_blank"&gt;Closure&lt;/a&gt; slider to dynamically change the FusionTableLayer query. I'm going to refine that some more, play with it and then do a write-up. I'm trying to take the time to learn Closure finally.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Finally, here's some pictures I took from GDD Moscow and the GTUG hackathon the next day. Unfortunately, people were pretty wiped by the next day, as there was a Android/HTML5 hackathon the day before. Some folks had traveled 16 hours on the train each way to go to GDD. Only about 20 people showed to the Geo hackathon the next day, but the energy level was great and people seemed to have a lot of fun.&lt;/p&gt;&lt;br /&gt;&lt;table style="width:194px;"&gt;&lt;tr&gt;&lt;td align="center" style="height:194px;background:url(http://picasaweb.google.com/s/c/transparent_album_background.gif) no-repeat left"&gt;&lt;a href="http://picasaweb.google.com/mano.marks/MoscowGDDAndGTUG2010?feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_Xr9hdoIAWw4/TODvuDdLMYE/AAAAAAAARuA/7j07R9lRbj0/s160-c/MoscowGDDAndGTUG2010.jpg" width="160" height="160" style="margin:1px 0 0 4px;"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align:center;font-family:arial,sans-serif;font-size:11px"&gt;&lt;a href="http://picasaweb.google.com/mano.marks/MoscowGDDAndGTUG2010?feat=embedwebsite" style="color:#4D4D4D;font-weight:bold;text-decoration:none;"&gt;MoscowGDDAndGTUG2010&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-4029583716581865479?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/4029583716581865479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=4029583716581865479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4029583716581865479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4029583716581865479'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/11/google-developer-days-in-europe.html' title='Google Developer Days in Europe'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_Xr9hdoIAWw4/TODvuDdLMYE/AAAAAAAARuA/7j07R9lRbj0/s72-c/MoscowGDDAndGTUG2010.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-7779349011886954226</id><published>2010-10-15T10:42:00.000-07:00</published><updated>2010-10-15T10:42:07.274-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Fusion Tables'/><category scheme='http://www.blogger.com/atom/ns#' term='NACIS'/><title type='text'>Presentation at NACIS</title><content type='html'>&lt;p&gt;I presented today at the &lt;a href="http://nacis.org/" target="_blank"&gt;North American Cartographic Information Society&lt;/a&gt; annual meeting, on new features in Google Earth Pro, Fusion Tables, and the Google Maps API. NACIS focuses a lot more on design, on cartography, and therefore it was a very interesting conference to be at, different from the usual GIS and developer conferences I present at. I sat in a session on rethinking the bike map afterward. Unfortunately, I had to leave after that, so didn't get to participate in much of the conference.&lt;/p&gt;&lt;p&gt;Here's my slides. There were a lot of questions on all aspects, but particularly on imagery.&lt;/p&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df795pd2_260cgvtswg9" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-7779349011886954226?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/7779349011886954226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=7779349011886954226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7779349011886954226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7779349011886954226'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/10/presentation-at-nacis.html' title='Presentation at NACIS'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5077099895099613636</id><published>2010-10-14T19:54:00.000-07:00</published><updated>2010-10-14T19:54:29.431-07:00</updated><title type='text'>My Trip to University of North Texas</title><content type='html'>&lt;p&gt;I had a great two days at the University of North Texas, organized by Andrew Torget, professor of History. I met with historians, engineers, folks from the College of Information, geographers, and more. Most of the meetings were unstructured, free form meetings. Those are sometimes the most fun. Today I did a presentation that was mostly demos from the new features in Google Earth Pro 5.2 and &lt;a href="http://google.com/fusiontables/" target="_blank"&gt;Google Fusion Tables&lt;/a&gt;. There was a lot of interest in the different features, and there's a link there in a getting start tutorial I threw together.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Plus I'm really starting to like &lt;a href="http://goo.gl" target="_blank"&gt;goo.gl&lt;/a&gt;, especially now that it's open and you can track the click.&lt;/p&gt;&lt;br /&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df795pd2_252f33zknhg" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5077099895099613636?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5077099895099613636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5077099895099613636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5077099895099613636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5077099895099613636'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/10/my-trip-to-university-of-north-texas.html' title='My Trip to University of North Texas'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-8983795410589075980</id><published>2010-09-30T19:12:00.000-07:00</published><updated>2010-09-30T19:12:53.803-07:00</updated><title type='text'>Slides from Google Developer Day Tokyo: Mapping on your phone</title><content type='html'>&lt;p&gt;Different from previous mobile presentations I've done, focuses more on optimizations like Fusion Tables layers, KML layers, styled maps and a few other things. I also presented the following demos:&lt;/p&gt;&lt;p&gt;&lt;a href="http://manomarks.net/geolocate3.html" target="_blank"&gt;Styled Maps&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://manomarks.net/geolocate2.html" target="_blank"&gt;Geolocation&lt;/a&gt; Chrome didn't do so well at geolocation, but the Samsung Galaxy did.&lt;/p&gt;&lt;p&gt;&lt;a href="http://graphicsweb.wsj.com/documents/MARATHONS2010/info-MARATHONS2010.html" target="_blank"&gt;Washington Post Marathon site&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://code.google.com/apis/maps/documentation/javascript/examples/layer-fusiontables-simple.html"&gt;Fusion Tables in V3 sample&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df795pd2_227gxfbz6dc" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-8983795410589075980?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/8983795410589075980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=8983795410589075980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8983795410589075980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8983795410589075980'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/09/slides-from-google-developer-day-tokyo.html' title='Slides from Google Developer Day Tokyo: Mapping on your phone'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-3218981693960139872</id><published>2010-09-29T06:43:00.001-07:00</published><updated>2010-09-29T18:47:34.215-07:00</updated><title type='text'>Post Google Developer Day Fusion Tables Tech Talk</title><content type='html'>Today, I presented a tech talk on &lt;a href="http://google.com/fusiontables" target="_blank"&gt;Google Fusion Tables&lt;/a&gt;. It was really the first time I did one. The slides (below) are pretty minimal, because Fusion Tables is an amazing presentation platform. I mostly presented from a &lt;a href="http://www.google.com/fusiontables/DataSource?dsrcid=265118" target="_blank"&gt;boundaries KML&lt;/a&gt; that I had uploaded to Fusion Tables. I got the data originally from &lt;a href="http://www.naturalearthdata.com/" target="_blank"&gt;Natural Earth&lt;/a&gt;, which is an AWESOME site, with tons of great data. I also used this &lt;a href="http://manomarks.net/ft.html" target="_blank"&gt;simple page&lt;/a&gt; to show Maps API V3 integration as well as embedding. Fusion Tables is officially the new hotness.&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="342" src="https://docs.google.com/present/embed?id=df795pd2_221cndt5gdh" width="410"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-3218981693960139872?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/3218981693960139872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=3218981693960139872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3218981693960139872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3218981693960139872'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/09/post-google-developer-day-fusion-tables.html' title='Post Google Developer Day Fusion Tables Tech Talk'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-1341289498887108565</id><published>2010-09-15T06:22:00.000-07:00</published><updated>2010-09-15T06:22:47.314-07:00</updated><title type='text'>My Slides from Last Night's Ignite Spatial NoCo</title><content type='html'>&lt;p&gt;So, Google failed me. The first link for Ignite Spatial NoCo was a previous event, and I didn't check the date. I ended up going to Fort Collins, and then back to Windsor. Unfortunately, I missed half the other great speakers, but the event was fun. This is my 5 minute talk from last night.&lt;/p&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df795pd2_210d87gxfhn" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-1341289498887108565?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/1341289498887108565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=1341289498887108565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1341289498887108565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1341289498887108565'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/09/my-slides-from-last-nights-ignite.html' title='My Slides from Last Night&apos;s Ignite Spatial NoCo'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-195864191027444693</id><published>2010-09-03T10:33:00.000-07:00</published><updated>2010-09-03T10:34:21.926-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Fusion Tables'/><title type='text'>My Slides from TimesOpen 2.0 Event on Mobile/Geo</title><content type='html'>&lt;p&gt;There were about 100 people there, and it was great fun. The developers were all really engaged. When I asked how many had used the Google Maps API, almost everyone raised their hands. I almost went home at that point. And lots of interest in &lt;a href="http://tables.googlelabs.com/" target="_blank"&gt;Fusion Tables&lt;/a&gt;, which I only did a demo of, didn't put in the slides, but check it out if you haven't already.&lt;/p&gt;&lt;br /&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df795pd2_208hmr8sxg4" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-195864191027444693?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/195864191027444693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=195864191027444693' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/195864191027444693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/195864191027444693'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/09/my-slides-from-timesopen-20-event-on.html' title='My Slides from TimesOpen 2.0 Event on Mobile/Geo'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5766234281729855491</id><published>2010-08-25T15:21:00.000-07:00</published><updated>2010-08-25T15:21:07.239-07:00</updated><title type='text'>Accounting for GIS</title><content type='html'>&amp;nbsp;I've been thinking a lot lately about what is missing from the Geoweb. As I am 41, I naturally look back to the early days of mass computing for helpful comparisons. Thinking about the 80s and 90s, I realized just recently what I was looking for. I was looking for everyone.&lt;br /&gt;&lt;br /&gt;Stay with me here.&lt;br /&gt;&lt;br /&gt;Before the advent of mass computing, accountants were a specialized profession. In order to balance your books, generally you would have a bookkeeper or accountant who went through reams of paper, and did what most people thought was an arcane specialized job. Today, there are still accountants, they still do an arcane specialized job. The difference is that there is a standard type of application, the spreadsheet, that opened up a tool of their job to pretty much anyone.&lt;br /&gt;&lt;br /&gt;So a portion of their job, playing with numbers, became open to millions of users. Spreadsheets, and the analysis of data, have become an essential tool for business. People can publish and analyze data in ways they were never able to do before, and have come up with many unique ways to use spreadsheets that accountants never would have. Arguably, Microsoft Excel is the most used database in the world, and the vast majority of users are not accountants.&lt;br /&gt;&lt;br /&gt;That's what I want to see happen with GIS. I want to see applications where people are able to manipulate and visualize Geo data even without programming experience or GIS training. I think we've come a short ways toward that. Applications like Google Earth and Google Maps let you visualize data through a standard GUI interface. Maps APIs allow people with some programming skills to put a map on their site.&lt;br /&gt;&lt;br /&gt;But nothing makes it easy. People come to me all the time and say "Here's a spreadsheet, how do I put all my stores on the web? Add in driving directions? OK now I want to add in other things..." Data driven apps are still harder to do. I think &lt;a href="http://tables.googlelabs.com/"&gt;Fusion Tables&lt;/a&gt; is getting there, but needs more. It needs basic spatial queries (point in polygon for instance). And it needs the ability to upload other GIS data formats, not just KML.&lt;br /&gt;&lt;br /&gt;But wait, I hear some GIS Pros cry, you'll take jobs from us! If people can visualize their own data, why would they need us? And besides, we do a much better job than they do.&lt;br /&gt;&lt;br /&gt;It's true, good GIS pros will produce better analysis than the average person on their own. But I doubt that GIS Pros will lose jobs. What happened with spreadsheets was that whole new uses for data were developed. People created spreadsheets to track and chart all sorts of things. Sure, probably a few accountants lost jobs, but there are still almost 1.3 million accountants and auditors in the US, with their prospects &lt;a href="http://www.bls.gov/oco/ocos001.htm"&gt;growing&lt;/a&gt;. I think putting the ability to visualize geographic data into the hands of everyday users will increase the demand for specialized knowledge, increase the general awareness of geographic data opportunities, and only be good for the profession.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5766234281729855491?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5766234281729855491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5766234281729855491' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5766234281729855491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5766234281729855491'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/08/accounting-for-gis.html' title='Accounting for GIS'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-757683554005214252</id><published>2010-08-07T15:33:00.000-07:00</published><updated>2010-08-07T15:33:00.201-07:00</updated><title type='text'>Thoughts on GeoWeb 2010</title><content type='html'>I went to &lt;a href="http://geowebconference.org/"&gt;GeoWeb&lt;/a&gt; in Vancouver this year, and ended up presenting two workshops.&lt;br /&gt;&lt;br /&gt;New Features in Google Earth&lt;br /&gt;&lt;a href="https://docs.google.com/present/view?id=df795pd2_204d6g5n7d2"&gt;https://docs.google.com/present/view?id=df795pd2_204d6g5n7d2&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Going Mobile with Google Geo APIs&lt;br /&gt;&lt;a href="https://docs.google.com/present/view?id=df795pd2_207hpdznv5n"&gt;https://docs.google.com/present/view?id=df795pd2_207hpdznv5n&amp;nbsp;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;GeoWeb is an interesting conference. It has roots back to at least 2002, where it was a GML conference. It's origins as a GIS conference have colored participation for a number of years. But this year it was more than that. It's clear that most GIS professionals, vendors, etc. have gotten it, the web is important.&lt;br /&gt;&lt;br /&gt;Though attendance was sparse, like most conferences this year, the approximately 200 people in Vancouver were enthusiastic and really engaged. I had a bunch of GIS types making their first Google Maps API app in my second session.&lt;br /&gt;&lt;br /&gt;And there's spontaneity as well, with new sessions added during the conference.&lt;br /&gt;&lt;br /&gt;Google's had a historic commitment to GeoWeb, and I don't expect that to change. There are some key decision makers there, and a fair number of developers as well.&lt;br /&gt;&lt;br /&gt;One thing we have to all figure out, though, as a community is how to bridge the final gap between the web and GIS. There's a lot of efforts to do it, but nothing easy. That's the fundamental thing I think the GIS community misses out about the web, it's supposed to be easy. Any truly disruptive technology starts out simple. Maybe that's why Wave didn't work out. And anything that requires an Arc* license isn't easy either.&lt;br /&gt;&lt;br /&gt;I'm not saying Google's figured it either, though we're moving there with Fusion Tables and the next conversion features in Google Earth Pro etc. But fundamentally, we need more features and tools that are easy to use. And cheap. Without that, we're not going to make GIS pros into mashup developers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-757683554005214252?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/757683554005214252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=757683554005214252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/757683554005214252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/757683554005214252'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/08/thoughts-on-geoweb-2010.html' title='Thoughts on GeoWeb 2010'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-8169630388361289251</id><published>2010-08-05T11:58:00.000-07:00</published><updated>2010-08-05T11:58:28.341-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><title type='text'>Ruminations on the 5th Birthday of the Maps API</title><content type='html'>A few weeks ago, we &lt;a href="http://googlegeodevelopers.blogspot.com/2010/06/big-birthday-google-maps-api-turns-5.html"&gt;celebrated&lt;/a&gt; the 5th birthday of the Google Maps API. We celebrated again the next  week. In a transpacific video conference, the Geo teams in Mountain View and Sydney ate cake and drank champagne. Speeches were made, memories recounted.&lt;br /&gt;&lt;br /&gt;In particular, Paul Rademacher gave a brief history of &lt;a href="http://www.housingmaps.com/"&gt;Housingmaps&lt;/a&gt;, the first known Google Maps mashup, created initially before there was even an official API. It was thanks to the work of Paul, and several other mashup creators, that Google saw the potential to create something really special.&lt;br /&gt;&lt;br /&gt;I often say that Google had two choices at the time. We could either sue Paul and others who reverse engineered the API and created mashups. Or, we could go with it. We went with it. I say "we" btw, as if I had anything to do with it, but it wasn't until a year later that I started at Google.&lt;br /&gt;&lt;br /&gt;As I recounted that story at WhereCamp Socal on Sunday, I asked people what our choices were, and &lt;a href="http://gis-stuff.blogspot.com/"&gt;Tim Craig&lt;/a&gt; shouted out "Kill him or hire him!" Maybe that's the difference between ESRI and Google :-). (Tim is actually a great, gentle guy. As far as I know...)&lt;br /&gt;&lt;br /&gt;It's hard to remember a time before mashups now. It's not that Google Maps was the first mashup ever, but it was the first monster mashup platform, and still the biggest. And it is having repercussions beyond people putting maps on their sites. As soon as people figured out that they could mashup maps with data, they started looking for data to do it with. And putting pressure on governments and companies to make that data available. Or simply going out and generating their own.&lt;br /&gt;&lt;br /&gt;OK, those of you old enough to think back that far, try to remember the web before all these mashups. Still a cool thing, but not nearly as exciting. I'm old enough to remember a time before the web, of course, but that's beside the point. The fact that we can put a map with high resolution satellite imagery on our web site for free is amazing in retrospect.&lt;br /&gt;&lt;br /&gt;The impact on the mapping community was also pretty profound. I think we're still figuring out what the implications of that are. Neogeography, the geoweb and all the other things many of us hold dear, they take off with the Google Maps API.* It is hard to imagine this, but 5 years ago who would have thought this would happen? I know it's a cliche to say that about the web in general, especially for those of us old enough to remember before the web, but 5 years. 5! Can you imagine going to a site for a retail store and not seeing a map to their location?&lt;br /&gt;&lt;br /&gt;But there's a lot more here than putting dots on your map, showing where your store is. That's important, revolutionary indeed, but think beyond that.&lt;br /&gt;&lt;br /&gt;Maps mashups have been used to map &lt;a href="http://gis-stuff.blogspot.com/"&gt;election violence in Kenya&lt;/a&gt;, report &lt;a href="http://www.fillthathole.org.uk/hazards/report"&gt;potholes in the UK&lt;/a&gt;, show reports of people in need after the &lt;a href="http://haiti.ushahidi.com/"&gt;Haiti Earthquake&lt;/a&gt;, convey &lt;a href="http://africamap.harvard.edu/"&gt;comprehensive data about Africa&lt;/a&gt;, and much more. Creating advocacy maps, informative maps, or &lt;a href="http://www.dontgozombie.com/"&gt;fun maps&lt;/a&gt; no longer requires a professional cartographer. Nothing against cartographers, but put the power in the hands of the people.&lt;br /&gt;&lt;br /&gt;So, what happens when you start mashing up data? You start looking for more data. The confluence of the Open Source movement with the mashup community produced a call for more open data. And because of the power of these mashups to put data in front of the people's faces quickly and easily, governments had to respond. In the US, in the UK and around the world, more and more data is being opened up by governments, NGOs, and to a lesser extent corporations. Bringing data to the public is a democratization. Knowledgeable, informed citizenry can respond to their governments, and help out as we saw in the case of the CrisisCamps that sprang up after the Haiti earthquake.&lt;br /&gt;&lt;br /&gt;We still have a long way to go. Good tools are developing, but most people aren't programmers, to take advantage of the API, or know much about geographic data. That's why I'm excited about &lt;a href="http://geocommons.com/"&gt;GeoCommons&lt;/a&gt; and &lt;a href="http://tables.googlelabs.com/"&gt;Fusion Tables&lt;/a&gt;, because they allow people to use tabular data (say, in a Excel), probably the most used "databases" in the world.&lt;br /&gt;&lt;br /&gt;But all those involved in mapping on the web, pat yourselves on the back. Look where we are compared to 5 years ago. I'm guessing most of those reading this blog are involved in Geo in some way, and so I'm saying to you: Thank you, you've done a great thing for thing for the world. You're bring democracy to the world. I know that sounds hyperbolic, and I know it's not the only thing driving increased access to information. But mashups, driven by mapping mashups (Google and otherwise) are helping change the world.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-8169630388361289251?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/8169630388361289251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=8169630388361289251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8169630388361289251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8169630388361289251'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/08/ruminations-on-5th-birthday-of-maps-api.html' title='Ruminations on the 5th Birthday of the Maps API'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-6641984697209185524</id><published>2010-06-15T06:02:00.000-07:00</published><updated>2010-06-15T06:15:55.510-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Map Styles'/><title type='text'>Map Styles and Usability: Please Help</title><content type='html'>I've been away for a couple of weeks, and I'm now catching up with what's been going in the Geo blogging community. I saw a couple of posts on the Google Maps API new &lt;a href="http://code.google.com/apis/maps/documentation/javascript/overlays.html#StyledMaps"&gt;styling&lt;/a&gt; features:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); line-height: 18px; font-family:Arial, Helvetica, Georgia, sans-serif;font-size:12px;"&gt;&lt;h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 2px; padding-left: 0px; font-family: Arial, Helvetica, Georgia, sans-serif; font-size: 16px; font-weight: bold; line-height: 27px; "&gt;&lt;a href="http://spatialityblog.com/2010/05/21/thoughts-about-google-map-styles/"&gt;Thoughts about Google’s Styled Maps announcement&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;h2 style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 2px; padding-left: 0px; font-family: Arial, Helvetica, Georgia, sans-serif; font-size: 16px; font-weight: bold; line-height: 27px; "&gt;&lt;a href="http://googleearthdesign.blogspot.com/2010/05/google-map-styles.html"&gt;Google Map Styles&lt;/a&gt;&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;There were more of course, but Steven Romalewski and Richard Treves raise some good points about usability. We've basically provided no guidance on usability of the new styles. The examples that we provide are designed to show extremes of styling to get the point across. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The truth is, we're mostly engineers, not cartographers. I'd love to see some great guides to how to style your map. Anyone want to give it a go? Anything good out there, I will make sure we link to it and talk about it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To be fair, Steven is also concerned that it'll actually drive more people to use Google Maps API. His concern, our hope of course :-). He is concerned that this will reduce the commitment to other mapping platforms and perpetuate a mono-culture of maps. I don't see any danger of that right now, but I do appreciate that concern. Competition is good for us, it does help drive us to better things. So Cloudmade, Bing, OSM, everyone else, please make your mapping better. It helps us too.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-6641984697209185524?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/6641984697209185524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=6641984697209185524' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6641984697209185524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6641984697209185524'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/06/map-styles-and-usability-please-help.html' title='Map Styles and Usability: Please Help'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-4011995009813570273</id><published>2010-06-15T05:00:00.000-07:00</published><updated>2010-06-15T06:00:42.112-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Data'/><title type='text'>Techniques for protecting your data</title><content type='html'>I was asked in the comments in this post: &lt;a href="http://randommarkers.blogspot.com/2010/04/maps-to-kml.html"&gt;Maps to KML?&lt;/a&gt;, to talk about techniques for protecting your data in Google Maps applications. I'm finally getting around to that.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First off, let's just say that like any part of the web, it is probably impossible to totally protect your data that is published on a Google Map. People can always get access to it at very least by just viewing the data, which you want, and making notes. Screenshots, viewing source, intercepts, and other techniques can be used by the truly ambitious. True data privacy in a completely public page is an oxymoron. Note, I'm not saying privacy on the web is bad or not possible, but we're talking here about displaying data. As long as it's displayed, someone can get at it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That being said, there are steps you can take to make it harder to get at, to make people work at it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The most important thing you can do is avoid hard coding any information into the page. That should be fairly obvious, but many people fall into the trap. That means:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Don't have any code in your JavaScript that uses a specific Latitude/Longitude pair, an address, or anything of that nature.&lt;/li&gt;&lt;li&gt;Use calls to server resources to plot only the data necessary to display at that moment. Try to verify the origin of the requests to prevent people from scraping. Generating your data on the fly prevents someone from getting all your data at once.&lt;/li&gt;&lt;li&gt;Obfuscate/compile your Javascript code to make it harder to read. &lt;/li&gt;&lt;/ol&gt;&lt;div&gt;You can also rasterize your data, or turn it into image overlays. There's a lot of techniques for doing this. &lt;a href="http://www.youtube.com/watch?v=IYqfT9i1las"&gt;This talk&lt;/a&gt; by John Coryat is a couple of years old, and was oriented to Maps API V2. However, in it he discusses many techniques that are applicable to V3. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Rasterization makes it difficult to extract the data directly. It can also increase your performance in some cases where you have lots of data.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you're working with KML, you can distribute the KML to only trusted people to load in their Google Earth instances, but this is subject to trusting them. Any KML used in a Maps API application will be easily findable by someone who can get passed any obfuscation you have.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That's all I've got. Feel free to post any additional techniques in the comments.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-4011995009813570273?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/4011995009813570273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=4011995009813570273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4011995009813570273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4011995009813570273'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/06/techniques-for-protecting-your-data.html' title='Techniques for protecting your data'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-8225139011712221424</id><published>2010-06-14T09:30:00.000-07:00</published><updated>2010-06-14T09:30:00.391-07:00</updated><title type='text'>My slides from iHub Nairobi's Mobile Monday</title><content type='html'>&lt;iframe src="http://docs.google.com/present/embed?id=df795pd2_193gvw2kzdt" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-8225139011712221424?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/8225139011712221424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=8225139011712221424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8225139011712221424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8225139011712221424'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/06/my-slides-from-ihub-nairobis-mobile.html' title='My slides from iHub Nairobi&apos;s Mobile Monday'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-6365806192208534979</id><published>2010-06-14T03:23:00.000-07:00</published><updated>2010-06-14T03:27:28.653-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Earth'/><category scheme='http://www.blogger.com/atom/ns#' term='barcampnairobi'/><category scheme='http://www.blogger.com/atom/ns#' term='wherecampafrica'/><title type='text'>Slides from BarCamp Nairobi/ WhereCampAfrica</title><content type='html'>So, it was pretty free-form, and I didn't stick to the slides, but there's still good links and resources here.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And, I hate this, but OpenOffice on the Mac corrupts PowerPoint export somehow. This prevented me from converting to Google Presentations, so I created both a &lt;a href="https://docs.google.com/fileview?id=0ByMgrVwpdrKWOGIxMTJkZmUtNjFjMy00MjIxLWFiYmQtZDViYTgyYWNhYjQ4&amp;amp;hl=en"&gt;PDF&lt;/a&gt; version and an &lt;a href="http://docs.google.com/leaf?id=0ByMgrVwpdrKWMjMyMzUxOTEtYTUyMS00MGE2LTkzZWEtZDJiYTZhZTI5MzYw&amp;amp;hl=en"&gt;OpenOffice&lt;/a&gt; version. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The images in the Eye Candy section are clickable.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-6365806192208534979?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/6365806192208534979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=6365806192208534979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6365806192208534979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6365806192208534979'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/06/slides-from-barcamp-nairobi.html' title='Slides from BarCamp Nairobi/ WhereCampAfrica'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-4695156380098353630</id><published>2010-06-14T00:05:00.000-07:00</published><updated>2010-06-14T02:44:27.119-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='barcampnairobi'/><category scheme='http://www.blogger.com/atom/ns#' term='wherecampafrica'/><category scheme='http://www.blogger.com/atom/ns#' term='wherecamp'/><title type='text'>BarCamp/WhereCamp Nairobi</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Xr9hdoIAWw4/TBX5J-bxcjI/AAAAAAAAM4s/7g3ya6BeksQ/s1600/IMG_20100612_182549.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://4.bp.blogspot.com/_Xr9hdoIAWw4/TBX5J-bxcjI/AAAAAAAAM4s/7g3ya6BeksQ/s200/IMG_20100612_182549.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5482562071167070770" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Over the weekend, I attended &lt;/span&gt;&lt;a href="http://www.barcampnairobi.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;BarCamp Nairobi&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;, which was combined with WhereCampAfrica. It was a great event, which filled both the &lt;/span&gt;&lt;a href="http://www.ihub.co.ke/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;iHub&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; and &lt;/span&gt;&lt;a href="http://www.nailab.co.ke/?p=256"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;Nailab&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; spaces. Despite a &lt;/span&gt;&lt;a href="http://www.flickr.com/photos/whiteafrican/4696150092/"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;fist fight&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt; that developed between myself, Stefan Magdalinski, and Mikel Marron, the event was otherwise very friendly and cooperative.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;I went to  great talks on:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Shika (a local ICT4D organization working in the slums in Kenya. If anyone has a link, please pass it on in comments)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://akirachix.com/"&gt;AkiraChix&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://www.openstreetmap.org/"&gt;OSM&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://www.sevenseastech.com/"&gt;Seven Seas Technologies&lt;/a&gt; and entrepreneurship&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;a href="http://mapkibera.org/"&gt;Map Kibera&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;And too much more to post on. But like all Barcamps, the most interesting stuff is in the halls. I learned a lot about the emerging tech community here, and the difficulties of getting work in the face of a small percentage of the population being online. Like most of the developing world, they are jumping straight to mobile, largely skipping a large scale computer market. And mobile devices are where most people get their net access.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;Of course, the event had to break each day for World Cup games, which were put up on the projection screen at the iHub.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;It looks like the iHub is the place to be. My only regret on this trip is that I won't be here on the 26th, when the iHub hosts a big LAN party for gamers.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;For those of you in Nairobi, I'll be presenting tonight at the iHub for Mobile Monday, about 20 minutes on using Google Mapping technologies on mobile devices.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-4695156380098353630?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/4695156380098353630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=4695156380098353630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4695156380098353630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4695156380098353630'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/06/barcampwherecamp-nairobi.html' title='BarCamp/WhereCamp Nairobi'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Xr9hdoIAWw4/TBX5J-bxcjI/AAAAAAAAM4s/7g3ya6BeksQ/s72-c/IMG_20100612_182549.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5544473496719152748</id><published>2010-05-21T14:29:00.001-07:00</published><updated>2010-06-12T04:18:33.470-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='SketchUp'/><title type='text'>Geo Highlights from Day 2 of Google I/O</title><content type='html'>Wow, Day 1 at I/O was such a big day Geo, it would be hard to top it. But there were some amazing gems. Check out these highlights:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Styled Maps! Probably the biggest news of day 2. Maps API V3 now gives you the option to &lt;a href="http://code.google.com/apis/maps/documentation/javascript/overlays.html#StyledMaps"&gt;style your maps&lt;/a&gt;. Don't like golden highways and green forests? Change it! Check out our &lt;a href="http://googlegeodevelopers.blogspot.com/2010/05/add-touch-of-style-to-your-maps.html"&gt;announcement&lt;/a&gt; for more details and links. &lt;/li&gt;&lt;li&gt;Matt Lowrie gave a great &lt;a href="http://code.google.com/events/io/2010/sessions/sketchup-3d-api.html"&gt;talk&lt;/a&gt; on the SketchUp API and using SketchUp.&lt;/li&gt;&lt;li&gt;Josh Livni and I previewed a whole bunch of additions to the Earth API and a new KML extension. In particular, Earth API now has control over the time slider, and better balloon handling. Now, you can preserve your JS and Flash in the balloons. In KML, we previewed the Track extension, which will allow you to assign multiple way points to a model or point and move it around, rather than recreating them with multiple Timestamps.&lt;/li&gt;&lt;li&gt;Finally, and this was actually announced on Wednesday, you can now add a FusionTable layer to a Maps API V3 app, &lt;a href="http://code.google.com/apis/maps/documentation/javascript/reference.html#FusionTablesLayer"&gt;right from the API&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;It's really exciting to see all this. We're closing the loop on a lot of developer requested features, and we're really happy. Thanks for those of you who came or watch it on video.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5544473496719152748?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5544473496719152748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5544473496719152748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5544473496719152748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5544473496719152748'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/05/geo-highlights-from-day-2-of-google-io.html' title='Geo Highlights from Day 2 of Google I/O'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-4261428231571620608</id><published>2010-05-19T22:40:00.000-07:00</published><updated>2010-05-19T23:05:08.683-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Google I/O'/><title type='text'>Geo Highlights from Day 1 at Google I/O</title><content type='html'>Boy, are my feet sore!&lt;br /&gt;&lt;br /&gt;Wow, what an amazing day! Geo rocked Day 1 at Google I/O.&lt;br /&gt;&lt;br /&gt;First, Daniels Lee announced that the Google Maps API V3 has &lt;a href="http://googlegeodevelopers.blogspot.com/2010/05/they-grow-up-so-fast.html"&gt;graduated &lt;/a&gt;from labs and now is the recommended version of the Maps API to use. It also means that V3 is part of Google Maps API Premier, which is something people have been asking me about.&lt;br /&gt;&lt;br /&gt;That also means that V2 is deprecated. We'll continue to support it, and fix bugs, for at least the next 3 years. Check out the &lt;a href="http://code.google.com/apis/maps/terms.html"&gt;deprecation policy&lt;/a&gt; in the terms of service. We're also deprecating Mapplets.&lt;br /&gt;&lt;br /&gt;We also announced &lt;a href="http://code.google.com/apis/maps/documentation/javascript/services.html#StreetView"&gt;Street View&lt;/a&gt; in the V3 API, Flash-less so you can use it on mobile browsers. See &lt;a href="http://code.google.com/events/io/2010/sessions/map-once-map-anywhere-geospatial-apps.html#"&gt;my talk&lt;/a&gt; for more details. Videos and slides should post soon.&lt;br /&gt;&lt;br /&gt;We announced a &lt;a href="http://googlegeodevelopers.blogspot.com/2010/05/directions-web-service-arrives-at.html"&gt;Directions web service&lt;/a&gt; as well, allowing us to close by far the single most requested feature in the &lt;a href="http://code.google.com/p/gmaps-api-issues/issues/list?can=1&amp;amp;q=&amp;amp;sort=-stars"&gt;issue tracker&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And finally, we previewed a &lt;a href="http://googlegeodevelopers.blogspot.com/2010/05/place-for-everything-and-everything-in_1855.html"&gt;Places widget&lt;/a&gt;, allowing you to show Places nearby your current location. It's built on the &lt;a href="http://code.google.com/apis/maps/documentation/places/"&gt;Places web service&lt;/a&gt;, now in Developer Preview.&lt;br /&gt;&lt;br /&gt;There was also a fireside chat with Geo engineers and Product Managers, a Developer Sandbox with lots of great stuff on display, and a talk on Maps Data API by Tom Manshrek.&lt;br /&gt;&lt;br /&gt;Plus, there were tons of Geo developers all over the conference. I think I talked to half of them. If you're in the other half, come and talk to me tomorrow!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-4261428231571620608?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/4261428231571620608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=4261428231571620608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4261428231571620608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4261428231571620608'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/05/geo-highlights-from-day-1-at-google-io.html' title='Geo Highlights from Day 1 at Google I/O'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5912189892355013410</id><published>2010-05-18T10:25:00.001-07:00</published><updated>2010-05-18T10:32:31.425-07:00</updated><title type='text'>Googe I/O Excitement</title><content type='html'>At this point, I could just list every single &lt;a href="http://code.google.com/events/io/2010/sessions.html#Geo"&gt;Geo session&lt;/a&gt; at I/O and tell you I was excited to see them. Particularly the two that I'm presenting in. And that would be true. I could also rave about all the &lt;a href="http://code.google.com/events/io/2010/sandbox.html#Geo"&gt;sandbox&lt;/a&gt; partners, and tell you how they were going to be fabulous. And of course they are. But the truth is, what I'm most interested in for Google I/O is all the great people who I'll meet. Honestly, developers are some of the most interesting people in the world, and I'm really happy that I'm going to be spending 2.5 days meeting those of you who are coming. So, come say hi, introduce yourself, I'd love to spend some time learning about what you're doing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5912189892355013410?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5912189892355013410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5912189892355013410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5912189892355013410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5912189892355013410'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/05/googe-io-excitement.html' title='Googe I/O Excitement'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-3544712643554080459</id><published>2010-04-21T10:40:00.001-07:00</published><updated>2010-04-21T11:23:49.290-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><title type='text'>Maps to KML?</title><content type='html'>People often ask me, can I take a Google Maps mashup, and make a KML file out of it (or in some other data format)? This question never comes from a Maps developer, only from people who see a cool mashup and want to overlay the data on their own map.&lt;br /&gt;&lt;br /&gt;The short answer is: no, you can't.&lt;br /&gt;&lt;br /&gt;The long answer is: no, you can't, and that would be wrong.&lt;br /&gt;&lt;br /&gt;The longest answer is: no, you can't, unless the developer chooses to make a KML file available to you. It's possible, in fact, that they are using the KML file loaded onto their map using GeoXml or some other method. Otherwise, no, and it would be wrong.&lt;br /&gt;&lt;br /&gt;I can understand the desire to do so. After all, a mashup is a combination of data from different sources, and a Google Maps API mashup is a mashup of data with Google's mapping API,  in JavaScript, Flash, or just plain image URLs using the Static Maps API. And people often use public sources, or sources that are about things that are interesting or impacting lots of people, like Sports or the volcanic eruption in Iceland. Why wouldn't that be available to you?&lt;br /&gt;&lt;br /&gt;First, from a moral point of view, the construction of that site belongs to the developer of that site. Usually, the data isn't presented to them raw, a certain amount of development has to happen to transform the data into a format usable for the app. In fact, they may have agreements with the data provider that they don't, or some license in the download from a public site restricts redistribution.&lt;br /&gt;&lt;br /&gt;Of course, it's possible they just didn't think of it. Ping them, maybe they would do it for you just to be nice. Depends on the data of course.&lt;br /&gt;&lt;br /&gt;Second, think about it from a technical point of view. Flash of course is it's own beast, and can write files. If the developer so chose, they could put a download data link or something. But as far as the JavaScript APIs go, JavaScript deliberately doesn't give you file access for security reasons. So a data file can't be taken from a JavaScript page. Nor has Google hidden an API inside the Google Maps API to allow other people to pull data out programatically. Again, that would be wrong.&lt;br /&gt;&lt;br /&gt;I'm not saying that people can't look at your code and figure out your data sources, if you're the developer. If you want to protect that data source, you should design accordingly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-3544712643554080459?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/3544712643554080459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=3544712643554080459' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3544712643554080459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3544712643554080459'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/04/maps-to-kml.html' title='Maps to KML?'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-7426420548000437939</id><published>2010-04-02T15:56:00.000-07:00</published><updated>2010-04-02T16:14:00.937-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='ARML'/><category scheme='http://www.blogger.com/atom/ns#' term='Augmented Reality'/><title type='text'>More thoughts on ARML</title><content type='html'>&lt;p&gt;Sean Gillies commented on my last &lt;a href="http://randommarkers.blogspot.com/2010/03/initial-thoughts-on-arml.html" target="_blank"&gt;post&lt;/a&gt; on ARML:&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Is there anything in the Wikitude namespace that isn't already provided by KML or Atom (KML uses a bunch of Atom elements already and should probably use more)?&lt;/em&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;It got me thinking a bit more about the subject. First, yes, he's right, if KML supported more Atom links, then everything could be more readily handled by Atom. Or by their KML equivalents. I'm not sure why there's an ar:description, which could be handled by a KML description, or a wikitude:providerUrl, which could be handled by an Atom link element.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I'm concerned too about the extensions. I'd rather have a larger initial set of tags that are optional than put too much on provider specific extensions. If ARML is to really thrive, it'll be because killer browsers come along early, and standard ARML is robust enough to do what most of them will want to do. And, if developers come up with really awesome ways in which ARML can be used that aren't conceived of by the creators of ARML. I'm not sure that Augmented Reality will thrive yet, but if cross-browser AR apps are going to work, the initial standard needs to be robust enough and flexible enough without extensions. I'm not saying they're can't be extensions, just that it has to be able to stand on it's own. Browsers can choose what to implement.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;BTW, despite being a KML fan, I'm not saying that KML is necessarily the only way to specify the location. It's great to see it used this way, and it has a lot of potential for cross-platform integration that way. One option might be to actually wrap things in Atom like the &lt;a href="http://code.google.com/apis/maps/documentation/mapsdata/developers_guide_protocol.html" target="_blank"&gt;Maps Data API&lt;/a&gt; does and have additional AR specific elements surface in the Atom.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Hopefully, we can talk more about this at WhereCamp tomorrow.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-7426420548000437939?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/7426420548000437939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=7426420548000437939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7426420548000437939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7426420548000437939'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/04/more-thoughts-on-arml.html' title='More thoughts on ARML'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5866935489844243032</id><published>2010-03-31T11:43:00.000-07:00</published><updated>2010-03-31T11:59:09.663-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='ARML'/><category scheme='http://www.blogger.com/atom/ns#' term='Where 2.0'/><title type='text'>Initial thoughts on ARML</title><content type='html'>&lt;div&gt;&lt;p&gt;Yesterday at &lt;a href="http://en.oreilly.com/where2010" target="_blank"&gt;Where 2.0&lt;/a&gt;, I went to a great &lt;a href="http://en.oreilly.com/where2010/public/schedule/detail/12362" target="_blank"&gt;talk&lt;/a&gt; by Derek Smith of &lt;a href="http://simplegeo.com/" target="_blank"&gt;SimpleGeo&lt;/a&gt; and Martin Lechner of &lt;a href="http://www.mobilizy.com/" target="_blank"&gt;Mobilizy&lt;/a&gt; on Augmented Reality.. It was a great talk, but readers of my blog will probably not be surprised that I latched on to document formats as an issue. Here's an example from the &lt;a href="http://www.openarml.org/" target="_blank"&gt;ARML Specification&lt;/a&gt;:&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;kml xmlns="http://www.opengis.net/kml/2.2"&lt;br /&gt;xmlns:ar="http://www.openarml.org/arml/1.0"&lt;br /&gt;xmlns:wikitude="http://www.openarml.org/wikitude/1.0"&lt;br /&gt;xmlns:wikitudeInternal="http://www.openarml.org/wikitudeInternal/1.0"&amp;gt;&amp;lt;Document&amp;gt;&lt;br /&gt;&amp;lt;ar:provider id="mountain-tours-I-love.com"&amp;gt;&lt;br /&gt;&amp;lt;ar:name&amp;gt;Mountain Tours I Love&amp;lt;/ar:name&amp;gt;&lt;br /&gt;&amp;lt;ar:description&amp;gt;My preferred mountain tours in the alps. Summer and Winter.&amp;lt;/ar:description&amp;gt;&lt;br /&gt;&amp;lt;wikitude:providerUrl&amp;gt;http://www.providerhomepage.com &amp;lt;/wikitude:providerUrl&amp;gt;&lt;br /&gt;&amp;lt;wikitude:tags&amp;gt;travel, hiking, skiing, mountains&amp;lt;/wikitude:tags&amp;gt;&lt;br /&gt;&amp;lt;wikitude:logo&amp;gt;http://www.mountain-tours-I-love.com/wikitude-logo.png &amp;lt;/wikitude:logo&amp;gt;&lt;br /&gt;&amp;lt;wikitude:icon&amp;gt;http://www.mountain-tours-I-love.com/wikitude-icon.png &amp;lt;/wikitude:icon&amp;gt;&lt;br /&gt;&amp;lt;/ar:provider&amp;gt;&lt;br /&gt;...&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;p&gt;I love seeing KML used in other markups. However, I'd prefer to see something more like this:&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;kml xmlns="http://www.opengis.net/kml/2.2"&lt;br /&gt;xmlns:ar="http://www.openarml.org/arml/1.0"&lt;br /&gt;xmlns:wikitude="http://www.openarml.org/wikitude/1.0"&lt;br /&gt;xmlns:wikitudeInternal="http://www.openarml.org/wikitudeInternal/1.0"&amp;gt;&amp;lt;Document&amp;gt;&lt;br /&gt;&amp;lt;ExtendedData&amp;gt;&lt;br /&gt;&amp;lt;ar:provider id="mountain-tours-I-love.com"&amp;gt;&lt;br /&gt;&amp;lt;ar:name&amp;gt;Mountain Tours I Love&amp;lt;/ar:name&amp;gt;&lt;br /&gt;&amp;lt;ar:description&amp;gt;My preferred mountain tours in the alps. Summer and Winter.&amp;lt;/ar:description&amp;gt;&lt;br /&gt;&amp;lt;wikitude:providerUrl&amp;gt;http://www.providerhomepage.com &amp;lt;/wikitude:providerUrl&amp;gt;&lt;br /&gt;&amp;lt;wikitude:tags&amp;gt;travel, hiking, skiing, mountains&amp;lt;/wikitude:tags&amp;gt;&lt;br /&gt;&amp;lt;wikitude:logo&amp;gt;http://www.mountain-tours-I-love.com/wikitude-logo.png &amp;lt;/wikitude:logo&amp;gt;&lt;br /&gt;&amp;lt;wikitude:icon&amp;gt;http://www.mountain-tours-I-love.com/wikitude-icon.png &amp;lt;/wikitude:icon&amp;gt;&lt;br /&gt;&amp;lt;/ar:provider&amp;gt;&lt;br /&gt;&amp;lt;/ExtendedData&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;p&gt;It may seem like a small change, but ExtendedData was explicitly designed to be a bucket of tags that are carried around with any KML Feature. While the current specification "works" in Earth, that's because it is forgiving, and other KML implementers might not parse it as well. Using ExtendedData would stick closer to the KML specification.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5866935489844243032?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5866935489844243032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5866935489844243032' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5866935489844243032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5866935489844243032'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/03/initial-thoughts-on-arml.html' title='Initial thoughts on ARML'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-652836372972057056</id><published>2010-03-31T11:41:00.000-07:00</published><updated>2010-03-31T11:42:15.295-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps Data API'/><category scheme='http://www.blogger.com/atom/ns#' term='Where 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Cloud Computing'/><title type='text'>My Slides from Where 2.0 GeoSpatial Cloud</title><content type='html'>&lt;iframe src="http://docs.google.com/present/embed?id=df795pd2_18129cfn7cr" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-652836372972057056?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/652836372972057056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=652836372972057056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/652836372972057056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/652836372972057056'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/03/my-slides-from-where-20-geospatial.html' title='My Slides from Where 2.0 GeoSpatial Cloud'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-9108331311785356782</id><published>2010-03-31T11:40:00.000-07:00</published><updated>2010-03-31T11:41:16.247-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Where 2.0'/><title type='text'>My Where 2.0 Slides Going Mobile</title><content type='html'>&lt;iframe src="http://docs.google.com/present/embed?id=df795pd2_180gmw3gxcd" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-9108331311785356782?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/9108331311785356782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=9108331311785356782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/9108331311785356782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/9108331311785356782'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/03/my-where-20-slides-going-mobile.html' title='My Where 2.0 Slides Going Mobile'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-4208942487553457536</id><published>2010-03-22T10:23:00.000-07:00</published><updated>2010-03-22T13:50:06.703-07:00</updated><title type='text'>I Hate Slides</title><content type='html'>OK, I admit it, I hate slides. Maybe it dates to when I was a kid and had to sit through many slide shows by parents, teachers, and other adults in my life. Oh, I should say for those of you who are not old enough to remember this, slides used to be &lt;a href="http://en.wikipedia.org/wiki/Reversal_film"&gt;bits of film&lt;/a&gt;, with a special projectors. That may have shaped my early dislike of a static medium.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, today's presentations are much more lively, you can do lots of fun stuff with them. Play videos, animate text, blink tags (nooooo!!!!!) and much more. My company even makes a &lt;a href="http://docs.google.com/"&gt;product&lt;/a&gt; where you can collaboratively develop slides. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But, fundamentally slides are a data sink. How do you get data out of a slide? Copy and paste. It promotes a style of presentation that is artfully designed, and final. Sure, you can copy slides back and forth from one deck to another. Sure, you can change how they look, and copy and paste the text into other documents. But try to get the data out of the slides programatically. Or better yet, auto generate some slides from data. Wouldn't it be great to have all your slides tagged for content, or have it in an XML format that allowed you to XQuery for specific content?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The other thing I hate is it encourages people to think they can present a topic if they have the slides. That they don't need to know the actual content, just be able to read the slides and ad lib a bit. Slides should be an end point, a representation of an accumulated knowledge.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;I prefer to show code or run demos, but there's usually not a great way to share that kind of presentation off a conference web site. But there's a well established tradition of sharing slides.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;I actually developed a really not great version of a slides database back in 2005. It ran on Berkeley DB and had a Java interface. I realize how hard it is to conceptualize this kind of app. &lt;/div&gt;&lt;div&gt; I'm not saying I have the answer either. But I'm really tired of apps that are just about presenting data and don't actually allow any access to that data. How did we get to a point where the static visualization of content was the final point of how to communicate it? Why is our model for content sharing an outmoded form of film production?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-4208942487553457536?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/4208942487553457536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=4208942487553457536' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4208942487553457536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4208942487553457536'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/03/i-hate-slides.html' title='I Hate Slides'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5731676091776177534</id><published>2010-03-16T20:32:00.000-07:00</published><updated>2010-03-16T20:35:13.257-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Disaster'/><category scheme='http://www.blogger.com/atom/ns#' term='Crisis'/><title type='text'>Slides from WebMapSocial on Crisis Mapping</title><content type='html'>My slides from &lt;a href="http://www.meetup.com/webmapsocial/" target="_blank"&gt;WebMapSocial&lt;/a&gt; tonight. The whole subject was crisis response, and it was a great crowd!&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://docs.google.com/present/embed?id=df795pd2_176djjcf2cq&amp;size=m" frameborder="0" width="555" height="451"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5731676091776177534?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5731676091776177534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5731676091776177534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5731676091776177534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5731676091776177534'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/03/slides-from-webmapsocial-on-crisis.html' title='Slides from WebMapSocial on Crisis Mapping'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-8200153850780152115</id><published>2010-03-11T05:12:00.000-08:00</published><updated>2010-03-11T05:13:30.501-08:00</updated><title type='text'>My Slides from DevFest 2010 Tokyo</title><content type='html'>&lt;h3&gt;Mobile Mapping with Google APIs&lt;/h3&gt;&lt;br /&gt;&lt;iframe src="http://docs.google.com/present/embed?id=df795pd2_175cc7939hj&amp;size=m" frameborder="0" width="555" height="451"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-8200153850780152115?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/8200153850780152115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=8200153850780152115' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8200153850780152115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8200153850780152115'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/03/my-slides-from-devfest-2010-tokyo.html' title='My Slides from DevFest 2010 Tokyo'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-3045359410278025733</id><published>2010-03-05T19:31:00.000-08:00</published><updated>2010-03-05T19:44:24.418-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='geocoding'/><title type='text'>Client-Side Geocoding Rocks!</title><content type='html'>Part of my job is to help partners with their code, making sure they are successfully implementing on Google Earth and Maps. The most common problem people come to me with is something like "Can you give me more quota, my http geocoding limit is reached." This is for the free Google Maps API. There's a simple solution. Don't do it! &lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The way the quota for the Google Maps API geocoder works is by IP address. If you put the geocoder in your JavaScript code (or Flash) it's rendering in the browser. And therefore counts against the IP address quota of the browser, not your site. If you have a single server side script that does an IP address lookup, it's going to be against the single IP address of the server. In other words, if your site is popular, you're going to run out quickly.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, geocode in the browser and then send the geocode to do your lookup. We even allow for caching, as long as you're going to display on a Google Map or Google Earth. Caches can happen in the browser or server side. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A few additional things to think about:&lt;/div&gt;&lt;div&gt;1) Cloud computing services often share a range of IP addresses. If you're running on AWS or Google App Engine or any other cloud computing service, you particularly want to do client side geocoding, as you may be running quotas parallel to other apps.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) Some mobile networks share IP addresses as well. That can cause problems for your client side software, as lots of people on their smart phones are looking at your map. If you anticipate heavy mobile use, you might consider having a server-side back-up as a fail-over. Try to geocode and if that doesn't work, send the address to your server for http geocoding.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) If you're still running into problems with quota, you may consider a Maps API Premier license. Check out &lt;a href="http://maps.google.com/getmaps"&gt;http://maps.google.com/getmaps&lt;/a&gt; for more information on the differences and to get started.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-3045359410278025733?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/3045359410278025733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=3045359410278025733' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3045359410278025733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3045359410278025733'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/03/client-side-geocoding-rocks.html' title='Client-Side Geocoding Rocks!'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/17615968579472226818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5386571079640740709</id><published>2010-01-22T18:57:00.000-08:00</published><updated>2010-01-22T18:59:18.091-08:00</updated><title type='text'>Slides from my upcoming talk at Berkeley</title><content type='html'>These are still rough and un-pretty. Feel free to offer suggestions, additions, etc.&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://docs.google.com/present/embed?id=df795pd2_115cdw56zc2" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5386571079640740709?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5386571079640740709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5386571079640740709' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5386571079640740709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5386571079640740709'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/01/slides-from-my-upcoming-talk-at.html' title='Slides from my upcoming talk at Berkeley'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-6669333489123432951</id><published>2010-01-14T11:25:00.000-08:00</published><updated>2010-01-14T13:51:39.897-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Haiti'/><category scheme='http://www.blogger.com/atom/ns#' term='GIS'/><title type='text'>Ways to Help and Resources in Haiti</title><content type='html'>This is a sort of dump of things I know about going on, piling on what others have written:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.google.com/relief/haitiearthquake/"&gt;Google's Official Response Page&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;This page contains information on how to donate, satellite imagery, news links, and links to hospitals. We'll probably update this with more resources as they become available.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.google.com/mapmaker"&gt;Google MapMaker&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Google MapMaker is a providing data directly to the UN for relief operations, so data you provide will go directly to them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://labs.geofabrik.de/haiti/"&gt;OpenStreetMap Extracts for Haiti&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Get involved with &lt;a href="http://www.openstreetmap.org/"&gt;OpenStreetMaps&lt;/a&gt; and contribute data.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://twitter.com/healthmap/status/7761836264"&gt;&lt;b&gt;Contribute health alerts to HealthMap&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Either through #healthmap or directly through their &lt;a href="http://www.healthmap.org/haiti"&gt;site&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://crisiscamphaitisiliconvalley.eventbrite.com/?ref=estw"&gt;Go to CrisisCamp&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;There's a special CrisisCamp on Saturday in Mountain View, getting volunteers together to work on technical projects, including data, maps, and technical assistance to NGOs working in the region.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://news.geocommons.com/haitiquake"&gt;GeoCommons Map of the News&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Well, the title says it all doesn't it?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://crisiscommons.org/wiki/index.php?title=Main_Page"&gt;Get Involved with CrisisCommons&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;"Inspired by and started &lt;a href="http://crisiscamp.org/" class="external text" title="http://crisiscamp.org" rel="nofollow"&gt;CrisisCamp&lt;/a&gt; DC in June, 2009. CrisisCommons is meant to capture knowledge, information, best practices, and tools that support crisis preparedness, prevention, response, and rebuilding"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;a href="http://www.spatiallyadjusted.com/2010/01/13/community-geospatial-links-to-haiti/"&gt;Check Out James Fee's Post&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;He's put together a long list of resources and ways to get involved.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-6669333489123432951?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/6669333489123432951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=6669333489123432951' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6669333489123432951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/6669333489123432951'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/01/ways-to-help-and-resources-in-haiti.html' title='Ways to Help and Resources in Haiti'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/17615968579472226818</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-8726367296397511943</id><published>2010-01-07T10:58:00.000-08:00</published><updated>2010-01-07T11:03:35.965-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oss'/><category scheme='http://www.blogger.com/atom/ns#' term='workshop'/><title type='text'>Workshop: Working with Geospatial Data Using Open Source Tools</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: arial,sans-serif; font-size: 13px;"&gt;I'm giving the following workshop. Any suggestions for content are welcome. And you are welcome to attend&lt;span style="font-weight: bold;"&gt;, &lt;/span&gt;whether or not you're a UC student.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: bold; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: arial,sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;br /&gt;Title: Working with Geospatial Data Using Open Source Tools&lt;br /&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: arial,sans-serif; font-size: 13px;"&gt;&lt;br /&gt;Location: 110 South Hall, UC Berkeley,&lt;br /&gt;&lt;br /&gt;Date/Time: Monday, January 25, 2-5pm&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; color: rgb(68, 68, 68); font-family: arial,sans-serif; font-size: 13px;"&gt;There are hundreds of millions of geospatial data files available on the web. Many of these files are in a format that makes it hard to access the data, or combine it with other data sets. This workshop will introduce the basics of geospatial data formats, and using open source tools to work directly with geospatial data. In particular, you will learn about shapefiles, KML, GeoRSS, GeoJSON and other standard formats. And you will learn about using the GDAL/OGR packages, GeoServer, and other tools to work with the data. And finally, you'll learn about some options for displaying the data on a map.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-8726367296397511943?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/8726367296397511943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=8726367296397511943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8726367296397511943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/8726367296397511943'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2010/01/workshop-working-with-geospatial-data.html' title='Workshop: Working with Geospatial Data Using Open Source Tools'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-4984940357421522269</id><published>2009-12-21T05:38:00.001-08:00</published><updated>2009-12-21T05:42:23.635-08:00</updated><title type='text'>Geography: A New Hope</title><content type='html'>&lt;p&gt;Last week, I gave a talk to my nephew's geography club at. He's in middle school, and it gives me immense pride that he is so fascinated by geography. When I was a bit younger than him, I was thrown out of a geography contest in my class. Apparently it wasn't fair to the other team to have me be able to identify all the U.S. states by shape. I have high hopes for my nephew that the same thing will happen to him some day.&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;It was amazing to see this club though. About 25 or 30 students, all eager to see a demo of Google Earth. When I give a talk now, no matter the age group, it's the same result. But these kids instinctively understand the 3d nature of the application, and are curious about subjects like "How do you get the imagery to conform to the terrain when you drape it over?" "Geometry," I said, getting a big smile from the teacher. All of the questions were at least as smart as the questions adults ask me, leading me to think that either these are special kids, or there is hope for America's schools.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-4984940357421522269?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/4984940357421522269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=4984940357421522269' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4984940357421522269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/4984940357421522269'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/12/last-week-i-fave-talk-to-my-nephews.html' title='Geography: A New Hope'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-547592807310626984</id><published>2009-12-10T10:15:00.000-08:00</published><updated>2009-12-10T12:01:40.187-08:00</updated><title type='text'>Mobile Maps and Physicality</title><content type='html'>&lt;span style="font-family:arial;font-size:100%;"&gt;I've been working a lot with &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;a style="font-family: arial;" href="http://code.google.com/apis/maps/documentation/v3/" target="_blank"&gt;Google Maps API V3&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:100%;"&gt; and running it in an &lt;a href="http://code.google.com/apis/maps/articles/android_v3.html"&gt;embedded browser on an Android&lt;/a&gt; or iPhone device. And this has got me thinking a lot about the sheer physicality of mobile maps.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:100%;"&gt;I'm pushing 41 this coming February, and I'm old enough to remember when maps were only on paper. There was a presence to maps, holding it in your hand, tracing it with your finger. You could put a map of the city in your pocket, literally carrying the city around with you. The way you folded it was really important, a good test of whether someone was a maps person or not.&lt;/span&gt;  &lt;span style="font-family:arial;font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;I confess the other way I loved maps was a gamer. Those hexagons on a map, moving chits around to conquer territories. I loved it. As an early teen, we'd read game maps and make up pronunciations for city names and argue over them. Back when people argued about facts instead of looking them up.&lt;/span&gt;  &lt;span style="font-family:arial;font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;Don't get me wrong, I love Google Maps on my computer, I love the slippy nature of it, and the ability to manipulate it in ways that I couldn't have with a paper map. But working with mobile mapping has brought back some of that old feeling. Sticking the phone with the map open into my pocket. Moving it around with my finger. There's a physicality to it that I miss on my non-mobile computer. Sure, I don't have to learn a special folding technique. But still, I can carry the city around with me. And best yet, when I pull it out, it'll be right there, showing me where I am without me having to figure it out. OK, maybe I'll miss the figuring it out part.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-547592807310626984?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/547592807310626984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=547592807310626984' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/547592807310626984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/547592807310626984'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/12/mobile-maps-and-physicality.html' title='Mobile Maps and Physicality'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-2083784159392550088</id><published>2009-10-14T15:10:00.001-07:00</published><updated>2009-10-14T15:10:57.422-07:00</updated><title type='text'>Open Source Disaster Response CodeJam</title><content type='html'>Please join me and the Google Disaster Response team for the first of hopefully many Open Source Disaster Response CodeJams in Mountain View, November 12-14, 2009. &lt;a href="http://randomhacksofkindness.eventbrite.com/" target="_blank"&gt;http://randomhacksofkindness.eventbrite.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-2083784159392550088?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/2083784159392550088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=2083784159392550088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/2083784159392550088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/2083784159392550088'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/10/open-source-disaster-response-codejam.html' title='Open Source Disaster Response CodeJam'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-7193382975511894935</id><published>2009-10-12T15:34:00.000-07:00</published><updated>2009-10-12T15:40:41.318-07:00</updated><title type='text'>Slides from NIEM Training</title><content type='html'>&lt;p&gt; Here are my slides from the National Information Exchange Model &lt;a href="https://www.iir.com/registration/niem/default.cfm" target="_blank"&gt;Training&lt;/a&gt; in Baltimore October 1st.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://docs.google.com/present/embed?id=df795pd2_97cz5wb7gp&amp;autoStart=false" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-7193382975511894935?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/7193382975511894935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=7193382975511894935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7193382975511894935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/7193382975511894935'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/10/slides-from-niem-training.html' title='Slides from NIEM Training'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-496769678898781489</id><published>2009-10-06T15:17:00.000-07:00</published><updated>2009-10-06T15:19:03.295-07:00</updated><title type='text'>My Slides from Location Intelligence</title><content type='html'>&lt;p&gt;Here are my slides from the Location Intelligence Cloud Computing panel.&lt;/p&gt;&lt;br /&gt;&lt;iframe src="http://docs.google.com/present/embed?id=df795pd2_84gcg76kfx" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-496769678898781489?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/496769678898781489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=496769678898781489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/496769678898781489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/496769678898781489'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/10/my-slides-from-location-intelligence.html' title='My Slides from Location Intelligence'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-587982749920855328</id><published>2009-09-30T19:04:00.000-07:00</published><updated>2009-09-30T19:05:03.332-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='GeoWeb'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='GeoRSS'/><title type='text'>More Musings on the HTML Model and the GeoWeb</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;In my &lt;/span&gt;&lt;a href="http://randommarkers.blogspot.com/2009/07/thoughts-on-geoweb-standards.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;last post&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;, I mused about the state of GeoWeb standards and wandered off into a discussion mostly on findability and linking between different files. I've been thinking more about the HTML web and how we use it as a model for what we call the GeoWeb.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  line-height: 18px; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:small;"&gt;The HTML web famously starts with Tim Burners Lee, Robert Cailliau, and their famous 20 tags, 13 of which we still use today. HTML sprang out of SGML, the Standard General Markup Language, but was far simpler, and, well, usable. We all know that the web took off like a rocket, and now the Web is synonymous with the Internet in the eyes of many people. HTML is the vehicle, but as developers know, it is only a part of web. Granted, it's the part that the other parts all depend on, but here's a partial list of the technologies without which the Web as we know it would be fundamentally different:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;1) HTML&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;2) HTTP&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;3) JavaScript&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  line-height: 18px; font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:small;"&gt;4) XML&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;5) JSON&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;6) Flash&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;7) CSS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;OK, Flash is controversial, I'll give you that, but you have to agree, the Web would be really different without it. Some of you would say better, but very different. Of course, there are other technologies people could put in there, like ASP, PHP, Python, etc. My point isn't the specific technologies, though I'll talk about JavaScript in a minute, but the fact that any developer could come up with this list. I'd like to compare that to a list an enterprise apps developer might come up with:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;1) Java&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;A much shorter list. Again, you could argue about the content of the list, but the fact is, for many other domains, a developer can learn one language, one piece of technology, or perhaps two, and that's it.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;So the web is different. It is hard to imagine a serious web designer now who doesn't know JS and HTML and probably PHP or Python or some other server-side scripting language. Maybe Flash instead of JS, but you get the idea.  I call it the HTML Web because without HTML the rest couldn't work. But, it's hard to imagine a serious web site without using these other technologies. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;I was thinking about this because I am asked all the time, why doesn't Google add JavaScript or some other scripting capabilities to KML. Of course, we no longer own KML, we gave it to the &lt;a href="http://www.opengeospatial.org/"&gt;OGC&lt;/a&gt;, so we can't just "add" something to KML, aside from our own language extensions. But the question shows that there is a fundamental desire on behalf of developers to have that functionality. Serious GeoWeb developers learn a variety of technologies too. For a basic Google Maps mashup (or Bing, or Yahoo! Maps too), you need at least HTML, CSS, and JavaScript. More complicated mashups will use KML, GeoRSS, or GeoJSON, maybe Flash instead of JS, and wait. Notice the first one of those technologies, HTML. Still fundamentally, the GeoWeb relies on HTML. Sure, with a GeoWeb browser like Google Earth, you don't need HTML, though you can use it in the description balloons. But most mashups require HTML as the carrier.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 18px;font-size:small;"&gt;So for the GeoWeb, we've learned the lessons of the HTML web. The question I'm asking, I guess, is, is this the right thing? Is building on the HTML model, with it's confusing amalgam of technologies, many of which don't work easily together, really the best model for the GeoWeb. I don't have the definitive answer to that question, but I think it's worth asking. Would it be better if we had a single technology to create Maps and distribute them?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="line-height: 18px;"&gt;OK, I have a preliminary answer, yes it would be better to follow the HTML model, and have an amalgam of technologies than to be locked into a single one.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-587982749920855328?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/587982749920855328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=587982749920855328' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/587982749920855328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/587982749920855328'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/09/more-musings-on-html-model-and-geoweb.html' title='More Musings on the HTML Model and the GeoWeb'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-31039539787966811</id><published>2009-09-22T15:53:00.000-07:00</published><updated>2009-09-22T15:59:47.436-07:00</updated><title type='text'>Washing DC Plug: Google Partnership Exploration Workshops and Hackathon</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:Verdana;font-size:13px;"&gt;&lt;h3&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Google is putting on Partnership Exploration Workshops and a hackathon in a couple of weeks. This DC event is going to be great. How do I know? I'm helping to plan it. The focus will be on Geo and Visualization technologies. Anyway, you should come. Here's more info:&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;&lt;h3  style="font-size:12pt;"&gt;&lt;span style="font-size:100%;"&gt;Partnership Exploration Workshops: Your Mission &amp;amp; Google Technology&lt;/span&gt;&lt;/h3&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;h4&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: normal; "&gt;We are happy to invite you to an interactive session with Google product experts and Google.org members, featuring a keynote address by Craig Fugate, FEMA Administrator, and followed by an optional developer hackathon. &lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;There's no doubt that technology, developed both in-house and by 3rd parties, plays a role in helping your organization. With the convergence of GPS and mobile devices, the emergence of crowdsourcing tools, and improving large data set visualization capabilities, new opportunities to guide, manage and empower your field operations are opening up everyday. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;h4  style="font-size:10pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: normal; "&gt;Join us for a day of interactive workshops where we explore how Google geo &amp;amp; data visualization technologies can further your mission. Craig Fugate, FEMA Administrator, will give a keynote address on technology and disaster preparedness. Google product experts will provide overviews and analysis of recent developments and upcoming innovations for Google Earth, Maps, Map Maker, Fusion Tables and more. &lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;&lt;h4  style="font-size:10pt;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: normal; "&gt;Before the workshops, we will work with you individually to identify projects that might benefit from Google technology. Select attendees will present and lead discussions on their geo &amp;amp; data visualization technology needs. In addition, we will host an optional developer hackathon the day after the workshop to kick-start your integration of Google technologies.  We look forward to seeing you there!&lt;/span&gt;&lt;/span&gt;&lt;/h4&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;When&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Interactive Workshops on Thursday, October 8&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;9:30am–4:30pm (lunch provided)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Optional Developer Hackathon on Friday, October 9&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;9:30am–4:30pm (lunch provided)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Where&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Google DC Office&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Rose Garden Tech Talk, 2nd floor&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;1101 New York Avenue, N.W.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Washington, DC 20005&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;RSVP&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;a id="vu4q" href="https://spreadsheets.google.com/viewform?formkey=dDNwU2p1TGdaM2lvQU1TMFlJOFlXSnc6MQ.." target="_blank" title="Please click here to RSVP"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#3333FF;"&gt;Please click here to RSVP&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;. These events are by invitation only.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-31039539787966811?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/31039539787966811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=31039539787966811' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/31039539787966811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/31039539787966811'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/09/washing-dc-plug-google-partnership.html' title='Washing DC Plug: Google Partnership Exploration Workshops and Hackathon'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5099559082452981109</id><published>2009-07-28T13:32:00.000-07:00</published><updated>2009-07-30T17:21:04.950-07:00</updated><title type='text'>Thoughts on GeoWeb Standards</title><content type='html'>Andrew Turner recently &lt;a href="http://highearthorbit.com/geoweb-standards-your-thoughts/"&gt;asked&lt;/a&gt; for our thoughts on GeoWeb standards, and I thought I'd put it as a post here instead of cluttering too much of his comment stream.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've been thinking about the different standards and their place in the world a lot recently. I'm not someone who takes strong stances on anything, and you're not, I hope, going to read this post and think that I'm a KML partisan, and that it's only because I work at Google that I think positive thoughts about it. I prefer instead to explore the problem space.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The problem isn't adoption, clearly. It's findability.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Adoption rate:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There's no question that KML has a phenomenal adoption rate. Michael Jones went over the numbers during his &lt;a href="http://geowebconference.org/"&gt;GeoWeb&lt;/a&gt; talk, but in case you missed it:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;More than 500,000,000 KML/KMZ documents on the Internet&lt;/li&gt;&lt;li&gt;More than 250,000 Internet websites hosting KML/KMZ content&lt;/li&gt;&lt;li&gt;2 billion placemarks accessible on the public Internet&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Those are staggering numbers, especially compared to just last year when Google announced it had indexed tens of millions of KML files on a hundred thousand unique domains. Growth by a power of ten in a year is a lot.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;GeoRSS has also expanded rapidly. I don't have numbers on it, but I'm sure it's also a very large number.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are other formats, too, like GeoJSON, that are great, and I really look forward to seeing what happens with them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Findability&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Frankly, I think we can do a much better job. Fundamentally, one of the problems is that geographic data doesn't lend itself well to linkablity. Sure, you can link within the data, but few people do. A limited number of KML files link to other KML files. GeoRSS can contain a variety of links, but often not to other geographic data files, but rather to HTML or binary media. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;KML has been described as the HTML of geographic data. Whether that's true or not is a matter of some discussion, though I happen to think it is (more on that in another post I guess, after lots of people tell me I'm full of it). But one of the principle characteristics of HMTL is linking, which is weakly implemented in KML. Linking happens in two places, the Atom link element, and in the description balloon. Atom links usually refer to HTML media, as in "this is the site credited with authorship." In the description balloon, you're operating in essentially an HTML environment, leading people to be less likely to author KML with links to other KML files, but rather with links to HTML. When authors do put links to KML, it's mostly within their site, not to other KML files elsewhere.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;My point isn't to encourage people to link to KMLs created by others, but rather that for findability purposes, on the HTML web we rely primarily on a link structure. The early web was made up of pages that delivered content, and linked to other sites. Whole pages developed early as directories of other sites, and they linked to other directories.  Google web search was built on using the number and authority of links of others to rank pages. The "GeoWeb" isn't really a web in the same way. It uses the technologies that built the web, that live on the web, but it itself doesn't constitute a web in a meaningful sense. The vast majority of links to geographic data that I've found are HTML links within full HTML pages, with the next set being programmatic.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Is that the nature of geographic data? Or have we just not found the true linkability of it? I tend to think it's the former. Geographic data is heirarchical, it is ontological, it is content rich, it is combinable. It is linkable through common ontologies. But geographic data doesn't lend itself to easy linking in the same way. It's the nature of structured data, it must relate to a structure. Ontologies are almost the antithesis of linkablity outside the domain.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So that suggests that we need to find another mechanism for findability. Deep searches are possible, but generally when you want geographic data, you either want points on a map, "This is where that thing is" which is fairly easy to do, and I think we've done it well. Or, you want a metadata search of some kind, "Give me all the polygons that fall within this bounding box, and where property X is between Y and Z." That no one does well on a global scale, only within limited sets of data. Searching on text is great for web pages, because they are composed primarily of text. But searching for data is a whole other problem not easily solved by our current mechanisms.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some people have written about using Semantic Web technologies to provide the linking, and particularly Andrew notes &lt;a href="http://linkedgeodata.org/About"&gt;LinkedGeoData&lt;/a&gt; in his comments on his blog post. I've always been of the opinion that the Semantic Web is too complex. One of the joys of HTML is the ease by which you can link pages. The authoring tools aren't really there yet either. I'd be happy to be proved wrong. I used to think that standards, like RDF, that have languished for so long will never take off. However, the explosion of Ajax in the last few years has made me less skeptical. I don't know if the Semantic Web is the technology of the future and it always will be, or if it will actually take off. I remain fairly skeptical however, and as yet there's no widely adopted viewer for it either.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Combinability&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Perhaps the true value of XML based formats comes from their combinability. Whether it's Atom (or RSS) and GML to make GeoRSS, or Atom and KML to produce a Google Data API, or Atom and KML to produce, well, KML containing Atom. This greatly increases their usability, and I think I sense another post coming on since this one is getting long. But my point being the XML standards provide the only really good way of doing this while retaining proper namespaces. The downside is, of course, the verbocity of XML and the pain of XML schema.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Wrap Up&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Don't get me wrong, I think that KML and GeoRSS are great, as are a lot of other formats I haven't mentioned, like GeoJSON and others. Andrew asked also about other interesting topics, like expressiveness and durability, which I haven't gotten to. Ultimately, though, if we can't solve the findability problem, other technologies will come in that do.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5099559082452981109?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5099559082452981109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5099559082452981109' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5099559082452981109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5099559082452981109'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/07/thoughts-on-geoweb-standards.html' title='Thoughts on GeoWeb Standards'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-3660581467495741550</id><published>2009-07-06T18:13:00.001-07:00</published><updated>2009-07-06T18:21:11.969-07:00</updated><title type='text'>Wrap-Up on GRUPP</title><content type='html'>I took a vacation immediately after GRUPP, so I didn't write a follow-up post to my &lt;a href="http://randommarkers.blogspot.com/2009/06/grupp-day-1-thoughts-on-data-collection.html"&gt;Day 1&lt;/a&gt; post. But I did want to just follow-up with a couple of resources that stood out for me beyond what I already wrote:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://code.javarosa.org/"&gt;JavaRosa&lt;/a&gt;&lt;br /&gt;JavaRosa is an open-source platform for data collection on mobile devices. Basically, a supped-up &lt;a href="http://www.w3.org/MarkUp/Forms/"&gt;XForms&lt;/a&gt; browser for &lt;a href="http://java.sun.com/javame/index.jsp"&gt;Java ME&lt;/a&gt;, it's pretty awesome.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/open-data-kit/"&gt;Open Data Kit&lt;/a&gt;&lt;br /&gt;Built on JavaRosa, it's designed specifically for &lt;a href="http://code.google.com/android/"&gt;Android&lt;/a&gt;, and to take advantage of all the awesomeness that is an Android phone.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;I've decided in the coming weeks to play with ODK and blog about it, and try to think about other solutions for mobile offline/online data collection. I haven't done mobile development before, so this will be interesting.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-3660581467495741550?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/3660581467495741550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=3660581467495741550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3660581467495741550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/3660581467495741550'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/07/wrap-up-on-grupp.html' title='Wrap-Up on GRUPP'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-5318471523828949321</id><published>2009-06-23T23:11:00.000-07:00</published><updated>2009-06-23T23:11:31.860-07:00</updated><title type='text'>GRUPP Day 1: Thoughts on data collection</title><content type='html'>Some preliminary thoughts at lunch:&lt;br /&gt;&lt;br /&gt;I'm at the GCamp@RUPP meeting in Phnom Penh right now, hosted by the Royal University of Phnom Penh. The subtitle is "Exploring Emerging Technologies to Address Emerging Infections."&lt;br /&gt;&lt;br /&gt;Wow, data collection is hard. I knew this from spending 10 years designing and implementing systems in non-profits in California, but I had no idea what the challenges were in the developing world. Many of us here from Google, primarily engineers, came here with some naive notions of how we can help. Here are just some of the issues we've been rocked by:&lt;br /&gt;&lt;br /&gt;Lack of connectivity: So, it is common knowledge that SMS is used the world over, aside from the US, often more than voice connections. But in some emerging countries, it isn't. Think about this: Khmer, the language of Cambodia, isn't yet represented in Unicode. No UNICODE! Apparently, they just didn't have people representing Khmer during the meetings that setup Unicode. Klingon and Tolkein's Elivish are in Unicode, but not Khmer. This has a deep impact on technology: SMS doesn't work in Khmer. Plus no phones are made with Khmer keyboards, and to even produce an app, like a form, you have to render Khmer as an image file. Fortunately, this is being remedied, but it'll be a long time before phones and computers can support it.&lt;br /&gt;&lt;br /&gt;Incentives: What incentive do people have to provide information? User generated content needs to give something back, and not create perverse incentives. &lt;br /&gt;&lt;br /&gt;Unavailability of data: Many in the Open Source community want all data to be free. But many governments have incentives not to share. For instance, a disease outbreak can cause a catastrophic drop-off in tourism. So if the government doesn't share the information that there is one, then people are less likely to stay away. See also: Privacy&lt;br /&gt;&lt;br /&gt;Anyway, just some thoughts, more later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-5318471523828949321?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/5318471523828949321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=5318471523828949321' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5318471523828949321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/5318471523828949321'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/06/grupp-day-1-thoughts-on-data-collection.html' title='GRUPP Day 1: Thoughts on data collection'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>Royal University of Phnom Penh, Confederation de la Russie, Phnom Penh, Cambodia</georss:featurename><georss:point>11.5681934 104.8914904</georss:point><georss:box>11.5261499 104.8331254 11.6102369 104.94985539999999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-1408052274854709809</id><published>2009-04-20T14:48:00.000-07:00</published><updated>2009-04-20T14:52:07.973-07:00</updated><title type='text'>HASTAC Presentation</title><content type='html'>I had a sinus infection, so I couldn't fly. HASTAC let me present via WebEx, which was pretty cool I thought:&lt;div&gt;&lt;iframe src='http://docs.google.com/EmbedSlideshow?docid=df795pd2_47f42m9qfx' frameborder='0' width='410' height='342'&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-1408052274854709809?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/1408052274854709809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=1408052274854709809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1408052274854709809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1408052274854709809'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/04/hastac-presentation.html' title='HASTAC Presentation'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-1754488897928961561</id><published>2009-03-12T17:05:00.000-07:00</published><updated>2009-03-12T17:24:15.532-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>Blogging versus Twitter</title><content type='html'>I've been thinking about this a lot. I've noticed that my private blogging, which is not available to the world only a few friends, has dropped precipitiously since I started using &lt;a href="http://twitter.com"&gt;Twitter&lt;/a&gt;. And this blog, which I thought I would use more, hasn't had a lot of posts either. This is definitely the Twitter effect on me, and I kind of like it. &lt;a href="http://www.high-entropy.com/hunger/2009/03/fast-food-of-blogging.html#links"&gt;Feeling Entropy&lt;/a&gt; has been thinking about this too, likening quick easy blogging to fast food, as opposed to longer well crafted posts.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here's the difference, for me:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I try to use the blog for long, well thought out posts. I don't really care for posts that are simply a link and "Hey, look at this!". Not that I mind linking to other sites, as long as the post does a nice job explaining why it's important that you examine this particular link. I prefer to use blogs as a discussion, an explanation of a topic.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Twitter, on the other hand, has become my fast food post. The 140 character limit allows me to just do a quick "Hey, look at this!" post. Also, people seem to be scanning their Twitter feeds more frequently than their blog readers. Personally, I have almost 1000 unread blog posts in Google Reader. I say almost, because I fight to have it under 1000 as Reader flips a bit and says 1000+. Apparently, I like to know the numbers exactly. But I do scan almost all the 143 people I'm following on Twitter daily.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, where is all this leading us? Are we truly going down the route, as Feeling Entropy says, of a fast food blogging culture? Now that it is easy, we'll produce less quality? I don't know. But strangely, I feel as if my Twitter feed is having more impact than this blog. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Or maybe that's just because the Twitter effect means I write here less.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-1754488897928961561?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/1754488897928961561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=1754488897928961561' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1754488897928961561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1754488897928961561'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/03/blogging-versus-twitter.html' title='Blogging versus Twitter'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-722768755511118727</id><published>2009-02-21T10:25:00.000-08:00</published><updated>2009-02-21T10:29:48.751-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps'/><category scheme='http://www.blogger.com/atom/ns#' term='Maps API'/><category scheme='http://www.blogger.com/atom/ns#' term='Earth API'/><category scheme='http://www.blogger.com/atom/ns#' term='Earth'/><category scheme='http://www.blogger.com/atom/ns#' term='Visualization'/><category scheme='http://www.blogger.com/atom/ns#' term='History'/><title type='text'>Slides from Visualizing the Past</title><content type='html'>&lt;p&gt;I presented at &lt;a href="http://dsl.richmond.edu/workshop/" target="_blank"&gt;Visualizing the Past&lt;/a&gt; on Google Geo technologies and their use for historical visualization. I didn't get to the part on the Google Visualization API, but the links are in the slides.&lt;/p&gt;&lt;br/&gt;&lt;iframe src='http://docs.google.com/EmbedSlideshow?docid=df795pd2_29ztkrqxcf' frameborder='0' width='410' height='342'&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-722768755511118727?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/722768755511118727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=722768755511118727' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/722768755511118727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/722768755511118727'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/02/slides-from-visualizing-past.html' title='Slides from Visualizing the Past'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-460437214942461206</id><published>2009-02-14T00:38:00.000-08:00</published><updated>2009-02-14T00:39:14.675-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='Earth API'/><category scheme='http://www.blogger.com/atom/ns#' term='Base'/><category scheme='http://www.blogger.com/atom/ns#' term='Earth'/><title type='text'>Finding Love Somewhere on Google Earth</title><content type='html'>For those of you still trying to find love, or who want to get a date for next year, I put together this &lt;a href="http://valentine.appspot.com/html/valentine.html#geplugin_browserok"&gt;sample app&lt;/a&gt;. Oh, BTW, careful, some of the images might not be safe for work. Sometimes people put risque things in their profiles.&lt;br /&gt;&lt;br /&gt;I queried personal ads in Google Base using the &lt;a href="http://code.google.com/apis/base" target="_blank"&gt;Base API&lt;/a&gt;. Several different personals sites push their ads into Base to make them more discoverable. Base allows for &lt;a href="http://code.google.com/apis/base/docs/2.0/attrs-queries.html#LocDatQuer" target="_blank"&gt;location based queries&lt;/a&gt;, including a bounding box query that looks like this: &lt;pre&gt;http://www.google.com/base/feeds/snippets?bq=[item type:personals][location(location): @+34-086..@+37-092]&amp;content=geocodes&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;That query returns an Atom feed of personal ads within the bounding box. Don't worry, they don't put addresses in the ads, only City, State/Province, and Postal Code. And Base allows you to directly geocode within the query, returning additional g:latitude and g:longitude elements, to save you the hassle.&lt;br /&gt;&lt;br /&gt;KML provides a convenient View Based Refresh. Simply put a &lt;a href="http://code.google.com/apis/kml/documentation/kmlreference.html#viewrefreshmode" target="_blank"&gt;viewRefreshMode&lt;/a&gt; of in a &lt;a href="http://code.google.com/apis/kml/documentation/kmlreference.html#link" target="_blank"&gt;Link&lt;/a&gt; element, and Earth and Maps will send query parameters defining the bounding box of what is visible to a server. So, I put a simply python script up on an App Engine application, let it parse the bounding box parameters, and generate the queries, returning new KML every time the view pauses for more than a few seconds. Then I created a simple Earth API page, nothing fancy since it was getting late and I was tired, and loaded up the KML.&lt;br /&gt;&lt;br /&gt;I could have used one of the Google Data &lt;a href="http://code.google.com/apis/gdata/clientlibs.html" target="_blank"&gt;Client Libraries&lt;/a&gt;, OK really only the &lt;a href="http://code.google.com/apis/gdata/articles/python_client_lib.html" target="_blank"&gt;Python&lt;/a&gt; one because I was using App Engine. But frankly, it was such a simple query, and I really love raw XML, I decided to stay with direct querying and DOM parsing.&lt;br /&gt;&lt;br /&gt;If you want more info on View Based Refresh, look at the KML reference for &lt;a href="http://code.google.com/apis/kml/documentation/kmlreference.html#viewformat" target="_blank"&gt;viewFormat&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-460437214942461206?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/460437214942461206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=460437214942461206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/460437214942461206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/460437214942461206'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2009/02/finding-love-somewhere-on-google-earth.html' title='Finding Love Somewhere on Google Earth'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5219216092017947898.post-1376634100898478092</id><published>2008-11-18T17:42:00.000-08:00</published><updated>2008-11-18T18:12:33.088-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='first post'/><title type='text'>First!</title><content type='html'>&lt;p&gt;OK, here's the obligatory first post, to let people know who I am and what I'm doing. I am Mano Marks. I am, at this point, 39 years old, and I've done a fairly wide variety of things with my life. In 1993, I got a Masters in History from Columbia, and in 2006 I got a Masters of Information Management and Systems (like a post-modern Library Science degree) from UC Berkeley. In between, I worked at a high school, a Masters program, taught college, worked at a rape crisis center, a community center, a youth services organization, and a hardware distributor. I've imagined myself a professor, a social worker, a programmer, and most recently a technology evangelist. What really shines through, though, is that I am and always will be, a geek. I don't tell you all this to brag, just as a warning, my ideas and interests tend to come from a lot of different places.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I work at Google, but this isn't an official Google blog, just my personal one. I started it because I have a lot of thoughts on interesting projects and like to record things that I bump into, great apps and code, things that might not make it into an official blog. Also, this way I can blog about some of my other interests, things that don't necessarily directly relate to Geo, like history, linguistics, disaster relief, politics, document engineering, and possibly even video games. Hopefully, some of it will be interesting. Anyway, now that the first post is out of the way, we'll see how long it takes me to get to the next one.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5219216092017947898-1376634100898478092?l=randommarkers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://randommarkers.blogspot.com/feeds/1376634100898478092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5219216092017947898&amp;postID=1376634100898478092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1376634100898478092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5219216092017947898/posts/default/1376634100898478092'/><link rel='alternate' type='text/html' href='http://randommarkers.blogspot.com/2008/11/first.html' title='First!'/><author><name>Mano Marks</name><uri>http://www.blogger.com/profile/07480503243910499765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
