What developers should be doing in readiness for Windows 7

I apologise. I’m sorry. I sympathise. I do, really. I completely understand that:

Discovering an application is broken that previously used to work great is simply not fun

and

Fixing the application to work again is also simply not fun

Especially if you didn’t originally write the application or if you did, it was many years back and you had hoped never to revisit the code again. Worse still, you don’t have the source code :-(

Sometimes the right thing is not fun

However, sometimes we have to do things which aren’t fun as they are the right thing to do. Which leads me to Windows Vista and Windows 7. We elected to go with some tough choices when we designed these operating systems that would tighten security and reliability but at the cost of breaking some applications which were running fine on Windows XP. Some of these application broke because the developers were using “bad practices” but some broke simply because we had chosen to introduce a better and different architecture with Windows Vista. In either case we did try very hard to help developers determine if their applications broke on Windows Vista and gave them the advice and tools and assistance to help them get those applications working again. Which didn’t transform it into “fun” but did make it doable.

Windows Vista shipped in January 2007 and at the time there were a lot of applications in the consumer and business space that didn’t work with Vista. Equally there were a lot that did. As of Feb 2007 we had listed 800 working applications. It is two years on and things are much improved. It is very rare for me to install a consumer application that does not work with Windows Vista. To be honest I can’t recall the last time I did. However, things are still a little different in the world of business. If a company has written its own catalogue of applications (often running in to hundreds or thousands) and has not yet rolled out Vista, then I often find that the developers have been given little or no time to test the catalogue against Vista. Windows 7 is now almost with us and I think that combined with the imminent release of SP2 for Windows Vista, it is encouraging companies to accelerate their move off Windows XP to Vista or direct to Windows 7. FYI, Windows XP was released October 2001.

Windows 7 and compatibility

I was heavily involved in the Microsoft UK efforts to help ISVs get their applications compatible with Windows Vista. However I moved on to a different team last year and have not been involved with the Windows 7 compatibility efforts. BUT … I know a man who is. My old colleague Dave Allen is heavily involved in Windows 7 compatibility and owns delivering labs to help partners get their applications working. I caught up with him last week to get the “low down” on what has changed, and what has not. I have created a companion post with a transcript of the interview that contains plenty of good advice and info. But the key points are:

  • Most applications can be made to work in a day or two
  • If it works on Windows Vista then it will likely work on Windows 7
  • Start testing with Windows Vista, then test for Windows 7
  • There are simple things to try - Run as Admin and Windows XP SP2 Compatibility Fix
  • Change your code to check for minimum requirements not specific versions

If you have applications that work great on Windows XP but you have not yet tried on Windows Vista, then maybe it is time you stopped having fun for a while :-)

A good screencast to start with:

Windows 7

Vista