Hack Day London Winners – Shifd.com
August 5th, 2007
Nick Bilton and I were in London last month to take part in the Yahoo!/BBC Hack Day and ended up winning the award for “Overall Best Hack!”
The application/hack that we built is something that we are calling “shifd”, which is pronounced “shift”, not “shifty”…though Nick is kind of a shifty guy… Anyway, we wanted to build something that allows you to shift between your desktop, mobile, tv, car, etc experiences in a more seamless way…
Hack Day was a tremendous experience…I won’t reiterate everything here…we did a few interviews on our Hack Day experience with the great folks at BBC Backstage and Yahoo! Developers Network (part 1, part 2). Below is a video that explains our hack (we shot it right after we got back from Hack Day and hadn’t slept in three days, so be warned!) and some links to some of the tools that we used in our application.
In the News
Integrating RFID with Web Content on your Phone (makezine.com/blog)
Interview with Shifd Creators: Nick Bilton and Michael Young, Pt. I (developer.yahoo.net)
Interview with Shifd Creators: Nick Bilton and Michael Young, Pt. II (developer.yahoo.net)
Hackday: The overall winners point of view (backstage.bbc.co.uk)
The winning hacks from Hack Day London (developer.yahoo.net)
Shifd: A Clever Mobile App From The NY Times (techcrunch.com)
Computers Noticing Mobiles Via RFID (moconews.net)
Shifd allows seamless shift between PC and cellphone (venturebeat.com)
Geeks Bust Out Brollies as Rain Falls Indoors at Hack Day London (wired.com)
What We Used to Build It
RFID Reader (USB) and an array of RFID Tags (from phidgets.com)
Mobile Phone (Sony Ericsson)
Java (Phidget API/Library)
PHP
MySQL
Scriptaculous
Yahoo! UI Library
Yahoo! Local Search API (version 2)
Yahoo! Maps – Map Image API
SMS
BBC, Yahoo and The New York Times Feeds
Guinness Beer
Why RFID??
RFID may or may not be the proper technology to use here. Of course Bluetooth or NFC achieves the same thing that we were trying to achieve with RFID – detecting presence. We’ve gotten a lot of “Why the hell did you use RFID for this? You should have used Bluetooth!”comments. Sure, Bluetooth is much more prevalent and no one has an RFID reader hooked up to their laptop/desktop… but remember that this was all about a “hack” that we had to throw together in 24 hours. Here’s a few reasons why we ended up using RFID:
- It was very easy to implement a quick “hack” that would detect “presence” for us using the RFID tags/readers that we took along with us to Hack Day. We only had 24 hours to build this thing and I didn’t want to mess around with a Bluetooth library that I’ve never used before. RFID was easy and that’s why we used it.
- A lot of the developers at Hack Day that tried to use Bluetooth in their hacks had to resort to “wired” solutions because of all of the noise/interference in the room at Alexandra Palace. Everyone that got up on stage to present their Bluetooth hack said something along the lines of “well, we tried to use bluetooth but couldn’t get it working in this room…”. I’m glad we ended up using RFID…..
What’s Next?
We are working on putting out a version of shifd.com in the next few months. We’re going to launch the web and mobile pieces first and then will layer in the “presence” in a later release (using Bluetooth, etc).
If you’re interested in checking it out, please sign up on shifd.com or shoot me an email and we’ll let you know when it’s ready!

Additional Categories for AP News + Google Maps Mashup
January 6th, 2006
I added a few more news categories to the AP News mashup. It now plots the following AP feeds on the Google map:
- National News
- Sports
- Business
- Technology
- Strange
You can also toggle the news categories on the map so that you can show/hide the various pins. Hopefully it’s a little more useful now…
AP News + Google Maps Mashup
December 9th, 2005

I just finished a simple app that plots the current AP National news stories on top of Google Maps.
The app is a mix of the AP’s National News RSS Feed + Yahoo! Geocoding API + Google Maps.
I have a process running on my server that grabs and parses the AP RSS feed. I parse the location from each story — AP puts a location at the beginning of each story, for example “NEW YORK (AP) — Millions of New Yorkers…“, which is typically city, state or just a city (e.g. “Washington” as in DC). I then convert the location to a latitude/longitude point using the Yahoo! Geocode API. Once that’s done for each of the stories, I write a simple XML file back out to the server — the XML file is basically the RSS file with additional fields for the latitude and longitude of each story. When you load the mashup site in your browser, I use some JavaScript AJAX calls to load, parse and display the stories from the new XML file on the Google Map.
There are typically ten stories in the AP feed and it’s usually updated every 30 minutes to an hour.
It’s a pretty simple app, but I figure it might be useful to some. It was more of a proof of concept than anything. Hopefully my mom can use it in her classroom to help teach the elementary kids about geography + current events…
Using Yahoo Geocode API and Google Maps
December 1st, 2005
I put an app together this weekend that geocodes an address from an input form and displays the location on a Google map. I’ve cleaned it up a little and put it online for anyone who’s interested…
http://81nassau.com/demos/geocode/
The app consists of a simple HTML form that allows you to input street, city and state. The lookup/submit button on the form initiates an XmlHttpRequest (ajax) to a simple PHP proxy script that I wrote. The PHP script takes the form input (street, city, state) and creates a Yahoo! Geocode REST request, and makes the request to the Yahoo! geocode service. The script then returns the Yahoo! XML data back to the browser. Some javascript is used to parse the XML from Yahoo! and put the lat, lng and zip on the form. A pin is also drawn on the map (Google).
Below is the code for the simple PHP proxy. Feel free to take/use the code as well as the html/javascript. Just do a view-source on the demo link above to see the html/javascript. Please note that there is minimal error checking in all of the code…add where needed.
Enjoy!
< ?php
// Simple proxy script for Yahoo! Geocode API
// Note: there is no error checking done on the input or return from Yahoo!
header('Content-type: text/xml');
$street = $_REQUEST["street"];
$city = $_REQUEST["city"];
$state = $_REQUEST["state"];
$url = 'http://api.local.yahoo.com/MapsService/V1/geocode?appid=YOUR_APP_ID_GOES_HERE' .
'&street=' . urlencode($street) .
'&city=' . urlencode($city) .
'&state=' . urlencode($state);
$xml = get_content($url);
print $xml;
function get_content($url)
{
$string = '';
$handle = fopen($url, "r");
if ($handle)
{
// php 5
$string = stream_get_contents($handle);
/* php4
while (!feof($handle)) {
$string .= fread($handle, 8192);
}
*/
fclose($handle);
}
return $string;
}
?>
Google Maps API
June 29th, 2005
Google just announced the “official” Google maps API. Nice!
Can’t wait to see what kind of apps that will start popping up now. We’ll have one out in the next month of so…
Google Maps Mashups
May 24th, 2005
Some cool hacks using google maps have come out in the past few weeks. Two in particular are the craigslist/google maps combo HousingMaps and the Chicago Crime site that allows you to track the location of the latest crimes in the Chicago area. There are plenty other cool mashups that have come out as well. I love the craigslist/gmaps combo — that’s the perfect way to search for housing using craigslist.
I’ve always thought that real estate is a great space for a location based app. You could get housing information and directions on your phone/pda while driving or walking around looking at homes. The app could provide you with info, say directions to open houses, based on some profile you create (possibly online). Nothing too exciting, but could be done pretty easily I think.
Anyway, back to google maps… After seeing the craigslist/gmaps hack last week, I tried to put throw together a little map of my own. We need a mapping component for the new application we’re working on, so I wanted to see how google’s works. I love how you can stay in the map and move in any direction by just dragging your mouse. It’s fun to explore manhattan that way using the satellite maps. Such a cool app. There are a few tutorials out there explaining how google’s mapping tech works (java script, xml over http, etc) and someone put together a demo [rancidbacon.com] on how to add your own custom data to google maps. After playing around with it a little bit last week, I put together a lame map that has an image of my building. I know…pretty weak, but it was very easy to set up.
Since we need a mapping component for the application we’re trying to put together, I need to start researching mapping solutions. I’m not sure what some of the providers change in terms of cost or if there are any decent free/open source services. I have a lot to learn there. How nice would it be if google opened up their maps as a web service to outside developers? Some easy APIs that allow anyone to put custom images and tags on maps, along with their own directions/routes, would be nice. I know I’m dreaming on that one…. I can’t imaging google’s mapping data providers (Navteq, Tele Atlas, ?) are too happy with google letting developers use their data for free. And, even if google did open it up to developers, you’d probably be under the similar 1000 hits/day restriction as their other web services. I wonder if they’d ever offer a commercial service…