Location-Aware Reminders

reQall already does all of this, but you need to remember to load the app to get location-aware reminders, so this is just ideas around integrating third party services.

iPhone OS 4 will ship with background location notification, so the reQall app should make use of the API.

Example:

    1. I check into a place at Brightkite

    2. Brightkite sends a ping to my PubSubHubbub hub or URL endpoint by POST with a JSON payload

    3. The hub or endpoint sends a ping to reQall with the location information

      • or just emails/texts me?

    4. reQall looks for reminders in the next hour or so around the location currently checked into

    5. if it finds a reminder, it sends a ping to my hub

    6. the hub pings the right device, likely my iPhone

Notes

    • Fire Eagle didn't want to use Web Hooks because they didn't want to force SSL on all endpoints (fine) and didn't want to ping endpoints that might go missing (why not just stop trying and notify the customer?) and they didn't want to use an existing concept because they wanted to innovate (but why not plug into something that works?) http://feblog.yahoo.net/2009/02/19/fire-eagle-location-streams/ Maybe Fire Eagle isn't around anymore?

    • http://github.com/julien51/socket-sub/ involving Gowalla and PubSubhubbub and node.js

    • why doesn't Foursquare have webhooks?!

    • feature request for Google Latitude API to implement callbacks: http://code.google.com/p/latitude-api/issues/detail?id=4

How does it differ from what reQall offers?

Naturally this depends on my understanding of what reQall offers.

    • substitute Brightkite for a generic online location checkin site

      • sort of a Ping.fm which makes sites like Foursquare, Gowalla, Brightkite, Fire Eagle, etc.).

      • That is, make reQall's location awareness independent of the iPhone app

    • use PubSubHubbub or other message/notification routing service, so that you can choose where to get notifications

    • not a poll method, that is, everybody pings each other, rather than checking every few minutes. That is, reQall could implement it, but they'd have to look at the Brightkite feed every couple of minutes in order to make it seem real-time.

    • maybe people can run their own reQall server? Their own Brightkite? All in conjunction with their own PubSubHubbub hub? What would that look like? Small pieces loosely joined?

      • or a developer could strike out on their own, but still would have to poll Brightkite. And a reQall API, which apparently does not exist, at least not yet.