Menu 1

A Digital Globe

“Energy Flux,” data source: National Geospatial-Intelligence Agency, September 2000.

Crowdsourcing, as a term, has been around for something like 12 years according to Wikipedia. OpenStreetMap is a little older and the idea stretches back fairly arbitrarily. Wikipedia thinks it goes back to the 1714 Longitude Prize competition. That seems like a stretch too far, but in any case, it’s been around a while.

The ability to use many distributed people to solve a problem has had some obvious recent wins like Wikipedia itself, OpenStreetMap and others. Yet, to some large degree these projects require skill. You need to know how to edit the text or the map. In the case of Linux, you need to be able to write and debug software.

Where crowdsourcing is in some ways more interesting is where that barrier to entry is much lower. The simplest way you can contribute to a project is by answering a binary question – something with a ‘yes’ or ‘no’ answer. If we could ask every one of the ~7 billion people in the world if they were in an urban area right this second, we’d end up with a fair representation of a map of the (urban) world. In fact, just the locations of all 7 billion people would mimic the same map.

Tomnod is DigitalGlobe’s crowdsourcing platform and today it’s running a yes/no campaign to find all the Weddell seals in their parts of the Antarctic.

The premise is simple and effective; repeatedly look for seals in a box. If there seals, press 1. If not, press 2. After processing tens of thousands of boxes you get a map of seals, parallelizing the problem across many volunteers.

Of course, it helps if you have a lot of data to analyze, with more coming in the door every day. There aren’t that many places in the world where that’s the case and DigitalGlobe is one of them, which is why I’m excited to be joining them to work on crowdsourcing.

Crowdsourcing today is pretty effective yet there are major challenges to be solved. For example:

  • How can we use machine learning to help users focus on the most important crowd tasks?
  • How can crowds more effectively give feedback to shape how machine learning works?
  • Why do crowds sometimes fail, and can we fix it? OpenStreetMap is a beautiful display map yet still lacks basic data like addresses. How can we counter that?

These feedback loops between tools, crowds and machine learning to produce actionable information is still in its infancy. Today, the way crowds help ML algorithms is still relatively stilted, as is how ML makes tools better and so on.

Today, much of this is kind of like batch processing of computer data in the 1960’s. You’d build some code and data on punch cards, ship them off to the “priests” who ran the computer and get some results back in a few days. Crowdsourcing in most contexts isn’t dissimilar. We make a simple campaign, ship it to a Mechanical Turk-like service and then get our data back.

I think one of the things that really separates us from the high primates is that we’re tool builders. I read a study that measured the efficiency of locomotion for various species on the planet. The condor used the least energy to move a kilometer. And, humans came in with a rather unimpressive showing, about a third of the way down the list. It was not too proud a showing for the crown of creation. So, that didn’t look so good. But, then somebody at Scientific American had the insight to test the efficiency of locomotion for a man on a bicycle. And, a man on a bicycle, a human on a bicycle, blew the condor away, completely off the top of the charts.
And that’s what a computer is to me. What a computer is to me is it’s the most remarkable tool that we’ve ever come up with, and it’s the equivalent of a bicycle for our minds. ~ Steve Jobs

In the future, the one I’m interested in helping build, the links between all these things is going to be a lot more fluid. Computers should serve us, like a bicycle for the mind, to enhance and extend our cognition. To do that, the tools have to learn from the people using them and the tools have to help make the users more efficient.

This is above and beyond the use of a hammer, to efficiently hit nails in to a piece of wood. It’s about the tool itself learning, and you can’t do it without a lot of data.

This is all sounding a lot like clippy, a tool to help people use computers better. But clippy was a child of the internet before it was the internet it is today. Clippy wasn’t broken because of a lack of trying, or a lack of ideas. It was broken from a lack of feedback. What’s the difference between clippy and Siri or “ok, Google”? It’s feedback. Siri gets feedback in the billions of internet-connected uses every day where clippy had almost no feedback to improve at all.

Siri’s feedback is predicated upon text. Lots and lots of input and output of text. What’s interesting about DigitalGlobe’s primary asset for crowd sourcing is all the imagery, of a planet that’s changing every day. Crowdsourcing across imagery is already helping in disasters and scientific research and 1,001 other fields with some simple tools on websites.

What happens when we add mobile, machine learning and feedback? It’ll be fun to find out.



Your phone knows where it is thanks to a suite of sensors that basically try to measure everything they possibly can about their environment. Where does the GPS think I am? What orientation is the device in? What WiFi networks can I see? What are the nearby Bluetooth devices? Have I been moving around a lot lately, accelerometer? What cell phone networks am I connected to?

Unless you’re standing in a field in Kansas with a clear view of the sky for ten minutes (so your GPS has lots of time to settle), your location will be questionable.

The original iPhone used WiFi network data to figure out where it was, because a GPS wasn’t included. Skyhook (I think it was…) drove cars around major cities sniffing for networks while recording their geolocation. Then an iPhone could look up its location by comparing what networks it could see to the database of network locations. Then, it could start adding networks not in the database it could also see at the same place.

As phones added all kinds of sensors, these databases grew and became free-floating associations of place information. We can now correlate almost anything with where you are so that if the GPS doesn’t work (because you’re inside a building, say), devices fail-over to what other clues they have to figure out where you are.

Integrating all this information is still a challenge, especially if you’re driving around a major city. The reliability of all the location signals are questionable as Pete Tenereillo outlined in a recent LinkedIn post. Driving around San Francisco, you’re still subjected to the map jumping all over the place even with high end phones and the latest software.

How users experience this can happen at the other end too, when you see your uber or delivery driver jumping around the map on their way to you:

As well as finding your location, many apps want to store it too. There’s 1,001 ways to do that. Different amounts of data, different formats, different places to send it. What ends up happening, quite reasonably, is that various location-based app developers both capture and store location data in many different ways, and there are paid-for APIs and SDKs to help with pieces of the puzzle.

What’s changed over time is the value of this data. Aggregating vast amounts of anonymized location data can help with use-cases such as building base maps for example. If you take all the GPS traces of everyone every day, you can figure out where all the roads are and their speed limits and so on. This data is equally valuable for other uses; advertising and predicting stock prices as two examples. If you know how many people went to WalMart this week you have an indication of their stock value. Things like this appear to have driven the new $164M round for Mapbox – “Mapbox collects more than 200 million miles of anonymized sensor data per day”.

What’s lacking is an open and standardized way to capture and store this data. Enter OpenLocate, an open iOS and Android SDK to simplify capture and storage of location data.

It’s supported by a long list of backers and it should remove a bunch of work when developing anything location-based, much as Auth0 removes having to set up custom authentication. For more, see the announcement blog post here!


Social Media

Scrolling social media, I’m reminded of this scene in The Hunger Games: Catching Fire:

She’s engaged. Make everything about that. What kind of dress is she gonna wear? – floggings. What’s the cake gonna look like? – executions. Whose gonna be there? – fear. Blanket coverage. Shove it in their faces.”

It’s startlingly accurate. As I scroll today, this is what I see:

  • Smiling faces at dinner
  • Government is going to kill you by taking away healthcare
  • Someone graduating college
  • Debt is at an all-time high
  • A beautiful picture of a morning sky
  • Buy this Bluetooth echocardiogram chest strap in case you have a heart attack


How to Ride a Bike

Twenty-five years ago I was riding bikes down flights of stairs, and I still do this today. If you ever want to do anything interesting on a bike, you probably want your weight at the back of the bike. Consider the alternative, which is to ride your bike like you ride on a flat surface. This is what happens:

Notice how the weight is all on the seat of the bike. When the bike does something you don’t want it to do, like stop, you still continue going forward. If your weight is on the seat then you have two problems. First, you have no leeway since your weight can only go up to the handlebars before you come off. Second, your arms are at a super high angle to horizontal so they can’t stop you from flying forward while the bike stops.

Now, look at this:

Notice that the weight is pretty far back and the arms are almost parallel to the surface of the ground (which is downhill). This is how you want to ride a bike, if you’re ever drunk and think you want to do something interesting.

Notice here – weight in the wrong place, arms in the wrong place:

Similarly, more stairs with weight and arms all wrong:

So – remember. If you’re drunk and want to do something interesting on a bike, put your weight at the back. Your arms will naturally have to go to the right place (horizontal with the ground).

Eclipse Poster Kickstarter

I just wrapped up the last kickstarter (details here) when the fine people at NASA put out this super accurate map of the eclipse in August. I put together a small kickstarter to print as many as possible (they’re done at cost!), learn more about it out here.

The map is incredibly accurate, right down to using a topographic model of the moon… will be interesting to see if it succeeds!


Kickstarter almost funded

It’s very humbling to look at this graph of funding over the last few days for the OpenStreetMap Stats Kickstarter:

I had expected the whole thing to fail, now it looks like it’ll succeed. I was asked once in a job interview about how much failure I’ve recently had. The idea was that if you’re not failing you’re not really trying – if everything is a success then you can’t be pushing the envelope.

I figured asking for $1k for a statistics site that’s relevant to a minority of a minority in the world was going to be too much to ask for. In the grand scheme of things it’s not a whole lot of cash, but still. And yet, here we are.

Speaking of failure, “failure” itself is the wrong way to model how these things work. Scott Adams has called it “having a system” instead of “goals”. Other people have called it “failing forward”. Either way – the basic idea is that whatever happens you want to win. Adams wrote a whole book about this:

In this case, if the Kickstarter fails then I can shut the project down. This for me is a clear win. I get more time and one less distraction. I don’t have to pay for the hosting any more. I also learn that tiny kickstarters aren’t going to work and not to bother trying them again in a similar context.

On the other hand, if it succeeds that’s great too. I can dedicate the time to fix the site, the hosting is paid for and it proves that there are people out there who care about it.

Setting up situations like this can be enormously beneficial – where you win either way. But, it’s still hard since my lizard brain wants to avoid anything that looks like failure and being judged by those who see it in that way.

There are plenty of smart, educated people out there who think Amazon’s lack of profit is a “failure” for example. I think it’s beautiful. For a start, the definition of “profit” is “we have no idea what to do with the money so we’ll give it to you”. Amazon isn’t running out of ideas worth funding. Second, if they spend all the notional profit then they don’t have to pay tax on it and get some percentage advantage via that. Reinvesting in this way for a few decades leads to some spectacular growth.

This all leads to an idea that’s almost too tantalizing to verbalize: Maybe it’s possible to live by doing Kickstarter after Kickstarter? The idea is insanely fun and the implications profound. If it’s possible to raise $1k in a week then that would lead to a $52k/year revenue, supposing you had 52 great ideas. Perhaps more likely are $10k kickstarters every 2-4 weeks, or $100k kickstarters every month or two. With some number of them failing, plus costs, it should still be possible to live using this method.

OpenStreetMap Stats Kickstarter

I’m attempting to raise $1k in a week via Kickstarter to fix the OpenStreetMap Stats site.

The site lets you explore OSM data by country, time and data type:

Sadly it’s suffered bit rot and some countries are broken and not updating. The $1k goes toward fixing, open sourcing and hosting it for a year or two. Else, it gets canned.

So far it’s raised $163 with 6 days to go.

How to Outsource

I shipped a short book on kindle and paperback about outsourcing – how to find people, work with them, divide things up, communicate and so on. This is based on spending years with UpWork, oDesk, elance and other tools. Quite a few people asked me to summarize the best way to use these tools and so I wrote it all up. From the amazon page:

People like you would like to outsource work to those around the globe who can do it faster, better or cheaper than you can.

This book gets you started quickly and teaches you how to think about the work, how to find the right people and how to hire them using tools like UpWork, 99Designs, CrowdSpring and Mechanical Turk.

Along the way you’ll learn best practices and tips so you don’t waste time and money outsourcing the wrong things to the wrong people.


OpenGeoIP is a little project to crowd source IP address locations and I just made a few updates and bug fixes to it. Most IP to geo systems rely on self-reporting in various IP address metadata which can be pretty inaccurate. What we’re doing here is using actual location data from the browser (usually) which means (usually) wifi-inferred or GPS location.

There are two primary routes the project is building data:

  1. There’s a JS API which allows you to fall back to the database. Normally when you ask the browser for location the user can click ‘no’ and you get nothing at all. In this case, you can automagically fall back to crowdsourced data. If the user clicks ‘yes’ then we can use that to update the fail-over data for everyone else. In theory this feedback loop makes the data better for everyone.
  2. Second, there’s a lot of people out there just searching for location data on an IP. There’s a front end which will share out info if you first share yours. Again, this feedback loop should make the data better for everyone.


Airbus anti-collision lights part 2

Back in December I wrote about making a portable anti-collision light systems for, say, cyclists using the Airbus scheme.

That first version used a generic full-size Arduino unit. I’ve been miniaturizing it and changing hardware platforms over the last month or so as parts arrive from China. Here’s version 2 below. It adds the tail light, switches to a LiPo battery and uses a trinket instead of an Arduino:

Version 3 moves to an ATTiny85 programmer board:

Version 4 uses just the the ATTiny84 IC and switches to rechargeable AAA batteries. By rearranging components I removed 8 wires and added an on/off switch:

The next step is to put the thing on some strip board and/or design a PCB and case for it. There are a bunch of mixed considerations as the case and PCB layout interact with each other, and I’d like it to be waterproof for helmet mounting for cyclists. The battery type introduces a lot of complexity – a rechargeable lithium cell is probably best but that means integrating the charging cicuitry and having a USB socket on the thing. I have more parts ordered from China to test all of this.

Powered by WordPress. Designed by WooThemes