Hacker News new | ask | show | jobs
by ayi 3305 days ago
Can you talk more about that era? I'm really interested.
1 comments

People rarely talk about what went well in Vista.

There was an effort to componentize Windows. This was extremely hard to do, while the kernel itself had a very clean architecture, the layers on top - less so.

"Longhorn Basics" this was a list of fundamental stuff that every team had to either cover or explain why they didn't (Accesibility, I18N, security, etc.) this was a great way of making sure that these cross cutting concerns where handled consistently across an enormous team

Testing - it may be hard to see this from the outside, but the testing was off the hook. Hardcore static and dynamic analysis ran against everything

Edit: also BitLocker!

>testing

If you look at Vista as a hardware compatibility beta for 7, I think it was a resounding success. They pushed out an operating system with a new incompatible driver model, had to wait for driver manufacturers to catch up (giving the impression that Vista was the problem) and then by the time every driver was rewritten, 7 came off as a godsend. 7 wouldnt be 7 without the "disaster" before it. It also let them use home users as a giant testing base for enterprise customers.

and dont forget uac, which broke a ton of code that expected admin rights

UAC was a huge deal for me. I had to write UI that needed privilege in an unprivileged process
> and dont forget uac, which broke a ton of code that expected admin rights

What do you mean?

Prior to Vista a lot of code was written on the assumption that the process would be run with administrator privileges. While this wasn't the original security model for windows NT, 16-bit windows, and windows 95 et al didn't have a security model as such, so code that had been written for those operating systems was particularly problematic.

It was definitely the case that a large number of windows users, possibly a majority, would have their user account be a member of the Administrators group.

UAC changed the way processes were started to use a lower privilege level by default, or popup a permissions dialog if higher permissions were needed (based on a manifest associated with the process)

In parallel the code samples on MSDN that showed how to detect if the current process had admin permissions was subtly incorrect, so programs that had been written to do the right thing depending on privilege level would fail unexpectedly on Vista