While I have exposure to Windows and Linux distributions on many disparate devices, this review will focus on a single model computer; the Asus Eee PC 1000HE. I have selected this model because I have extended knowledge of the components that make up this system, and I have used both Desktop Linux and Windows 7 extensively on this hardware.
The Asus 1000HE is a 10” netbook computer sporting the Intel Atom n280 microprocessor running at 1.66GHz. This netbook is sold with 1GB of RAM, a 160GB SATA hard drive, 1.3Mp webcam, WIFI-N, and Bluetooth. This particular Eee PC was upgraded to 2GB of memory the day it was taken out of the box.
Installation
Ubuntu Jaunty 9.04, and Karmic 9.10
Installation of Jaunty or Karmic is trivial. Installation is one of the areas that Desktop Linux distributions have been doing very well for quite some time. After asking a few questions, the installation completed as expected without issue.
The Fedora 12 installation is much more advanced than the installer written for Ubuntu. This installation was completed using the Fedora 12 desktop edition live CD. The following steps outline the installation process.
Selection of the “root” user account is non-descriptive. The non-descriptive nature of most of the selection screens in the installer implies that it is not designed for a novice user.
Windows 7
Installing Windows was surprisingly easy. In just a few short steps, Windows was installing. Previous versions of the operating system have always been reasonably simple to install, but Microsoft has done an excellent job with Windows 7.
Winner
The network configuration and “Home Group” wizards are simply awesome. They abstract the user from the typical configuration steps needed to create or bring a system in to a home network. The Windows installer is the easiest to use for those reasons alone even though the installation methods screen could be confusing to a novice user. Windows 7 is the clear winner. Desktop Linux distributions could improve the installation process significantly from studying a Windows 7 installation.
Hardware Support
Ubuntu Jaunty 9.04 and Karmic 9.10
All of the hardware in the 1000HE is detected and considered functional out of the box. Driver support is considered a “best effort basis” (404626) by members of the Ubuntu team.
Jaunty 9.04
With Jaunty, all of the hardware was detected properly. WIFI signal out of the box is terrible however; when the netbook is placed within 10 feet of the WIFI router the signal strength does not exceed 35%. The Intel video driver is Alpha. It is functional for 2D however the 3D desktop enabled by default is unusable. Online video playback performance within the browser is also useless.
The Ethernet driver is functional, however the first time files are transferred a buffer error is reported by the driver within a few seconds of initiating the transfer. When the transfer is restarted it completes without error. This is repeatable after a restart.
The WIFI device toggle exposed by the kernel shuts the device off, but due to a bug in the kernel hotplug capability it does not turn back on without a reboot (371434).
The solution to the video output and WIFI toggle issues are to enable two PPA repositories, upgrading the kernel to 2.6.30 and the Intel driver to a post release version. It also involves hacking the kernel command line within GRUB. Fixes for the WIFI signal and Ethernet corruption issues appear to be available, but require hacking the installation.
Karmic 9.10
Karmic detects all hardware. Several of the driver issues found in Jaunty are corrected with the newer 2.6.31 kernel and newer Intel driver. 2D and 3D video performance improves significantly. Unfortunately, the Ethernet buffer corruption issue persists. Several new issues also arise including a kernel panic triggered by suspending and resuming the netbook.
Upgrading the kernel to 2.6.32 from a PPA corrects the suspend / resume kernel panic issue and the PCIE hotplug bug.
Fedora 12
Fedora as with Ubuntu detected all hardware and is considered functional out of the box. Fedora 12 does not exhibit many of the issues found in Karmic. Due to the Intel driver used it does however suffer from unusable 2D and 3D performance.
Windows 7
Windows 7 detected all hardware, some additional drivers were automatically downloaded and installed after the installation completed. Suspend and resume functions, 2D and 3D video functions, WIFI signal is at 100%, transfers over Ethernet don’t fail the first time, they just work.
Vendor released Windows 7 drivers are downloaded and installed, though not required. Every component functions correctly.
Winner
Windows 7 is the clear winner here. Everything works out of the box, vendor released drivers are installed to open additional performance and power management improvements but are not necessary for the system to be considered fully functional. Ubuntu Karmic and Jaunty are dead last, as an operating system that can’t play online video or suspend and resume without being hacked up is completely useless. Fedora is a close second; if the Intel driver functioned properly it could easily have tied with Windows 7.
General Tasks
Ubuntu and Fedora
All of the general purpose software that I use at home is available in the repositories or as a downloadable package for Ubuntu. Here is the typical list of software I use at home.
I do use several Windows applications which function well using Wine. This includes Microsoft Reader, and the Kindle reader.
There are thousands of software packages available for Desktop Linux. If you have a need, you most likely already have an application available for installation that can perform 60% or more of the functionality necessary to accomplish your task.
Unfortunately, a flawed fundamentalist (slash extremist) view that all software must be open source exists and is directed towards those who would support creation of off the shelf closed source software for this platform. This bias in my opinion is the single biggest detractor to the availability of vendor supported software on this platform. This means that typically only open source software is available.
Companies that work to provide closed source software typically do not last long in this vendor hostile environment.
Windows 7
The Windows platform enjoys the availability of nearly all of the above open source software, and in addition has a vast array of at-cost or freeware products available for installation. I currently utilize the following free or otherwise open source software on my netbook.
Winner
An entire market of both open and closed source software is available to users of the Windows platform making it the clear winner. Desktop Linux distributions are limited to open source or partially open source software unless you are able to make your closed source software work with Wine.
Video Playback
Jaunty
Playing video locally on Jaunty is of acceptable performance. Out of the box, internet video suffers terribly. Open GL? Forget it (252094).
Updating drivers from the PPA corrects these issues and makes it acceptable, with slight tuning even full screen video from Hulu and Youtube plays perfectly. Unfortunately a recent update to the safe driver PPA caused significant issues requiring that the drivers be reverted to the default.
Playback of a 720x304 MP4 video encoded at a 1.1Kbps bit rate with mplayer averaged 40% CPU utilization.
Karmic
Video performance is pretty good, OpenGL is acceptable. Playing video in the browser works pretty well too. Full screen video through Youtube or Hulu stutters and does not play smoothly. Updating to the 2.6.32 kernel using the available PPA helps only slightly.
Playback of a 720x304 MP4 video encoded at a 1.1Kbps bit rate with mplayer averaged 40% CPU utilization.
Fedora 12
Video playback and OpenGL performance has never been this bad (NOTES). When playing video locally with mplayer a notice is displayed indicating that the 1000HE is too slow to play back the video. These same videos play under all of the other platforms tested without issue.
Playback of a 720x304 MP4 video encoded at a 1.1Kbps bit rate with mplayer averaged 100% CPU utilization.
Windows 7
Windows 7 suffers from poor full screen playback performance when viewing Hulu or Youtube. OpenGL performance is acceptable, and functions well enough for Aero to operate smoothly and some older 3D games play well. Local video playback works exceptionally well. Installing the latest flash beta corrects playback issues with full screen Hulu and Youtube.
Playback of a 720x304 MP4 video encoded at a 1.1Kbps bit rate with the Windows port of mplayer averaged 25% CPU utilization.
Winner
Windows 7. Both 7 and Jaunty function sufficiently providing an acceptable level of performance, but each have unique issues. Jaunty outperformed Windows 7 when playing Hulu full screen once patched, and Windows 7 outshined Jaunty in 3D and local video playback performance. Unfortunately, a later update to Jaunty broke its ability to function requiring a rollback to the release version of the driver.
Networking
Ubuntu
The Atheros 81XX Ethernet driver suffers from some sort of buffer fill issue causing transfers to fail the first time. (60764) The Atheros AR928X WIFI driver suffers from very weak signal, and is prone to drops (426130, 378156).
Sharing files is as simple as right clicking and sharing a folder. This works well between Linux and Windows clients. The SMB client functionality within Nautilus works very well and is incredibly useful.
Fedora
None of the driver issues seem to exist in Fedora 12. Fedora however is missing functionality within nautilus to right click and share. The SMB client functionality works as well as Ubuntu.
Windows 7
Windows 7 makes sharing files and folders simple within a home group, but only if they are public folders. Applying any rights to folders then attempting to use them remotely (like an advanced workgroup) is somewhat painful.
Let’s say that you have shared a folder called “My_Stuff” with restricted access allowing only your user account to browse the folder content. Now you want to access that share from another computer to copy files.
Sounds easy right? You would expect to browse to the folder and be prompted for a user name and password, but you aren’t. You receive a failure message indicating that you cannot connect.
Your only option now is to map a network drive using the credentials of the machine you are connecting to. The only problem is that you have already connected so your bad credentials are cached.
The fix is pretty easy for an advanced user, but for a novice? Forget it.
To correct the issue, leave the map network drive wizard open. Now, open a command line session (yes, command line).
Lets say the computer you are connecting to is called Johnny. The command you need to run is this:
net use \\johnny\my_stuff /delete
Now map your network drive using alternate credentials.
Winner
Windows 7. Windows 7 makes it really simple to create a home network, but if you need slightly advanced permission on a share it becomes incredibly difficult. Ubuntu makes it simple to share folders and printers, and it assumes you need to give credentials when connecting to a remote share. Microsoft could learn a lot from this capability in Nautilus. Unfortunately driver problems in Ubuntu make it impossible to give a passing grade here; it is completely unacceptable to have to initiate a transfer multiple times for it to be successful.
Power Management
Ubuntu and Fedora
Let’s be honest. Historically Desktop Linux has never really done a good job in regards to power and performance management. This has changed slightly in recent years with the availability of power top, IO top, and other tools to evaluate background processes in an effort to save power. What still hasn’t happened though is the integration of the recommendations into power profiles by the major distributions. I have done a lot of work here analyzing and writing software that aggregates the metrics from various components to create sane profiles, but simply due to the language I used to write the software, it has not been well received by distribution builders outside of Eeebuntu.
Hibernate and suspend are typically hit or miss depending on how well implemented the kernel support is for the hardware.
Suspend and Resume
Jaunty – Suspend and resume works with the occasional crash on resume.
Karmic – Kernel panics when you resume from suspend. Even with kernel 2.6.32, sometimes it just doesn’t resume.
Fedora – Suspend and resume works with the occasional crash on resume.
Windows 7 – Suspend and resume works consistently, every time.
Battery Life
Ubuntu and Fedora – Out of the box there are no power profiles. When you disconnect power and switch to battery, the screen is dimmed but no other change is made to the operating system. The addition of Jupiter or Eee PC Utilities drastically improves battery life; the improvement has been measured from 6 hours before installation to 9.5 hours after installation when playing video non-stop.
Windows 7 – Vendor supplied bus controls and Windows integrated power management allow for 9.5 hours of battery life.
Winner
Windows 7. Though battery life is improved equal to Windows through the installation of my software, there is nothing provided by either of these major distributions to automatically improve battery life when disconnected from a power source. Suspend and resume is hit or miss with the Desktop Linux distributions, and the risk of data loss is high. The Eeebuntu team has been working very hard to improve this for our distribution through the implementation of power profiles and close evaluation of kernel driver support.
Overall
Windows 7 is the superior product by all metrics, and 2010 unfortunately isn’t going to be the year of the Linux Desktop. The addition of a few tools like Cygwin and NXClient positions Windows as a competitor to manage Linux and Unix systems.
Improving Desktop Linux
There is a lot of room for improvement; Windows 7 is a really good competitor even with its high price tag. There are quite a few areas that need our focus to bring Desktop Linux to a level where it is competitive. Many of my recommendations are going to be very unpopular, but if we are going to compete then we need to make some tough decisions.
Maturity
We need to stop telling ourselves that Microsoft is evil and everything they do is bad. They do a lot of things VERY well and we stand to learn a lot from their investments into research and design. They have opened a lot of interfaces, and in many cases have committed to allowing development of competing technologies such as Mono.
The free software foundation must be disbanded if we are to be successful in the future. At the very least there needs to be a fundamental change in focus and an acceptance that closed source software will always co-exist. The current focus is counterproductive to the success of Desktop Linux. Its existence pollutes the ecosystem as a whole; reducing the balance and striving to eliminate closed source software which is counter to the very definition of freedom. In my opinion the FSF and FSF advocates are a chief reason that we do not have more software available for Desktop Linux today.
Lastly, we need to take our heads out of the sand and stop ignoring that we have problems. We do have problems, we have a TON of problems and ignoring them has only made them worse. Being told that you shouldn’t communicate in public that you have problems because it will be used against you is a much larger problem in itself than any issue being reported.
Stability
Stable ABI
Contrary to the belief of some of the developers maintaining the Linux kernel, a stable ABI is absolutely necessary. We need to expose an interface that doesn’t change between minor versions of the kernel that can be utilized by vendors to provide stable driver support. We need to grow up and stop with the mentality that vendors must provide specifications or code to the kernel in a GPL format. No-one knows the hardware better than the entity that manufactured it. We need to provide an interface they can use and then get out of their way and allow them to innovate.
Microsoft learned more than 15 years ago that a stable ABI was a necessity for vendors to be able to effectively develop drivers. It took them a few years to work out the kinks but today it works extremely well. We must adopt a similar interface.
Stable Software
It should be a no brainer to not release alpha drivers, or beta software into your distributions. This doesn’t even need further commentary. Just stop doing it. We also shouldn’t be focused on developing completely new software for integration into our distributions when we can’t even get the basics right yet. We really don’t need social networking integration in Desktop Linux yet, what we do need is existing bugs fixed. This is far more important than adding facebook and twitter to the panel.
Testing
This one is obvious. I know that Ubuntu has a quality assurance team, and I have argued with one of their members over and over that they aren’t doing enough. To the point where he now ignores me because burying his head in the sand is easier than admitting fault. When you release a product with known problems that can cause catastrophic data loss (NOTES,430333,445852)then you can’t really make the argument that your quality assurance team is effective.
End users use bug reports like a ticketing system because that’s all they can do to get word out of their issue. Any issue they have no matter how small will most likely be reported as a bug. Contrary to what some believe, larger numbers of bug reports are valid indicators of problems even while also being indicators of growth. We need to start looking at this as a valid metric and a valid issue.
Usability
Usability is a critical factor to a consumer. If something doesn’t work well, or is difficult to use it is replaced. We need to focus on refining existing interfaces rather than building new ones over and over again. We need to make what we already have easier for novice users to understand. We have too many disparate distributions, they should be brought together.
We aren’t out of dependency hell yet even though it’s 2010! Just apt-get purge a package that is an ubuntu-desktop dependency and see what I mean by the number of packages that get orphaned. RPM is a very simple yet effective packaging system while deb is an extremely complex packaging system. We need a single unified package management system that software developers can target. This means that we need to abandon the deb package. It was effective in its time, but it is no longer useful and should be retired. There aren’t 5 different package management methods on a Windows platform. You have an exe or an msi; we should simply have RPM. It is proven, it is effective, and it is simple to build and maintain. In addition we have something that Windows users don’t. We have good package management. If we can reduce the complexity, and eliminate dependency hell it will go a long way towards usability. There are a lot of ways that we can achieve this. Integrating dependent libraries into application packages would help here. Storage is cheap; there is no compelling reason not to do this.
Lets reduce the number of desktops we have out there, do we really need GNOME, KDE, LXDE, XFCE, WindowMaker, FVWM, TWM, Fluxbox, Netbook Remix, and on, and on, and on? We need to take all of the best of each and merge to a single standard desktop. Imagine how well our desktops would function if all of the energy that was used to create all of these desktop interfaces had been focused on one? GNOME is effective, it is simple, and it works. We should consider shifting ALL GUI development efforts to it.
We need to take a step back, and analyze what other fundamental components are missing from Desktop Linux before adding one more shiny new feature. Buy a copy of Windows 7, install it, and use it for a few weeks. That’s the level of maturity I had hoped to see in Desktop Linux by 2010, unfortunately we missed the mark again.
The Asus 1000HE is a 10” netbook computer sporting the Intel Atom n280 microprocessor running at 1.66GHz. This netbook is sold with 1GB of RAM, a 160GB SATA hard drive, 1.3Mp webcam, WIFI-N, and Bluetooth. This particular Eee PC was upgraded to 2GB of memory the day it was taken out of the box.
Installation
Ubuntu Jaunty 9.04, and Karmic 9.10
Installation of Jaunty or Karmic is trivial. Installation is one of the areas that Desktop Linux distributions have been doing very well for quite some time. After asking a few questions, the installation completed as expected without issue.
- Open the Install application
- Select your preferred language
- Select your time zone
- Select your keyboard layout
- Choose your partition layout
- Provide information about yourself
- Review the installation summary, and then install
The Fedora 12 installation is much more advanced than the installer written for Ubuntu. This installation was completed using the Fedora 12 desktop edition live CD. The following steps outline the installation process.
- Log in as the live session user
- Open the Install application
- Click through the welcome screen
- Select the desired keyboard
- Initialize drive if asked
- Name the computer
- Choose your time zone
- Enter a password for the “root” user account
- Partition the hard drive
Selection of the “root” user account is non-descriptive. The non-descriptive nature of most of the selection screens in the installer implies that it is not designed for a novice user.
Windows 7
Installing Windows was surprisingly easy. In just a few short steps, Windows was installing. Previous versions of the operating system have always been reasonably simple to install, but Microsoft has done an excellent job with Windows 7.
- Select the preferred language
- Select the time and currency format
- Select the preferred keyboard format
- Click Next, then “Install Now”
- Read and accept the end user license agreement
- Select Upgrade or Custom
- Select the installation disk
- Create a user account
- Enter the license key
- Select Windows security settings
- Verify the time and date
- Set up networking
- Create or connect to a Windows “Home Group”
Winner
The network configuration and “Home Group” wizards are simply awesome. They abstract the user from the typical configuration steps needed to create or bring a system in to a home network. The Windows installer is the easiest to use for those reasons alone even though the installation methods screen could be confusing to a novice user. Windows 7 is the clear winner. Desktop Linux distributions could improve the installation process significantly from studying a Windows 7 installation.
Hardware Support
Ubuntu Jaunty 9.04 and Karmic 9.10
All of the hardware in the 1000HE is detected and considered functional out of the box. Driver support is considered a “best effort basis” (404626) by members of the Ubuntu team.
Jaunty 9.04
With Jaunty, all of the hardware was detected properly. WIFI signal out of the box is terrible however; when the netbook is placed within 10 feet of the WIFI router the signal strength does not exceed 35%. The Intel video driver is Alpha. It is functional for 2D however the 3D desktop enabled by default is unusable. Online video playback performance within the browser is also useless.
The Ethernet driver is functional, however the first time files are transferred a buffer error is reported by the driver within a few seconds of initiating the transfer. When the transfer is restarted it completes without error. This is repeatable after a restart.
The WIFI device toggle exposed by the kernel shuts the device off, but due to a bug in the kernel hotplug capability it does not turn back on without a reboot (371434).
The solution to the video output and WIFI toggle issues are to enable two PPA repositories, upgrading the kernel to 2.6.30 and the Intel driver to a post release version. It also involves hacking the kernel command line within GRUB. Fixes for the WIFI signal and Ethernet corruption issues appear to be available, but require hacking the installation.
Karmic 9.10
Karmic detects all hardware. Several of the driver issues found in Jaunty are corrected with the newer 2.6.31 kernel and newer Intel driver. 2D and 3D video performance improves significantly. Unfortunately, the Ethernet buffer corruption issue persists. Several new issues also arise including a kernel panic triggered by suspending and resuming the netbook.
Upgrading the kernel to 2.6.32 from a PPA corrects the suspend / resume kernel panic issue and the PCIE hotplug bug.
Fedora 12
Fedora as with Ubuntu detected all hardware and is considered functional out of the box. Fedora 12 does not exhibit many of the issues found in Karmic. Due to the Intel driver used it does however suffer from unusable 2D and 3D performance.
Windows 7
Windows 7 detected all hardware, some additional drivers were automatically downloaded and installed after the installation completed. Suspend and resume functions, 2D and 3D video functions, WIFI signal is at 100%, transfers over Ethernet don’t fail the first time, they just work.
Vendor released Windows 7 drivers are downloaded and installed, though not required. Every component functions correctly.
Winner
Windows 7 is the clear winner here. Everything works out of the box, vendor released drivers are installed to open additional performance and power management improvements but are not necessary for the system to be considered fully functional. Ubuntu Karmic and Jaunty are dead last, as an operating system that can’t play online video or suspend and resume without being hacked up is completely useless. Fedora is a close second; if the Intel driver functioned properly it could easily have tied with Windows 7.
General Tasks
Ubuntu and Fedora
All of the general purpose software that I use at home is available in the repositories or as a downloadable package for Ubuntu. Here is the typical list of software I use at home.
- Open Office
- Pidgin
- Thunderbird
- Firefox
- Virtual Box
- GIMP
- Inkscape
- Dia
- Revelation
- Truecrypt
- Skype
- Banshee
- MPlayer
- Kompozer
- Terminal
I do use several Windows applications which function well using Wine. This includes Microsoft Reader, and the Kindle reader.
There are thousands of software packages available for Desktop Linux. If you have a need, you most likely already have an application available for installation that can perform 60% or more of the functionality necessary to accomplish your task.
Unfortunately, a flawed fundamentalist (slash extremist) view that all software must be open source exists and is directed towards those who would support creation of off the shelf closed source software for this platform. This bias in my opinion is the single biggest detractor to the availability of vendor supported software on this platform. This means that typically only open source software is available.
Companies that work to provide closed source software typically do not last long in this vendor hostile environment.
Windows 7
The Windows platform enjoys the availability of nearly all of the above open source software, and in addition has a vast array of at-cost or freeware products available for installation. I currently utilize the following free or otherwise open source software on my netbook.
- Open Office
- Pidgin
- Thunderbird
- Firefox
- Virtual Box
- GIMP
- Inkscape
- Truecrypt
- Skype
- MPlayer
- Kompozer
- Terminal (Cygwin)
- Microsoft Reader
- Kindle
- iTunesPaint .NET
- Multiple platform games
Winner
An entire market of both open and closed source software is available to users of the Windows platform making it the clear winner. Desktop Linux distributions are limited to open source or partially open source software unless you are able to make your closed source software work with Wine.
Video Playback
Jaunty
Playing video locally on Jaunty is of acceptable performance. Out of the box, internet video suffers terribly. Open GL? Forget it (252094).
Updating drivers from the PPA corrects these issues and makes it acceptable, with slight tuning even full screen video from Hulu and Youtube plays perfectly. Unfortunately a recent update to the safe driver PPA caused significant issues requiring that the drivers be reverted to the default.
Playback of a 720x304 MP4 video encoded at a 1.1Kbps bit rate with mplayer averaged 40% CPU utilization.
Karmic
Video performance is pretty good, OpenGL is acceptable. Playing video in the browser works pretty well too. Full screen video through Youtube or Hulu stutters and does not play smoothly. Updating to the 2.6.32 kernel using the available PPA helps only slightly.
Playback of a 720x304 MP4 video encoded at a 1.1Kbps bit rate with mplayer averaged 40% CPU utilization.
Fedora 12
Video playback and OpenGL performance has never been this bad (NOTES). When playing video locally with mplayer a notice is displayed indicating that the 1000HE is too slow to play back the video. These same videos play under all of the other platforms tested without issue.
Playback of a 720x304 MP4 video encoded at a 1.1Kbps bit rate with mplayer averaged 100% CPU utilization.
Windows 7
Windows 7 suffers from poor full screen playback performance when viewing Hulu or Youtube. OpenGL performance is acceptable, and functions well enough for Aero to operate smoothly and some older 3D games play well. Local video playback works exceptionally well. Installing the latest flash beta corrects playback issues with full screen Hulu and Youtube.
Playback of a 720x304 MP4 video encoded at a 1.1Kbps bit rate with the Windows port of mplayer averaged 25% CPU utilization.
Winner
Windows 7. Both 7 and Jaunty function sufficiently providing an acceptable level of performance, but each have unique issues. Jaunty outperformed Windows 7 when playing Hulu full screen once patched, and Windows 7 outshined Jaunty in 3D and local video playback performance. Unfortunately, a later update to Jaunty broke its ability to function requiring a rollback to the release version of the driver.
Networking
Ubuntu
The Atheros 81XX Ethernet driver suffers from some sort of buffer fill issue causing transfers to fail the first time. (60764) The Atheros AR928X WIFI driver suffers from very weak signal, and is prone to drops (426130, 378156).
Sharing files is as simple as right clicking and sharing a folder. This works well between Linux and Windows clients. The SMB client functionality within Nautilus works very well and is incredibly useful.
Fedora
None of the driver issues seem to exist in Fedora 12. Fedora however is missing functionality within nautilus to right click and share. The SMB client functionality works as well as Ubuntu.
Windows 7
Windows 7 makes sharing files and folders simple within a home group, but only if they are public folders. Applying any rights to folders then attempting to use them remotely (like an advanced workgroup) is somewhat painful.
Let’s say that you have shared a folder called “My_Stuff” with restricted access allowing only your user account to browse the folder content. Now you want to access that share from another computer to copy files.
Sounds easy right? You would expect to browse to the folder and be prompted for a user name and password, but you aren’t. You receive a failure message indicating that you cannot connect.
Your only option now is to map a network drive using the credentials of the machine you are connecting to. The only problem is that you have already connected so your bad credentials are cached.
The fix is pretty easy for an advanced user, but for a novice? Forget it.
To correct the issue, leave the map network drive wizard open. Now, open a command line session (yes, command line).
Lets say the computer you are connecting to is called Johnny. The command you need to run is this:
net use \\johnny\my_stuff /delete
Now map your network drive using alternate credentials.
Winner
Windows 7. Windows 7 makes it really simple to create a home network, but if you need slightly advanced permission on a share it becomes incredibly difficult. Ubuntu makes it simple to share folders and printers, and it assumes you need to give credentials when connecting to a remote share. Microsoft could learn a lot from this capability in Nautilus. Unfortunately driver problems in Ubuntu make it impossible to give a passing grade here; it is completely unacceptable to have to initiate a transfer multiple times for it to be successful.
Power Management
Ubuntu and Fedora
Let’s be honest. Historically Desktop Linux has never really done a good job in regards to power and performance management. This has changed slightly in recent years with the availability of power top, IO top, and other tools to evaluate background processes in an effort to save power. What still hasn’t happened though is the integration of the recommendations into power profiles by the major distributions. I have done a lot of work here analyzing and writing software that aggregates the metrics from various components to create sane profiles, but simply due to the language I used to write the software, it has not been well received by distribution builders outside of Eeebuntu.
Hibernate and suspend are typically hit or miss depending on how well implemented the kernel support is for the hardware.
Suspend and Resume
Jaunty – Suspend and resume works with the occasional crash on resume.
Karmic – Kernel panics when you resume from suspend. Even with kernel 2.6.32, sometimes it just doesn’t resume.
Fedora – Suspend and resume works with the occasional crash on resume.
Windows 7 – Suspend and resume works consistently, every time.
Battery Life
Ubuntu and Fedora – Out of the box there are no power profiles. When you disconnect power and switch to battery, the screen is dimmed but no other change is made to the operating system. The addition of Jupiter or Eee PC Utilities drastically improves battery life; the improvement has been measured from 6 hours before installation to 9.5 hours after installation when playing video non-stop.
Windows 7 – Vendor supplied bus controls and Windows integrated power management allow for 9.5 hours of battery life.
Winner
Windows 7. Though battery life is improved equal to Windows through the installation of my software, there is nothing provided by either of these major distributions to automatically improve battery life when disconnected from a power source. Suspend and resume is hit or miss with the Desktop Linux distributions, and the risk of data loss is high. The Eeebuntu team has been working very hard to improve this for our distribution through the implementation of power profiles and close evaluation of kernel driver support.
Overall
Windows 7 is the superior product by all metrics, and 2010 unfortunately isn’t going to be the year of the Linux Desktop. The addition of a few tools like Cygwin and NXClient positions Windows as a competitor to manage Linux and Unix systems.
Improving Desktop Linux
There is a lot of room for improvement; Windows 7 is a really good competitor even with its high price tag. There are quite a few areas that need our focus to bring Desktop Linux to a level where it is competitive. Many of my recommendations are going to be very unpopular, but if we are going to compete then we need to make some tough decisions.
Maturity
We need to stop telling ourselves that Microsoft is evil and everything they do is bad. They do a lot of things VERY well and we stand to learn a lot from their investments into research and design. They have opened a lot of interfaces, and in many cases have committed to allowing development of competing technologies such as Mono.
The free software foundation must be disbanded if we are to be successful in the future. At the very least there needs to be a fundamental change in focus and an acceptance that closed source software will always co-exist. The current focus is counterproductive to the success of Desktop Linux. Its existence pollutes the ecosystem as a whole; reducing the balance and striving to eliminate closed source software which is counter to the very definition of freedom. In my opinion the FSF and FSF advocates are a chief reason that we do not have more software available for Desktop Linux today.
Lastly, we need to take our heads out of the sand and stop ignoring that we have problems. We do have problems, we have a TON of problems and ignoring them has only made them worse. Being told that you shouldn’t communicate in public that you have problems because it will be used against you is a much larger problem in itself than any issue being reported.
Stability
Stable ABI
Contrary to the belief of some of the developers maintaining the Linux kernel, a stable ABI is absolutely necessary. We need to expose an interface that doesn’t change between minor versions of the kernel that can be utilized by vendors to provide stable driver support. We need to grow up and stop with the mentality that vendors must provide specifications or code to the kernel in a GPL format. No-one knows the hardware better than the entity that manufactured it. We need to provide an interface they can use and then get out of their way and allow them to innovate.
Microsoft learned more than 15 years ago that a stable ABI was a necessity for vendors to be able to effectively develop drivers. It took them a few years to work out the kinks but today it works extremely well. We must adopt a similar interface.
Stable Software
It should be a no brainer to not release alpha drivers, or beta software into your distributions. This doesn’t even need further commentary. Just stop doing it. We also shouldn’t be focused on developing completely new software for integration into our distributions when we can’t even get the basics right yet. We really don’t need social networking integration in Desktop Linux yet, what we do need is existing bugs fixed. This is far more important than adding facebook and twitter to the panel.
Testing
This one is obvious. I know that Ubuntu has a quality assurance team, and I have argued with one of their members over and over that they aren’t doing enough. To the point where he now ignores me because burying his head in the sand is easier than admitting fault. When you release a product with known problems that can cause catastrophic data loss (NOTES,430333,445852)then you can’t really make the argument that your quality assurance team is effective.
End users use bug reports like a ticketing system because that’s all they can do to get word out of their issue. Any issue they have no matter how small will most likely be reported as a bug. Contrary to what some believe, larger numbers of bug reports are valid indicators of problems even while also being indicators of growth. We need to start looking at this as a valid metric and a valid issue.
Usability
Usability is a critical factor to a consumer. If something doesn’t work well, or is difficult to use it is replaced. We need to focus on refining existing interfaces rather than building new ones over and over again. We need to make what we already have easier for novice users to understand. We have too many disparate distributions, they should be brought together.
We aren’t out of dependency hell yet even though it’s 2010! Just apt-get purge a package that is an ubuntu-desktop dependency and see what I mean by the number of packages that get orphaned. RPM is a very simple yet effective packaging system while deb is an extremely complex packaging system. We need a single unified package management system that software developers can target. This means that we need to abandon the deb package. It was effective in its time, but it is no longer useful and should be retired. There aren’t 5 different package management methods on a Windows platform. You have an exe or an msi; we should simply have RPM. It is proven, it is effective, and it is simple to build and maintain. In addition we have something that Windows users don’t. We have good package management. If we can reduce the complexity, and eliminate dependency hell it will go a long way towards usability. There are a lot of ways that we can achieve this. Integrating dependent libraries into application packages would help here. Storage is cheap; there is no compelling reason not to do this.
Lets reduce the number of desktops we have out there, do we really need GNOME, KDE, LXDE, XFCE, WindowMaker, FVWM, TWM, Fluxbox, Netbook Remix, and on, and on, and on? We need to take all of the best of each and merge to a single standard desktop. Imagine how well our desktops would function if all of the energy that was used to create all of these desktop interfaces had been focused on one? GNOME is effective, it is simple, and it works. We should consider shifting ALL GUI development efforts to it.
We need to take a step back, and analyze what other fundamental components are missing from Desktop Linux before adding one more shiny new feature. Buy a copy of Windows 7, install it, and use it for a few weeks. That’s the level of maturity I had hoped to see in Desktop Linux by 2010, unfortunately we missed the mark again.






