Status
Getting a tour of Burning Man headquarters
Location
San Francisco, CA
Subscribe to GeoRSS Subscribe to KML


Technology

Super-Hyper-Local

Published in Geo, Technology


There is a lot of discussion, and projects, about developing solutions that address people being able to engage with HyperLocal information. In fact, the project names speak for themselves: UpYourStreet, EveryBlock, etc.

I (heart) San FranciscoHaving lived primarily in the suburbs or small towns that have a less diverse, or at least small scale distinctly diverse, culture to them, I could understand, but not relate, to this concept. From my background, one block was nominally the same as the next, there was little direct difference between them and granularity was limited to the “area of the city”.

But having lived the last month in San Francisco, and more directly, in the Tenderloin, I learned very intimately about this concept - but also think it falls short and is potentially too expansive in it’s area.

The Tenderloin has a reputation for being rough and tumble, or edgy. What this translates to is that the various streets and alleys are filled with vagrants and drug abusers. The Tenderloin purportedly gets it’s name from cops that worked the area and would take bribes for shady deals - and as a result they could afford better cuts of meat from the butcher.

The on the ground reality is that the Tenderloin looked at as a single entity has shady aspects. However, it very much depends on which street - and even which part of the street, side, and facing direction. From the apartment I lived in, one chose their routes based on time of day. Heading east and north were through safe streets, past hotels and restaurants - but south and west were past shady dealers, well frequented liquor stores, and generally unsafe situations.

Looking out from from my apartment I could see 270 degrees - to the north was a Hilton, the west was a church, and south were liquor stores and constant groups of impoverished and drug abusers. Across the street from the Hilton on the south side is a Cuban Restaurant and a shop selling X-rated videos, and to the west is a upper-end wine store and chic Vietnamese-Fusion restaurant.

This is just a single viewpoint in one area of the neighborhood, but summarizes the general topology of the Tenderloin.

View the entire Mapufacture Feed

A View of Two Services

Glide Church - Tale of Two LinesThis was most succinctly demonstrated right outside my window. I overlooked the Glide Memorial Church, on the corner of Taylor and Ellis - a gorgeous building that made my view one of the best in the area. Glide is renowned for it’s Sunday ‘Celebrations’ that are more like group concerts than church services.

The services are so well attended, a line starts 30 minutes before the doors open, lining up along Taylor heading north.

Glide also serves a vital service to the community in providing meals and shelter for vagrants. The line for people to line up to receive meal tickets, or to head in for the night, lines up along Ellis heading west.

So at 11AM on a Sunday morning I would look out my window and see from a single perspective two very different worlds, on one corner you had low, middle, and upper class families from the city, as well as tourists and visitors waiting to attend services - and on the other corner was a mirror reflection of low and impoverished people lining up for food.

Tenderloin National Forest

Tenderloin National Forest SignThe Tenderloin was always full of surprises. One morning on an expedition from the east corner of the Tenderloin, to the far west end heading to the Scone Factory, Corrie and I were astonished to stumble across a true hidden gem: The Tenderloin National Forest, tucked into Copland alley.

While the various neighborhood projects are doing great work, as Steven Johnson points out it’s also difficult to provide a nationwide interface to what are very local issues and perspective. So local that if you geocode to the wrong side of the street or around a corner, you have completely changed the context of that information.

Fortunately, there is a project underway to enable the community map the neighborhood. In a small area that has such variety and required local knowledge, it is vital for them to mark viable business and residential areas in order to encourage development. I think projects like this are vital to fill-out the localized aggregation services and provide a truly super-hyper-local perspective.

SuperHyperLocal Tenderloin - a photoset on Flickr


Google releases libkml 0.1 alpha

Published in Google, KML


At the OGC Technical Committee meeting today in St. Louis, Google pushed out the initial release of an open-source library for parsing and publishing KML. Read more about it on the Google Open Source Blog.

libkml was originally “announced” about 6 months ago as part of the kick-off of the standardization of KML within the OGC.

libkml is interesting in several ways. KML itself is just an XML specification for geographic data. Nothing really special compared to other XML formats. However, as I’ve championed there is a big difference between types of developers that use and read schemas, and those that use libraries or simple examples and documentation to implement parsers or tools. This is justified in that developers (both consumers and producers as discussed here) are usually trying to solve some other problem and want to use a format like KML merely as a mechanism to publish and visualize their information. By providing a stable and full-featured library, developers are free to build tools around the library without having to deal with the intricacies and issues of the format itself.

Similarly to the effect of opening the standardization of KML to the OGC effected other organizations like Microsoft to embrace the format - an open-source library also encourages other implementations, or competitors, of KML applications. Google is primarily in the business of data organization and search - so the more tools that publish or utilize a format they can then index is a win.

Another implication of libkml is that a single library can grow with versions and features, again freeing the developer from having to track future versions or bug fixes to the format.

Lastly, libkml is written to be fast - which is essential for handling large KML documents, realtime visualization, and potentially even mobile/limited-resource clients. However, how small libkml can be made is left to be seen.

As Michael Ashbridge pointed out, this is a very “alpha release, not Beta in the Google sense”. In fact, in the documentation there is the very clear disclaimer: “THIS IS ALHPA SOFTWARE. Expect changes. We do not yet recommend use in production code.”

There are still a number of features that are not yet implemented that are forthcoming, or can be accomplished by the broader community. They’re looking for feedback from developers on the interface and functionality. The library is C++, with SWIG bindings currently in Ruby, Java, Python, Perl and PHP. There are examples for developers to get up and running quickly.

It’s released under the new BSD license. It is meant to be as open as possible for developers to use in both open-source and closed-source projects without worrying about interference with other licenses.

It’s great to see Google pushing on the open-{source,format} in geospatial. They’ve obviously done a lot to raise public awareness of placemarking and geospatial data with GoogleMaps and GoogleEarth - they’re now engaging the GIS community and helping them.

Hopefully people, at least developers and users in the know, can soon stop referring to KML strictly as “GoogleEarth format” or “GoogleEarth Layer”.

Dealing with Reality

An issue we commonly run into is the reality that there are a lot of KML and other data sources in the wild that are malformed. There is the common response “it works in GoogleMaps, why doesn’t it work elsewhere?”

libkml is able to handle, to some extext, ‘bad’ KML, but is very strict in outputting KML that is generated using the DOM API in the library. Hopefully this generally raises the quality of available KML.

lib{geo}

A potential extension to libkml that excites me would be the ability ingest a KML document and publish it out as other formats such as GeoRSS or GML. Especially if a higher-level interface was built onto libkml that abstracted away the specifics of KML and instead provided an interface for general geometry (and feature) creation and manipulation.

Unfortunately since my laptop hard drive died last week, I don’t have a development machine to build and play with this yet. But I expect to use this library in a number of projects.

Google Code Project: libkml.


We Tell Stories

Published in Technology


This needs to be converted into one of these.

(via Google LatLong Blog)


Heading out of Ann Arbor

Published in Technology


After 5 years in Michigan, unfortunately it has come time to say good-bye. At least for now.

Corrie and I moved to the Detroit for her to attend the University of Michigan to get her Master’s degree and for me to work at Realtime Technologies building high-fidelity, immersive vehicle simulation software. Due to the university being in Ann Arbor, and RTI in Royal Oak, we lived in the very quaint, though quiet, town of Northville.

However, along the way things changed. Corrie and I became married, she decided to stay on for her Doctorate, and I left RTI to do geospatial consulting and eventually incorporate Mapufacture with Mikel. No longer needing to commute an hour each morning and afternoon, we moved to Ann Arbor to enjoy the small, but high-energy town.

Ann Arbor held many surprises - a thriving tech community, though struggling tech industry. Google has set up an office, but primarily offering AdSense sales and support. Organizations like Spark are working to encourage small businesses and development, but I never connected in a way that was helped me.

The best thing that happened in Ann Arbor was the serendipity that proximity offered through being introduced to Ed Vielmetti, a veritable hurricane of ideas, energy, and connections with the tech circle throughout the world. The cadre of entrepreneurs, innovators, and generally swell people that belong to this small, but quickly growing collective are a model of what any community should be. Not to mention meeting up at Eastern Accents for a2b3.

However, Ann Arbor has the ardruous task of continuing to build, and maintain, this germination in the light of the difficulty that affects the Detroit region with economic downturn and general lack of benefits that other urban centers offer. There is no mass transit outside downtown Ann Arbor. Detroit continues to have problems with government, infrastructure, and corporations. Commuting is both the expectation (Motor City), but also the bane of creating a vibrant “young” population.

It’s not clear where I’ll end up (geographically). Corrie is a newly minted Dr., and is weighing her various potentials for how she’ll save the world (or at least make it a greener place) and also where it makes sense for both of us to be for a couple of years. I know I’ll maintain the great connections I’ve forged with Arborites and Michiganders, and know I’ll be back to visit soon.

Any one know a good tech community that needs a curler?


Geo search in Leopard Spotlight

Published in Technology


Spotlight has been in Mac OS X for quite awhile now, but in general, I haven’t found it very useful. However, when this tip came across at Mac OSX Hints on how to use operators for ranges in Spotlight metadata I got some ideas about doing geo-searches on my desktop machines.

To summarize, Spotlight is a system-wide metadata storage engine. Mac OS X provides a nominal vocabulary of metadata you can store, but you can also extend this to add your own metadata. Various applications like Yojimbo add metadata keys to store tags and other info with files. What’s especially great is that by applications using Spotlight, it means you can tie into this underlying metadata without having to use the application itself.

Using simple command-line parameters, you can do search for words, or specific metadata such as file type:

  • mdfind -s "Hawaii"
  • mdfind -interpret "keyword kind:image"

Great, but what about the range queries and Geo search? One of the default metadata items stored are kMDItemLatitude and kMDItemLongitude. In fact, you can use mdimport -A to get a list and description of all available metadata items.

Spotlight Geo Search

You can then do geographic queries like: latitude:<20 longitude:>20 and get all files you’ve created (such as photos or documents) while in Hawaii. You can also do better bounding box searches. To play with this I wrote a small RubyCocoa app to do geographic queries and display the location on a map.

GeoSpotlight allows you to search without a box and add other Spotlight predicates to search by, say, keyword, title, city, time, etc. Check out the Query Expression Syntax for details on how to do this.

GeoSpotlight

This was a quick mock-up and I’ll probably extend it to do bounding box specifying using the map interface and also locating documents via drag and drop.