Many people share the dream that the various electronic devices they use should do what they want without them having to ask. In our non-computer lives, we have come to expect basic things to just happen. We expect machines to help us by doing more things automatically, and more of the basics as we want them to happen, without asking. When I put my car in drive, the doors automatically lock -- when I put it back in park, the doors unlock. Instead of running for a pre-set period of time, most modern clothes dryers have a mode where they can sense when your clothes are dry and turn off once the job is done.
Many years ago, I was really struck by the programming language InterLisp's DWIM function. It meant "Do What I Mean." It was a quick and handy way for programmers to ask the computer to fix a program so that it did what the programmer had meant, but not actually written. It was magic for me -- the computer knew what I wanted and it fixed it for me!
For Windows Vista, we set off with the goal of creating a more intelligent experience for the user. Our vision was to use intelligence about the user and the environment to deliver a better experience for the user. And while there is so much more to be done in the future, Windows Vista does some incredibly innovative things that other software doesn't.
Here are some examples.
One of the key enhancements to the Windows Vista memory management system is a new feature called SuperFetch. I discussed this briefly in my blog post about ReadyBoost. SuperFetch watches how you work and then uses the RAM on your system in a new way that optimizes the system's performance to the way you work. For example, in contrast to traditional memory management systems that today use an approach to prioritizing how RAM is allocated to the various programs and services running on the system, SuperFetch can differentiate memory being used for interactive (high-priority) tasks from memory used for background (low-priority) tasks. When the user isn't interacting with the system, background tasks are allowed to run, but when they complete, SuperFetch repopulates RAM with the content that supports the interactive applications. SuperFetch is also smart enough to know which applications are used most often (over a long period of time) and pre-loads those applications into memory.
We also saw an opportunity to improve the user experience with the network. At the lowest level, the Next Generation TCP/IP stack in Windows Vista senses and learns about the network and uses this information to automatically tune settings. For example, just as most modern cars have automatic anti-knock sensors that eliminate the engine ping (pun sort of intended) that can come as a result of low-octane gas, Windows Vista's TCP/IP stack has new auto-tuning algorithms that automatically and dynamically adapt the TCP receive windows to the properties of the network path between the endpoints. This allows the stack to fully utilize the bandwidth between two endpoints (especially in high-delay conditions) and dynamically adapt to changing bandwidth and delay characteristics. We also have improved the dead gateway detection algorithms and the round-trip time estimators to further improve the network experience for the user -- automatically.
The networking code in Windows Vista also includes Network Location Awareness (NLA) functionality that intelligently "fingerprints" a network. NLA uses this "fingerprint" to remember network-specific settings and dynamically apply them whenever the system connects to that network. For example, the firewall in Windows will automatically change its settings when the system connects to a new network and restore them to your preferred settings for each known network when you connect to it.
One of my favorite examples of intelligence in action is the handwriting- and speech-recognition capabilities built into Windows Vista. People don’t like to spend a lot of time teaching their computer how they speak or write. So, the real opportunity is to provide better prediction of what you are saying or writing by understanding the vocabulary that you tend to use. And that's just what we did with Windows Vista. Since we already have an index of the content on your PC, we simply use this corpus of terminology to help the system disambiguate your input and deliver a more accurate result. (In case you are worried about privacy, there is no need: all this happens only on your machine, with no communication to any other computer.) This means that in addition to a common dictionary, the system can automatically learn the vocabulary that you use and then assign a higher weight to the words you use most often. The result is a much higher accuracy rate even if you work in a field with a specialized lexicon. So, if you work in a specialized area, there are many words that wouldn't be in a common dictionary initially, but because they are in your everyday documents and emails, the system will learn them automatically and understand them more easily. I should also note that personalization also helps with "in-dictionary" words in addition to "out-of-dictionary" words by raising the priority of the "in-dictionary" words you do use and thereby de-prioritizing random words such as "yon" (often confused with "you" by our previous handwriting-recognition software) that most people don't regularly use.
The result? During the beta testing of Windows Vista, someone on the team received a note from a quadriplegic saying that Windows Vista was going to dramatically improvement his life because of its huge improvements in speech recognition. By the way ... the email was, of course, written using Windows Vista's speech recognition.
Finally, in a previous blog entry I wrote about the Windows Recovery Environment. While the focus of my previous comments was on the ability to get a Windows Vista PC up and running, it's important to note the way that the Recovery Environment works. It essentially uses a heuristic-based diagnosis approach in the same way that one of our support engineers might work on the system if s/he had a debugger and direct access to it.
You might see all of these as just individually clever ideas, but the reality is that integrated intelligence (learning about you and doing what you mean) like what we are doing with all the examples above is the future for helpful devices for society.
jim