Fire Eagle: Location-Aware Applications Without the Hassle

Tom Coates said it best yesterday morning at ETech: people have been touting ‘location-aware services’ as the next big thing for years. However, they’ve never taken off.

What’s been holding them back: acquiring reliable location data about users is a hard problem for developers to solve.

With yesterday’s release of Fire Eagle, that problem is now a whole lot easier to solve.

Ride the Fire Eagle Danger Day!

So what is Fire Eagle? It’s not Twitter for location, that’s for damn sure. Here’s how the Yahoo! copywriting wizards describe it:

The secure and stylish way to share your location with sites and services online while giving you unprecedented control over your data and privacy. We’re here to make the whole web respond to your location and help you to discover more about the world around you.

At the diagram to the left shows, the Fire Eagle platform acts as an broker for your location data. One or many applications can set your location, and, provided you give them access, any other service can access this data.

This is one giant piece in the puzzle for location-based services. Users set their location in one place, and any number of other services are able to then act on this data however they please.

The other piece in the puzzle: a Fire Eagle updater that requires absolutely NO user interaction. If I’m carrying around my iPhone in my pocket all day, why can’t it tell Fire Eagle where I am?

Of course, Erica Sadun has already whipped up an unofficial iPhone app to ping Fire Eagle called firefindme. Installation isn’t the easiest thing in the world – it assumes some launchd skillz to setup automatic updates. However, I’m sure a user friendly iPhone updater is coming very shortly ;).

Developing Location-Aware Applications, Sites and Services with Fire Eagle

I’ve got a full-on tutorial coming detailing how to make your Rails app talk to Fire Eagle, but in the meantime, check out my Fire Eagle Ruby Gem:

sudo gem install fireeagle

If Ruby’s not your bag, don’t worry – there are libraries for working with Fire Eagle in javascript, php, perl and python.

Proof-of-Concept Twitter Bot

Just like last time, I’ve created a proof-of-concept twitter bot for testing out Fire Eagle: firebot.

First off: you need an invite to talk to Fire Eagle right now. Luckily, firebot is handing out a few. follow firebot on Twitter, and then direct message it with ‘invite’

  • d firebot invite

Once you have an invite, direct message firebot with ‘auth’:

  • d firebot auth

firebot will then reply with a link. You’ll need to visit that link, authenticate with your Yahoo! account, and then authorize firebot with Fire Eagle.

Once that’s done, you can update your location with a direct message to firebot like so:

  • d firebot u Atlanta, GA
  • d firebot u Belize
  • d firebot u 30022
  • d firebot u 123 Anytown USA
  • etc

To look up the location of someone else using firebot:

  • d firebot q jnewland
  • d firebot q cjmartin
  • d firebot q plasticbagUK

Disclaimer

By telling firebot your location, you agree to share your location information with all other users of firebot. All direct messages you send to firebot are stored permanently at Twitter. If at any point you’d like all of your information deleted from firebot, please contact @jnewland.

What’s next?

Get hackin’ on your awesome location-based web app! Extra bonus points if you use the Fire Eagle Rubygem. If you’ve got a great idea for a Fire Eagle app and don’t have an invite, just ask firebot for one!

PS: If you hack up a Fire Eagle javascript sidebar widget that works on pages served as application/xml (preferably using the brilliant wedje technique) AND embraces the draft geo microformat, I’ll buy you a pony. Seriously.

Fire Eagle, meet Danger Day

UPDATE: These instructions are out of date. See here for instructions that work with the new Fire Eagle!

A couple days ago, a friend of mine sent me an invite for Fire Eagle, Yahoo! Research Berkley’s nifty closed-Alpha location storage and query engine, and I’ve been hooked ever since. For the rest of you without access, here’s a brief overview of what FireEagle does, straight from the FAQ page:

Fire Eagle is a site that keeps track of your current location and helps you share it with other sites and services safely. There are hundreds of potential applications.

Fire Eagle allows you to share your locations with other sites and services safely, through a secure server – you are always in control. You can decide to share your location with any application that can use it, and even choose how much detail to give that application (exact point, neighborhood, city, state, country).

So, I whipped up a quick Fire Eagle Rubygem to make it easier to deal with Fire Eagle’s API. The next logical step? A twitter bot.

Fire Eagle, meet Danger Day

If you’re lucky enough to have an invite to Fire Eagle, here’s how you can use it on Twitter:

  1. Follow Danger Day on Twitter
  2. Sign in to Fire Eagle
  3. Authorize Danger Day with your FireEagle account
  4. Get a mobile token to confirm your authentication with Danger Day
  5. Send a direct message to Danger Day with your token.

Once that’s done, you can update your location with a direct message to Danger Day like so:

  • u Atlanta, GA
  • u Belize
  • u 30022
  • u 123 Anytown USA
  • etc

If you’d like to do this via your mobile phone, make sure your mobile is setup with Twitter, then send the following text massage to 40404, Twitter’s short code:

  • d dangerday u Atlanta, GA

To look up the location of someone else using Danger Day:

  • q jnewland
  • q cjmartin
  • q plasticbagUK

or from your mobile:

  • d dangerday q jnewland

What’s next?

I’m getting married in a week, so I leave the creation of cooler Fire Eagle apps as an exercise to the reader. Extra bonus points if you use the Fire Eagle Rubygem. If you’ve got a great idea for a Fire Eagle app and don’t have an invite, get in touch with me – I might be able to make that happen.

PS: If you hack up a Fire Eagle javascript sidebar widget that works on pages served as application/xml (preferably using the brilliant wedje technique) AND embraces the draft geo microformat, I’ll buy you a pony. Seriously. Here’s my location in XML – go to town.

Twitter Search Bot

Go add twittersearch as a follower, wait one minute, then send a direct message to twittersearch with a search query (“d twittersearch foo”). You should get a direct message back within a minute from Dave Troy’s wonderful Twitter Search hack with the last public update matching your search query.

Why? Because I can. 173 lines of Ruby glue code. Are you ready for Twitter web services? This is the start of something very interesting.

UPDATE: Of course, right when I launch this thing, Twitter vanishes from the internets. My guess: the tubes are full.

Woot Twitter-bot Now Official

There’s been quite a bit of anti-Twitter backlash recently, the most notable of which was a Wall Street Journal article ironically published on one of Twitter’s busiest days during SXSW. My friend Ryan is quoted in the article:

“I probably started removing people the first week,” said Ryan Irelan, 31, a Web developer in Raleigh, N.C., who began using Twitter last year. “This constant dinging of updates,” he added, “it really just became totally overwhelming. I don’t see how anyone could get anything done.”

While there’s truth to what Ryan said about Twitter’s potential to be addictive and overwhelming, there’s no doubt that Twitter is going places.

Earlier today, the folks at Woot announced their Woot Twitter-bot and solved a long-standing problem of theirs – how to quickly notify their rabid fan base of their new product offerings. By using Twitter to publish this data, it is therefore available via IM, SMS, or the web – whichever the end user desires.

The Woot Twitter-bot (go take a look, there’s a Woot-Off going on right now!) happens to be my brain-child (I set it up during the last Woot-Off after being unsatisfied with other ways of being instantly notified of new deals), and was recently contacted by Dave Rutledge at Woot, and agreed to allow them to make it official.

The folks at Twitter noticed Woot’s new offering, and had this comment:

As far as we know, Woot is the first to use Twitter like this; as a way to let people keep on top of what’s being sold. Very cool.

The folks at Twitter are sure to like this, because it fits into a very possible monetizing strategy for Twitter: corporate-sponsored Twitter accounts providing updates on flight times, shelling out coupon codes, or promoting TV shows.

For others interested in creating Twitter-bots of their own, I’ve released the source I used to initially create the Woot Twitter-bot. Feel free to download it and do what you please.

Tweet - Update Twitter via Quicksilver

Tweet, a Twitter Quicksilver Action, is my favorite Twitter updating vehicle as of late – except for one thing. It uses Keychain Scripting to access your saved Twitterrific username and password – which, for some ungodly reason, takes about 30 seconds on my Mac Book Pro.

I’ve made some updates to Tweet.scpt to fix the slowness:

  • Now uses the Twitter Rubygem to talk to Twitter
  • Uses the username and password stored in ~/.twitter, via the Twitter Gem
  • Uses Twitterrific’s icon, if you have it installed.

Requirements

Installation Directions

  1. Download Tweet.scpt
  2. Move Tweet.scpt to ~/Library/Application Support/Quicksilver/Actions
  3. Restart Quicksilver (Cmd+Ctrl+Q)
  4. Setup a Trigger – I use Cmd+Opt+Ctrl+T :

This, combined with Twitter Monitor, is the way I’m using Twitter most often these days. Like it or not, I think Twitter has a lot of potential. I’d love to throw some AI at the trends of public twitters – you’d see the string “coffee” grow in popularity in the AM and wane in the PM. Add Geocoding support – a way to set your ‘Location’ as well as your status – and Twitter becomes useful in another dimension. I’m interested to see what Twitter has in it’s future.