Every once and a while some patent scare comes up in the Linux world, often from Microsoft. They all generally go like this: big company says vague thing about their patent and Linux; everyone freaks out. These sorts of issues generally divide technical Linux users into two groups. One group says that nothing should be done until they see a lawsuit, and the other says we need to drop everything else and abandon the piece of software in question.
I am, of course, overstating the problem a little, but that is the general idea. The most recent incident was when TomTom got sued by Microsoft over their FAT filesystem implementation. This, of course, created a lot of conversation, much of which was completely unproductive. Now, though, a patch has been submitted that should eliminate the potential violation.
Regardless of the patent violation’s existence or lack of existence, a patch that fixes the issue completley is a really good step. If every time these issues came up, they were simply patched as time allowed, we could end all the theoretical arguements about what to do and just fix the problem.
Tony Mobily published an article in Free Software Magazine discussing software installation, specifically end-user software installation, on Linux, which he calls broken. I agree that the system is flawed, but it is not broken. The most important thing is that we not reinvent everything around the fragmented models that OS X and Windows use.
What about Windows and OS X?
Though many would disagree with this statement, I believe that Windows current has one of the worst software installation experiences. Every application developer creates his/her own installer, often based from one of the commercial installation tools. This means that, though some unofficial standards have developed, every installation is different. In addition, Windows software installations usually waste clicks. How often are the instructions for installing software on Windows “press next, press next, press next, press next, press install, press finish?” Then, when a new version comes out, you have to go through each application’s own updating process, leading to tons of software popping up different boxes asking if it can update itself. On top of this, very little can be done to verify software’s authenticity and applications can and do put files anywhere they like. This is not the right model to follow.
Mac OS X is the common target that Linux users point to as the “right” way to install software. Apple certainly had the right idea. You drag what looks like a single file into your applications folder to install, and you drag that file to the trash to uninstall it. That, in theory, is an excellent system, however there are a few problems. First, there is, as on Windows, little ability to verify a program’s authenticity and, for lack of a better word, working-ness. Second, while installation is easy, uninstallation is not always clean. Even on OS X, programs sometimes scatter files around the disk. This has lead to the creation of third-party commercial programs to fully uninstall OS X applications. Third, this system still doesn’t provide any unified way of updating applications. Finally, many software makers do not use the drag-and-drop installation, instead opting for a more Windows-like installation wizard. This system is much better, but is still not the right thing to imitate.
What about Linux?
Despite the many flaws, Linux actually has one of the best software installation methods, in theory. Applications can be installed via a single, standard interface listing the program’s name and a short description. Just check a box and software can be easily installed or uninstalled from a verified source, providing some level of assurance that the application will work. Most importantly, software is updated through one interface that integrates all software updates.
If the software you are looking for is not available through this interface (meaning that it is not in the repositories), you can either add the software’s repositories, allowing it to be updated along with all the other software, or you can directly install a package (for example, a .deb on Ubuntu or Debian), leaving you to update the software yourself.
All that said, though, there are a lot of flaws, such as those discussed in the FSM article referenced above:
“Users need to have root access in order to install a piece of software; no per-user installation is allowed”
The first part of that is a symptom, the second is a problem. It would be nice to be able to install applications just for one user, but this is not a problem that most people will experience, since most PCs are used by only one or two people.
“It’s very tricky to install several versions of the same piece of software. Just think of the poor graphic designer who needs to install several versions of Opera and Firefox;”
Agreed. That’s a clear flaw. (Though, to be fair, most people will not notice that either.)
“A piece of software is bound to a specific distribution, and — what’s worse — to a specific version of that distribution too. It’s not trivial to install Openoffice 3.1 on Ubuntu 8.10. You can argue that you can install the bunch of .deb packages from OpenOffice’s web site. Tell that to your grandmother or your average inexperienced computer user.”
OK, OpenOffice is notably more difficult to install than most applications thanks to it’s numerous packages, but I get the point: with a new version of many distributions coming out every 6 months, application have to be compatible from release to release. When you install from your distribution’s repositories, this is handled for you, but a better solution has to be found, since this is probably the biggest issue for developers.
As a result of this, some, mostly larger, companies are now distributing their Linux software as an installation script that handles installation on many different distros and versions. While, convenient for them, this is the wrong approach (and should be appropriately discouraged), since it leads to the Windows problem of different installers for everything and scattered files.
“The software needs to be downloaded from the official repositories. Well, it doesn’t need to, but an average user wants to stay well away from unofficial repositories for technical reasons;”
This is the biggest issue for most users. Adding repositories is unintuitive, and packages aren’t always clearly marked in terms of what distribution they are for (see above), causing confusion to new users. For this, a better way of managing installed pacakges and of adding repositories is needed.
Finally, we just need education. Half the problem here is that Linux has such a different approach than OS X and Windows, so perhaps we should make a greater effort to inform new users of this change, so they don’t get confused.
The solution
Do we need a completely new solution? Possibly, but probably not. The current system is pretty good with two exceptions:
I think that everyone can agree that a serious effort to improve software installation on Linux would make a huge difference in day-to-day Linux usage, particularly for newbies. I am optimistic that we might get some real attention to this issue, allowing it to be resolved in a way that doesn’t imitate any other OS, but rather does it better than any other OS.
You don’t win by being the same; you win by being better – often many times better. Particularly when the competitor is well established, you have to be far better to win, so even if users are more comfortable with a desktop that looks just like Windows, Linux still has to keep innovating.
If Linux is going to get anywhere as far as the average guy is concerned, it can’t be a little stabler, a little securer, and a little easier. It has to be ten times better in every way. Constantly changing pieces of the desktop is not the way to get people comfortable with something, but it is the way to get ahead. Yes, we need distributions that stick to the tried and true, of which many exist, but we also need distributions on the bleeding edge discovering a new desktop that will be 10 times better than anything else in a few years.
Given the choice between changing too fast and not changing, changing too fast is clearly the better option, since it sets up the next move, instead of leaving you behind.
Remember when Mark Shuttleworth announced Canonical was putting together a usability and design team? That team has announced their first major project, called One Hundred Papercuts. The idea, as described by David Siegel (member of the team and Gnome Do developer) is to select one hundred easily fixable bugs that are day to day minor annoyances to the user and fix them for the next release. Not big changes, just small things like how a file is named by default or where the cursor’s focus is put.
That might not sound like a big deal, but fixing one hundred little things is far more important than introducing a big new feature at this stage of Ubuntu’s development. Long-time Linux users often become blind to these problems, but first timers run into some of these issues like a street lamp (I would say a brick wall, but most of the issues are easily navigated around once you figure them out). Every release fixes some bugs, but Ubuntu will be the first distribution that I know of to make fixing usability related bugs a major priority. I certainly hope this will become a trend.
This project is probably the most exciting announcement for the Linux desktop since…. the last announcement Canonical made. As much as I wish other distributions would excite me, Ubuntu seems to be the only distribution that is really making progress in terms of creating a better product for the average user. Other distributions aren’t necessarily doing badly. In fact, many of them are on the bleeding edge in terms of technology. Ubuntu, though, is one the bleeding edge of usability and integration in a way that no one else can match. I’m sure that this assertion will trigger an endless stream of counter-examples, which I look forward to. There are certainly interesting projects going on in other distributions, but Ubuntu is consistently rolling out intersting plans that don’t just push the technology, they refine the technology and make it work that way it should.
The general concensus about Google releasing the first offical developer previews of Google Chrome for Linux (and OS X) ~9 months after announcing the browser for Windows is that it seems late. The expectation has now become that Linux and OS X should be supported alongside Windows from the start.
That’s very different from a few yeras ago. Not long ago, having a Linux or OS X version at all would have been notable if not suprising. Now, though, it is simply expected that any major application that doesn’t come from Microsoft or Apple will have at least an OS X version and, very often, a Linux one, too.
We often don’t realize it, but so much has changed in only a few years. If this trend keeps up, Linux should be just as well supported as Windows in only a few more years.
When you’re driving a car, the road in front of you changes fast and, in order to avoid a collision, you have to turn, speed up, and slow down in response to these changes. Now imagine if you couldn’t change course or speed until the person sitting next to you told you. Before too long, you’d probably crash. That’s exactly where Windows is right now.
The tech world is changing faster than ever before. Did you know you can buy a flash drive with an eSATA connection? That’s a 32GB, portable, and speedy SSD in something only slightly bigger than, well, your thumb that could easily store your operating system and all your data. Have you been following the emergence of web tablets? Just like the road, things change really fast in technology.
Just look at what happened with netbooks. Microsoft may have caught itself, but they were not prepared for the emergency of netbooks. Netbooks are currently forcing them to keep alive an operating system they wanted to kill years ago. New technology doesn’t wait for 5 year release cycles. It just comes.
This isn’t necessarily about open-source vs. proprietary software. In theory, you could develop an incredibly flexible piece of proprietary software that could be modified to react as soon as the new technology hit, but at this point, the only operating systems that can consistently be there for the people releasing new, cutting edge technology are those that are open source – specifically Linux.
Microsoft is being the backseat driver in an era when there is no time for a delay.
Presumably to respond to Apple’s Get A Mac ad campaign and Microsoft’s various responses, the Linux Foundation launched a competition a while ago for “We’re Linux” ads. After receiving over 100 entires, they say, the results have been announced. Below is the winning ad:
I think an article at OSNews put it best:
“We are all geeks here, we’ll get the videos. But what about the majority of the world, who have little knowledge on this whole Linux and Free thing?”
This obviously brings up the issue of target audience. As an ad for geeks and the tech-savvy world, it’s great – I really can’t complain. If, however, you tried to show this to your grandmother, I don’t think she’d have a clue what it was about.
This type of ad certainly has a place, but I would also like to see some more consumer-focused ads out. Ubuntu Ad Contest, anyone?
VirtualBox is one of the often ignored “killer apps” of the Linux desktop. An open-source desktop virtualization tool that anyone can use easily is a great asset, particularly to people who have just switched or can’t pick one distro. (Well, mostly open-source, but we’ll just ignore that.)
Virtualization is still a somewhat alien concept to the average PC user and, to the extent most people know about it, they think of it as something they buy in a box from VMWare or Parallels. (And, if you were on a Mac, that was the only reasonable place you could get virtualization software until recently.) VirtualBox, though, opens the opportunity to have easy-to-use virtualization built right in. It seems like a missed opportunity not to make installing a Windows VM seamless.
As an example, Ubuntu, or any other distro, could set up a feature such that inserting a Windows install DVD would trigger a pop-up asking you if you would like to install it in a VM and explaining what that was. Then, if the user agreed, VirtualBox could be installed and Windows could be installed in to a VM with almost no user involvement beyond putting in the CD and pressing OK.
This sort of functionality would make it incredibly easy for new users to transition to Linux, with Windows available right there just in case something goes wrong.
Due to all the attention that is put on Ubuntu releases, it is often easy to miss what is going on in another distribution, such as Fedora. Fedora, too, though has some interesting features coming in Fedora 11, which should be out in May.
20 Second Boot Times It seems that everyone is suddenly realizing that their boot times are too slow. Windows, OS X, Ubuntu, Fedora, and, undoubtedly, countless other Linux distros are also at work reducing start times. Fedora is targeting 20 seconds, but that will, obviously, be very hardware-dependent.
EXT4 As Default File System Despite the EXT4 filesystem, which brings improvements in speed and reliability, only being released a little while ago, Fedora plans to make it the default filesystem for new Fedora installs.
Improved, Graphical Fingerprint Reader Support Fedora 11 will be featuring an easy-to-use GUI for configuring fingerprint scanners, unlike previous fingerprint software, which usually required that you run it from the terminal, which is not exactly the most user-friendly way for new users.
Windows Cross-Development With the help of Wine, Fedora is hoping to help eliminate the need to run a Windows machine just to write software for it. Pretty soon, you should be able to write and test a single set of code from a single computer and release versions for all operating systems.
Gnome Do is quickly becoming one of the coolest “killer apps” of the Linux desktop. Just the ability to launch applications by typing about 3 characters is great, but the plugins and the new Docky dock make Do an absolutely incredibly application.
In fact, Gnome Do could probably replace your main GNOME interface. So how long will it be until we see Dobuntu?
I am sure some people have already started to use Gnome DO instead of the panels, but would an entire Do-based distro be viable? Using Docky, I thnk it could actually be quite successful. Docky creates the possibility of a very clean, OS X-ish interface. This would be true without Docky, too, but Docky makes using Do much more intuitive for new users, which is important if you are shipping it as a major part of a distribution.
At this point, a “Dobuntu” distribution could not only be usable, but quite interesting.