My Razr Maxx smartphone has started doing some pretty creepy stuff. It knows I should have already left for the office by now. It also knows how long it will take to get there and that I report to Banh's Cuisine every Saturday to consume the Vietnamese specials. This ties a few new buzzwords together: "anticipatory computing" and "contextual computing," among others.
As a developer, I find "contextual computing" pretty mundane on the face of it. On a cellphone, you detect where someone is (for example, in the car) and change the menu items accordingly. On a desktop keyboard, you change the function key layouts based on the application the user is running.
[ Also on InfoWorld: Hey Google, why is my freaking phone so big? | Work smarter, not harder -- download the Developers' Survival Guide from InfoWorld for all the tips and trends programmers need to know. | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]
When you add anticipation, you have to analyze patterns of behavior. Without lots of data about me, this is not a big advance beyond what my browser does today when I start typing a link. It knows that if I type "g," I'm most likely going to Google.com. (Why I do this when I could just search in the bar I do not know.) In the case of my phone, it must be tracking more of what I'm doing and storing it on a server at Google or at the NSA (same thing).
With more data than your link history, though, much more can be anticipated. Google knows where I go, and if Google Wallet ever takes off, it will know as much about me as my credit card company does. As these data sets converge, one day soon it may be possible for it to construct my probable grocery list and tell me when any produce that I haven't used has spoiled already. There are apps that do this, but they require an awful lot on the part of the user.
With my phone knowing where I'm going to be and what I'm likely to do, my social network can be tied in to anticipate what I'm likely to do that I've never done before. For instance, if my friends all start going hang gliding, there's a bigger chance that I'll try hang gliding. (I'm totally down for that, by the way.)
Tying in your social network can go well beyond "dating" and can instead determine what entire groups are likely to purchase and who is most likely to be receptive to an ad, a deal, an offer, or a business arrangement. It's knowing what I'm interested in (Facebook), what I've purchased in the past (Visa, Google Wallet, PayPal), and where I am (Google, Verizon), then matching that with my friends' data and past patterns.
For instance, though my mother and I are Facebook friends, I'm not as likely to do something that she's done (such as visit an estate sale or antique shop) as something my wife or my brother (who is also a software developer) has done. By analyzing my friends' data, you can anticipate what I'm likely to do. This is beyond context -- and this is what my phone is doing.