Data-driven development is a good thing; you're basing what you create on real data about what users do and what they want. When Google engineers have ideas about how to improve search they first run the tweaked search engine on a set of queries to find out if they work better (are the results faster, more accurate or better at getting rid of spam pages?). I tend to think Microsoft got the idea from its own Dr Watson error reporting tool from the Windows 3 days (now known as Windows Error Reporting and born from the frustration of the developer who was expected to decode the Dr Watson hex dumps and decided getting the stack and debugging information to go with them would be useful.
None of this is your PC phoning home to Microsoft in a suspicious way; it's anonymised, it doesn't take identifiable or personal information (sniff the data stream if you're not convinced) - and it's voluntary. Although CEIP is on by default in Microsoft beta software, if you buy Windows or Office or if you download Windows Live Essentials, you have to choose to turn CEIP on. Although a surprisingly large proportion of users turn it on - "over 80% of our customers voluntarily opt-in to sending us this information," says Windows senior vice president Steven Sinofsky - as long as it's voluntary and off by default, it's going to be a black hole in Microsoft's telemetry according to Greg Lambert, the chief technical architect on ChangeBASE, the app and OS compatibility knowledgebase.
Take the Windows Mail API. Taking Windows Mail out of Windows 7 meant any apps that used the Windows Mail API wouldn't work and while Microsoft's CEIP data showed that no-one was using the API, there were companies using it - they just weren't sending in CEIP data from their enterprise PCs. There were only a handful of them, according to Chris Jackson of the sadly underfunded App Compat team at Microsoft (who blogs at the excellent www.appcompatguy.com); he knows of just three, because the API only actually worked if you renamed your internal app to WINMAIL.EXE, but to them it was a crucial feature.
These are the kind of issues that can hold up Windows 7 deployment in business and they will happen far more with internal apps than with widely tested commercial software. (Although commercial software doesn't always make it easy to migrate either; if you're trying to migrate off IE 6 and you're using Oracle Forms and Jinitiator, you can either spend the money to upgrade Oracle or virtualise what you've already got because Oracle has said it won't do a free fix to help you move to IE 8).
Resources like Microsoft's Microsoft App Compat toolkit helps with some of this (and in a helpful move the version for Windows 7 came out three months before RTM rather than three months after) but ChangeBASE is still making a very successful business out of collating information about migration and upgrades. It doesn't help that the App Compat team at Microsoft has to justify its existence for every new budget round or that so many of the Microsoft Consulting experts in installing and migrating Microsoft software left as part of the layoffs. And now that all of Microsoft's own internal apps are running in the cloud, on Azure, the expertise of the Microsoft teams is going to be more about running their own software in the cloud than on premises. That's handy if you want to run software in the cloud yourself; it's nice of Microsoft to get any issues with BPOS ironed out before it sells the service to paying customers. But if you're still running the majority of your apps and servers on premise, might it be that the pendulum has swung a little too far into the cloud, a little too quickly? To keep Microsoft down to earth for the enterprise, would you turn on CEIP for your business? (And if not, why not?) -Mary