July 24, 2005
linux not ready for the desktop part 2: helping regular people install software on linux
In my original article about Linux on the desktop, the second major point I brought was API stability and an easy and uniform software installation story. I said, "The second problem that blocks massive Linux Desktop growth is stability. I don't mean the not crashing kind of stability, I'm talking about a stable API that doesn't require the user jump through hoops when they want to download a new application from download.com."
There are two basic methods of installing software on Linux, using the package system from your distribution, or downloading source and compiling. Compiling is right out for Regular People coming from Windows. It's too complicated for most and too slow for all. Using the distro's package system seems quite reasonable when you're just talking about updating the core OS but starts to fall down when Regular People want or need to install applications that aren't available or easily accessible from their distro's repository. Windows users are comfortable going to Download.com and downloading and installing an application. They feel safe and secure going to a software vendor's site, Mozilla or Adobe for example, and downloading and installing an application. The current Linux systems take the application vendor, a powerful tool for building user trust and confidence on the Linux desktop, and pull it out of the picture almost entirely.
Regular People do not want to get all of their software from a single source -- their distribution. They appreciate finding and downloading new gems, from around the web. A simple example would be something like Mozilla's Thunderbird application. Many Linux distributions ship Evolution as the default installed email application and a user who happened to read a positive article about Thunderbird would find herself at the Mozilla website looking over the Thunderbird feature set and reviews. She should be able to download Thunderbird right there and have it just work. With today's Linux desktop, this will fail more often than it will work because software developers cannot support even the most popular few distributions with a single download.
Another problem is that not all distros can keep up with every software package in a timely manner. When Regular People read about the latest update to a piece of their software, they should be able to get it, right then, and from the vendor that created that software. As of the writing of this article, several major distributions aren't yet providing the latest release for Firefox (1.0.6). With today's Linux, the Firefox release team cannot possibly create packages for every distribution and every package system out there and they should not have to. They create one package on Windows and it works out of the box on every Windows release since Windows 98SE (released more than 6 years ago.) Supporting even the last three years of Linux, even one distro, with a single package just isn't feasible today. Supporting the last one or two years with a single package isn't without some pain and Mozilla's a fairly large and capable organization.
How are these issues remedied. First, backward compatibility must be a real priority. This means doing whatever it takes to avoid breaking compatibility when revving libraries and carrying around specific compatibility libraries when compatibility has to be broken. It's certainly more of a maintenance headache than what most Linux distro vendors want, but until that change happens, software makers are deterred from producing high-quality products and maintaining those on Linux and Regular People are a lot more likely to be frustrated by the software install process. Second, there needs to be a lot more cross-distro compatibility or a lot fewer distros. This will make it much easier for software vendors to target the Linux platform and will make it much easier for Regular People to "shop around" for software.
Making improvements in these two areas will go a long way to improving the experience Regular People have with the Linux desktop. My next article will discuss the third issue keeping Regular People off of the Linux desktop -- unnecessary complexity.
Posted by asa at July 24, 2005 07:26 PM
or... maybe having up todate package repositories. Lets face it ... we're talking about regular users here right. The ones that still open attachments from people they don't know... still install wild tangent games, and still lolly gag about updates to security sensative software. Are you honestly telling me that regardless of whether or not windows users feel "safe" that they actualy are "safe" when they prance about the net downloading new games and tweaks and compromising their systems? Are you honestly suggesting that a serious compilation of nearly every application available to the distro on the market is too little for the common man (or is it just too little for a "power user" like yourself Asa? as you've said, geeks like yourself don't know crap about regular users).
give me a few good reasons why a package management system such as debains apt-get when combined with a nice gui front end like synaptic, is a worse tool for finding and installing applications than the web. Lets count the benefits, a) you know it's going to install on your machine, b) it keeps track of dependancies c) it makes updates easy and quick d) you know that the content is safe and secure e) it's faster and more easily available f) if a package comes out that breaks something it can be help back until fixed... now you are going to try and tell me that all of those benefits are out weighed by the inability to find a few obscure packages online??? Look you just made the folly you bitch at me about, you just replaced a "regular user" with "Asa". Asa might need strange software not in the Package Manager, but do regular people? No... and if someone REALLY wants it, then they can use the obscure and out of date method that's been available for years... the web.
I couldn't agree more. Not only is the "distribution as software source" analogy flawed because "Regular People do not want to get all of their software from a single source," but it also creates an unnecessary bandwidth burden on the distribution vendor. Imagine the stress on Microsoft if they had to host the binaries for every Windows program! Autopackage goes a long way to addressing this problem (the GNU LilyPond autopackages, for example, work perfectly across a number of distros) -- but even the interface for this needs to be improved a bit more before developers begin using it exclusively and distribution companies make the ideological shift from making their own packages to relying on developers' packages.
I am a regular user. Mostly. I know what a driver is, and when to install one, I know enough to run Firefox, etc. Every time Iíve tried to install a Linux Distro, Iíve run into exactly the problem Asa describes...
It should be possible to simply double-click an icon and have the damned program install. It really ought to be just that easy. It isnít. Every time I boot up my computer, I am giving the option of running WinXP or SuSE9.3; I choose Windows every time...
Given the shear amount of people doing creative things on the web, it is simply impossible for one group to be on top of even a small fraction of it. To centralize the distribution of non-core software in the way you demand would cripple the supply of new and interesting software reaching me...
To put it in another context, imagine if everytime I wanted to use a new piece of Windows software, I had to rely on Microsoftís approval of it...
Asa, I agree with everything you say, but I also can see why Linux developers may not want to provide as much backward compatibility as they should. After all, one of the reasons Microsoft has been so success -- besides their monopolistic muscles -- is that Windows provides a lot of backward compatibility. However, I must say that one reason I've been loathe to download extensions for Firefox is that new versions of the browser often breaks existing extensions.
What Asa is talking about, a late-model Debian GNU/Linux distribution example:
# dpkg -i mozilla-firefox_1.0.6-1_i386.deb
(Reading database ... 60701 files and directories currently installed.)
Preparing to replace mozilla-firefox 1.0.4-2 (using mozilla-firefox_1.0.6-1_i386.deb) ...
Unpacking replacement mozilla-firefox ...
dpkg: dependency problems prevent configuration of mozilla-firefox:
mozilla-firefox depends on libatk1.0-0 (>= 1.9.0); however:
Version of libatk1.0-0 on system is 1.8.0-4.
mozilla-firefox depends on libgcc1 (>= 1:4.0.0-9); however:
Version of libgcc1 on system is 1:3.4.3-12.
mozilla-firefox depends on libstdc++6 (>= 4.0.1); however:
Package libstdc++6 is not installed.
mozilla-firefox depends on libxinerama1; however:
Package libxinerama1 is not installed.
dpkg: error processing mozilla-firefox (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
This leaves a perfectly working Firefox 1.0.4 totally broken. It won't even load. Of course, Firefox 1.0.6 does not load, either. Result: No browser.
Please, do not tell me how to fix this. Just listen to Asa, and help him fix what He is talking about. Please!
I totally agree with your main point, Asa. Software needs to be easier to deal with in Linux. I have 2 quibbles though:
1. 'Regular users' don't search for better software. Why does IE still have a 85% market share? Because 'regular users' don't care to find something better.
2. If you want to complain about the software install process in Linux, you should take your position of power and make Firefox an example of how things /should/ be. I am an avid SuSE user, and have been for years. SuSE comes with an outdated version of Firefox. Every time I update my copy of Firefox, I do so by downloading the new version from your site. When I install it, by default it installs into the location I downloaded the installer to! That is not what is expected, and further more, when I click my shortcuts later, I get the old crusty version still. I know how to fix this problem, but its a pain to do so every time I update, and I am a power user! You can't expect normal users to go through such a painful process. I am crossing my fingers that the new update system in Firefox 1.5 will solve the pain of updating Firefox in Linux. :)
I second Asa. Linux needs to address the issue of installatioin across several distros right now, or Linux on the desktop will not fly. Apple is doing this right: You double-click a disk image to open it, drag the program file to "applications" and there it is. There are still companies that require stupid installers, but they are rare. Linux should have a similar system.
"When Regular People read about the latest update to a piece of their software, they should be able to get it, right then, and from the vendor that created that software."
Well, when I read about the latest FF or TB release, just like 1.0.4, I visit Mozilla's page and... there are no localized builds! The l10n groups build them already, but they are not officially released.
Sorry, that's what your sentence reminds me of! ^^
I think the Linux way of installing has pros and cons. When you want to install some special software, it can be a pain. But with common software, it's nice! But I don't know why FC4 downloaded a 18MB package to update FF 1.0.4 to 1.0.6 (German)...
"Many Linux distributions ship Evolution as the default installed email application and a user who happened to read a positive article about Thunderbird would find herself at the Mozilla website looking over the Thunderbird feature set and reviews. She should be able to download Thunderbird right there and have it just work."
Let's face it, by "many", you mean Novell SuSE linux, Novell also owns ximian, so why shouldn't their evolution email client be default?
If there was a Mozilla linux, Firefox would be default. Outlook express is default on Windows.
All a user has to do is go into YaST and type thunderbird in the searchbox and click install. It's as easy as that. If they want the latest version they can then get it in the autoupdate.
Messing up the RPM system and the systems like YaST, urpmi, yum, up2date, and the new redcarpet system is dumb. Do you even know what redcarpet does?
I bet you don't. It lets you subscribe to software "feeds" like podcasts and download and install RPM'd software from different "feeds".
Has Asa ever tried or used the Red Carpet GUI?
I doubt it because that pretty much addresses his complaints.
It doesn't address them the windows way, it addresses them the linux way. Red Carpet respects the RPM system and does not damage the system by hiding installed software from the RPM database which needs to know to keep users from uninstalling dependant software.
As for the API, api is just another name for function libraries. Linux is the kernel only. Past that anything goes on linux. There is the LSB for compatibility, but mostly it's a pot-pourri, and it's fine that way.
I get the impression you want to turn linux into windows with windows solutions for linux where they don't fit just so you have a platform to compete with windows.
There's your wakeup call, Linux isn't going to be able to compete with windows that way. xcomposition in X doesn't even come close to that. Yet anyway. Once Vista is out there will be a whole lot of catching up to do, and it won't be for software installation management.
There is looking glass with the nice sandboxed java implementation and consistent API across versions. Make a Mozilla 3d browser for that.
There is Novell's mono and monodevelop which will standardize API on Gnome and linux with it's sandboxing.
Make a .NET managed Firefox with GTK# and monodevelop and I assure you, you'll only have to redistribute the .exe file.(as long as people have mono/GTK# installed)
The point is, Microsoft is about to flash and wow people into not using linux for another 5-7 years or so and it has absolutely nothing to do with ease of use or package management.
Linux devs have better things to work on. Luminocity, gDesklets, xcomp X extensions stuff, lookingglass3d, mono ect...
I installed the latest monodevelop 0.7 with Redcarpet the other day and it now supports VB.NET. As amazing as that is. You can compile just like on windows, and distribute your single .EXE file. Just like your dream blog post here.
So why don't you give Novell some credit. I just did. It sounds like they've developed exactly what you want.
For me, this is the biggest Linux problem. A few months ago, I installed Ubuntu on a virtual pc, and tried to get MonoDevelop working (I am a .net developer).
The repository of the distro did not contain the latest version of Mono (which I wanted), so I started reading and sniffing around, to get what I wanted. Regular people (non-techies) stop right here, they won't start reading faq's or wiki's to find out how they must get their favorite software package installed...
I tried Linux several times, but I always fall back to Windows for some reason, Asa exactly describes all the reasons why I go back to Windows.
i'm sorry, but skype and yes, firefox, are the proof that there is an intermediary between package manager and build from source.
plus, i find it ironical, to say the least, to hear one firefox person giving lessons about backcompatilibity. firefox extensions anyone? 1.0.5 anyone? *cough*
in firefox, extensions are breaking with each release, it's a fact.
I'll be the first to admit that Red Carpet only effectively works super well on SuSE9.3, the latest SuSE release. That will hopefully change in the future.
If you go to some place like go-mono.org, they'll roll out the red carpet for SuSE9.3 and still have old instructions and packages for Fedora Core 3, where most people have switched to FC4.
So for those occasions, there are 3rd party repositories.
Dag used to have the monodevelop and mono packages up to monodevelop 0.5
But now it would seem nrpms has them.
So if you are running FC4 you can go here
and do this command, you will need gecko-sharp2, so the mono only repo will no do.
rpm -ivh http://repo.nrpms.net/nrpms-release/1/RPMS/nrpms-release-1-5.1.fc4.nr.noarch.rpm
Like so, then
yum update monodevelop
yum install monodevelop
and you should be in business with the recent 0.7-1 build, which is almost the latest build. I have 0.7-2 on my SuSE install managed with redcarpet, but there is very little difference.
So for FC4 and SuSE, there really isn't that much of a problem. Red Carpet is really nice, but really only works with SuSE as I've experienced. As for Mandriva I haven't tried to do mono development on there yet, so I don't know what they have for RPM's. I know they have the extra PLF, the penguin liberation front repo, which has wishlist extras.
[quote]in firefox, extensions are breaking with each release, it's a fact.[/quote]Using 35 extensions and have upgraded from 1.0 to 1.02, then 1.0.3, then 1.04 and then 1.06 and NONE of them has broken.Funny..
tombik: with so many extensions you never got an extension disabled because of wrong firefox version after an upgrade? personnally i lost "Translate" which doesn't seem to be maintained anymore because they broke compatibility.
just today i got a friend saying he tried to upgrade tabbrowser and the result was a browser without tabs at all, completely broken.
see maxVersion. Firefox doesn't guarantee compat between 1.0 1.1 etc versions. so if i was involved in firefox, i wouldn't go and shrug off other projects on compat.
@tombik: in 1.0.5, there was an unintentional API change - which was fixed in 1.0.6.
Before 1.0, there were many changes to the extensions system, as far as I remember. Perhaps many people have that in mind...
I don't know if it's good to always compare FF to something - now it's Linux. That will never be a good discussion, because everyone defends "his" product...
Exactly. Agreed 100%.
I can think of at least three programs that I can't find in Ubuntu's repository: NetBeans, Skype, and the Java 5.0 runtime library. Installing them manually is a pain. For Skype, I could at least download a Debian .deb package and was able to figure out that I needed to use "dpkg --install package.deb", but I was appearantly lacking a library called qt-something and had to install that manually.
While we're at it, you should probably writing an article of how unneccesary it is to offer both Gnome and KDE. It's just annoying when some of your programs look and behave like bloated Windows programs and some look like overly simplified Mac programs.
This is the tough one. I think both sides have merit.
The package manager situation in Linux is great if you want your computer to Just Work. It's a one-stop-shop for software, the Linux equivalent of download.com!
I would argue that you overestimate the abilities of a large portion of the Real People, e.g. my grandfather. They don't want Outlook or Thunderbird or Evolution, they want email and less spam. They don't want Internet Explorer or Firefox or Safari, they want teh internets with less pop-ups.
So, for this body of Real People, who don't know or care about things like security, I would say package management with automatic security updates for ALL their software is an improvement. They may not get the latest version right now, but they will eventually and that's better than languishing on an old, insecure version because they don't know any better.
Yes, for the more techno-savvy Real People, e.g. my father, this situation can be frustrating. Yes, providing backwards compatability libraries for a reasonable period of time should be done by distributions. Encouraging software vendors of all types should be done, if the overall goal is wider adoption of Linux on the desktop.
@Andrew: well, my grandfather often gets software on a CD from his meetings with other computer-enthusiastic senior citizens. He has no problem installing it on Windows. From time to time I have to clean some mess up, but he gets along.
Right now, I'm trying to imagine what would happen if all of them used Linux... and different distributions. That would be a real mess at their meeting :) Imagine some guys with basic but no real understanding of computers discussing about problems on different Linux distributions ^^
Is there a danger from having so many distributions, so that regular people have problems getting support (from their relatives and friends)?
Is it possible and does anyone really want that all distributions behave the same way???
re: backwards compatibility and "windows versions since 98SE"
the goal of having linux on the desktop is just not achieveable whilst striving for backwards (read un*x) compatibility, nor should it be neccesary. Linux has very strong points but it's like a juggernaught, great for carting goods around the motorways but not what i need to take my family to the swimming pool on a saturday afternoon. this is what "linux for the desktop" is trying to do, take something and turn it into something else that it really isnt and could never be.
basically it needs to be a lot easier to reverse into tight spaces. which will require removing that large trailer. making it lower so you dont have to climb ladders to get in and making it more fuel efficient by cutting down the engine size and making the chassis more aerodynamic. sure if you tried to move house using it it'd take a lot of trips and you'd never get away with strapping the sofa to the roof, but at least you can fit it in the garage.
of course now it stops being linux, no more editing config files (unless you really want to) no more x server (one computer one desktop) no more complex and confusing filesystem (appfolders? perhaps) no more having to set up root accounts, permissions and chopping and changing betwix them just to install a service. that's right, it's not linux anymore, not linux as we know it. it will be truly "linux desktop". but wait, i'm not suggesting we butcher linux itself, it can contnue to exist as "linux server". so if you want to set up an office farm with virtual desktops you can use your x terminals, just use "linux server" to do it. and savvy vendors will do both so the "linux server" workspace looks and feels like the "linux desktop" one to normal people (who just want to check emails, write letters and install crap)
linux as it exists can not be chopped, hacked and squashed into the desktop, it just can't. gobolinux (http://www.gobolinux.org/) is trying to do this and they may have some success (i personally find this distro very tasty and will be having a go at using it when i build my server in a month or so). but a desktop linux needs to be to current linux what 98SE is to DOS 6.4, but done properly
"Regular People do not want to get all of their software from a single source -- their distribution. They appreciate finding and downloading new gems, from around the web."
I don't really buy that.
If Windows users could find everything they possibly wanted through Windows Update, I'm sure they'd use it. This isn't necessarily saying that they don't find out about the software from looking online - just that all the downloading / upgrading it handled through one place.
Personally, I'd love it if I could type one command or click one button in Windows, and have *ALL* of my software updated the way yum / up2date handles things.
That way, I wouldn't have to subscribe to ~15 RSS feeds just to check if all my software is current.
Just a thought.
I once asked how to install software on a linux-forum, the immediate responses were "why you need it? use the alternative from apt-get, all the software you need is right there". Why teh *beep* would they decide what software I need?
Also, why assume I want to update all my software? Last I installed was Ubuntu, and the update-check returned about 50 updates on a vanilla installation, approx 400 meg download. What the *beep* again? So, okay, I wanted to update only Firefox, I don't need the rest. No way! All checkboxes are on by default, but I only want one. Do I have to uncheck 49 all others? It's not like Gnome responds fast. Anyway, I actually prefer Windows Update.
Linux-devs should stop assuming.
This is a double-edged sword. You could have users go to Mozilla.org to get the latest firefox, but distributions actually do a better job with firefox than Mozilla does.
For example, having your firefox from your distro means that it's integrated into the software update system - you update your OS; not each individual package. I've switched so many people to firefox, but no-one notices the big red arrow in the corner - no-one updates it. On the other hand, my gf's ubuntu system gets security updates regularly, so her firefox is always up-to-date.
That's not to say that you shouldn't be able to install software from people other than your distro; just that it doesn't matter so much. The distro should be the primary source - they can deliver the better product. They can do that via a single tool, and make sure that it doesn't conflict with other software. This is a benefit of free software, not a drawback.
Opera provide .rpm's and .deb's and other binary packages for many distributions, as well as a generic platform-inspecific, distribution-inspecific .rpm
I'm sorry, but the command "sudo yum install thunderbird" in Fedora Core is a lot easier than browsing to mozilla.org in Windows, downloading the installer, running it, closing all applications, agree to licenses, selecting components, install location, shortcuts etc. I just want to check my mail.
All of this is based on the assumption that Linux was intended for Regular People. It isn't. OS X fills that gap.
I agree 100% with Asa, which is funny because I often disagree with what he says :) Actually, I was about to publish a similar post on my blog after one month using Ubuntu dayly because my windows laptop was being repaired.
So here is my personal experience :
1 Sound drivers : My mobo had an integrated sound card, I also tried 3 different PCI sound cards. None of them was supported correctly. After lots of research, script editing, recompiling, I discovered that when a chipset" is written "supported" in the compatibility list (all distros), it just means that somenone succeeded in playing a wav file, not that it was *really fully* supported, more precisely, in the compatibility lists they apparentely never check recording, only playing (which is a bit of a problem when you want to use this card for skype). I don't even talk about the configuration chaos between OSS, AlSA, ESD... Never seen anything more complicated, I have currently reading a book about OO programming and it is FAAAAR more easy to understand than setting up a sound card in linux...
2 multiboot. Apparently, linux distros expect me to just relegate windows on a small partition and forget about it. I did something which is apparently folly, I installed Ubuntu on it's own hard disk on IDE1 and I have windows on IDE2. Apparently, it is impossible for GRUB to conceive that I didn't put windows on a separate partition... So far, the only way I succeded in swithching the boot OS is to change my boot disk in the BIOS !!! BTW, while Windows has no problem whatsoever being on IDE0 or IDE1, don't even think of pluging your linux drive onto IDE1 if you were connected to IDE0 when you installed it, it will simply insult you with kernel pacnic...
3 reading FAT/NTFS : it just sucks, as soon as a file or directory has an accent in it, it refuses to correctly read it.
4 software installing : synaptics sucks, apt-get sucks, 5 different ways to install a software is stupid. I have already found about 20 programs I wanted to try that aren't in any repository and are just PITA to install. A couple of times I installed sofware from synaptic and I don't even have an icon somewhere neither the name of the binary to launch it from the terminal, nothing. I know the little software is installed on my system but where??? Ok, let's just uninstall it from synaptics...
So, what do I do next ? I'll try a couple more days to setup multibooting, because despite the fact that ubuntu "just works" for the end user is plain and simple wishful thinking, I do like this system and I hope that it will continue to improve (the improvement in UI between warty and hoary was significant enough to leave me some hope), but when I am on Ubuntu I spend my time in the terminal trying to install, setup or fix things that should just work and I need my computer to do useful things for me. I am afraid that if I can't make it understand that there is a Windows system on drive 2 where all my useful data is, I will just put drive 2 as default boot drive in BIOS and slowly forget about the linux on drive 1...
ant, it's not an assumption, it's a wish.
Beer, there are many other distros than Novell that use Evolution as its mail client. Ubuntu does, and the last time I checked, Fedora Core did too.
I think some of you are misunderstanding Asa in believing he wants to get rid of distro-based package managers. That's not what he said. It's just that there are *many* applications that are not even included in the distro's package manager and it should be as easy as double-clicking an installer icon to get those applications as well. As it stands today, if you want to install software from outside the package manager, you're on your own. In Windows, you have the Add or Remove Programs applet in the Control Panel, which allows you to easily remove software you installed on your own. In Linux, you just don't uninstall software you installed manually, other than perhaps remove the obvious folders that were created.
It just struck me that Asa is Alice and the rest of these Linux people are the inhabitants of Wonderland. The white rabbit, queen of hearts, the dodo, the smug cat. They're all here.
Linux as a vibrant net counterculture is alive and well. But really people, mass commercial success on desktops? You're fighting over whether or not it's ok to require syntax fluency to install anything. The real questions of how to make Madden 2006 work and get proprietary vendors on board seem a million miles away.
I suppport open source and I like Linux for boxes I don't play games on. Linux clusters actually saved my whole dept. b/c we were able upgrade despite not having the capital to stay with Sun. But the fact you're even debating half this crap is a prime example of why you never let the engineers talk to the clients.
Linux isn't going to beat or compete with Windows in any form vaugely recognizable to those reading this today. I doubt it ever will. Then again I keep predicting apple is about to die so wtf do I know.
When you say "regular user" you mean "Asa". Regular users don't like going to download.com and search for stuff, they tolerate that.
The best way to insall software is to fire synaptic, choose from the hundreds you have and click install.
If you use apt-rpm and synaptic on Fedora you would know you don't need to hunt random installers form random websites. You just add fedora-extras, freshrpms, etc and you have every posible software you might need plus tested and verified.
If you use ubuntu, you have the whole thing managed and supported. 1000's or apps, without doing anything special, just open synaptic.
That is really simple, really transparent and more convenient than anything else I've never seen including all you just said.
"The best way to insall software is to fire synaptic, choose from the hundreds you have and click install."
That's the base of the problem with synaptics, users don't want to have access to the "hundreds" in synaptics, they want to have access to the "tens of thousands" (if not more) in the outside world.
Asa, you say "Regular People do not want to get all of their software from a single source -- their distribution." But I can't help thinking that what real "Regular People" want is actually for it just to be *easy to find and install software*. I've never heard someone complain yet that Linux sucks because they didn't have to go trawling through half the Net to find a package.
As for people wanting to download from a website and install, well, I'll admit that it's a different mindset. On Windows, a lot is expected of users: they have to go find the software themselves, they have to find all its dependencies and update drivers, ActiveX, etc. when necessary, and then they have to walk through the InstallShield. Effectively, the Windows mindset is "I have to install this software". On Linux, by comparison, the mindset is "I can tell the system to install this software for me"; you just select the package in your GUI package manager and click 'install', and the system finds the software and all its dependencies, and installs it for you. Sure, it takes a little getting used to, but so does anything different.
And Eddie: I won't tell you how to fix it. I'll tell you to use the right tool for the job, and stop spreading FUD.
Look at how nrpms does it for fedora core. If Firefox had an url launcher extension to pam to root, then install rpms with yum info, then this problem would be over.
nrpms has rpms that install it's yum config directly into the yum dir
from the rpm.
All firefox would have to do is handle say
url extensions, then dag, freshrpms, nrpms, dries, whathave you would just have to provide something like
where firefox would pam to root, and install the rpm containing the yum files for that repository. From there, users could simply use yum to install the software in that new repo.
Adobe makes linux software now?
No problem, just make a link
now you can yum all the adobe software with the safety net of rpm. All with a few clicks.
There could be different url handlers for different distros
All <a href="rpm-x:example.com/rpmconf.rpm"> clickable urls that auto install the configuration files to add a new rpm source.
There could be one for red carpet too!!
Now adobe, macromedia, and other software vendors can make simple links for people to add their repositories in THE RIGHT WAY.
Wow, a little non-windows thought goes a long way doesn't it?
some of you are probably thinking, beer, you dummy, why not just provide a url handler to suid to 0 and install the RPM or package directly from firefox????
Well, I'm not the dummy, because the dependancies for that package will most likely always be in the same repository, which means that you need availability to all packages in that repository AT THE SAME TIME to resolve dependancies.
So you add the repository only via the url handler, then the person can go into their native install app, whether it be yum, YaST, or urpmi with mandriva, or whatever other system the package: url handler added source files to, and you install the software from there, SAFELY, where it can check the dependancies and fill them with other packages from the same repository you just added.
Although I like using ubuntu, I agree that the first thing I had to learn when switching to linux is installing programs. It is not easy when it's not in synaptic.
On the other hand, as soon as Asa mentioned download.com, I remembered why I don't want to go back to Winows. How many programs on download.com are any good, really?
Improvement can be made, but in any event, I prefer Linux already.
I agree with Asa. The core OS and the typical GNULinuxy apps (like emacs, various interpreters and compilers, and everything that has a command line UI..) is suitable for downloading from the debian repositories.
But when it comes to user-level apps, like Thunderbird, Reggie User would want to be able to download from the ww.wherever.
I think the klik team (http://klik.atekon.de/) is on to something. Reggie User wants to be able to download stuff easily and quickly as a *bundle* (one file containing pretty much all the dependencies) -- Macintosh style.
Reggie User also wants to be able to quickly *erase* that crappy newly installed application (say Opera ;-) ) as well -- including all libs and such that came with it.
Ok, I just swapped "Hugo" for "Reggie User", but still.
There are a number of issues with that klik-think, two of which are "bloat?" and "how-do-I-make-my-own-bundle-from-arbitrary-rpm-if-there-is-no-ready-made-bundle-in-klik-repository? -- but it sure is promising -- go check it out!
> now you are going to try and tell me that all of those benefits are out weighed by the inability to find a few obscure packages online?
You are the one who appears completely clueless as to the needs of ordinary users.
Take SuSE Linux as an example. We'll do the 9.2 version, just because that's the one I'm on right now and you cannot expect regular users to update their core distribution (i.e. reinstall) every 6 months (heck, even Windows doesn't require that anymore). One of the CORE things a regular user needs is, unfortunately, access to the MSN Messenger world. Goodie, there's an instant messaging client installed which purports to be able to do just that: Kopete (what a lousy name, btw). It's part of KDE, so this will be the same for every KDE 3.3 (and older) based distribution out there. And that's pretty much all of them.
Unfortunately, Kopete doesn't work with MSN. Seems Microsoft changed something at some point and it just doesn't work with Kopete anymore. Oh, not a problem, the KDE/Kopete website says that it was fixed over 2 months ago!
Well, unfortunately Distributions are notoriously slow in getting patches out (one of the things pointed out by Asa) and even with a fundamental issue like this on one of the CORE components of KDE, there is nothing available from SuSE. Oh, and when it does become available, you won't find it by searching for "kopete", no, it'll be embedded in the KDE update, so the user won't have a clue without reading pages of update information. Not likely to happen.
The problem (well, a major problem) with Linux, exactly as Asa pointed out, is the difficulty of installing software outside of the distribution's update method (YaST, in the case of SuSE). In this case, the Kopete package is available for download via their web site (www.kopete.org), but as a SOURCE ONLY TARBALL.
Which, btw, fails to compile even when all the relevant dependencies are fullfilled (seems there's a problem with some characters or names in the french and dutch localization parts). Even disregarding that this hasn't been fixed (and their forums are offline), the fundamental problem here is that Linux doesn't enable software makers to distribute a single binary that will work for all distributions. If that were possible, there would be no issue here.
The Distis need to wake up and smell the coffee on several fronts, application installation being at the forefront. There is a window of opportunity for Linux, but there's every chance that it will close shut at some later date (and MS is testing all sorts of mechanisms for this) if a much larger market share is not reached.
"Unfortunately, Kopete doesn't work with MSN. Seems Microsoft changed something at some point and it just doesn't work with Kopete anymore. Oh, not a problem, the KDE/Kopete website says that it was fixed over 2 months ago!"
Hi there, go into YaST2, type "gaim", in the search box for add/remove software or from the udpates, and check the box and click install.
That should take care of that problem. I'm using SuSE9.3 with gaim and no probs with MSN.
I suppose somebody's going to complain that you can't preview gaim download.com style. That's actually also wrong.
gnomefiles.org will get you previews of all sorts of packages before you install them download.com style, and it also includes commercial software like nero for linux.
BTW, if you are not into the command linux smart and smart-gui are VERY good package managers to have. They are the redcarpet of Fedora Core.
You can pick up smart and smart-gui here if you don't have dries enabled in your /etc/yum.repos.d
smart basically does the same type of thing as redcarpet, except the redcarpet client for suse is more feed oriented like podcasts for software.
"go into YaST2, type "gaim", in the search box for add/remove software or from the udpates, and check the box and click install."
I actually did just that, but this solution requires that you KNOW what software is available. The casual user has no way of doing this.
It just underlines the fundamental problem of distro-exclusivity: Distros don't know the needs of individuals, don't react quickly to problems (even in core use areas), don't allow the user to "experiment" or be on the forefront of development. The ironic thing is, if Windows were limited in this fashion, Firefox would never have been a hit!
The really sad thing is that Linux is so much better than Windows in this respect. It would be (almost) trivial to implement an easy-to-use "TEST-AN-APP" function, where users could SAFELY test downloaded software (add a new user and chroot - behind a nice GUI). Even Windows Vista with its improvements in user and permissions handling is likely to be way behind what Linux has right now (and has had for years).
"I actually did just that, but this solution requires that you KNOW what software is available. The casual user has no way of doing this."
I assume you do some coding, or at least can do some xml code. I suggest you write up a firefox extension that acts like a macro and replaces "download.com" in the address bar of firefox with "gnomefiles.org" everytime the user tries to type in "download.com", this way the confuzzeled windows user will be automatically forwarded to a download.com-like site where they can preview and browse software before installing it with yum or YaST2.
I want to clear something up about an earlier post I made now
if you installed the nrpms yum config file rpm,
UNINSTALL IT NOW.
if you only install monodevelop, like this
yum install monodevelop
Then that's fine, but do not yum update your system with that config. They compiled a special version of metacity and gnome with translucency hard coded into the gnome packages.
They also did it wrong, and it works very badly. So yes, grab monodevelop, then disable that repository at all costs, because if you update and it installs those gnome rpm's, it will be a disaster.
I thought I should warn people.
rpm -e nrpms-release-1-5.1.fc4.nr
immediately if you used it to get the monodevelop packages.
DAG used to have monodevelop, but it's not there anymore. :(
So for SuSE9X users it's easy because we have red carpet. Fedora users are not as lucky. And go-mono.org didn't even update for FC4.
@Beer Make a .NET managed Firefox with GTK# and monodevelop
Use .NET? .NOT Likely, I'd take a light, simple, standards based framework like XUL and XPCOM any day.
Neil, I'm sorry, what were you saying?
IDL based frameworks like COM and XPCOM are hard to implement and unpleasant to work with. I did plenty of IDL stuff over the late 90's. It was harsh.
XUL seems ok, like an open counterpart to XAML, but I think it will be harder to make applications where you have to go under the hood with XUL.
Mozilla stuff is heavily based on libc and xlib directly. That's why their applications don't look like gnome or kde apps.
[beer@localhost ~]$ ps -A | grep thunderbird
16274 ? 00:00:00 thunderbird
16313 ? 00:00:03 thunderbird-bin
[beer@localhost ~]$ cat /proc/16313/maps | egrep 'x11|X11|pthread|libc' | head -n33
00150000-0015e000 r-xp 00000000 fd:00 2687032 /lib/libpthread-2.3.5.so
0015e000-0015f000 r-xp 0000d000 fd:00 2687032 /lib/libpthread-2.3.5.so
0015f000-00160000 rwxp 0000e000 fd:00 2687032 /lib/libpthread-2.3.5.so
00162000-00164000 r-xp 00000000 fd:00 3243309 /usr/X11R6/lib/libXinerama.so.1.0
00164000-00165000 rwxp 00001000 fd:00 3243309 /usr/X11R6/lib/libXinerama.so.1.0
00165000-00177000 r-xp 00000000 fd:00 3243290 /usr/X11R6/lib/libXft.so.2.1.2
00177000-00178000 rwxp 00012000 fd:00 3243290 /usr/X11R6/lib/libXft.so.2.1.2
001e0000-001e4000 r-xp 00000000 fd:00 3243271 /usr/X11R6/lib/libXfixes.so.3.0
001e4000-001e5000 rwxp 00003000 fd:00 3243271 /usr/X11R6/lib/libXfixes.so.3.0
0032c000-00335000 r-xp 00000000 fd:00 3239590 /usr/X11R6/lib/libXcursor.so.1.0.2
00335000-00336000 rwxp 00008000 fd:00 3239590 /usr/X11R6/lib/libXcursor.so.1.0.2
00336000-00337000 r-xp 00000000 fd:00 3295725 /usr/X11R6/lib/X11/locale/lib/common/xlcUTF8Load.so.2
00337000-00338000 rwxp 00000000 fd:00 3295725 /usr/X11R6/lib/X11/locale/lib/common/xlcUTF8Load.so.2
00344000-0034b000 r-xp 00000000 fd:00 3243318 /usr/X11R6/lib/libXrender.so.1.2.2
0034b000-0034c000 rwxp 00007000 fd:00 3243318 /usr/X11R6/lib/libXrender.so.1.2.2
0034c000-0035a000 r-xp 00000000 fd:00 3232705 /usr/X11R6/lib/libXext.so.6.4
0035a000-0035b000 rwxp 0000e000 fd:00 3232705 /usr/X11R6/lib/libXext.so.6.4
003b2000-003ba000 r-xp 00000000 fd:00 3237450 /usr/X11R6/lib/libSM.so.6.0
003ba000-003bb000 rwxp 00007000 fd:00 3237450 /usr/X11R6/lib/libSM.so.6.0
003d8000-006a4000 r-xp 00000000 fd:00 3232499 /usr/lib/libgtk-x11-2.0.so.0.600.7
006a4000-006cb000 rwxp 002cc000 fd:00 3232499 /usr/lib/libgtk-x11-2.0.so.0.600.7
006ce000-0079e000 r-xp 00000000 fd:00 3242873 /usr/X11R6/lib/libX11.so.6.2
0079e000-007a2000 rwxp 000cf000 fd:00 3242873 /usr/X11R6/lib/libX11.so.6.2
0091e000-0093f000 r-xp 00000000 fd:00 3327525 /usr/lib/thunderbird-1.0.6/components/libcaps.so
0093f000-00940000 rwxp 00021000 fd:00 3327525 /usr/lib/thunderbird-1.0.6/components/libcaps.so
00942000-00945000 r-xp 00000000 fd:00 3243316 /usr/X11R6/lib/libXrandr.so.2.0
00945000-00946000 rwxp 00002000 fd:00 3243316 /usr/X11R6/lib/libXrandr.so.2.0
0097b000-009cc000 r-xp 00000000 fd:00 3243326 /usr/X11R6/lib/libXt.so.6.0
009cc000-009cf000 rwxp 00051000 fd:00 3243326 /usr/X11R6/lib/libXt.so.6.0
00a02000-00a04000 r-xp 00000000 fd:00 2687238 /lib/libcom_err.so.2.1
00a04000-00a05000 rwxp 00001000 fd:00 2687238 /lib/libcom_err.so.2.1
00a05000-00a81000 r-xp 00000000 fd:00 3232556 /usr/lib/libgdk-x11-2.0.so.0.600.7
00a81000-00a88000 rwxp 0007c000 fd:00 3232556 /usr/lib/libgdk-x11-2.0.so.0.60
So by just looking at the memmap of something like thunderbird, what you folks in windows would do with depends.exe, except here you actually see it's virt mapping in the proc, you see the Mozilla's applications use libraries not typically abstracted through interface exposed by XUL and other "funtime" toolkits.
Mono would be especially helpful here because alot of the low level libraries are actually exposed through the mono API, like dbus, messages, IPC, ect...
I'm not postitive if there is an Xlib interface done yet, but there's no reason you couldn't easily make one. I know there is one for Glib, GDK, pango, and Gtk, all of which you see that Mozilla Thunderbird loads into it's process for use by the .text code segment of the program.
Linux is not for the Desktop..Windows/MAC OS X is!
Windows is not for the server..Linux/UNIX/BSD/Solaris is!
@Beer Neil, I'm sorry, what were you saying?
I am aware that the CLI is an ISO spec. But that still doesn't provide me with an open end to end (from threading and sockets to UI) cross platform framework that XPCOM and XUL does.
@Beer IDL based frameworks like COM and XPCOM are hard to implement
XPCOM is dead simple to implement particularly via XPConnect, there's nothing hard about it at all.
As for what it implements under the hood - who cares, I can sit down and write cross platform multi-thread apps with ECMA and an XML front end styled by CSS - that's the power of simplicity and technology reuse.
As I understand it, once Mozilla implements Cairo then native widgets will be more accessable. Not that I think that that matters, as full CSS control is far too powerful. We're working on deploying CSS based application policies thanks to Mozilla. AFAIK this is way beyond anything .NET can provide.
I've seen the light and it's beautiful baby
Sorry guys, but I'm a normal user, no real tech experience other than fixing a few viruses with a virus program...
I tried Ubuntu, thought it was great.
I went to install one thing, one simple thing: Flash.
I had to download so many files that the computer told me would make Flash work, and in the end it didn't. To this day my Linux machine has no Flash.
However here I am on a Windows box. I need Flash. I go and download it and I FOLLOW THE INSTRUCTIONS! You techies need to get this through your heads not everyone has the time or energy to learn this stuff! Windows and Mac has it right, EASIER IS BETTER. Windows makes it a little longwinded, I'll admit, BUT THEY MAKE IT EASY! ALL I HAVE TO DO IS READ A LITTLE AND CLICK! NO COMPLEX APT-GET OR SYNAPTIC CRAP! In Mac, ALL I HAVE TO DO IS OPEN A DISC IMAGE AND DROP IN INTO THE PROGRAM FILES!
But then, alas, I go into wonderful Linux, and I have to download not just one nice install file or image, but dozens of libraries, updates, "kernels" (whatever the hell that is) and god knows what else just to get a simple program working.
The average user does not want to take time to do something, and installing on Linux, no matter how foolproof you claim it to be takes tons of time and is utterly outdated.
Suppose I release a complex new graphics program tommorow and begin marketing it to Linux users, chances are it won't be included in one of your treasured "Apt-Get" programs for months.
Sorry folks, but the Linux dev community needs to realize that what may seem to be the smarter solution is not the best solution. Windows and Macintosh have it right, the average user wants simplicity and choices from everything; not just a small chosen part of the web.
Get it right next time.
What distro is so easy it lets you install NVidia commercial drivers, Adobe Acrobat(acroread), flash, and various other commercial applications from it's control panel?
There are 2 actually, but mandriva will only let you if you have access to the commercial repository.
The answer is SuSE linux. I went out and bought 9.3 and it installed flash, and acrobat by default. Instead of installing the NVidiad drivers with the normal nvidia.com .bin installer, it lets you install it from YaST with a shell script that goes and downloads the driver from nvidia and installs it automatically, and reconfigures your xorg.conf automatically.
I purchased SuSE 9.3 at the store, and got the dvd's, cd's and user and admin manuals, which despite what some jealous people might say, ARE NOT JUNK. They actually have tons of useful information about SuSE linux and administration.
Ubuntu has been hyped alot, but if I had to pick a linux distribution for grandma, it would be SuSE 9.3, and I'd buy it so she'd get the 2 helpful manuals in case she got lost. Even microsoft does not provide that. Microsoft also does not provide direct support for purchasers via the control panel.
In YaST2, if you have purchased the product and have a support key, which I do, you can post a direct support query within the control center.
I also love the Xen support, and the beagle support and everything they've put into 9.3 and I will definately be upgrading to 10 when that is released.
I also still love Fedora core, and run it on 2 machines, but it's not something I'd give a newbie to use.
I agree that installations should be a lot easier. For the first few months when I started using Linux I was wishing for that install.exe.
However, I think that two important things have been touched upon in the comments. First of all, perhaps Linux is not meant to be for the desktop user. Perhaps, it won't topple MS. Could it be that Windows will be for those who want an easy to use OS, Linux for moderate-skills to advanced skills (depending on the distro), and Macintoshes for Audio/Video producers? Does one always have to be the winner? I don't see what it has to be that way.
Second, using yum I've never had a problem installing anything. Firefox, Thunderbird, even Flash support for my browser. It was all as simple as
to see what was available and
yum install x
yum update x
and yum took care of everything for me. If I found an rpm somewhere (eg Skype) and it didn't install because of "RPM dependency hell" I just saw which libraries it needed and installed those via yum.
Could it be easier? Heck yeah! Is it really as hard as people say? no. It's all a matter of doing things differently, some people are just xenophobes who can only do things the way they have always done them.
Why Ubuntu? I use StartCom Linux, which is kind of RedHat clone, but better. I have both the old version and the new one and downloaded Firefox for Linux, opened it with Fileroller (like Winzip), and run the installer...
On both Systems it worked without any problem, strait from FF's website...so about what are you whining all the time? Same with skype, got version for Fedora 3 and it's running without a glitch....maybe you need the right Linux Distro for the desktop?
I have been playing around with SuSE 9.3 on a VMWare virtual machine and while I'm impressed with it relative to what I've seen and heard of Linux (admittedly very little), it leaves much to be desired. I will give you the example of two small issues which totally and utterly wasted my time.
1) For some reason, the symbolic link to the hard drive stopped working. It became unrecognized by the system. I'm not sure why or how. This is fundamentally equivalent to the link to the C drive in "Windows Explorer" ceasing to function.
2) In an attempt to update Firefox by downloading a newer release, I had no clue where to install it or where the shortcut for it ended up. All I know is that whenever I ran Firefox it was still the old version. I wasted hours going between the root account and my user account trying to sort it out, but to no avail. I subsequently attempted to update Firefox from the YaST console, but I don't think that worked either. Maybe the newer version was not available or something.
Honestly, Beer, even as a user somewhat more experienced than a Regular Person, when I hear "shell script" or anything remotely like it, it totally turns me off. What is nrpms, a variable name? Where the heck is the "Program Files" equivalent? When I install a new application, where does the shortcut go? Coming from Windows, how can I add a shorcut to the GNOME start menu? Trying SuSE 9.3 for the first time I felt totally lost in being introduced to the Linux paradigm. For all the talk in these comments of the Linux way vs. the Windows way, I have to say as a user I don't really care... the fact of the matter is I AM coming from Windows, and I want things to at least RESEMBLE Windows. Until Linux looks as flipping cool as Mac OSX and is accompanied by multi-million dollar media campaigns to win the masses over, Linux needs to bend to my will. Until then, I'm perfectly fine with Windows.
Don't get me wrong, I *want* to use Linux, but what I need from the operating system is the understanding that I am coming from the Windows world.
Here's what I want as a user:
* Hold-my-hand type of babying (that I can disable once I get used to the Linux paradigm)
* Application names that tell me what they do. "nrpms" and "YaST" make no sense next to "Windows Update"
* A slick Mac OSX type interface, because I want my O/S to look supremely cool
* Mounts with names that make sense. I don't know what an "opt" or a "var" is or what goes where
* Don't tell me or make me feel like I'm dumb or stupid. My time is more valuable than you think and I have better things to do than sit around and figure things out for myself, or peruse 2 million pages on some forum somewhere, half of which are filled with command line or shell script solutions which look like an alien language to me.
This is my opinion as an above average computer user. Maybe some members of the Linux community think I'm wrong or I missing the point of Linux, but as a user I have certain expectations that you need to meet to win me over, and frankly, the elusive "desktop Linux" isn't quite there yet.
Funny how so many are comparing a Linux distro with Windows.
I was just trying to find the button on download.com to upgrade my entire Windows system. Well, I guess it's just me and my lack of knowledge. I couldn't find it, but it sure HAS to be there somewhere.. At least if you want to compare it to a Linux distro.
I even tried to ask windowsupdate to do the same. Hmmm... I guess I have to take another MSCE training course.
Later I fired up an old Debian system I installed sometime in the past century. Whoops, I must have done something wrong. It was updating itself, just like it has always done. And of course, it isn't the same old Debian version anymore, nore are all the other pieces of software...but it is still that old installation I once did.
As of the writing of this article, several major distributions aren't yet providing the latest release for Firefox (1.0.6)
Not quite. All the major Linux distros I know of have either packaged firefox 1.0.6 as an update or backported the patch into their existing version. The main reason that people say 'my Linux didn't update firefox' is that they don't understand that distros backport security patches. This is simply a case of being too used to the Windows way of doing things.
Otherwise you do have good point about needing a way to create one installer that works on all Linux distros, or at least all Linux distros that are aimed at the desktop. There will always be distros that due to their reason for existing simply do not need to become part of such as system, eg. Linux from Scratch where you build the system up from scratch yourself. However distros like this are really outside the scope of this discussion.
I once asked how to install software on a linux-forum, the immediate responses were "why you need it? use the alternative from apt-get, all the software you need is right there". Why teh *beep* would they decide what software I need?
The people on that forum pointed you to the easy way to install software, where many people (most volunteers) have spent time packaging software so its easy and simple to install. No one's trying to decide what software you need - just to make it easier to install software for everyone.
Also, why assume I want to update all my software? Last I installed was Ubuntu, and the update-check returned about 50 updates on a vanilla installation, approx 400 meg download. What the *beep* again? So, okay, I wanted to update only Firefox, I don't need the rest. No way! All checkboxes are on by default, but I only want one. Do I have to uncheck 49 all others? It's not like Gnome responds fast. Anyway, I actually prefer Windows Update.
So the fact that Linux packaging tools try to make it easy to maintain your distro (and protect you from security problems) is a bad thing? Oh poor thing you had to uncheck 49 tick-boxes just because you don't want to spend the time to keep your system up to date. Now tell me what happens when you go to Windows update and there's a 200MB service pack download waiting there for you? Or what if there's 25 updates, 20 for stuff u maybe don't use like .Net framework or Media player? Do you dummy spit then?
Linux-devs should stop assuming.
Stop assuming what?
of course now it stops being linux, no more editing config files (unless you really want to)
On a modern desktop distro you don't have to edit config files anymore, unless you're trying to turn it into a server
no more x server (one computer one desktop)
The X server functions just as well with 1 computer/1 desktop as with multiple. But of course there's always room for improvement so perhaps you'd like to point us to this fabulous drop-in replacement to X that's as well supported, well tested and as good as or better than it in every way?
no more complex and confusing filesystem (appfolders? perhaps)
Having all your personal files and settings in one folder is complex and confusing? The rest of the filesystem is managed by the packagemanagement sytem - normal users shouldn't have to look at it. Anyway have you looked at your Windows system lately - you can't tell me that dog's breakfast isn't 'complex and confusing'.
no more having to set up root accounts,
Right, because the administrator account on Windows isn't exactly the same thing? Windows doesn't ask you for a root (administrator) password on install does it? Oh wait it does..
permissions and chopping and changing betwix them just to install a service.
and Window's ACL-style permissions are so much simpler to understand and manipulate aren't they?
that's right, it's not linux anymore, not linux as we know it. it will be truly "linux desktop"
You're right, its Windows. You're obviously enough of a die hard fan of that to suggest that Linux should be just like it so why don't you just use that?
: no more complex and confusing filesystem (appfolders? perhaps)
The funny thing is, Windows is becoming more like Linux is this regard:
C:\Documents and Settings\USERNAME\
corresponds quite well with:
In fact, I think all that's needed in this regard (for Linux) is a bit of renaming of the directories. Doing that directly would be a bit of a pain, but links could remove the need to rename the directories - and could also help smoothe out the differences between distros.
:: no more having to set up root accounts,
: Right, because the administrator account on Windows isn't exactly the same thing? Windows doesn't ask you for a root (administrator) password on install does it? Oh wait it does..
Yeah, but Linux actually WORKS if you use a non-root account :-). In Windows, all accounts are root accounts (I don't think I know a single individual (non-corporate) using limited accounts on WinXP), so you never need to change to the root account to do something (like installing an app system wide, updating the system, etc).
Finally someone put his finger on it! I've been wanting to write this article for at least 3 yrs, thx for doing it. "Linux is freedom of choice"? Right. The freedom to choose out of the relatively few apps my distro chose to make available. I'm afraid here Windows offers more freedom of choice than Linux. By far.
And if you care for an anecdote with that: The other day a friend asked me to retrieve a supposedly lost session on a rewritable CDRW. Within one hour I had found, downloaded, flawlessly installed and tried out about 10 handy little different tools to access the lost data and finally found the perfect free one. Try that with YaST, Xandros repository or any other Linux distro.
Security? I got a firewall so the installed applications don't access the internet and I have a spyware cleaner + obviously an AV. System integrity? Once successfull, I uninstalled everything but the winning app., including removing the registry keys. That's sufficient security and integrity for me and I guess for 99% of the other normal users.
I would *love* to see this showstopper resolved. However, for me (though not a programmer) it sounds much more practical if the distros would "learn" to install from source. OK, it might be rather slow, but better than nothing. Problems are then the missing libraries etc. But wouldn't it be easier to make those system libs available (and automatically) downloadable than each and every handy little tool that someone might like?
Btw., the sheer amount of (mainly supportive) comments within 2 days speaks for itself: This really is a major showstopper.
You should have turned automatic updates on in YaST, when you install SuSE9.3 it asks you if you want to enabled automatic updating.
"Until Linux looks as flipping cool as Mac OSX and is accompanied by multi-million dollar media campaigns to win the masses over,"
Novell is a multimillion dollar company, and they've only scratched the surface with SuSE linux. They've hired Robert Love, Miguel de Icaza, and some of the most talented linux professionals today to supe up SuSE linux.
The stuff they're doing with Mono and managed Gnome interfaces is just beginning, Miguel is behind this stuff, and it WILL be the future of linux and Gnome.
You can get in now on the ground floor or you can stay with windows as it reaches the top floor, hit's the ceiling of the roof, and drops to certain MSFT death, worse than in 2000 when the .COM bubble hit.
You've hit it on the head perfectly for my liking, indeed the one thing holding me back from switching to Linux full time is the ability to easily install software, and I've actually got half an idea, whereas many dont. I won't pretent to understand the discuss in relation to the technical issues, but for all of Windozes faults, the ability to easily install software still remains on of its best selling points for the average user. If Linux can replicate the ease of installation found on Windozes onto the Linux desktop Linux could finally become a real desktop competitor.
Yea yea... I concur indeed. Love to use linux but don't have time for the headache. Until downloading and installation is standardize I must say I have to pass on... Sucks but let's be realistic.
flawlessly installed and tried out about 10 handy little different tools to access the lost data and finally found the perfect free one. Try that with YaST, Xandros repository or any other Linux distro
What like 'urpmi tool1 tool2 tool3 tool4 tool5...' or 'apt-get install tool1 tool2 tool3...', or the equivalent in whatever GUI you're using and then have it automatically install? Installs from repositories are much easier and quicker than downloading programs from websites and running through install wizards. Now if you'd said 'what if there were no packages for those 10 little tools for my distro?' your comment would have made more sense.
However, for me (though not a programmer) it sounds much more practical if the distros would "learn" to install from source. OK, it might be rather slow, but better than nothing.
This doesn't make a whole lot of sense either. Distros build programs from source then package the built files up for easy distribution and installation. The reason they can't just build a package management program that can just automatically install from vanilla (ie. unmodified) source is that same reason we have to have package management in the first place. During the packaging process distro makers will make small modifications to the source and change some build settings to make it work with all the other packages on the system as well as specifying dependencies. If you could just install vanilla source code and it would work properly then there'd be no problem - we'd be at the same position as Windows with being able to just package software once for all versions of the OS.
Problems are then the missing libraries etc. But wouldn't it be easier to make those system libs available (and automatically) downloadable than each and every handy little tool that someone might like?
Like package repositories you mean?
The problem is not that things can't be installed automatically and easily with automatic resolution of dependencies once they're packaged, this is all already happening in the Linux world far more so than in the Windows world. Its that instead of building and packaging the software once for all Linux distros it has to be packaged once for each Linux distro, and in a slightly different way for each, to achieve this automatic, easy installation process.
I have a grand solution, and it's "the windows way"
There is 1 microsoft windows.
There is 1 apple mac OSX
Everyone use Redhat linux, and standardize on 1 flavour of linux.
That way people can distribute binary only software and it will always, always work, just like mac and windows.
And the geeks in india and china can all reface their mecca prayers from redmond to whereever the hell the RH Linux HQ is.
That's "the microsoft windows way".
1 distribution, 1 set of files, no competition, unibinary compatibility, monolithicality, flawless victory.
Take the collective works of mandriva, SuSE, debian, ubuntu, LFS and all other flavours and dismiss them as "bizarre, unfriendly, and non-confirmist"
That's what's ultimately at the heart of Asa's original argument.
API stability and an easy and uniform software installation story.
Linux already has all of that at the user level. Windows does not and still has its monopoly. Flawed argument.
Using the distro's package system seems quite reasonable when you're just talking about updating the core OS
No, it isn't "quite reasonnable", it is plain better than anything else, surely faster and less complex than going to download.com, if people even know what this site is. The flaw in your argument is really easy to see as long as you are not american. You think the entire world know how to read american, while I can assure you NO regular user in France (and elsewhere) will EVER go to download.com, as eveything is in english, and they don't understand a thing about what it says.
but starts to fall down when Regular People want or need to install applications that aren't available or easily accessible from their distro's repository
And when they do, they are no longer regular users.
Windows users are comfortable going to Download.com and downloading and installing an application
No they are not. American windows users perhaps, surely not non-american windows users, which is MOST of the users, in case you don't know.
They feel safe and secure going to a software vendor's site, Mozilla or Adobe for example, and downloading and installing an application
No they don't either, and they have to learn about it somehow.
The current Linux systems take the application vendor, a powerful tool for building user trust and confidence on the Linux desktop, and pull it out of the picture almost entirely
Which is what users want : a uniform, stable API to install all their software, like you said.
Regular People do not want to get all of their software from a single source
Stop contradicting yourself and saying nonsense.
They appreciate finding and downloading new gems, from around the web
They don't, they are regular users that want it to just works, not lose their time searching on the web.
A simple example would be something like Mozilla's Thunderbird application
Yes, it does not ship with Windows and regular Windows users already have a mail client, so they won't search for Thunderbird. Same for Firefox.
Many Linux distributions ship Evolution as the default installed email application and a user who happened to read a positive article about Thunderbird would find herself at the Mozilla website looking over the Thunderbird feature set and reviews. She should be able to download Thunderbird right there and have it just work
They should. Now, if the Thunderbird producer does not tell them how to do that, it's Thunderbird fault, not Linux fault.
With today's Linux desktop, this will fail more often than it will work because software developers cannot support even the most popular few distributions with a single download
So this will fail because software developers are lazy bunches (NX is not btw, but Thunderbird dev are apparently) ? Anyway, most distro does package Thunderbird, so this is nonsense. All is required for Thunderbird authors, is to describe how to install it on the distros, no need to even put a binary on their web site.
Another problem is that not all distros can keep up with every software package in a timely manner. When Regular People read about the latest update to a piece of their software, they should be able to get it, right then, and from the vendor that created that software.
But the developers are lazy bunches right ? The vendor who want to push its product has the right to be lazy, but the distro that have no interest in pushing the product has no right to be lazy about it ? Riiiiighhhht !
I see all the fault is on tje vendor.
As of the writing of this article, several major distributions aren't yet providing the latest release for Firefox (1.0.6)
You mean, like MS, the vendor of Windows ?
With today's Linux, the Firefox release team cannot possibly create packages for every distribution and every package system out there and they should not have to
They don't have to.
They create one package on Windows and it works out of the box on every Windows release since Windows 98SE (released more than 6 years ago)
Actually it doesn't. And I don't understand how Windows is ready for the desktop then, when even MS can't release IE 7 for its OS before XP. There, so much for the so great "Windows backward compatibility", which is just a myth actually (I have a lot more examples for that : Theme Park, VirtualDub in recording mode, scanner driver, TV card driver, ...).
Supporting even the last three years of Linux, even one distro, with a single package just isn't feasible today
But NX does it. And Firefox does not even support the now old version of Debian ...
Supporting the last one or two years with a single package isn't without some pain and Mozilla's a fairly large and capable organization
No it's not. NX is, as it does everything Firefox devs find impossible to do.
First, backward compatibility must be a real priority
Linux has to do it when MS is not able to (Vista, IE 7, MS Office, ...) ?
until that change happens, software makers are deterred from producing high-quality products and maintaining those on Linux and Regular People are a lot more likely to be frustrated by the software install process
So you say your free/shareware on download.com are "high-quality products" ?
So you say the latest beta which is not for regular users are "high-quality products" ?
Regular people are already frustrated by the software install process in Windows anyway.
Strangely enough, they have no problem with the update process in Linux.
I guess far less calls from ALL of my "regular users", now that they all switched to Linux.
Anyway, the problems are ALWAYS on the vendor.
When the Flash "vendor" is not able to put a graphical method to install its plugin, but put inadequate command line instructions to do so, there really is a problem.
Now there's autopackage, so they have no excuse anymore.
This program loading problem in Linux is to my mind what is stopping it gaining wide acceptance. I play around with hardware as a hobby, but I want software just to "work".
Ask just about anybody ( apart from the geeks ) on what they want computers for and most will reply the usual - internet, emails, multimedia, letter writing and a few games etc.. not many give a damm on how it actually works, ( ask a geek how their auto transmission works in their car ??? - but it doesn`t stop them driving it because they don`t know .)
New toys - like google earth catch peoples imaginations, you go to the relevent site, download it, and run it - just like I did tonight on my older windoze computer and it works right off... no mucking around. Now compare the same to Linux, we don`t need to go there - now do we..
This program loading prob with Linux is probaly the only thing saving M$`s arse, we know it and so do they.
Now if all the distos standardised program installations, and made sure everything was backwards compatable ( even a set date in the future to allow organizational changes to be made would be OK ) then we could all get on with what we actually have computers for - and that is to get things done.
this single source (your distributions package repository) is a killer feature, even for "a regular user". windows security updates won't upgrade your mozilla-thunderbird. software installer like synaptic, aptitude will do that for you. a more userfriendly software installer is the only missing thing IMHO. something like linspires warehouse that presents the software like download.com does. most important: if the user has heard about windows program xyz, he can search for this in the "warehouse" and the warehous displays some linux alternatives. for example
xmms, beep-media-player (clones).
amarok, muine, rhythmbox (same category)
xmms, beep-media-player, amarok, muine (same category)
(the database behind that warehouse could be a community project like wikipedia)
so you only have to tell a regular user: first look in your distributions "warehouse". they have tested the software and will fix security problems for you. you can install a linux binary from mozilla.com, but than you have to update manually. just because a regular windows user does not know that there exists such a great thing like apt-get, does not mean, he would not use (are more userfriendly frontend of course) it.
a regular user does not care which firefox version he uses. it is the "internet". he won't even notice, that the package version is not the "latest".
a regular user will not need these cheep software tools from download.com. there are free alternatives for almost everything available from your distribution. feature above will help to find them.
the only problem left is expensive commercial software like games, photoshop ...
the api/abi changes are a pain for these companies, right. but some companies show, that it is possible (the small company opera.com for example).
or you can choose not the latest shiny new linux distribution but something stable like RHEL (or CentOS). there won't be any commercial linux software that does not run on this platform.
I don't get why somebody would want to do something like that to linux. The reasons I moved to linux were:
- Price (I'm dutch)
- Choices (You get lots of them)
- Programming (Kdevelop, gcc)
- It doesn't crash @ all (basically)
- I'm sick of windows and the way it dumbs everything down so.
I don't get why people who use linux think that everybody needs to use linux. This would be virtually impossible, because most people in the computer illiterate masses don't even know what an operating system is. If you need everything to be like Windows, just keep using windows. Linux isn't that hard to install, though. I can do it, and I'm in high school. When I started useing linux when back in the 2.2.18 days, I used KDE 2, and yes, it didn't work all that well. But improvements keep being made, and I'm surprised at the progress that linux has made in that amount of time. I think in the next 5-10 years, Linux will be ready for the masses, but not yet. It has nothing to do with importing windows settings, it has to do with the general idea of not having windows/mac, and people just aren't comfortable with it yet, and that is perfectly okay.
The answer to easy and quick Linux program installation is truly [url=http://www.autopackage.org]Autopackage[/url].
It installs software in the way Windows XP does it, and as how 100% of the Regular People expects it - ie. download, click and run.
btw, here's a thumbs down to those chaps who go around dismissing Autopackage, instead of contributing patches to make it better. Spare a thought for newbies who are trying to just install Gaim to chat with their friends.
I love Linux. But I hate the way we install programs, so I hope more people will support Autopackage. Thank you!
Let's not forget that spyware filled programs like Kazaa populate download.com and cnet.
On linux you can get limewire, but you have to use their own .bin installer for the ad placement version. I believe they obfuscated their java so you can't simply decompile it to remove the offensive code.
I'd rather it either be open source and recompiled by the distro, than trusting people like the makers of kazaa.
If kazaa were open source and distros had to repackage it, it would give them the opportunity to remove the offensive spyware before doing so, altering the code to make it safe.
No you CAN'T trust MOST of these vendors. Most are NOT mozilla and adobe. Most are a bunch of data collecting sleezebags that want to be the next Bill Gates, in respect to monetary wealth.
Apparently, Asa is assuming that there is a unified intent to bring Linux on desktops at any cost: I do not believe this is the case, commercial interests aside. If we were to replicate the design mistakes which are at the core of the numerous defects of the Windows platform, we might as well use Windows itself; its problems stem from design problems and misguided choices, not incompetent coding at the hands of Microsoft programmers.
The notion that a user launches a program provided by a software producer in order to install software is one such mistake: package management is slightly better because it forces said producer to adapt to the conventions of the system. Multiple different systems mean multiple packages, which is good for a number of reasons starting from security: if the software producer cannot provide that, let them sell fries.
Repositories are a step forward because they provide dependency resolution: the user states what he WANTS, the software producer provides the PRODUCT and the metadata describing it to the installer, and the distributor-provided installer resolver dependencies, performs the actual installation and keeps the system updated.
Notice that the Mozilla Foundation is somewhat of an offender in this regard: it provides the source tarball, binaries, but no precompiled packages and no repositories. Having distributors provide packages virtually guarantees that they will be at least one step behind: instead of fighting an innovative concept because of reflexes learnt on an ill-advised platform, I humbly suggest to the Mozilla Foundation to provide repositories of packages *designed* for distributor integration.
This means that the Mozilla Foundation gets to build the .rpm and .deb for a number of distributions (if this seems onerous you're using the wrong tools, look at one-man repositories at http://atrpms.net/repos) while distributions ship dependent integration packages: e.g. I would get firefox-*.rpm from the Mozilla Foundation, and firefox-fedora-integration-*.rpm from Fedora; the former would change as often as necessary without breaking compatibility with the latter which depends on it.
I agree with Davide, where's the urmpi, yum, and YaST sources section of mozilla?
It's this easy to build an rpm
write up a little spec file with build instructions, depandancies and package info,
copy the tar.gz into /usr/src/redhat/SOURCES
copy the spec file into /usr/src/redhat/SPECS
rpmbuild -bb /usr/src/redhat/SPECS/mozilla_whatever.spec
Rinse and repeat on SuSE, MDK, FC, and you're done. The rest can deal with the src tarball! hehe.
You could even write a program to automatically update your .spec and do nightly rpmbuilds.
best $35 I ever spent
ps- make sure those dirs and subs are rwx for the user launching rpmbuild, and don't use root, especially if you're testing, because a rogue build or clean command could wipe you out.
You're right about Novell, btw. It's amazing to see a corporate entity step up and start to invest in some terribly cool things on the Linux platform. Currently they're the best bet for desktop Linux as they appear to have direction, funding, and motivation to create a Linux distro with incredibly cool tools that are coherent and consistent.
And that brings me to another point. Beer, it's not about monolithic organizations, but about uniformity and consistency. I know that may go against the Linux, open-source mantra, but without uniformity, you simply cannot capture the mass public. There *should* be many distros of Linux for various purposes (like running mission critical webservers)... but desktop Linux needs to standardize to simplify the process and user experience for Regular People.
I think that's Asa's point.
I am using Linux at home and both Linux and Windows at work. Debian and W2K, just for completness. There is a set of applications I use on both OS installations at work: Firefox, Thunderbird, GVim, Gimp, Gaim, OpenOffice.org.
To install them in Debian, I open a terminal, become root, type the following:
aptitude install mozilla-firefox mozilla-thunderbird gvim gimp gaim openoffice.org
Then the computer downloads and installs whatever is necessary. I actually don't care, whether it is 6 or 60 files it downloads.
On W2K, I have to open browser:
navigate to FFox homepage
find FFox installer
same for Thunderbird
same for GVim
same for Gimp
same for Gaim
same for OpenOffice.org.
Then I have to go to the directory where I downloaded all the stuff, start one installer, click through all the silly questions, start second installer, click through it, etc...
As I see it, the first way (Debian), requires much less _attention_ from me then the second. I don't really care, whether it will download a bit more bytes from the network. I also believe it will be finished earlier than the second way (W2K) on the very same machine.
I highlighted "attention" on purpose. The computer is a tool for me. It should do the grunt work (find, download, un-compress, copy, make default config..), not me!
I see two differences between the two ways. Windows users are obviously used to the second. However, "used to" != "good". Also, for the first way, you need to a) type something, b) know what to type.
a) If you are replying to me, you are already typing. Typing is not hard! Almost everyone working on a computer does it. Hence, I don't consider it an obstacle.
b) [sarcasm]Oh! The horror! Knowledge required![/sarcasm]. Come on. When driving a car - you need to know something. When using a drill - you need to know something. When cooking - you need to know something. Even for watching a TV you need to know something. Actually, even for installing software on Windows you need to know something - that you need to find an installer, download it, click through it.
So, what is the difference of knowing to do "find installer, download, run" and knowing to do "find package name, open root shell, type" ? On a conceptual level, I see none. Yeah, the actions are different. However, "different" != "harder". Computer technology is changing very rapidly - users should except news and having to learn new things.
I prefer the first way because it requires less attention for me, works better (OS integration, really shared libraries, etc) and scales better for a larger number of applications to install - still one command in Debian way, two more steps for each application in Windows way. This even more clearly visible during upgrades - compare "aptitude update ; aptitude upgrade" for any number of applications to "download X installers, run X installers, click through X installers".
For those who cannot think beyond the browser (you know, the right tool for the right job - you don't do everything by the steering wheel in your car either) - it would be technically possible to create MIME types for the following actions: (add line "...." to sources.list ; aptitude update ; aptitude install foobar) - voila, one-click install integrated with your OS.
To conclude: I don't really care for how many people use Linux. It would be a sad day, when Linux would drop the features that make it better (for me), just to atract more users. Individual installers seem to me as a step back, to the 1990s. Same with dropping network transparency from the display subsystem (currently X), etc. If some people don't like it, fine with me. I won't force them to leave Windows, but they shouldn't ruin my Linux :). However, feel free to create a Linux distro that behaves like Windows. Just don't try to everyone else adopt these things.
As to api stability for commercial software, a prime example - Oracle Database - one installation archive for Suse 8, Suse 9, various versions of RedHat and even some distros I have not known exist (Asianux). Someone already mentioned Opera in this thread.
Also, package managers and vendor-provided repositories cannot be that bad, because Microsoft is doing it with their Windows Update. A set of patches (packages) on Microsoft's (Debian's) server. A database of applied patches (installed packages) on your computer. A process, which compares the two sets and decides what should be installed. Only difference being, Debian distributes all software this way, Microsoft distributes only patches.
p.s.: Though I've mentioned Debian only, what I said would probably apply to Red Hat, Mandriva, Suse and others as well.
p.s.2: As as sidenote, on the topic of hardware support: I've got a USB Bluetooth module and getting it run on Debian was much easier than on W2K.
As always, I've forgotten something. :)
From a purely logical viewpoint:
Opinion: "linux not ready for the desktop" => "linux cannot be run on desktop".
Fact: I run Linux on my desktops => "linux does run on a desktop"
"linux cannot be run on desktop" && "linux does run on a desktop" = ...
I believe everyone can see the result :).
Also, while "standardizing the linux desktop" - losing the choice of having a window manager of my liking would be very sad. I don't expect everyone to like pekwm (http://pekwm.org/), but it suits ME the most.
"but desktop Linux needs to standardize to simplify the process and user experience for Regular People."
What are you going to call desktop?
Most distro's have a screen when you install them, ie, anaconda, YaST, drake install, that ask you if you want to set up a server, a work station, a software development computer, or a normal minimal PC.
Maybe there should be really specific distros that focus on Desktop and others that focus on server use???
Then fine tune those distros for those purposes. Like maybe the ultimate desktop linux would not handle autoconfiguring apache settings the best, or setting up virtual sites, or whatnot.
While that would be nice, I don't think it's going to happen any time soon, because the market is niche which means 1 linux distro like SuSE, has to be profitable by getting consumers across the board to use it.
When linux gets the cash Microsoft does, then there could be double DVD server 2008 versions with free ensim/plesk/cpanel complete replacements. Maybe a company could pour alot of money into webmin to spruce it up and Sell the total system as a solution, and bankrupt some of these 3rd party server solution providers completely.
I would LOVE to see that. Ditto on the desktop. I think the reason we're not seeing that is the lack of funding.
I'm actually working off of LFS right now and I'm starting to work on an installer and a system to auto-fetch-autobuild RPM's for nightly or bi-nightly builds. In other words, I'm trying to make the world's 10000001th linux distribution.
I think a server only distro and a desktop only distro would be a nice idea. Kill ensim, cpanel, and plesk off in the process. They mess with RPM REALLY BAD anyway. They are actually harmful to linux.
It would be a nice dream, who's going to fund these specialized linux distros?
People have day jobs, these are huge projects....
I think Novell's going to end up on top here. Why? They have the money, they have mono, they have Love, Icaza, and the other big devs. Did you see their booth at linux world canada? I did, it was twice as big as the next biggest one in IBM's.
Something's going to explode out of Novell in a short while I think.
You are an idiot.
MSFT will not "crash".
You claim Novell has the funding to take down Microsoft. I don't see Novell anywhere on the same level as Microsoft.
Windows gives Microsoft more than 50% (i think closer to 80%) of their revenue. I'm pretty sure if Novell is trying to take over their marketshare, they would figure it out and find a way to block it.
Awesome that Novell is hiring all those cool developers. For every 1 good developer Novell hires, Microsoft hires 10.
Linux has it's place in the computer world. Majority marketshare is not it's place. Until all the companies get together to pose a valid threat to microsoft, linux will stay in it's current role (making news on slashdot).