Vince Orgovan: Windows Vista Telemetry

Description

Windows Vista contains a much improved telemetry system that collects fault data and sends detailed reports to Microsoft that are used in fixing problems that cause apps to hang/crash (of course, this data only reaches us if you choose to send it...).
What have we learned so far? What does Microsoft actually do with crash data? How do crash reports turn into bug fixes that make their way up to Windows Update or, more commonly, into third party application updates?

Meet Vince Orgovan. Vince leads the Windows reliability and analysis team who are tasked with analyzing crash data and isolating problems that cause applications to fault on Windows. Vince is very passionate about quality and his team works tirelessly to isolate
problems that lead to crashes. Here, we learn about what we've learned from all the telemetry data we've gathered from Vista and Vince provides insights into the state of health of Vista in the wild. This is a great conversation. Enjoy!

That was one of the most informative interviews in a while. It's unfortunate that the average person doesn't get to ever hear about the good work that people like Vince do and how passionate they are about making stuff work.

I like that they can collect information for OEMs and identify different models of machines (great for identifying driver problems because these types of machines all have identical hardware) but unfortunately it probably won't make them decide to
stop with the shovelware because crashing usually isn't the problem with this kind of software, it's simply the annoyance of them and how they make the OS look bad even though it's not a component of the OS that's the problem.In other words, the people at MS are afraid to tell their partners to stop messing up their nice new OS because it will make them look like a big bully when in fact they're just telling the truth.

I think its also because the power of the windows platform is that its open and lets developers empower it.. its a joint effort, but in that there needs to be a joint responsibility for error.. right now windows gets all the blame, the only thing microsoft
can do is try and help them be better developers and make less errors.. via this kind of work and making the os more stable etc etc..

As Vince says in the conversation, those Windows dialogs asking you to send error data
really make a difference in the overall stability of Windows and provide a tremendous amount of technical value to developers in the Windows application ecosystem...

The reason for a single UI thread is very simple. The use of a single thread results in no problem in synchronizing any of the message processing involved in presenting the UI. It is far from obvious that there is any problem with this situation as long
as an application does not try to do some significant synchronous background processing on the UI thread. It is also the case that .net provides functionality that makes the use of a background thread easy for background processing in either a WinForms or
a WPF environment. In practice with WPF it is easy to use three threads that could be running on three processors for the UI. Those threads include the standard UI thread, the render thread, and a background worker thread. Charles can rant on all he wants
about the wonders of multicore. But it may take him a while to find the client workload that actually has any real requirement for more than two or three cores.

As far as Vista stability goes, it has been very good since I started using it during the RC0. I have had two or three blue screens in total during that time.

Vince is an excellent interviewee. He's very eloquent. Too bad this informative interview will have a tiny audience.

I agree with Vince that Vista behaves itself nicely. I rarely have a problem at the OS level. Kudos to Microsoft. However, I pretty much always have problems, often relatively benign, with 3rd party drivers and apps. If Vince says his home computers behave
themselves he certainly isn't using them as HD HTPCs. Windows is a long way away from being a wife approving HD entertainment platform. I yearn for the day when Windows is as robust as a TIVO. I concede this issue is immensely complicated and no other vendor
has done HD HTPC right. I suspect that vendor bundling and open source will lead more quickly to a solution.

I usually click on send report when the crash details contain an access violation.

I think the reason for a single threaded UI is to avoid deadlocks. Usually there are two directions competing in an UI scenario: user input events and gui redraw events. One might create a clever multi-threaded gui but there are too many pitfalls for general
purpose usage.