[]RSS

About Archives Artwork Comic Contact Philosophy Projects Tags

Six things that Windows does right that Linux still doesn’t

October 9th, 2007 in top10

brainAs a follow-up to last year’s top10 list of things Linux does well, I figured I should write about what the Windows platform does right.

And as I’ve said before, I’ve been developing software for Windows and *nix on a daily basis for more than a decade. I’ve also used OSX (and earlier), WinCE, PalmOS, and many other operating systems. Each system has things that work well, and each has things that will suck the life out of you. Looking at the differences is a great way to learn about what works and what doesn’t.

Note to Digg readers: Windows succeeds as a platform because it’s everywhere, and it’s easy to build software for, something that’s only possible due to their great vendor support (and chair-fueled monopoly). And while Linux vendor support has improved vastly in the last 10 years, it is still no match for the base Microsoft has built. So what? Linux will get there (and it’s my home platform), it’s just not there yet.

What do I think Microsoft Windows does well?

  1. Snappy application startup and windowing. I dual boot most of my systems, and on equal systems (with reasonably optimized packages) Windows beats Linux hands-down in general snappiness (outside of older tools like vim). Recent Linux distributions have improved a lot, but they still lag in snap (especially startup times, window resizing, etc.). This goes for both KDE and Gnome applications. My definitive test? Firefox on both platforms: 250ms on WindowsXP, 1.5s on Ubuntu 6.10. This is partly a Gnome problem, partly an XFree problem, and partly a gcc problem. And if you haven’t noticed the difference, try measuring it yourself.
  2. 3d and wireless drivers. Hands down, most hardware vendors support Windows best. Linux still wins with most of the tangent hardware (printers, scanners, nics, etc.), but it tends to fall on itself with the proprietary mess of new-fangled 3d, capture, and wireless hardware. Some vendors like NVidia have improved their Linux support greatly (and I actually prefer NVidia’s newer XFree driver package over their Windows package), but in terms of support and performance, Windows XP’s vendor support has Linux beat.
  3. Stable ABI and APIs. While the Win32 APIs are a mess, they are binary stable. The nature of Gnu and OSS prefer source-stable APIs (which is also good). Binary compatibility, though, is handy for writing commercial software. Yes, commercial software can be written for Linux, but it makes more sense to release sources on Linux than to aim for widely-compatible binaries.
  4. Games. I’m not a PC gamer, but if I was XP (or 2k) would be the place to do it. Personally, I prefer my hand-held and console games.
  5. Specialty applications. Software development of nearly any specialty software is still cornered in the Windows market. We’ll all be happy when these vendors start supporting Mac, Linux, and web platforms, but that’s still years off. Until then, most people need to keep a Windows machine around. It’s not that custom Linux applications aren’t possible, it’s just that they’re so pervasive in the Windows world: every shop I’ve consulted at has a handful of custom applications that are Windows-only, and no longer maintained. This makes it very difficult for businesses to consider switching away from Windows.
  6. Browser plugins. Flash, for example, even on the newest Linux distros will stop working after a few months of updates (or may not work at all for some architectures). This is especially annoying now that Flash is actually useful, as sites like uTube and Google video use it to package video online. To contrast, I’ve never seen plugins stop working in IE or FireFox on Windows. Flash on Linux has lagged behind the other platforms too, and is not available for 64bit builds of Firefox.

15 Responses to “Six things that Windows does right that Linux still doesn’t”

  1. masuran says:
    October 10th, 2007 at 12:32 am

    Apart from #1 (which I find to be untrue on my systems) and #3, there isn’t a point that can be improved by the FOSS community. If other companies don’t port their applications or drivers to Linux that’s their issue. It doesn’t do away at the fact that Linux based operating systems are great.

    3 is a tricky one, if Adobe were to port Photoshop to Linux, it could maintain packages for current versions of Ubuntu, Red Hat, SuSe and other distributions. It doesn’t have to be a source release, the package maintenance software is mature enough to build packages for various systems.

  2. mx says:
    October 10th, 2007 at 10:44 am

    While it’s each company’s problem to port their applications drivers, Microsoft has it nailed in terms of being compatible and ubiquitous. It’s not that Linux won’t get there, it’s just something Microsoft did well, until Vista of course. The fact that most shops I consult with have these old, but functioning Microsoft-only applications, prevents them from moving to other platforms like Linux or Mac.

    As for binary releases on Linux, it’s still very difficult to do for all distributions. Take Flash and Ubuntu: it was more than a year behind the Windows/Mac release, the development of it was painful for Adobe, and they still don’t support 64-bit distributions (which are much more common on the desktop than 64bit XP installs).

    NVidia happens to get it right, but they’re only one company (and their drivers are still unstable in some distributions).

    FOSS has a great responsibility to make more stable ABIs, or help teach companies how to port their s/w more usefully. Microsoft pained for many years to keep a stable ABI, and their greatest failure (IMO) with Vista is throwing some of that away.

  3. acitta says:
    October 10th, 2007 at 1:51 pm

    I have never had flash stop working on Linux. I find that the latest version works well on Linux, in spite of being non-free.

  4. James says:
    October 10th, 2007 at 2:02 pm

    I’m not sure what kind of computer you are using but I find Linux faster for launching applications on both my laptop (Thinkpad T41) and desktop (AMD dual core 6000 / SATA). In addition, when you do actually launch an app, 5 times out of 10 both XP and Vista will put up that annoying clock pointer and the whole desktop will become unusable until the applicatoin finally comes up. With Linux, you are not hindered by one process taking up all available CPU time and while I am waiting for one thing to complete, I can always switch to another desktop and surf or read email. I’ve tried to do this on Windows, but only sometimes works and it is always annoying. Also, a stable kernel ABI is not better in any way. People who complain about it simply don’t understand how the Linux kernel development process works. With the exception of NVidia (who have a dedicated linux team that track the kernel, the same way as most open source driver developers do) closed source device drivers are lower quality than their open source equivalents. Linus himself explained it well (http://kerneltrap.org/node/1758). And it is not like companies are being forced to spend tons of money on kernel developers, there is a standing offer for ANY hardware company that releases specs for their products to have a full driver written for Linux and integrated into the kernel (where it will track all ABI changes) for FREE (http://www.linuxdriverproject.org/twiki/bin/view). And when it comes to running legacy DOS or Windows software, this is the reason why things like Xen and VMWare exist.

  5. Leon says:
    October 10th, 2007 at 2:21 pm

    It’s not so much things that WINDOWS does right, so much as it is OTHER COMPANIES doing right for windows.

    The only 2 i agree with are snappy apps, and binary apis (and this one just maybe).

    The others are not a merit of the development of windows, they are a consequence of the monopoly of it.

  6. Kevin Dean says:
    October 10th, 2007 at 2:24 pm

    1: Snappy application startup and windowing.

    I don’t believe you can be more wrong. The ONLY complaint I have with GNU/Linux in terms of startup is that with uSplash and Splashy as good as they are, I still see glimpses of the black-and-white console.

    I’ve run GNU/Linux LiveCD’s (coupled with the relatively slow read speeds) that outperform Windows on startup.

    2: 3d and wireless drivers

    Intel has released Free Software drivers from both their Wireless chipsets and their integrated video chipsets. AMD has recently released Free Software drivers for their chipsets.

    I see two problems. Firstly, you’re running a Free Software operating system. It’s designed, from the ground up, to be open and liberated. Package management REQUIRES the Freedoms granted by it being Free Software. The security of the system REQUIRES that the code can be viewed and edited. Why on earth are you surprised that when companies DON’T provide Free Software that it’s not as functional or pretty. Binary drivers make as much sense on GNU/Linux as having “average Joe user” grab the source, dependancies and compiler and get to compining his updated version of Photoshop for Windows. You’re using the wrong tools for the wrong job if you expect anything different.

    The second problem I see is this “off the shelf” mentality. No operating system, even Windows, works with every device. I’ve been building systems designed for Free Software for the past 5 years - those same systems with Windows on them crap out. I’ve tried and I have YET to get a working system with sound using the ALS4000 card on Windows XP. Like I said above, wrong tool for the wrong job.

    You can, easily (by easily I mean, shopping at NewEgg, a COMMON computer hardware site) build a system that just about every modern distro will auto-detect everything, including 3D rendering and wireless. In addition to being simple, you’re not required to agree to those horrid licenses you see floating around.

    1. Stable ABI and APIs.

    I won’t argue there; I simply don’t have enough information about Windows to raise valid arguements.

    1. Games.

    Again, this comes down to using the wrong tools for the job. If you’re interested in running games that restrict you (games are supposed to be entertainment - restrictions kill that for me) then why would you ever LEAVE Windows or your XBOX?

    1. Specialty applications.

    You said yourself “every shop I’ve consulted at has a handful of custom applications that are Windows-only, and no longer maintained.”

    Would you REALLY base a critical business or personal decision around software that has that criteria? Would you stake your livelyhood on an application that will never see a bugfix or a new feature added? That right there is the epiotome of restriction and vendor lock in - GNU and Linux were BOTH developed to avoid just this kind of thing and you consider the lack of it a deficiency?

    1. Browser plugins

    Again, you’re using a Free Software operating system and complaining when restrictive vendors don’t play nice with it.

    Gnash plays YouTube videos (granted, poorly for now) on AMD64 - because they’re not locked into the whims of Adobe. I have yet to find a browser plugin so valuable to me that I’m willing to mold myself around it. I chuckle at the audacity of those who believe their products are so good that I should.

  7. tera says:
    October 10th, 2007 at 2:43 pm

    6: This is more a problem of Flash I am afraid. My brother has exactly the same problem as you are describing with one small difference: he is using Windows XP. Reinstalling Flash does not help on his computer.

  8. Frank says:
    October 10th, 2007 at 9:01 pm

    Gents, I believe #1 is because the writer’s distro has prelinking disabled. Some distros do this. Some distros do it only with certain applications. Some distros give you the option (gentoo). Prelinking has a huge effect on application startup. Let’s not flame the author for his/her empirical observations on number 1 when we do not have the full story.

    2, agreed. Not for too much longer though. We have specs now, ttm, and a new driver framework on it’s way.

    3, I disagree. The MS APIs are not as stable as you imply.

    4, Games. winehq.com is working on this and making progress.

    5, most specialty software already runs under wine. Progress is still being made.

    6, I believe the only two major components that seem to be lagging on linux are flash, and office web components. Flash is making progress, both via Adobe and gnash. OWC is on the way out. I personally do not have any problems using flash under linux.

    Frank

  9. syahid ali says:
    October 10th, 2007 at 9:25 pm

    frank, #4 and #5 , yeah they are making progress - but it has been far too long. :D

  10. Ian says:
    October 11th, 2007 at 4:29 am

    Windowing is going to be slower because Microsoft brought the GUI into ring 0 with NT4. It’s not for the purists, but MS did it to speed up the GUI, AFAIR. But the side effect is reduced reliability as the GUI can crash the whole O/S. AFAIK (no expert), Linux is not compromised in this way.

  11. Dan Kegel says:
    October 11th, 2007 at 4:58 am

    Good article. As reader Frank points out, Wine aims
    to fix problems #4 and #5 well enough to let Linux
    take off (after which point, those apps will start
    being written for Linux).

    But Frank is wrong in saying that most specialty apps
    already work. While many do, and the count keeps
    rising, the vast majority still don’t. If you want to
    help fix this, then dive in and start filing bugs at
    winehq.org for your #1 favorite app that doesn’t yet work
    in Wine.

  12. mark says:
    October 11th, 2007 at 6:12 am

    I just realized after having sent out my resume in .odt, that MS doesn’t include any compatibility with open source. It’s this evil underlaying plan of incompatibility that locks us into windose. It’s not that we want to stay with MS, It’s that we have to for historical reasons. (desktop Windows is older then desktop Linux) And MS’s “donation” to open document would be more believable if they would add .odt compatibility to their current operating system(s).

  13. Neil says:
    October 11th, 2007 at 6:16 am

    A friend recently had an on-line gaming account hacked whilst using XP. I suggested installing kubuntu on a second disk, dual booting and trying out a linux distro. The app loading speed between XP and kubuntu was about the same. After a few weeks he asked me delete his windows partition because he had no use for it, but instead of replacing it with kubuntu I selected gentoo to provide the kde desktop. The difference in speed was so noticable that he regards the increased performance as his number one reason why he prefers gnu-linux, peace of mind over security is the second reason (which was the original reason for the switch).
    He is a big user of youtube, but it worked flawlessly in both kubuntu and gentoo.
    Further a recent xorg upgrade finally allowed compiz-fusion to run on his platform - so I showed it to him - he loved it. Here is one user bowled over by switching from XP to gnu-linux.

  14. GM says:
    October 11th, 2007 at 9:05 am

    I would say the main issue in Linux is with the specialty applications. In terms in productivity, communications, and multimedia applications Linux does pretty well (although it cannot open all MS Office or multimedia files, and some GUIs are in a rather primitive state). However, if you need a computer for a specialty application then 9 times out of 10 it will be available only for Windows. And it’s not “each company’s problem”; obviously, if I need an application then I will buy the platform it runs on.

  15. RC says:
    October 11th, 2007 at 9:44 am

    1 Aside from the fact that I disagree because I find that Linux is much faster on my dual boot system, there is more to consider here. If you are interested in saving time, then factor in all of the time wasted in Windows when re-booting and then downloads patches and anti-virus updates and then add-on lost time as Windows needs to re-boot so often after updating. I find that using Windows is a real time waster. Also factor in the fact that most Windows users have a ton of applications in the system tray (and they don’t know how to stop them from running) which hog resources and slow things down.

    My PCLinuxOS boots faster and I can use it sooner than my Windows XP with Norton Anti-virus and firewall which takes an eternity to update.

    As for windowing in Linux, it is a much better experience. You can configure your windows in so many ways with lots of different effects and themes. You can go bare bones or get all of the bells and whistles. With XP you have to get add-on programs like Window Blinds etc. to do the most rudimentary of things. Most window effects available in Linux (such as wobbly windows or dragging and dropping windows between two desktops) cannot be achieved at all in XP!

    2

    My Nvidia card works better in Linux. I get a 3D desktop with 3D effects using Compiz-fusion. There is nothing that can come even close to this experience available for XP. I have used Vista with 3D and find it pales in comparison. Virtual desktop in XP are a hassle to use and don’t work nearly as well, so it pointless even having them. I can see the advantage of 3D in gaming with Windows, but I am not a gamer so I can see little advantage to using a 3D card in XP.

    I agree with the problem of wireless drivers, but Linux is making big inroads here, too. Some distros such as PCLinuxOS are better than others, so it is unfair to tar all Linux with the same brush. Also, have you tried to get drivers for Vista? A friend of mine had to buy a new laser printer after buying a new computer with Vista because HP did not have a suitable driver for her old printer and said there would be none for Vista. So, it seems that MS has problems of its own.

 

Leave a Reply

Subscribe to comments