Archive for the 'SpatialKey' Category

We’re hiring a developer to join our small team at SpatialKey.

About SpatialKey

SpatialKey is a mapping and data visualization product. We think it’s awesome. We create tools that let enterprise customers take large amounts of data they might have about their businesses and turn it into information they can use. We’ve been involved in a number of industries, from law enforcement to human rights work, but we have most recently turned our attention to focus on the insurance market (yes, that’s a “pivot” in startup-speak). Check out the progress we’ve made in the insurance market in the last 12 months in our year in review blog post.

About the job

You will develop mapping and data visualization apps for the insurance market. Part of your time will be doing custom client work and part of your time will be doing in-house product development work for SpatialKey (mostly still focused on insurance). For the client work you’ll need to work directly with clients to help define project requirements; you’ll be involved in every phase of the project, from planning all the way through the coding and delivery. You’ll also be working with a dedicated Project Manager, dedicated UX designers, and directly with me, so you’ll have a support network. Experience consulting or interfacing with clients is helpful. I don’t know what your title will be, if you need it to sound super important like Senior Principal Architect Developer IV or something we can make that happen, but really we’ll introduce you to our clients as “the guy who wrote everything you click.”

And in case you think insurance sounds boring, here are some of the fun apps we’ve worked on in the past 12 months:

  • an app that calculates flood risk for properties throughout the UK to allow an insurance underwriter to quickly decide whether a property is insurable or not
  • a terrorism app to find areas where a bomb, if detonated, could produce the most damage to surrounding properties
  • hurricane forecasting applications that let you play god and drag around hurricanes to instantly see the effect a storm might have if it diverges from its path
  • For even more apps we created in 2011 (and video demos), check out the SpatialKey 2011 Year in Review blog post.

Here are few screenshots of some of the apps we built recently:


About the team

We have a small team and we’re incredibly proud of that. We’re currently 3 engineers (2 clientside, 1 serverside), 1 product manager (who’s also a jack of all trades and runs our EC2 infrastructure), 2 user experience designers, and one CEO (who also takes on the bulk of our sales effort and lands us the big deals). We are firm believers in the power of small, focused teams of only the top talent. Staying small, lean, and agile has gotten us where we are, and we plan on keeping things that way.

We’re all remote and we all work from home from 6 different states: CA, TX, NY, NM, CO, MI. We all talk everyday on Skype and we live on IM during the workday. Working remotely has its own set of challenges, and we require someone who can be productive and work autonomously, but who knows the right time to reach out for help.

We’re a small, scrappy startup, but we don’t work ourselves to the bone. We’re the kind of people who are doing this because we love it and it fascinates us. I think about the problems we’re solving while lying in bed before going to sleep. We’re definitely looking for someone who shares that passion. We don’t want you slaving away on Saturdays, but we hope you’re fascinated enough by your work that you can’t help thinking about it in the shower.

About you

We need someone who can take full responsibility for projects. We don’t have enough people to pass the buck. You’ll be in charge of the development effort for projects that our customers are depending on, and we need someone who will own that responsibility.

Flex development – you should have a number of years developing and shipping Flex apps. Everything from custom component development to app architecture to styling and skinning.

Consulting vs product – Consulting experience is a plus, but working on a shipping product is also a plus. An ideal candidate is someone who has shipped a product to paying customers, and also who is comfortable with running a conference call with a client.

Decent eye for UX stuff – if something doesn’t work right you’re not afraid to get your hands dirty and tweak the UX to make it work. We have dedicated UX guys you’ll be working with, but you should be comfortable “filling in the gaps”. That might mean we have wireframes that get you 80% there and you’ll have to use your skills to figure out how to design whatever interactions or screens are missing.

Passion for data – our core mission is to take data and turn it into useful information. That’s a lot harder than it sounds, and it’s harder than churning out pretty infographics. Our ideal candidate loves working with data, whether that’s on a map or in other capacities.

About the technology

SpatialKey, as it is today, is a clientside Flex application. It’s large – a few hundred thousand lines of code. We are built on top of the Flex 3.6 SDK. I can already hear you saying: “But what about Flex 4.6? What about HTML 5?” All good questions, and I’ll be straight with you: we have an existing, impressive app, high paying customers, and difficult (in a fun way) business goals. The best business decision for us is to remain focused on improving our existing codebase, while at the same time starting to experiment on the side with new technologies (mainly Javascript and HTML alternatives to Flash/Flex). You’ll play a key role helping us deliver kick-ass Flex apps, but we’re also going to make sure you can build up our HTML/JS and native mobile app capabilities. You, like all current Flex developers, should be excited to expand your skillset.

How to apply

It’s easy, email me your resume and tell me why you want the job. You can email me at doug @ dougmccune.com or doug.mccune @ spatialkey.com. This isn’t a big HR hiring department thing, so speak directly to me and let me know why you’re a good fit for what we’re looking for. Compensation will be commensurate with experience, but if you’re worried about us meeting your salary requirements please include your required range when applying. Please send examples of the work you’ve done. That can be a public product I can check out, a GitHub repo, a blog with code I can read, etc. I want to see that you’re passionate, you love what you do, and that you’re good at it.

We had a very busy month of August at SpatialKey as Hurricane Irene tore through the east coast. Our insurance customers were constantly watching Irene as it built up and approached land, then as it swept through parts of North Carolina, Vermont, New York, etc, and then as it died out quietly. We were writing software to visualize hurricane forecasts in real-time, as the storm was approaching, and getting immediate feedback from our customers. It was all a bit stressful, but exhilarating.

I wanted to have some kind of gift of thanks to give to our most helpful customers, who worked closely with us, helping us develop our hurricane product. To be honest, it felt like we all weathered a storm together during that hectic week in August. We brainstormed on sending out shirts, or bags, or some other standard corporate gear, but none of it really felt like “us”. So I came up with a more unique gift that I think captures our culture.

This is a 3D model of Hurricane Irene. The height of the model represents the wind speed at that location. You can see there are 3 bands of different wind speeds. The outer band represents where wind speeds hit 39 mph, the next band represents 58 mph, and the third band represents 74 mph (hurricane force winds). Then running through the middle we have the path of the eye of the storm, and the height of that track represents the exact speed at that point in time (Irene got up to 120 mph).

I created the model by taking the GIS data straight from NOAA and using that to build up the 3D model by hand. Then I sent the 3D model off to Shapeways for printing. The printed version you see in the photos is made out of alumide, which is sort of a composite aluminum material.

For our customers who were working with us while Irene passed through, we hope this will be a nice reminder of the work we did. It’s just a little paperweight to sit on your desk, but for those who were watching Irene as it developed and keeping a very close eye on the footprint of the storm, I think it’s a nice memento.

A hurricane can be a difficult concept to understand. For those affected in its path, it’s an incredibly tangible, visceral thing. But for those watching from afar (like me, sitting in California), it’s less “real”. We hear the overly-dramatic news reports and the doom-and-gloom predictions, but it’s a purely theoretical experience. Having a little paperweight of the storm on my desk doesn’t really help me understand the true impact Irene had on all those folks along the east coast, but at least I can touch it.

I do a lot of work with San Francisco crime data, and one of the things that I’ve been struggling with is one particular dataset: the locations of all the driving under the influence (DUI) arrests in the city. Just yesterday there was an article about US Senators asking Apple to remove DUI checkpoint applications from the app store.

San Francisco publishes a huge amount of crime data, going all the way back to 2003. You can grab a single CSV file with all the data. Over a million crimes. It’s beautiful.

If you look at just the DUI records you start seeing patterns. Here’s about a thousand DUIs over the past 2 years (2009-2010). Click any of these images for larger versions of the maps.

If we look at a density map individual streets start lighting up. Specific intersections stand out.

Here’s a representation that assigns the number of DUIs to the street segment they occurred on and colors the data like a typical traffic map.

And finally just for fun, here’s a 3D rendering of the same 2 years of data:

It’s compelling data, and fairly easy to tell an interesting story. But is there an ethical issue around visualizing or using this data? There’s a lot that you can do with the data, obviously visualizations like this are just scratching the surface.

An idea that crosses the line

Following one train of thought to its logical conclusion leads me to a mobile app idea. It’s a simple app, essentially just a routing application. You type in where you’re going and you can get directions from your current location, just like any other mapping or GPS routing application. Except we can give you directions that avoid known DUI hotspots. In a very simplified sense, routing algorithms basically give streets a score, usually determined based on factors like speed limit, road size, distance, etc. The path with the lowest score wins, and that’s what you end up getting for your directions. All you’d have to do to route around common DUI locations is make the number of historical DUIs along a street segment count in the routing algorithm’s calculation. Streets with lots of historical DUIs would be avoided in favor of side streets with fewer arrests. You’d avoid Geary Blvd and intersections like 16th St and Mission St.

It’s an easy app and the data is there for the taking. I’ll leave aside the question of whether the idea would work in terms of being effective at making drunk drivers avoid actual arrest. For argument’s sake, let’s assume that it would work, or that some other similar type of app could. It’s not an app I’d build, and I assume pretty much everyone understands the moral objection.

I don’t have any big moral takeaway or conclusion. On the one hand there are arguments that data and knowledge can never inherently be bad. Then there are arguments that this particular data (or at least specifically a DUI-avoiding directions app) would only be used to encourage drunk driving. I’m not going to make the DUI-avoiding mobile app, that goes way too far down the path of encouraging bad behavior. But it brings up a lot of interesting questions we need to think about as we’re working with data like this.




In 1990 I was an eight year-old kid. And like most eight year-olds I spent a lot of time in front of my TV. But the summer of 1990 was different. Instead of cartoons I was watching the first Gulf War.

The television media coverage of the war was everywhere. Except these weren’t the gruesome images of the Vietnam era. These were images that looked more like videogames. We had cameras attached to bombs that used night vision and targeting scopes as they dove into buildings. All the images were a bit fuzzy, a bit grainy, either tones of gray or green, and overall void of emotion.

But we were watching people die.

The disconnect between the emotionless images shown on TV and the reality that they represented has always stuck with me. The fact that we could (and still do) present something so horrible in such a clinical, disconnected way makes my head spin.

WikiLeaks Iraq data
I’ve been experimenting with mapping the recently released data from WIkileaks that documents deaths in Iraq. All told the data documents 108,365 deaths, which we assume are just a fraction of the true casualty count from this war. Of those deaths, 65,641 were civilians.

I’ve used SpatialKey to produce some heatmaps of these deaths by recreating the aesthetic of the night vision images we’ve grown so used to seeing. I downloaded the data from the compiled spreadsheet published by the Guardian. Each image has a high resolution version available (2,474 pixels by 1,419 pixels).

A view of the entire country

High resolution version

A closer look at the area of Baghdad

High resolution version

More details of Baghdad

High resolution version

Why?
These images are meant to be a bit provocative. Every tiny blurred dot represents someone dying. And yet it’s all presented in a way that everyone is comfortable with. When you glance at these images you don’t immediately think of killing. We’re so used to seeing emotionless, blurry images of rockets exploding and precision bombs targeting buildings that we disconnect the image from the reality. These are images of death. And the fact that we’re comfortable looking at them should give us pause.

I was honored to be asked to give a keynote presentation at 360|Flex in DC last month. All the sessions were recorded, and John Wilker was gracious enough to let me post the full video of my keynote.

This keynote was a bit different. I went out on a limb a bit and talked about the experimental projects that I’ve been working on, and my belief in the importance of pursuing fun experiments to stay invigorated and passionate about our work. It covers a number of mapping and data visualization projects I’ve been playing with, but the point was really that we all need to pursue what we’re passionate about. For me that happens to be maps right now, but everyone has their own unique areas of interest.

If you’re interested in mapping work then the projects I talk about should be right up your alley. But even if you’re not a map geek, I think the presentation is still interesting and (I hope!) inspirational.

You can also see the slide deck on its own, but I think the video gives much better context to the slides.

I just found out a local news story in Salt Lake City featured SpatialKey and the work we’re doing with the Ogden Police Department. Pretty sweet seeing your code come to life on TV :)

Here’s the video:



Images courtesy of the Image Science & Analysis Laboratory, NASA Johnson Space Center

As I was flying back home into San Francisco airport I was watching the city lights out the window and got struck by a bit of inspiration. I find cities beautiful, from the graffiti to the neon signs to the line of headlights on the highway. A city viewed from above at night is captivating. I wanted to try to recreate that same look, but by visualizing data (in one sense you can say that the real view of a city from above is already a visualization of population data).

I started searching for images of cities at night, and found these amazing images from NASA. All those images were taken from a space shuttle orbiting the earth. These images tell you a lot about the city, the layout, urban density, planning (or lack thereof). I wanted to take other meaningful data and create similar images.

All the visualizations below have been created with SpatialKey. However, this is some experimental work I’ve been playing with to generate the “night light” images, so it’s not released (and might not ever be). Basically this is a peak behind some of the R&D work I do for fun (yes, for a dataviz dork like me making fake “cities at night” images is my idea of fun).

Crime in San Francisco
This image is all crime in San Francisco for a 3-month period. You can see some of the same features that you can see in the NASA space image, such as Golgen Gate Park and the Presidio (the area on the north-west edge of the city). All in all it’s interesting how similar the crime image looks compared to the NASA image. Downtown is the brightest spot in both images, which means that it’s literally the brightest area of the city (the most streetlights), and also has the most crime.

SF_crime

And here are breakdowns for a few different crime types. Notice how different the distributions are. Narcotics crimes are heavily clustered and can be found downtown (in the Tenderloin), in the Mission (near the 16th St BART station), and along Haight Street near Golden Gate Park. Whereas vehicle theft is scattered fairly evenly throughout the city.

Narcotics
SF_narcotics
Theft
SF_theft
Vehicle Theft
SF_vehicle_theft
Burglary
SF_burglary

Graffiti Reports in San Francisco and New York
Both San Francisco and New York publish their 311 data, which is when citizens call for city services. One category of 311 calls is to report graffiti. Graffiti is interesting in that it often follows specific city streets. When we look at the graffiti data for both cities we see specific streets that have far more graffiti than others. I love these images (particularly the one of SF) because they really look like a view of street lights from a plane.

NYC_graffitiSF_311_graffiti

Trees planted in San Francisco
Another one of my favorites of this set is data for all the trees that the city of San Francisco has planted since 1990 (all this SF data is available at datasf.org). You can see the heavy planting along Market St (which cuts diagonally through downtown), as well as along streets like Sunset Blvd (the street running north/south on the western side of the city).

SF_trees

Street lights (or SF as a giant lite-brite)
One final image of San Francisco we have is the locations of every street light in the city. I liked this image because it reminded me of playing with a Lite-Brite when I was a kid. It almost makes city planning feel light a grown-up version of playing with little plastic lights.
SF_traffic_lights

We just posted a new example of using SpatialKey to visualize crime in San Francisco. We load in 90 days of crime data from the city, then filter down to only include sales of heroin, crack cocaine, and methamphetamine within 1,000 feet of a school. Why those particular crimes around schools? The SFPD just launched a new initiative called “Operation Safe Schools” that specifically targets these drug crimes. If you’re caught dealing crack, heroin, or meth around a school while the school is in session you can get extra prison time.

Check out the video below and read the full article on the SpatialKey blog.

Read the whole article on the SpatialKey blog to see how we put this together and learn more about the SFPD’s “Operation Safe Schools.” You can also watch the full resolution video on YouTube

James Ward and Jon Rose just published the latest episode of Drunk on Software that features members of the SpatialKey team, including myself, Tom Link (CTO of Universal Mind), and Brandon Purcell (Director of Technology for UM).


As a brief disclaimer in case I slur any words near the end: I was in Denver for a short trip and we squeezed in a time to meet with Jon and James right before I had to head to the airport to fly home. The only problem was that we had to meet at about 10am in the morning. And since the show is called Drunk on Software we obviously had to be drinking. So by the time I got on my flight I was probably 6 beers down :)

A big thanks to Jon and James for making the time to have us over (that’s the living room of Jon’s house). And thanks for the beer guys!

All of us at Universal Mind who have been hard at work on SpatialKey are incredibly proud to announce that we have begun a private beta program.

To really launch this product in style, we’ve put together this video to give an overview of the SpatialKey system. Even after watching it a dozen times I get blown away every time I watch it. Make sure to check it out in all its HD full-screen glory!

We’ve also got a whole series of videos that go into much more detail of all the different features. If you spend a few minutes watching some of those we’re betting you’ll start brainstorming ideas about how you can use SpatialKey with your own data.

This private beta period means that you fill out the form requesting access and we will be adding accounts on a first come first served basis over the next few weeks. We will add accounts as fast as we can over the following weeks and then after this private beta period we will open the system up to a full public beta, at which point anyone will be able to sign up for a trial account. SpatialKey will be a software as a service product that you’ll pay for with a monthly subscription based on your usage and data needs (pricing details will be coming very shortly, for now all accounts are a free trial with a cap of 10,000 rows per dataset).

I’ll be posting much more about SpatialKey and what you can do with the software, but until then go check it out and let us know what you think!

SpatialKey has been a long time coming and it wouldn’t be possible without the fantastic work of everyone involved. A personal thank you (in no particular order) goes out to every talented member of the SpatialKey family: Darron, Ben, Andy, Zach, Reggie, John, Tom G, Anthony, Francisco, Robert, Mike, Brandon, and Tom L.