Back to work
I went back to work today for the first time since the baby was born. I took two weeks off and then plan on working part-time for the rest of my paternity.
I am currently recruiting for a CSG (that's what MS calls contractors) to work on a project on Natural UI. I have started working on an incubation project with a small team in our division. We are looking at what a "natural UI" might look like out five years or so. It's a pretty cool project.
We are taking a very task-based approach to defining natural UI. The premise being that in order to better map computer functionality to what users are trying to do, you need to have an intermediary, since actually figuring out what they want from natural language turns out to be way too complex. So we are exploring using tasks to sit in between users and computer functionality.
Our definition of a task is any unit of work a computer can perform represented in the language of the user. So "create a letter" would be a medium level task, "create a business plan" would be a very high level task and "print this document" would be a very low level task. Of course many higher level tasks will contain many lower level tasks. In this way tasks can be considered fractal in nature.
The theory being if developers build application by exposing a set of tasks that their program can perform. And these tasks are annotated such that we can map natural language to them, similar to how web-pages are annotated to enable web-search to find them, then the problem of mapping users intent (as specified by typed or spoken natural language) to a task becomes much easier. And computers become much easier and faster to use.
Anyway, that's our theory. There is some interesting work going on at Oregon State that is conceptually similar to what we are working on. You can read more about their work at: TaskTracer Summary.

