Thursday, December 16, 2010

Windows 7 and the Linux desktop (PART 1)

I recently read an interesting ARTICLE by Fewt, sharing his experience with Windows 7 in these past seven months. The article praised Windows 7 in general, raising several interesting points, as well as a specially interesting conclusion I fully agree with. I didn't agree with everything he shared, though, but the article got me thinking how my point of view could be so different. As a matter of fact, my experience with Windows 7 was not that positive, so I thought I'd put together an article to share my take on the subject.

Passionate freak that I am, I got so into it that I went on and on, quickly realizing I should split my article into two parts. I used part 1 to share my thoughts on Fewt's article. Part 2 will go over the reasons why I choose Linux as my main desktop OS.

Note that this article is by no means an attempt to troll, bash or demean Fewt's opinion, which I very much respect. It's just me sharing mine.

WINDOWS 7 & LINUX MINT 10 DUAL BOOT

About two months ago I purchased an HP 5320M laptop, a sleek, light and good looking piece of hardware, I have to say. Not surprisingly, it came with Windows 7 pre-installed and, for the first time in years, I decided to keep it so I could potentially play commercial games. I then installed Linux Mint 10 on a different partition. This setup allowed me to experience both Windows 7 and Linux Mint 10 back to back, under the exact same hardware, providing me with a great opportunity to truly check where the Linux desktop stands when compared with the latest and greatest from Microsoft.

DEFINING CRITERIA

If there was one thing that was clear to me before and after reading Fewt's article is that both Linux and Windows 7 make for a great desktop OS. The key element to decide which one has the edge is really determined by the criteria used in comparing them. In other words, as far as I am concerned, it's not so much about which one is best, but about which one best fits the user needs.

Fewt defined his criteria throughout his article: Lack of crashes, consistency over time, richer application catalog and security are some of the areas in which he considers Windows 7 shines. In the following sections I will go over those concepts and discuss them from my perspective.

NO CRASHES

I haven't had a single crash on neither Linux Mint 10 nor Windows 7 since I started using my HP 5320M. Windows 7 is indeed a solid OS, but so was Windows XP (I have not experienced Vista, though). The superior Linux stability that once made a big difference when compared to older versions of Windows is no longer evident.

In my opinion, as they stand today, both Windows 7 and the Linux desktop are very stable environments, so much so that I don't consider the lack of crashes a deciding factor to choose one over the other.

CONSISTENCY OVER TIME

It is no myth, Windows does indeed slow down over time, certainly many orders of magnitude more than Linux does. To which degree, though, does depend on the kind of use it gets. There are a few factors that play an important role in degrading a Windows machine performance over time:

Disk Fragmentation: Unless Windows 7 users have a Solid State Drive installed on their machines, they will experience varying degrees of disk fragmentation. This file system "weakness", if you will, is more or less evident depending on the kind of data manipulation that goes on in the machine.

Intensive allocation, reallocation and deallocation of data will eventually accentuate disk fragmentation problems, degrading the machine performance over time. Similarly, the less free space available on the drive, the more struggle fragmentation will cause. Creating, copying, moving and deleting files are common activities for the average home user, the result of such mundane actions as keeping large collections of personal pictures and videos, a gigantic music collection, a good share of downloaded movies and/or frantic installation of games and applications. Yes, it doesn't take much to cause disk fragmentation.

Although user activities certainly play a significant part in disk fragmentation, it would not be fair to blame it all on them. One other element that certainly doesn't help is the blatant lack of optimization of resources that plagues the Windows ecosystem. How game and application system requirements got to where they are at right now is a mystery to me, but it's plain ridiculous.

WindowsSizeLinux Size
Photoshop CS51GB+GIMP 2.6.1012.6 MB
Maya 20114GBBlender 2.49.234 MB
ProTools15GBArdour 2.8.1129.2 MB
MS Office 20103 GBOpenOffice 3.x400 MB

The table above compares a few popular Windows applications and their Linux/opensource counterparts, clearly depicting the abysmal difference between them in terms of disk space requirements. Games are no different, often worse: The blockbusters Starcraft II and World of Warcraft: Cataclysm require an incredible 12 and 25GB of disk space respectively!

The truth is the average Windows user sits in an environment where optimization of resources is anything but a priority. At the end of the day, that makes issues such as disk fragmentation or excessive data allocation more of a risk.

Regardless of the cause, disk fragmentation problems are very much a reality in Windows 7, and Microsoft themselves are the best proof. The efforts that they still put into improving their workaround speak for themselves. Indeed, the disk defragmentation tool received several improvements for Windows 7, including automation, scheduling, as well as the ability to defragment more than one volume at a time.

NOTE: Although useless unless the user keeps the machine on long enough for the scheduler to trigger the defragmentation process, automatic defragmentation is a step forward. Those interested in learning more about Windows 7 improvements can check this Microsoft ARTICLE.

Windows Registry gaining weight: The infamous Windows registry certainly suffers when intensive installation/uninstallation tasks take place. Unlike Linux desktop users, who get a wide set of applications as part of their default installation, Windows users often have to install a significant number of applications to become productive. Software from printers, webcams, cameras, your casual iTunes and the like, media players, an office suite, proper Internet browser(s), torrent client(s), social networks client(s) and a good share of games are just a few things most Windows 7 users will end up installing on their machines. If maintained over long periods of time, that installation frenzy would add more and more registry keys to the database, making it grow heavier and more difficult to manage, eventually resulting in slower performance.

Summing up

So there you have it, there are clearly identified areas that may cause performance degradation in Windows 7, and they are not that different from standard day-to-day activities. At the end of the day, lack of performance degradation over time is one of the last things I would have highlighted about Windows 7.

NOT THE MOST REPRESENTATIVE EXAMPLE

Let me put it this way: Fewt is anything but the average Windows 7 user and his experience is, in my opinion, not one to draw conclusions from. If he's not experiencing performance degradation over time it is not because NTFS fragmentation problems disappeared, nor because the Windows registry magically became a light and optimized database. Most of it comes from an expert following best practices, and in doing so, putting a thick make up layer over some of Windows 7 weak spots.

The fact of the matter is a Linux user can afford a lot more abuse on his machine and still keep reasonable performance over time (I still keep my first Ubuntu 8.10 installation, which went through all kinds of tests as I was learning, and it runs great!!). Disk fragmentation problems exist, but they are nowhere near as severe as they are in Windows. Moreover, because resource optimization is taken seriously, it plays a key part in maintaining a healthy and lean system as time goes by.

RICHER APPLICATION CATALOG

Agreed, no use hiding it, Windows has a wider, richer application catalog. However, the advantage is only significant if commercial software is part of the equation, which would make cost implications something to consider. If the comparison is limited to free software, then I would say the difference is not as significant. Yes, some applications are only available for Windows, but the opposite is true as well.

All in all, I guess this one depends on the user's needs. If there is a dependency on applications from the Windows ecosystem, such as having to use MS Office to be fully compatible with other people using it, then Windows 7 would be the natural choice. There may be $$$ implications, though.

SECURITY

Undoubtedly, Windows 7 is a step forward in terms of security, specially when compared to XP and older versions of Windows. Having said so, even with its shiny User Account Control (UAC) feature, it still is very much vulnerable to viruses. A STUDY conducted last year at Sophos laboratories demonstrated that Windows 7 was vulnerable to 8 out of 10 viruses from a random sample.

Now, let's stop here for a moment, because we are talking about Windows 7 security: Is it legitimate to say Windows 7 is secure when it is vulnerable to so many viruses? Is it fair to talk about Windows 7 security taking for granted an Antivirus must be installed and correctly configured? I don't think so.

Anyways, let's assume antivirus software is on and correctly configured. Fewt still shares the key concept towards making Windows 7 safe:

"Since I apply common sense browsing habits and I don’t pirate software, I don’t really have any security concerns."

Totally agreed, but then again, any Linux desktop user could make a similar statement.

It is important to go back to the concept of average Windows 7 user, for once again, Fewt is not a representative example. The relevant question here is whether that average Windows 7 user should have any security concerns. Let's consider this: two random unexperienced users are not following safe practices, one using Windows 7, the other one a Linux desktop. Is it realistic to say they face the same threats, both in terms of number and criticality?

In summary, security is another area where Windows 7 does not shine. It gets better with the use of external antimalware applications, but then again, that only goes to show its shortcomings.

SUCH A BIG STEP FORWARD?

After the huge Vista fiasco, Windows 7 appeared as a long awaited alternative for many, a desktop OS which went back to reasonable levels of performance, resource consumption and stability.

I have never used Vista, so the frustration many users experienced with it is unknown to me. I stuck with good ol' Windows XP SP3, but maybe as a result of that, I wasn't so surprised with Windows 7. Don't get me wrong, it is prettier, fancier, does include some notable improvements in terms of security and energy management, and it works fine over all, but come on, it's been 8 years since XP was released... 8 years! Is it really that big an improvement or is it just that expectations on Microsoft are so low that people get surprised when they get a product working reasonably well?

To put this matter into perspective, it should be noted that Ubuntu was born in 2004, maintaining an incredible rate of improvement throughout these last 6 years. To think that all of that has been achieved with a tiny fraction of the resources, money and hardware support that went into creating Windows 7 is really something, and should help avoid getting too complacent with the latest Windows incarnation.

Long story short, Windows 7 is a fine desktop OS, but to me personally, it is a "meh" product. Yes, it's got some interesting features and works OK overall, but it is not the improvement over Windows XP I was expecting after so many years. The fact that "Windows 7 doesn't crash" is something worth mentioning today, almost 30 years after the first Windows release, is hilarious to say the least, and speaks volumes about the average quality expectation for Microsoft products.

Anyways, as I am sure you know by now, I choose Linux Mint 10 and the Linux desktop in general over Windows 7, and it certainly is not just because I expected better from the latter. I will be sharing my reasons in the second part of this article.

Until then, thanks for reading!

13 comments:

  1. "Note that this article is by no means an attempt to troll, bash or demean Fewt's opinion, which I very much respect."

    I AM OFFENDED! (just kidding)

    I enjoyed this read, you make a lot of great points, I only really disagree with two of them.

    Fragmentation is the first and only because EXT4 also suffers from file fragmentation issues.

    For more info about that see this article:

    http://kernelnewbies.org/Ext4#head-38e6ac2b5f58f10989d72386e6f9cc2ef7217fb0

    Second is that Linux doesn't crash, I have so many examples of trivial methods to invoke a kernel panic that it is near impossible to argue that Linux is stable. Remember, in Ubuntu 9.10 triggering a panic was as simple as using rfkill.

    In Fedora 13, I could do it with a for loop that removed and reinserted a kernel module for a WIFI adapter.

    Lets also not forget about the library issue in Ubuntu that caused SSDs to have to be overwritten with DD in order for them to be used after installing the OS.

    These reasons are why I argue that it isn't stable. ;)

    ReplyDelete
  2. @FEWT
    ext4 fragmentation is so low that it's unnoticeable.

    None of the methods to sabotage kernel you mentioned are something that desktop users do. Also can you show REAL examples of how to invoke kernel panic instead of just "I once tried that and it worked then"?

    ReplyDelete
  3. @tomas, if ext4 fragmentation wasn't that low, there would be no need for an online defrag.

    Using your argument, Windows 7 auto-defrag capability makes fragmentation so low that it is unnoticeable.

    My "for loop" example is a real world test case for:

    Suspend, unsuspend, suspend, unsuspend, suspend, unsuspend

    poof. This is a common use case for someone with a mobile computer like a laptop. I can re-create it with a for loop, or by using my Thinkpad off of it's docking station for more than a few hours.

    SSD corruption, is another real world scenario brought to light by a desktop user, and acknowledged by Canonical:

    http://forum.eeeuser.com/viewtopic.php?id=78939

    Panic with RFKill is also a real world example (triggered by a user pressing FN-F2 to turn off WIFI on an Eee PC with Ubuntu 9.10).

    https://bugs.launchpad.net/ubuntu-release-notes/+bug/404626

    All of my examples are real world scenarios, don't assume that they aren't because I used different wording than a non technical end user. Also don't assume that I don't know what I am talking about because I can assure you that I do.

    ReplyDelete
  4. @Fewt: Wow, you really read fast, my friend! ;-)

    I did talk about Linux fragmentation: "Disk fragmentation problems exist, but they are nowhere near as severe as they are in Windows..."

    And I stand by that! ;-)

    On the whole crash thingy, I have to say I thought you were comparing Windows 7 with previous, certainly less stable versions of Windows.

    In my opinion, the crash examples you shared there are more like bugs, which Ubuntu has its fair share of, but so does Windows 7?

    I don't know, I believe both are very stable for the average user, but if Windows 7 has an edge, it's probably because it must. I would like to see what Linux developers could achieve in terms of stability if they had the same level of hardware support Windows enjoys, for example.

    ReplyDelete
  5. @Chema, I do read quickly. The first thing I do in the morning is read up on the latest news from a handful of sites including yours.

    I'm not sure that EXT4 is better than NTFS and conversely I don't think NTFS is better than EXT4. I think they are both acceptably stable and mature file systems.

    We can agree to disagree about stability, there is nothing wrong with that. My experience comes from helping others with their Linux problems over the last decade, so sometimes it is hard for me to ignore the issues.

    By the way, have you given Fuduntu a test run? I saw your comment but I never received an email from you. Send it again, be happy to take a look at it.

    ReplyDelete
  6. @Fewt: Yeah, it's like I wrote in my post this morning, this is all healthy discussion! In my opinion, the good news is that the Linux desktop is closer than ever to the standard, so the future is looking bright.

    The reason I sent you an email was because I had indeed looked at Fuduntu, but I thought it would be great to run a few questions by you, like a small interview, so readers can get a bit more understanding about creating a distro and why you made the choices you made.

    My first email was simply me asking you if you'd be alright with answering my questions, so just let me know and I will send them over to your tips account (or whatever works out for you, really)

    Cheers

    ReplyDelete
  7. @Chema, would be happy to. Send'em over I'll look at them this afternoon.

    ReplyDelete
  8. This sort of articles only makes me feel frustrated because as you, the majority of the people don´'t even question themseves why do we have to put up with paying the M$ tax while not needing it. And I mean it´'s not a question of price, it's a question of freedom and having choice.

    ReplyDelete
  9. I just want to say that as a Windows user for over a decade I recently wanted to try something fresh, new and original so I've tried few (suse, ubuntu, red hat and mandriva) distributions of Linux - I'm very sorry to say but none of them are nowhere near Windows when product quality is concerned, when available professional software is concern when user friendly interface + pleasant look is concern. To me it was like stepping few years backwards. Sorry but linux still has a long way to go. Nowhere near yet.

    ReplyDelete
  10. Hi Fewt, M4t3us from the Eeeuser forums here.

    Hi Chema, I've read your article as well.

    And I have a couple of things I'd like you to consider:

    Having been a windows user for the best part of my 1/4 of a century, only got into Linux in the past 2 years, I dare say I know windows like the back of my hand. From 3.11 to 7, I've seen the best and the worst.

    Regarding the fragmentation issues, Windows 7 will constantly defragment the HDD when the computer is "idle", why the quotes? Imagine you leave the PC on overnight to download a torrent, by the time you wake up, the system will have defragged your hard drive, twice if the torrent agravated the fragmentation.

    The decrease in performance overtime I all I can say is: Linux suffers from this well, not so much, true, but it still does. I remember when I tried Linux Mint 9 it only took a week of improper maintenance that the system slowed to a crawl. So if proper maintained Windows 7, like Linux, will not degrade overtime. There are loads of software that allow the almost instant maintenance of windows, CCleaner comes to mind. it also removes clutter from the registry.

    Regarding stablity well... Let's just say that since 3D modeling became my bread and butter, I've required a PC with a decent graphics board. Until this christmas I had an Acer Aspire 1692WlMi, it was powered by a x16 PCI Express Radeon Mobility x700. I was stuck with the LTS of Elyssa (LM5) and all attempts to improve that caused either the inability to use my graphics board to the full extent of it's ability, kernel panics and black screens of death (BSOD's aren't just in Windows). While in windows 7, which I have been using since the early stages of the betas, I lost nothing, I had the full 3D and 2D OpenGL Acceleration paired with a modern OS.

    But I'll agree to one thing, Hardware intuitivity, specifically printers and other picky pieces of hardware, is still much better in Linux than in Windows 7, even with the added ability to download drivers directly from windows update, Microsoft's OS still is a long ways from Ubuntu's hardware manageability.

    Regards M4t3us.

    ReplyDelete
  11. @Pedro Mateus: I had not seen your comment, sorry for not replying earlier.

    I checked on my Windows 7 box and the default schedule in my case is that it is set up to run weekly on a given day and time. In other words, in my case it is not true that it will run when the computer is idle. I am not 100% sure that applies to other Windows 7 instances or if it is a custom setting on HP installations.

    In any case, your argument about torrent download is not that strong, to be honest. I think you are looking at it from your perspective, but loads of Windows 7 users out there don't even know what torrents are and what they are used for. Most non-technical users I know will simply turn on their computer so they can jump into social networking, email, chat or perhaps play a game. I can't think of many computer illiterate people who would leave their computer idle long enough for a full defragmentation to complete.

    On a different note, I, like you, have been using Windows much longer than Linux, and I could also dare to say I am an advanced user who follows best practices. In just 3 months since I got Windows 7, my drive is already 10% fragmented, and I am not installing big games or applications, nor copying/removing data massively.

    Fragmentation in Linux is unnoticeable. I keep an Ubuntu Studio 9.04 installation that I intensively use for Audio recording. If you have used such kind of applications (Ardour) you know there is massive abuse of the hard drive through huge levels of undo, because the application keeps all tracks that are recorded, regardless of whether they are eliminated from the GUI. That means you quickly end up with projects that exceed several GBs in size if you are not careful... What's the solution? Clean up those unused sources, which again, would delete lots of files of considerable size.

    Now, I used Windows to do my audio recording not long ago, and my drive was "destroyed" in a matter of months, forcing me to constantly keep an eye on fragmentation. In Ubuntu Studio, I am yet to notice a bit of performance degradation after almost three years.

    It's good to read theoretical stuff about how EXT3/4 is supposed to suffer from fragmentation, but there's nothing like real live testing to find out whether those claims are actually true. My experience tells me it's like 10 to 1 if we compare Windows and Linux fragmentation.

    Regards

    ReplyDelete
  12. Anonymous1:
    "put up with paying the M$ tax while not needing it."

    ->This is a ludicrously childish statement (and sentiment).

    What separates the software developer from the dentist who does work on your teeth? Do you abhore having to pay the "Tooth tax"?

    Or how about the people that work down at the local mall selling shoes? Do you abhore having to pay the shoe tax? Should we all get our shoes free?

    The point is in exchange for their work on creating software (which I agree with Anonymous2), you trade them your life energy (money that you earned in a trade, doing work, etc) for that software.

    Anonymous2: Totally agree. I've used nearly every linux distro under the sun and am currently using Fedora 14 at home, and Windows 7 in my office. Windows 7 is WAY more work friendly than any modern Linux distro. I can pin my apps to the task bar, right click those apps and launch recently opened documents/locations.

    That's not to say Windows doesn't have it's problems, it does.

    But as I said, I've had my fair share of linux problems and a lot of them stem from the developers closed minded ideologies.

    ReplyDelete