L'idée que j'ai pitchée au StartupWeekend Lausanne, plus en détail et mieux expliquée: un système de rappels ("rappelle-moi") qui pourrait rappeler des choses comme "la prochaine fois que tu vois Sophie, ramène-lui son pull" -- même si on ne sait pas quand ni où on verra Sophie pour la prochaine fois.
Wouldn’t it be great if you could set a reminder somewhere so that you don’t forget to take your grandmother for a day in the mountains next time she comes to visit — even though you don’t know when that’s going to be?
Or if you had a way to remember to bring back Sophie’s sweater that she forgot at her place, next time you have a meeting in Geneva — but you have no trips planned to the city so far?
How about reminding you to wear woolly socks every time you take the plane, because it gets freezing cold once you’re up there? And your ear plugs, in case your seat neighbour is a heavy snorer?
We usually keep track of this kind of stuff in our heads. Or we have manual GTD-style lists — ever forgot to check them before meeting somebody, only to realize afterwards there was something written under their name?
There are existing systems that provide an inch or two of the solution, but nothing exists at this stage which actually does what I’m thinking of. Let’s go around some of these services, then I’ll share my ideas on how I think this can be done.
This is, to be honest, the service that gave me my main inspiration. It has a trigger => action architecture, but so far triggers are limited to social media events. Some exceptions: the weather, for example. Possible task: “send me an SMS if it’s going to be cold tomorrow”.
But that weather example is pretty much an exception: ifttt triggers are present events. E-mail received. Post published. Tweet with #somehashtag found. Calendar event starts.
We would need triggers like “trip to Geneva planned in 24 hours” or “Grandma coming to Lausanne in 2 weeks” or even, if we pushed it further, “on the phone with James” or “checked in with Tania”. (More on the different types of trigger I’m thinking about later.)
My idea could be an extension of ifttt, but it might also be a separate service altogether. I’m not sure at this stage.
ZMS has part of the solution: “next time I’m in Geneva station, remind me to get a croissant at the little coffee shop”. But that won’t be much help for remembering to take Sophie’s sweater with me next time I leave my house for Geneva.
Reminders are pretty standard in calendars. But you need to set them when you enter an event in your calendar. But the basic idea here is that an event in the future, as recorded by your calendar, triggers a reminder in the present. “One month before any trip to India, remind me to ask people what they want me to bring back.”
For some reason I spoke about this idea when I stopped by the Evernote booth at LeWeb. After discussion, it didn’t really seem to be their space, but one thing they do well is capture information from all sorts of different sources and in all shapes and sizes and help you organize it. Text on photos is parsed, everything is tagged and geolocated, and available whether you’re on your phone, your tablet, your own computer or somebody else’s. It has this “central nervous system” touch to it that my reminder service would need.
Also, somebody suggested storing my rules/reminders in Evernote, using tags for triggers. #gotoGeneva, for example. Or #Grandma. But that won’t work, because I’m not going to be actively checking for triggers each time I go somewhere or meet somebody or do something. This is clearly a service which needs to work with push, and not pull. The whole point of it is that it will do the pushing for us.
Based on your calendar of future trips and your connections, Dopplr lets you know if you’re going to bump into people you know when you travel.
One thing that TripIt has been doing for a long time and which I think is really cool is that you can forward your flight booking confirmation e-mails to it, and it will automatically parse them and enter the corresponding trip in your itinerary. Some people might find this creepy, but it’s a great way to painlessly transition information from one bucket (inbox) to another (calendar).
Path monitors where you are, and when you change cities, makes a note in your Path. I feel there is more intelligence coming our way from Path, but let’s wait and see. What’s interesting is that as it’s limited to (reasonably) close friends, a service like this can learn a lot about the dynamics with the people you interact with the most. This could come in handy…
Speech recognition. “Remind me to buy flowers tomorrow.” One step further: “Next time I go to Geneva, remind me to take Sophie’s sweater with me.”
How would this be done?
The service would have two main layers:
- gathering data to build an “implicit calendar” of your future activities
- rule storage and triggering
I think the second layer is pretty “straightforward”. Store rules in an “if then” format like ifttt does very well, with the extra twist that the triggers will probably look something like “N days/hours/minutes before X”. We can also get fancy about how the rule is input (from code-like to Siri-like) and how the reminder (action) takes shape.
The part that sounds a bit like SF is “how will the system know my Grandma is coming to visit?” What are the sources to generate this intelligent calendar of my future activities? Here’s what I can imagine:
- your normal calendar (it has attendee and location fields already, that’s a pretty good start)
- your e-mails: either explicitly (you forward e-mails with relevant parsable information to the engine) or implicitly (the engine monitors your e-mail for things like travel reservations, conversations about future activities that it might recognize — yes, people will find this creepy)
- geolocation: where you are, where your contacts are
- and a step further: who you’re on the phone with, who you are exchanging text messages with, parsing content of your chats and text messages (people will find it even more creepy, but aren’t organisations already monitoring this kind of thing, without us benefitting from it?)
If I were doing this thing, I would start tame and simple, by gathering information from the calendar. I would focus on one type of reminder to start with. Here are the types of reminders that I can think of, off the top of my head:
- meeting somebody
- going somewhere
- doing a certain activity
- combinations: meeting somebody somewhere (e.g. Grandma in Lausanne)
Two obvious ones are the two first ones: I could set rules for when I’ve planned to see somebody, and when I’ve planned to go somewhere. Then, once that is working, widen the trigger set, the rule set, and the scope of the input engine.
When I pitched this idea at Lausanne StartupWeekend, I was surprised by some of the feedback I got: either people misunderstood and assumed it was already possible (“but such-and-such service already does geolocalized alerts! you can do this with Evernote or RememberTheMilk“), or understood but wrote it off as science fiction. This made me realize that this idea isn’t as easy to get across as I assumed it was, but that when people do understand it, they go “oh that would be useful”.
So, this is my attempt at explaining this idea correctly, maybe in more detail. I’d like to thank all the people I’ve talked about this idea with up to now (including ZMS and Evernote with whom I had brief chats) for helping me refine the way I present it. (Somebody in particular said “oh, a kind of intelligent calendar” — but I can’t remember who… sorry.)
Do you have questions or comments? Does this explanation sound clear to you? Would you explain it differently? I’d love to hear back from you if you’ve read this article to the end.
- Tinkering with Evernote, Tumblr, IFTTT, and Pocket (2013)
- Dopplr: More Fuzziness Wanted (2007)
- Triggers and Dopamine (2009)
- Cockerel, Anybody? (2012)
- Weekly Planning, First Attempt (2009)
- Blogmeet in Basel (2005)
- Don’ts (2002)
- Google Calendar pour blogueurs de la région (2006)
- Grandma and Bagha (2001)
- Blogging in the Morning: Lift12, 3615, StartupWeekend (2012)