I've had it recognize order confirmations for concert tickets to a show a couple of hours away, parse them, and automatically create a notification with navigation at an appropriate time to leave.
I think it would be straightforward to write a program that monitors/records whatever applications have focus. I am only familiar with OS X, though. Using the accessibility APIs you can get the focused window and register for focus change notifications.
Of course there is a bit more in parsing the data you gather and creating reports/doing whatever, but the monitoring part should be easy enough.
>Hence the major effect of the Panopticon: to induce in the inmate a state of conscious and permanent visibility that assures the automatic functioning of power. So to arrange things that the surveillance is permanent in its effects, even if it is discontinuous in its action; that the perfection of power should tend to render its actual exercise unnecessary; that this architectural apparatus should be a machine for creating and sustaining a power relation independent of the person who exercises it; in short, that the inmates should be caught up in a power situation of which they are themselves the bearers. To achieve this, it is at once too much and too little that the prisoner should be constantly observed by an inspector: too little, for what matters is that he knows himself to be observed; too much, because he has no need in fact of being so.
Michel Foucault on Bentham's Panopticon Prison design, which utilized a ring of cells around a central guard tower.
I am using RescueTime because i want to track on all my computing devices, but there are a few alternatives that runs locally. I recently came across this one: http://timingapp.com/ Haven't tried it tho.
I don't think anyone is saying it's that much different. To me, that's what makes it suspicious. Sense, MotoBlur, & TouchWiz all fragment the android platform, break/change certain view widgets, and lag behind the major release. If you've ever written an android application, you probably remember how you have to remember to set the fonts, colors, font sizes, and just about every property of every widget just to make sure your app looks consistent. WP7 being brand new has the same advantage that iOS does. You don't have to guess what you're UI will look like on someone's phone because they all have the same environment. On Android, it's absurd.
[Edit]
I'll take this a step further and say that this is at least one of the reasons that there aren't as many high quality apps in the Android Market. Though, there are obviously several more.
People have positive feelings toward W7P even if only because it is novel UI-wise. People don't have positive feelings toward Nokia's UI work... let's just say that.
Oh yes I agree, the UIs are horrible. I think Nokia wants and needs to make current Nokia users happy with the new phones by implementing "Nokiaisms" (even though the underlying OS will change).
Sense and Touchwiz fragment the UI and generally lag more compared to stock Android UI. On top of that, it takes them ages to port the UI skins to the latest Android version which delays the upgrades by several months
It's not the UI which is fairly high-level code. See the Android source code for the default Launcher application. What takes time is porting a new Android distribution and kernel to that custom hardware of yours, test all of your hardware-facing kernel code again completely, and make sure your kernel ABI can still talk sensibly with your userspace counterparts since things and APIs might have changed since the last Android version.
What's the downside with static methods? It makes sense to me that they use them for factories and now that the can be effectively overridden in PHP5.3, I'm not sure why it's a bad thing... perhaps just a personal preference?
If you had an event in a calendar which had something in the "Location"-field it took the location you should be at from there.
Still it is a "whoa" moment. :)