Log in

View Full Version : The Windows Vista Issue


Daniel Pistelli
January 2nd, 2008, 11:30
Windows XP brought a lot of enthusiasm to most programmers and common users loved it too. XP officially introduced the NT kernel for everyone, not just for servers. It was a great step forward, and most people who earlier disliked Windows had now trouble criticizing it from a technical point of view.

Windows Vista, unfortunately, wasn't going to satisfy everybody. There's got to be a reason (even more than one) if PC World wrote that Vista is the biggest tech disappointment of the year 2007. Not that PC World's opinion is 100% reliable and in the article it mostly criticizes Vista for the wrong reasons. However, one fact remains: many users decided not to upgrade to Vista and some even downgraded to XP.

Microsoft is a big company whose interest is making money like all companies, that's pretty clear, but in the process Microsoft shouldn't leave behind all the people who made of Windows what it is now. Windows is so important because of three factors:

a) the quality of the operating system
b) the number of people who use it
c) the number of applications developed for it

The c) factor is really important, because it's sort of the backbone of Microsoft's success. I don't want to imply that Microsoft is going to lose millions of dollars, because the current Mark Russinovich will use another OS instead of Windows (would be a little hard for him, since he's employed by Microsoft now), but maybe the next Pietrek / Russinovich won't be a Windows expert. If Microsoft leaves behind the developers community it'll reflect directly upon the users community. In my opinion Microsoft is taking chances for no good reason.

In my opinion it's better to make less money on the long-term, than making a lot of money in just one year and losing in the process a lot of costumers.

I tried to make a list of all the things which would have been made Vista the best product of 2007. Ok, let's not exaggerate, but surely it wouldn't have been the worst one. Keep in mind that the points in the list are not ordered by relevance, but, if not casual, by logical connection.

What Microsoft should change:

1) Let's start from the silliest thing: Windows Vista's Aero is not available in Vista Home Basic edition. Aero is described as "Elegant Windows Aero desktop experience" feature. But that's just silly, it can't be a feature for which the user pays extra money. Vista Home Basic retail edition costs 250 euros (367 USD)! For that price, I think, it's highly immoral to exclude such a silly feature as Aero. Microsoft can't make money from Aero, it's just unprofessional and the company loses credibility. And this brings us right to the next point.

2) Only Vista Business and Vista Ultimate can be virtualized (run on VMWare, VirtualPC etc.). Microsoft applied license restrictions to Vista Home (both Basic and Premium) making it impossible to virtualize, at least legally, these two editions. Again, that's unprofessional and, from a technical point of view, horrible. This point is very important. Microsoft should just offer more tools/services (e.g. Bitlocker) in its more expensive editions. It's just wrong to put use restrictions in its less expensive editions.

3) It should be possible to disable driver verification permanently at boot time (this means without forcing the user to press F8 on every boot). A way of replying to this point is to say that many hardware manufacturers would force the user to disable the driver verification in order to use their drivers, but that's non-sense! No serious manufacturer would do that. Let's take for example TrueCrypt. It's a top quality free software and, of course, works through a file system driver. Why should the author/company pay 500$ (or less) for a 1-year certificate to sign their driver? Ok, it's not a problem for TrueCrypt, since this product was famous long time before Vista came along. Its community surely will cover all the expenses, I suppose. But what about a new project which may start now. Should the developer invest 500$ for something which might not even cover his expenses? Oh, sure, 500$ isn't that much, and he can pay this amount without selling his computer, but the questions are: is it right? Will he? And the user himself why shouldn't he be able to run his driver if he absolutely wants to? That, of course, without being bothered by the terrible F8 or by installing a test certificate? Again, this is a very serious credibility issue, which shouldn't easily be dismissed. I'm not even sure if this policy was introduced only for security reasons or even because driver signatures are expensive and TrueSign (owned by Microsoft) is making good money out of this. Anyway, if Microsoft wants to make money out of driver developers, it should sell documentation or compilers. Libraries and header files should be given for free (as they currently are). I can't emphasize this enough: trying to make money out of everything can be very counterproductive.

4) Lower the prices! Microsoft can't be offering an operating system which can't be virtualized and doesn't have Aero for 250 euros (367 USD) (retail edition price). To have these luxuries you have to pay at least 300 euros (440 USD).

5) .NET is a great thing, no doubt about it. But it will never totally replace native C/C++ programs. So, PLEASE, keep the MSDN up to date, fix the broken links and enrich the contents! I'm a huge fan of the .NET technology, but it's just a fact that developers love C/C++ (not that managed C++ thing) and they'll never give up developing with it. And that's right, because .NET can't be a replacement for everything (and never will be). I'm sure the community would really appreciate this point.

6) Microsoft strenght on the market is given by its kernel, by its libraries and, at last but not least, by its hardware support. If there was a freeware (or sold at, let's say, ten bucks) open source system with a NT-like kernel (NTFS support included) and with the same hardware support, it could run a modified WINE (like ReactOS) to support Win32; and that would be part of the end of Microsoft's domain, since most of the users would migrate to it (and even most of Microsoft's products would run on it). Thus, Microsoft shouldn't push too hard with Windows prices, because all the Aeros, UACs, defenders and bitlockers can't compete with a free/cheap system.

7) Microsoft is running too fast. Many directions are right, but developers won't follow blindly. What's with Win32? It's old, ok, but does Microsoft really think that .NET and WinFX will completely replace it? If Microsoft thinks that the future is going to be something like "kernel in C/C++ and all GUI applications in .NET (WPF, Forms, WinFX etc.)", then it's betting wrong. Ok, the native C++ code could be contained in external dlls, but even that won't happen. I learned C# pretty early in my life, but even I would never give up writing native code, so it's impossible to expect that from people who are much older than me. Maybe in 30 years if Microsoft maintains its leadership...
Also, why should a new Windows edition come out every X years? An edition should come out when it's ready, not when it's supposed to and Vista wasn't ready to come out (let's think about all the things which were cut out of that version because of time issues). But I don't expect this to happen: marketing rules.

8) Just abandon the DRM "technology". DRM is just wrong and lame. Windows is becoming more and more a closed box where nobody can look inside or change something. Degrading / preventing on purpose audio/video output is, again, unprofessional. I call these sort of things "dirty programming". These kind of checks in the code are just garbage which pollute the beauty of the code itself. Every software is, in my opinion, a piece of art. Dirty programming is like writing the market price with a black marker over one of Monet's pictures.

9) Offer a way to permanently disable Patch Guard. This isn't, of course, something for common users, but for experts who need total control of their systems. Again, this point is about Microsoft's credibility in the eyes of the developers community. Trying to prevent developers and revers messing with the system is not good, because experts lose interst in a closed box which cannot be played with. If Symantec is allowed to modify the kernel, then there's no excuse for preventing other to do the same. It's just unfair and in this case lame (Symantec: bleah!).

10) XP was a very good operating system. I'm still running XP SP2 on my laptop and it works perfectly. There's got to be a reason if XP support was extended to the year 2014, whereas Vista support ends in 2012. Ok, they might change their mind and extend Vista's support, but the fact remains. So, don't ruin XP through updates with Vista-like features.

11) Ok, the UAC is necessary, but limit the number of dialog boxes which annoy the user only for important things. Create a light version of the UAC which allows to modify system objects which aren't critical for the system (at least not for the common user). Need an example? Changing the system time/date is not critical for most people! Make it possible to run some Microsoft applications like regedit or administrative tools without UAC confirmation dialog. How? There are plenty of ways, like signing those application with a special Microsoft signature. I don't want to say to throw away the existing UAC, just create an alternative!

I don't think Microsoft will ever follow one of these points, but who knows...

As for me, it's not like I discovered Vista yesterday. In fact, I was one of the first users of Vista x64 and one of the first developers who wrote an article about it. Not that this matters, I just want to say that these points are the result of more than a year that I have Vista x64 running on two of my computers. I hope this article won't create a big controversy, it's just my point of view. I also might have left out something, since I wrote this article in no more than two hours late at night.

Ricardo Narvaja
January 2nd, 2008, 18:29
Vista is a horrid SO only for very very primitive users,who needed be cared how babys than touch the 220volts, hehe, i have XP and ubuntu in dual boot and neither SO is perfect but are very happy with them, i use VISTA in work, ugh very ugly sensation (and i have a ultrafast machine in my work, but is a very bad experience to me)

ricnar

dELTA
January 3rd, 2008, 04:18
Nice summary of some of the biggest problems Daniel.

Related to this, here is a quite funny article about a guy who "upgrades from Vista to XP", and reviews it just as an upgrade to a newer/better operating system:

http://dotnet.org.za/codingsanity/archive/2007/12/14/review-windows-xp.aspx


Daniel Pistelli
January 3rd, 2008, 09:52
Ahaha thanks.

Funny article by the way.

disavowed
January 6th, 2008, 14:00
Quote:
[Originally Posted by Daniel Pistelli;71398]Make it possible to run some Microsoft applications like regedit or administrative tools without UAC confirmation dialog.

I don't get a UAC prompt when running regedit.
Furthermore, you only need to elevate regedit if you want to modify stuff outside of your HKCU, but this makes perfect sense; I wouldn't want non-admins to be able to modify my HKLM.

Daniel Pistelli
January 6th, 2008, 14:23
Quote:
I don't get a UAC prompt when running regedit.
Furthermore, you only need to elevate regedit if you want to modify stuff outside of your HKCU, but this makes perfect sense; I wouldn't want non-admins to be able to modify my HKLM.


Non admins shouldn't modify the HKLM, I agree, but what has this to do with the fact that I, logged as admin, get the prompt elevation box when I open regedit?

P.S. By the way: Either you're not logged as admin or you configured your UAC.

disavowed
January 8th, 2008, 10:52
Quote:
[Originally Posted by Daniel Pistelli;71546]P.S. By the way: Either you're not logged as admin or you configured your UAC.

Right. I'm not logged in as admin.

Quote:
[Originally Posted by Daniel Pistelli;71546]Non admins shouldn't modify the HKLM, I agree, but what has this to do with the fact that I, logged as admin, get the prompt elevation box when I open regedit?

Because you need the admin token to make changes to HKLM. By default in Vista, you don't have this token w/o using UAC (even when logged in as admin).

Daniel Pistelli
January 8th, 2008, 11:21
Yes I know, the question was rhetorical, but in the article there's a solution for this problem...

Silver
January 8th, 2008, 12:31
Daniel, interesting points but you've missed something in points 1, 2 and 4. Microsoft are performing an age old economics trick called "price targeting". It's a deliberate decision, not a mistake or bad judgement call.

Daniel Pistelli
January 8th, 2008, 13:00
Well, I just said users would really appreciate if microsoft wouldn't show so much interest in getting much money as possible. Trying to make money out of common things is lame. Well, if they hadn't misjudged some things, then Vista wouldn't be ranking so low in the users opinion. Don't get me wrong some critics about Vista are not consistent, e.g. the new memory manager etc. But I think a lot of people got annoyed by 4 different editions of Vista.

JMI
January 8th, 2008, 16:46
But isn't it the "goal" of "business enterprises" to make as much money as possible from their products? Otherwise they would be giving them away.

Regards,

Daniel Pistelli
January 8th, 2008, 17:19
It should be a little more subtle, in my opinion. I think that appearing less money-driven can bring huge profits from an enlarged community who likes buying the product. But as I said, these are just my ideas. As I said in the article, I don't think Microsoft will change its policies, I'm not that naïve. It's just a list of the things I personally dislike and think damage Microsoft's image. I don't quite understand why on this forum there's such a fuss about this post, disavowed even tried to explain to me how the ACLs work on Windows. I'm a bit confused about these reactions...

I would've expected other possible points to add to this list instead.

Maximus
January 8th, 2008, 17:34
...and example of M$ keeping MSDN updated?!
CreateRestrictedToken ("http://msdn2.microsoft.com/en-us/library/aa446583.aspx")

Quote:

...and the restricted token does not have the SeChangeNotifyPrivilege privilege.


which is absolutely true... in vista.
Since XP follows up POSIX, -unless they changed this few patches ago (and they did not)- it is false.

Hell, they do really keep MSDN updated!

Daniel Pistelli
January 8th, 2008, 17:48
ahahahahah and you know how many broken links I've experienced? Grotesque.

Maximus
January 8th, 2008, 17:55
well, i spent quite alot of time in MSDN studying the Windows Security Model in depth.

Hell, it is filled with examples that does not work, some even wrong, if I remember well. And guess, I did find even parts that are NOT documented in MSDN (commercial secret) that is present and documented into a patent request of them :P

Windows NT security design is even pretty good (ok, the only time i say something good of M$, but luckily their doc is so unusable that in vista they needed to reinvent the wheel they had, because kernel architect didnt understand it anymore...), but it is "explained like pigs".

cool M$...

Daniel Pistelli
January 8th, 2008, 18:33
Well, I found a lot of errors too, even in simple things like the registry. I don't quite remember the code example (I saw it years ago), but I remember it was wrong. Only two weeks ago I discovered that when I disable the FS redirection in a 32bit app on x64, common dialogs and shell functions won't work...
This might have to do something with LoadLibrary looking in the 64bit system32 directory instead in the WOW64, I guess, but it's a real bugger. I had to replace the CreateFile with a "RealCreateFile" which disables the FS redirection, opens the file and then re-enables the FS redirection. Of course, nothing of this whatsoever is mentioned in the msdn.

disavowed
January 9th, 2008, 01:34
Just because I like arguing ...

Quote:
[Originally Posted by Daniel Pistelli;71595]It should be a little more subtle, in my opinion.

Why be subtle? People know MS is a private company with investors and as such their goal is to make money for their investors. No sense in hiding it; this is what all corporations do.

Quote:
[Originally Posted by Daniel Pistelli;71595]I think that appearing less money-driven can bring huge profits from an enlarged community who likes buying the product.

Neither you nor I (nor most people on this board) are the target community. Microsoft (and most other big software companies) makes their money from large businesses that buy MS software en masse. Not from developer/researcher communities. (That said, Microsoft would obviously be screwed if the developer community was not actively developing software for Microsoft products.)


And regarding MSDN, come on, man! MSDN is pretty god damn good compared to other technical libraries its size. Yes, it could certainly be improved -- that's what all those "Click to Rate and Give Feedback" and "Send comments about this topic to Microsoft" links are for on each MSDN page. If you see something wrong, let them know. They like fixing things

disavowed
January 9th, 2008, 01:36
And Daniel, despite all my arguing, please don't take it personally. I know you're new to this forum, and I hope you continue to post regularly and share your ideas and viewpoints.

Kayaker
January 9th, 2008, 01:49
Pardon me for interrupting. I'm sure he understands disavowed, he's not that new here
(Explorer Suite/CFF Explorer?)

Daniel Pistelli
January 9th, 2008, 06:03
Yep, formerly Ntoskrnl, that's me. (http://ntcore.com/)

I'm not that new around here, right.

Don't worry, I don't take it personally. MS makes most of the money out of OEM versions and when a big corporation like DELL announces to sell many computers with XP (instead of Vista) again, because users request it, well that's sure not an easy thing for MS. I agree that the dev community isn't the main direct source of money for ms, but it's point c). Without the software developed for it, Windows is just an operating system. Windows had the most users even when it had an unstable kernel like the one of Win9x/ME. That's because most software / drivers were to be found for windows.

MSDN is still pretty good, no doubt about that. But it's not getting better. Instead many pages which worked are now broken links. And you see from microsoft no big interest in keeping it really up-to-date. They seem to care much more in keeping the .NET part documented. And it shouldn't be this way (imho).

Silver
January 9th, 2008, 12:51
Vista is failing/will fail because it's an inferior product to Windows XP. Excluding DX10 games, there is no compelling reason for anyone to upgrade from XP to Vista. The price of Vista really has quite little to do with its failures, in fact apart from "Ultimate" the pricing for Vista is quite comparable to the original pricing for XP (take into account RRP, actual retail price and inflation in the intervening years). People have shown they're quite willing to pay high prices for software they feel they need (Office, any Adobe product etc). The problem is that nobody needs Vista.

I'm still using Windows 2000 and Office 2000 on my main machine. It's fast, works perfectly, and allows me to do everything I need to do. The one and only change I would potentially make is to switch to Outlook 2003, but apart from that I have no reason or need to upgrade.

Maximus
January 9th, 2008, 14:34
...because Windows xp IS an upgrade from Micro$oft Windows ME 2, Aereo Edition...

...because I would pay for Xp 64-bit edition, not for ME 2, gold 64-bit edition...

..and so many persons around the world.
Persons so disgusted by Vista that planned to buy a MAC, or asked me about ubuntu, if it is 'easy'...

disavowed
January 10th, 2008, 12:14
Quote:
[Originally Posted by Daniel Pistelli;71619]Yep, formerly Ntoskrnl, that's me.

Ahh, well in that case, welcome back

Daniel Pistelli
January 10th, 2008, 18:00
Thanks =)