Onflood

OnfloodFriday night was sleepless for me. I couldn’t stop thinking about a simple idea I had, riffing off of Color and some of the technology I’d built for OutMap:

What if you could hook messages, photos, files and metadata to a particular location in space, and create an ad-hoc messageboard with this information based on where you were in the world?

I couldn’t put the idea down – so I built it.

To start, you set a location, either explicitly (by typing in the address) or implicitly (through your device’s location functionality). Onflood looks at the proximity of the messages around you, and sets an appropriate radius that it’ll draw messages from. For example, if there’s a lot of activity right near you, it’ll probably set a tight radius: if you’re on Edinburgh’s Princes St, you’ll only see messages within a mile of you. Meanwhile, more sporadic activity lends itself to a wider radius: at the time of writing, if you’re on Market St in San Francisco, messages are drawn from up to 606 miles away from you. This way no user is ever made to feel alone or like there’s no activity. You can, of course, manually widen or tighten the radius. You can also jump to other locations by entering a new address or clicking on messages around you.

My hope is that it’ll be useful for conference backchannels, neighborhood-specific information, and as a message-passing medium for local swarms like demonstration protests.

Onflood

Onflood takes your location using the HTML5 geolocation API, which means that if you’re browsing on a GPS-capable device, it’ll use that, and otherwise it works out your location based on IP address and other ambient details. All compatible web browsers ask you for this information, so it’s never done behind your back, and you can always choose to manually enter a location instead.

Both geocoding latitudes and longitude coordinates from place names, and reverse-geocoding names from coordinates, are handled by OpenStreetMap’s awesome Nominatim API. I’d previously used Yahoo APIs for OutMap, but I found the OpenStreetMap endpoints easy to work with, largely accurate and developer-friendly. Plus, of course, you can run Nominatim from your own servers as well as OpenStreetMap’s hosted version. Open source wins out here.

So what’s to come? Right now, authentication is handled solely from Twitter. This is clearly something that I intend to change – OpenID and, yes, Facebook are to follow. I also have yet to implement photos and files (which will both be stored using Amazon S3). Finally, RSS and ActivityStreams feeds are also required.

You can think of this as a starting point. I’ll keep it up and running, and will continue iterating it. If there’s demand for it, I even have a solid business model in mind that will make it more than self-sufficient without annoying existing users.

Give it a try, and let me know what you think.


Posted

in

, ,

by

Comments

5 responses to “Onflood”

  1. Fergus Ray Murray Avatar

    Great work Ben. I’ll be really interested to see if this takes off in the way it seems like it could.

  2. elena Avatar
    elena

    ben, have been circulating this around to some people at work as it’s very relevant to some of our projects. really look forward to seeing where this goes, you’ve tapped into a real need!

  3. Ben Werdmuller Avatar
    Ben Werdmuller

    Elena: Onflood is a platform, so can be configured to underpin other sites. I’m not making it publicly available for the moment, at least not now, but I’m open to discussions if anyone wants to use it or experiment. Some of the same code underpins idno, so eventually the framework, at least, will be released as an open source project.

  4. elena Avatar
    elena

    thank you, ben

  5. manfred Avatar
    manfred

    i think it’s a good extra feature for the established communities
    as a stand alone app its like a twitter+
    but there is only place for one app like the “useless” and simple twitter app
    great idea, but i think it comes too late

Leave a Reply to elena Cancel reply

Your email address will not be published. Required fields are marked *