Welcome to The Windows Blog 


Building a More Intelligent Windows

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


Comments

  1. Posted on: January 03, 2007 at 11:44PM  

    i got a question about the winRE (Windows Recovery Environment).. I'm in training right now for doing windows vista tech support.. An one of the things we have gone over just the other day was about the bcdedit and bootrec /rebuildbcd

    An i've noticed something that should have been added into this... It should also have picked up other versions of windows that was installed on a dual boot... Where it does not do this, so i've tried to manually edited the bcd to add back in windows xp into the boot manager and it failed to do so....

    All of this was done with RC2 build 5744.. Noone else in my training class could get it to work... not even using bootsect /nt60 all or bootsect /nt50 all..

    So maybe this is something you guys could take a look at...

    oh btw.. We don't have the RTM builds at work to see if this was fixed in the final release or not..

    other then that i agree with everything else in this artical..

  2. Posted on: January 04, 2007 at 12:26AM  

    Snake:  You can use the command line bcdedit.exe tool which can be found on the Vista DVD (I copied it to my HD).

    However I prefer the very nice third party tool EasyBCD (see my link).

  3. Posted on: January 04, 2007 at 12:45AM  

    I would love to see a PC 2.0 standard - where Microsoft set all the rules and the OEMs followed (and gave input).

    If only OEMs listened to you guys we'd be so far ahead of our current situation...

  4. Posted on: January 04, 2007 at 10:23AM  

    The MAZZTer

    Sure there's the "Easybcd" and there's also "Vistaboot Pro".

    At work we're not allowed to use 3rd party software..

    "You can use the command line bcdedit.exe tool which can be found on the Vista DVD" <--- bcdedit is already installed with the OS, you just need to run cmd as admin and just type in bcdedit /? to find out all of the settings that you can use.

    I was talking about the command prompt within winRE (Windows Recovery Environment).

  5. Posted on: January 04, 2007 at 11:04AM  

    I don't like for my PC to get ahead of me, because inspiration and imagination are not his strong points. Everybody hates the way some programs jump-up at you just to let you know their there, I want to decide what programs run in process, RAM is a precious commodity and I want the maximum to be available for the tasks I'm about to preform and only I know what's coming next and sometimes I surprise myself.

  6. Posted on: January 04, 2007 at 11:17AM  

    paul i don't see that happening anytime soon, unless you've program that kinda OS yourself.. Other then that we are way way off from that becoming real..

  7. Posted on: January 04, 2007 at 12:57PM  

    "We expect machines to help us by doing more things automatically, and more of the basics as we want them to happen, without asking."

    Which is why I won't be using Vista immediately: Lack of any "universal" support for such basic items as a flatbed scanner; slower gaming (aka, the ability to correctly interpret when/if maximum performance is desired), a bcdedit utility you need to go to school to use (what, boot.ini wasn't arcane enough for you?), the overwhelming desire to expel the "trusted installer" and take control of everything--using task manager to disable things (like superfetch)...um, did I say I liked Vista? It's so cute.

  8. Posted on: January 04, 2007 at 1:04PM  

    Hi everyone... i know that this post is not the appropriate one for my question but... i've signed for customer preview program for the beta2 version of windows vista, i've downloaded it, burned and i'm enjoing with... but i've a problem now i've been away from the net for long time and the link to download and try the rc1 version is invalid now... how can i download it? no p2p...

    Tanx

    Sakara

  9. Posted on: January 04, 2007 at 1:13PM  

    Gil Bates you don't need to go to school to learn how to use bcdedit.. Since using bcdedit /? is very very helpful and everything is written out in plan english that anyone can understand..

    the boot.ini isn't as good as the boot manager simply because there is alot of tools that come with windows vista to get your system booted, for such things as that reboot loop which alot of people had problems with when they had nvidia drivers installed then upgraded to xp sp1.. Now with the new boot manager and the winRE it is now alot easier to fix them boot problems...

    An you don't need the task manager to disable alot of things now.. Just go into msconfig and click on the tools tab, there you got alot of options to enable or disable things such as the UAC..

    An superfetch is kick ass.. Just click on the windows orb and type in the program you want to run and it'll show up in the start menu.. Which i find is alot easier then going through each the menus to find what your looking for or even going through the control panel...

    So without superfetch it'll be slow as hell..

    An for gaming.. Every new OS that comes out is always slow for gaming and as time goes on and new updates that come out and people buying and upgrading there computer systems, gaming and the performance will get alot better..

  10. Posted on: January 04, 2007 at 1:15PM  

    Sakara

    the latest one was RC2.. But since the beta testing is done, there isn't really a need for microsoft to release these builds to the public.

  • Page:
  • 1
  • 2

Trackbacks

  1. Posted by: Frogz on October 29, 2007 at 6:42AM

    Voici une id&#xE9;e re&#xE7;ue sur Windows Vista: Windows Vista consomme toute la m&#xE9;moire de mon