Following the general overview this third article of my series regarding the software installation on Linux analyzes what is really needed in real live. To accomplish that task user stereotypes are defined in reference of their software usage and needs. The results will be compared with the current situation.
Before I start digging into the subject some background where I take my information from. They are out of experience. I worked and currently work again as a voluntary help desk for students. I help them with their private computers (attached to the university network) when they have problems and also serve as a interface between the university technicians and the students. I also work (as in: paid student job) as a help desk/administrator in a small network, managing a set of non-private computers (roughly a dozen) provided to PhD students and similar.
And, as you can imagine, I am also *the* person everyone asks when they have computer problems. Members of my family, friends, friends of my friends, members of the families of my friends, … You get the picture. So I come around pretty much and see almost every use case you can imagine – except the users in larger corporations where they have their own help desks.
Starting from there I create three different stereotypes of computer users:
- The grandma class – computer users who will never install additional software by their own. Users who only use typical software which is already provided (e-mail word processor, browser, etc.). This is true for most users in corporate environments as well.
- The students class – computer users who want to try new software once in a while, who are active to search the web and experiment by their own without the skills to handle problems by their own. Most often people of younger ages, like students, belong to this group
- The power user class – computer users who are able to deal with such topics by themselves. They are able to install new software even from source and now roughly what dependencies and devel packages are. And of course everyone who knows even more belongs to that group.
The first group is easy: since these people do not have the possibilities to install new software, the current Linux way suits them very well. And in case the grandma wants to experiment a bit the repositories provide enough software usually for daily, normal work. No problem there.
The last group, the power user class, is also quite easy: these users know their way around. They are not really stopped by a missing binary, they can create one by themselves or can at least compile the given software. Although the situation might be improved for these people it is generally working for them. No (urging) problem there.
The second group, however, is different. Members of the student class do have different needs but not so high skills. They want to play around with their computer, trying new things. But, even more important, they have innumerable types of software for various niches of areas of application.
And they are not able or willing to compile stuff by themselves.
And now the typical Linux way of providing binaries faces huge problems:
First of all, “trying new things” means installing new software just released in a new milestone release or just released first time at all. Repositories need quite some time to react to such changes due to rules about new release or due to the time the package maintainer needs to get familiar with the new release. Therefore in such a case the user is lost with Linux.
This leads sometimes to absurd behaviours, where for example a FLOSS fan keeps a Windows partition around to be able to quickly test new software releases.
It is even worse for the second type of needs: niche software. Software which is programmed by one or two developers for a certain, comparable small group of people. Since the amount of people dealing with a niche topic is always small, the chance that some repository maintainer picks up the piece of software is highly unlikely – although the piece of software might even be of a high quality and very useful. The other way around is also true: it is highly unlikely that you will find enough people to manage packages for all important repositories (at least 3, F,S,U) among these niche-people. Therefore if you depend on niche software you are lost as well.
This leads to the very absurd situation that Linux, the “open” system, is hostile to users who need more than the average mainstream software. You can only use Linux systems if you only need main stream software. Openness or flexibility in software usage are foreign words in the Linux world.
So far about the different user needs and wants. You can of course debate which group of users is the biggest. For me the second one is at least large enough when not even the biggest anyway. In any case it is too large than not to care about that problem.
Of course the major advantage for student users of this system is that because its hard some of them at least will be encoraged to learn enough to become a power-user. Thats good for everyone because power-users don’t require support, saving forum time for others and provide support, bug reports, etc. Not to mention that power users can stay safe while downloading random software on the internet. Experiance shows that other users often get infected.
I’m not entirely sure weather that makes it worth while to stick to the current system or not but then the Linux Foundation has chosen to make a new system so its all academic at this point.
I’d also like to disagree strongly with two points in the second to last paragraph:
Firstly all important repositories is definately a lot more than three. and secondarally you missed out Debian, easily the most imporant repository of all, since a package in their benifits every debian based distro. Debian Etch is also the best disto I’ve tried.
Secondly Linux is “open” and “flexible” compare Linux’s restrictions: “You can’t leave the repository without computer skills” to Windows: “Only one Desktop Environment”, “Can’t uninstall the worlds worst browser”, “Microsoft will repetedly scan you’re system to see if its ‘genuine’, you can’t stop us”
Sure, users of the “student class” could become power users. But they don’t want to. And they don’t need to. A computer should help you with your work and should not become a think you work at. Sure, power users are nice, but I don’t see why my friends who are not interested in technical details should become power users.
But thanks for the argument, I will use it 😉
And about the most important repositories: sure, there are more than three: I didn’t mention Debian because most Debian people I personally know of switched to Ubuntu. Also Mandrake is not listed, and it is important and has a strong user base!
And adding these distributions makes the situation even worse…
About the flexible and open: of course Linux is flexbile and open, I totally agree – but not in this special regard, not as long as you look only at software installation. That is the point of these articles.
But you’re right, I should be a bit more careful with such words and should keep the circumstances clear all the time.
Thanks for mentioning.
Btw.: since you already listed some of the really bad things of MS Windows, don’t forget that MS Office keeps sending cookies to a central server, if you want it or not.
Intresting, I didn’t know about that cookie thing.
About debian, every Ubuntu user is also a Debian user, Ubuntu would have a very hard time surviving if Debian vanished tomorrow. However every Debian user is also a Debian user, as is every Knoppix user. Makeing Debian’s repositories more important than Ubuntu’s. The fact that most debian user’s you know switched isn’t enoguh to make Ubuntu more importatnt than Debian.
“A computer should help you with your work and should not become a thing you work at.”
Useing a very similar sentance:
“A car should hep you get from A to B and not be a thing you work at”
That logic means that most cars would be driven by someone who dosn’t understand the rules of the road, and the finer points about driving. Attempting to drive, or even cross a road would be a huge risk. And in my opinion, since most spam and phishing websites are from comprimised home computers, the anology mostly holds. Spam isn’t quite as dangerous as a speeding car 😉
That’s the reason people should become power users, its dangerous not to, and if they make a mistake, everyone suffers slightly more Spam. And even if they don’t care about technical details being a power user would make the computer a more effective tool. Ever been asked how to fix a problem with formatting? that’s two people’s time wasted.
P.S. you’re more than welcome to use any of my arguments in the actual blog posts.
Hm, I disagree about the car example:
Sure, every computer user should know the basic rules about computer security: don’t install software from strange or untrusted sources, don’t ignore security warnings, don’t open attachments of e-mails, etc.
A good computer user is an educated one – but he still does not has to know how to edit config files in a terminal.
To take your example of cars, a card driver needs to know the rules of the street, but still there is no need to repair a broken engine by himself…
On the other hand if you can’t install software without “knowing how to repair an engine” you won’t be installing software if you don’t know the “rules of the road”.
Although that is a bit overzelous, I think you win this one 🙂 Software installation should get easier.
Ok, let’s agree on that one atm, there will be plenty of things to discuss when I post the “arguments” article: there I will try to show what others think, and there will be several things others see definitely different than I do 😉
Something you skipped completely on this…instead of developing new ways to make Linux and packages/software easier to install…wouldn’t it be better to educate the ‘student class’ you speak of to bring them to power user level and eliminate a need to cater to them?
For example, I worked as an Engineer for a Fortune 500 Company in the United States. We had all sorts of users and I was top tier for the helpdesk…one of 3 guys they called when a computer didn’t work and the helpdesk couldn’t figure out why. It was during that time that we began to enrich business process mapping and documentation. By doing this simple thing…documenting our processes and procedures…we eliminated over 36% of all helpdesk calls…mainly from this ‘student group’. That’s quite amazing if you ask me…all without recoding a single thing or requiring developers of software to change a single thing on how they do things.
Sure, we can make usability better in anything…Linux, Windows, Mac…but we need to stop the mentality that we should hold every single users’ hand through each and every process. We need to remember that this young generation (1-15 years old) is the first generation to grow up with the World Wide Web always existing and with a desktop computer in every home. It’s going to take another 5-10 years before these people enter the workforce and when they do, they’ll be quite knowledgeable with computers because of this fact. Will you still have users that are on the low end of the spectrum? You bet. But that shouldn’t be an indicator that you need to stop and recode anything to make it easier for these people.
Think of it this way…if you take a novice skiing…you don’t hold their hand and ski in tandem with them down a hill. You let them figure things out themselves…you give them tips and pointers…perhaps give them a book on the subject or get lessons for them. Soon enough they are skiing black hills and loving it. We didn’t have to change the way the skis fit on their feet or change any physical property of skiing so that it was easier for them. Neither should packages be changed for users…
I don’t think that this subject is the tipping point for Desktop linux acceptance…I think it is only a small factor in the overall acceptance. A larger problem is that there aren’t many third party applications that can even be installed at all. See, if vendors started actually making packages in say…klik format or autopackage…or whatever…LSB RPM…whatever the case…then distros would be more apt to try and make these installable on their systems. It’s not the distributors and creators of the distro that have to change for this to happen…its the applications developers themselves that need to do this…and of course, in order for this to happen…Linux has to be more popular than it already is to warrant making a distributable package to install.
It’s about money my friend…businesses don’t want to have to hire Linux devs to make installable packages for them…and I know that people say, “well, let them open source their package or release it to the community with a BSD license” and that is fine and dandy…but most businesses a) don’t even know about a BSD license and b) want to protect their IP and patents so they won’t dream of doing this. So we’re back to square one…companies don’t want to hire on devs to support something they don’t see as necessary. I think THIS is the main problem with Linux adoption…not the way a package is able to be installed but rather…lack of third party apps to even install.
@devnet: I picked up the education argument in my Part V: Arguments. In short: of course we have to educate users – but compiling a kernel is not part of educating a user. Also, even I don’t want to spend hours compiling my software by myself.
That *is* the entire point of my article series…
Linux is already popular enough – we have thousands of applications, but you can’t install them as an average user.
And the developers just do not use one of the provided installers – maybe because there is no installer supported by the distributions. They all fight against the binary installers.
I didn’t even look at business. I wasn’t even that far with my analysis. We can start thinking about business when we have easy ways to install all of that Open Source software around.
Well, that is your opinion, and that’s ok. However, according to the LSB which gets quite a lot of feedback one of the big problems is that the companies *cannot* provide their software because there is hardly any way to do that in an easy way.
Ah, and before you get me wrong on that point: no, I don’t think that it is realistic to ask every company to release their stuff as Open Source – but even if they would do it we would again face the problem that hardly any of that software would get into the repositories. Even in the “all-open-source” dream land the software would be still not installable. Therefore for me it doesn’t count if we are talking about proprietary software or not.
Man, these geeks can be so thick skulled sometimes. Linux application and driver installation MUST become comparable to Windows before it has a hope of becoming popular as Windows. Most people use Windows. These users are used to click and install, whether that be an application or driver, thats what they do. If Linux is to be taken seriously as an alternative to Windows, this way of installation must be adopted. Most people dont want to learn or know about repositories or dependancies. They just want to click a button, wait a few moments for the thing to install and continue working on “their” goal. So, if these Linux developers are’nt going to change their installion methods, Linux is going to stay a minority OS and continue to be regarded as a joke when thinking of switching from Windows to something else. When a non-techie can install applications and drivers with one click the way they can on Windows, then Linux will start to become a true alternative to Windows, its popularity will grow and more commercial developer interest will take place leading to more users switching from windows leading to more commercial development etc..etc…