A blog about practical technology. Topics for the everyday user.

Thursday, May 14, 2009

The First Post - or - Why Windows Vista Hates You

It can be pretty hard to find quality technical information on the web if you are not already a technical person yourself. Outside of user forums for specific programs or companies, you're apt to be wading through a sea of websites that are devoted to highly specialized user groups... or you're going to find a site that wants you to sign up for basic information that should be available for free.

In essence, there's a lack of simple, straightforward and useful technical information out there to find. It tends to swing to one extreme end of the spectrum to the other with little in between.

My goal with this blog will be to cover, at least once a week, a technical topic that I think could be useful. Maybe it will be highlighting a program that does a particular job just right. Or perhaps it'll try to explain why something works (or doesn't) as it should. Maybe it'll be a tutorial on how to get something done well.

No matter what the topic, though, my aim will be to communicate it cleanly and clearly.

And now... let the games begin...


Why Windows Vista Hates You

I have to disclose that I am a Mac User. Posts may skew a bit in that direction, but I'll try and cover both sides of the pond as best I can.

It should come as no surprise to most, though, that Windows Vista is a major, major disaster for Microsoft. Don't believe me? Staunch Vista fan? Microsoft launched Windows XP in late 2001. Vista was released to the public in early 2007, meaning XP had a 5+ year run on the market. Here we are, mid 2009, and Windows 7 is due out by year's end, giving Vista a lifespan of less than half that of XP.

You might hear a lot of vitriol from the technical community about Windows Vista and its many faults... but it seems fine to you. So what's the big deal?

Part of the problem were the "flavors" of Vista. Vista shipped with six different versions, all with different functionality and different price points. This causes no end of headaches to a tech support team. Windows XP had just two versions (Professional and Home... Media Center was released later), and that was enough of a hassle to deal with. Vista's six versions means that its very difficult to tell what you're going to get with any given machine. Different versions behave different with each type of computer they are installed with. The software to configure your machine interacts differently with Vista, and each type of Vista does and does not to different things.

Beyond this, Vista tried to address the security concerns people had with Windows. An admirable aim, but executed poorly. They swung the pendulum too far to the other direction and made it extremely difficult to perform certain functions. They went so far as to even lock computer administrators from performing certain tasks. Well... if the admin can't fix it... who can? It became a help desk's job to figure out what they had to do in order to be able to fix something.

Vista just plain made things that used to be easy more difficult. It looked great, but that look came at the price of performance (Vista takes a lot of computer power just to keep running normally) and ease of use.

Nowhere is this illustrated better than with how Vista handles DHCP.

Dynamic Host Configuration Protocol (DHCP) is the method by which your computer is given its internet address. Anything that's online, at work or at home or anywhere else, has an internet address. Every network you join, via your workplace or your home service provider, is it's own closed system, like a city. When you connect, you are given an address so that the network knows where your machine is. It's like renting an apartment. While your lease is good, you can be found at that address—just this way it's electronic.

The way this is done is that when your machine joins a network, the server in charge of giving out addresses will send your computer a message saying hi. If it gets a response, it will then write up the lease for your internet address and send it to your computer. The computer then signs and accepts this lease, and now you have an address until you decide to leave or the server needs to give you different lease. Nice and easy.

All this is done via certain computer protocols that are considered standards. The idea is that anyone who is playing nice will write software that works via these standards. It's like the Geneva Convention. We all agree that war crimes are bad, so we all follow the Convention. Well, everyone is supposed to agree that letting computers work with all networks is a good idea. Everyone except Microsoft apparently.

Microsoft wrote in, as a basic function in Windows Vista, that it will simply not talk with some types of servers. The server says hi to the Vista machine. The Vista machine says hello back. The server writes up a lease and sends it on over to the Vista machine. Then Vista takes the lease, says thanks, and never gives it to your computer. Aaaaaaand now you're not on the network because you have no address. There's nowhere for you to live. Why? Because Vista won't give you your lease.

You can fix this, but you essentially need to actually get inside of the functional guts of Windows Vista and change a setting to do this. Is it easy? Sure. Is it also easy to break things horribly while you're doing that? Oh yeah. Was this problem and solution advertised and easy to find? No way.

Let me give you an idea of the scope of this problem. A town in Sweden was progressive enough to have the entire town wired for high-speed internet. So, there was a server giving out internet addresses to the entire town. This server ran Linux, a type of freely distributed computer operating system - and the type of system that most network systems are based on. This was the kind of server that Windows Vista didn't talk to. Yeah, you guessed. An entire town that could not use Windows Vista to get to the internet.

This is why Vista hates you.

Edit: As a response to Ollie's query in the comments...

There's really no good, viable reason that Microsoft decided to code Vista so it would not talk to certain types of DHCP servers. The best hint is taken direct from the Microsoft support page detailing the issue. The problem exists for "some non-Microsoft DHCP servers". Essentially, it fails for products that Microsoft itself chose not to support, which means they were likely trying to push or promote their own hardware, or preferred hardware.

The problem with this method is how is the average user going to know this? All they'll know is that they plugged in, and nothing worked.

2 comments:

  1. Was there any rhyme or reason as to why Vista didn't want to talk to certain types of servers?

    ReplyDelete
  2. There's really no good, viable reason that Microsoft decided to code Vista so it would not talk to certain types of DHCP servers. The best hint is taken direct from the Microsoft support page detailing the issue. The problem exists for "some non-Microsoft DHCP servers". Essentially, it fails for products that Microsoft itself chose not to support, which means they were likely trying to push or promote their own hardware, or preferred hardware.

    The problem with this method is how is the average user going to know this? All they'll know is that they plugged in, and nothing worked.

    ReplyDelete