What Might UserLinux Look Like?
Lucky writes "This story at Linuxworld talks about some of the potential features of UserLinux, as well as Bruce Peren's proposed community desktop project and its potential features. There's some exclusive commentary by Perens there, too."
If there were a problem with Linux distributions per se it wouldn't be with the Desktop, that's fine in most distributions, it would be in the diverse configuration file locations, they all seem to have differing ideals here, perhaps a more powerful and consented POSIX definition would be an advantage, rather than the current continued divergence. Apt,portage or rpm etc. working on any distribution would be my idea of UserLinux.
Linux is an OS that was and will always be for a few academites plus thousands of system administrators. The path from OS to regular users is long and hard. Just look at OS/X...and notice, people were *paid* to do all that work.
Yet Another Linux Distro ... But I suppose more choice is good.
...
My list has two overwhelming requirements for the Linux desktop. First it has to be easy to use. It should pass the "Grandma test"
Choose the the grandma well, or fit her Sonotone with a hidden HF receiver so you can discreetly tell her what to do.
So, the customers involved in UserLinux will be paying for the engineering of creating a Free Software system, rather than for boxes, "seats", or user licenses.
Oh okay, I didn't realize it was a YALD that was also doomed to fail even before seeing the light of day. Nevermind
[Moderators: this is not a flamebait. Think about it, how many such schemes have ever worked ?]
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
* LINUXWORLD EXCLUSIVE * What Would UserLinux Look Like?
Bruce Perens tells LinuxWorld's desktop editor what he has in mind with UserLinux
November 17, 2003
Summary
Mark R. Hinkle, LinuxWorld's Desktop Technologies Editor, muses on what his his ideal incarnation of a Linux desktop would be. Bruce Perens, whose idea it was, chips in with detailed comments.
By Mark R. Hinkle Bruce Perens
Page 1 of 1
Last Monday at the Desktop Linux Consortium Conference at Boston University's Tyngsboro, Massachusetts Campus there was a lot of talk about a "UserLinux" distribution. The topic was sparked by remarks by Bruce Perens who voiced a need for a distribution that was designed to meet community needs for a desktop operating system based on the Linux community favorite Debian distribution.
I contacted Bruce who has been kind enough to interject some comments to my own text. They are marked [thus].
The thought of UserLinux sparked my thinking. The thing I like about Linux is that it's infinitely customizable to meet the needs of almost any situation. However, for it to be a viable desktop for the masses there seems to me that there has to be some common features that a large number of Linux desktop users would appreciate. I thought about this quite a bit and started my list of what it would take for Linux to be my "ideal" environment rather than my preferred environment. I'd be interested to see what the community considers the most important features.
[Bruce Perens writes: I should point out that UserLinux also has a server mission. Our first customer group has both server and desktop needs. But the server is a solved problem, at least mostly, so we know a lot of work needs to go into the desktop.
Also, the most important thing about UserLinux is that it is an attempt to change the economic paradigm of the Linux distribution. We feel that creating a Linux distribution doesn't work as a profit-center, and that it is better viewed as a cost-sharing exercise. So, the customers involved in UserLinux will be paying for the engineering of creating a Free Software system, rather than for boxes, "seats", or user licenses. The system will be certified to various standards and vendor requirements with their funding, and the result will be given away. The customers get all of the copies they need with no incremental cost per seat added. They will have to pay for service.]
My list has two overwhelming requirements for the Linux desktop. First it has to be easy to use. It should pass the "Grandma test" which is when placed in front of the average grandma she would find it intuitive and easy to use. Second it should include a set of tools that allow the user to accomplish their most important tasks. I generated my list of tools and what I feel are my most important for my needs. I would encourage you the prospective users of such a system to add your feedback.
Productivity Tools
Browser I think Mozilla is a great option for browsers. I like the tab-based browsing and pop up blocker. If not Mozilla than maybe some of the projects spawned from Mozilla aimed at speedier performance without the frills like Firebird.
[Bruce Perens writes: I'd like to hear if Konqueror has something to offer that is not matched by these choices.]
Office Suite I use Open Office and Star Office and I think they are good. For some of my more ambitious projects I do use Microsoft Word but I find myself using Microsoft less. I particularly like the ability to export files to PDF format preserving the look and feel of my files across platforms. If these suites could handle better more complex formatting I think they would easily displace their competitors that costs many hundreds of dollars.
[Bruce Perens writes: I like OpenOffice and hope that I can facilitate the creation of a broader development community outside of Sun.]
E-mail/PIM Outlook made the integrated PIM and email client the vogue in business. I like the idea but I think that Mic
I see a lot of talk (whining/b1tching.. take your pick) about "reinventing the wheel" when it comes to new desktop environments - that make it easier for John and Jane Doe to use linux. --- This is counterproductive, it's not "reinventing the wheel" to write a new window system because you think the previous ones "suck" as far as the average user is concerned. If Motif/Lesstif were really enough, would Gnome, KDE, etc even exist? NO
The UserLinux initiative is an excellent chance for us to penetrate into the mainstream desktop market and start making software houses recognize and implement for linux - because their target audience can finally use the system.
The list posted in the article looks to be a rather [complete] connonical set of programs. --- This has been just a few, incomplete, thoughts ---
If you cannot keep politics out of your moderation remove yourself from the Mod Lottery.. NOW!
One thing the artical failed to mention was browser plugins. I still have a difficult time getting Java and Xine to work with Mozilla on some distros. Following the install procedure sometimes work, but most times it doesn't, and when it doesn't, the hack is different for every system. I know alot of this is the responsibility of the plugin creator, but a standard platform would make it easier for them LSB just doesn't seem to be the fix we hoped it would.
How about they make it not ugly?
Linux could do with a few less 37337 coders and a few more artists and graphic designers, people who have an understanding of what colors work together, and most importantly what proportions are pleasing to the eye. The thing I like least about linux is how so many little aesthetic things are off. Dialog box fonts are a little too big for the dialog box, the borders between windows are too narrow, nothing matches like it should.
What Might UserLinux Look Like?
Well, if the link's any indication, UserLink will look very rectangular. And white. Did I mention white?
And who's Bruce Peren? Nice to see a new name bursting onto the Linux scene!
The coolest voice ever.
More often than not what the (geek) community considers the most important might not be in tandem with what the masses think. So for linux to be a viable desktop for the masses, we need a little mind storming. Going with the obvious of aping MS Windows definitely should be resisted, but fresh thoughts with the masses in consideration would certainly help make postive moves.
There are two kinds of egotists: 1) Those who admit it 2) The rest of us
Ah, the 404Error interface skin. Simple and elegant.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
Typical Linux Geek thinking ease-of-use = dumbing down and that a good interface means pretty icons.
Ease of use means making the computer work the way PEOPLE think, not forcing people to work the way COMPUTERS think.
Linux geeks and other developers, who have been conditioned to think like the computer because of the work they do, have the mistaken notion that advanced computer user means a user who has learned to force the natural human way of doing things into the artificial machine way a computer does things.
Any interface that doesn't force this paradigm is "dumbed down."
The truth is, the Linux geek has simply been conditioned to do things the difficult way, not the natural way. Designing the interface to do things the natural way is not dumbing it down, it's making the Linux Geek's paradigm obsolete. Of course, the Linux Geek doesn't like this, so in a fit of human ego, he looks his nose down on anything that points out the stupidity of his position (working the way the computer demands; being the tool of the computer), and calls it "dumbing down."
Not necessarily the drivers, but printing from differnet applications all have differnet dialogs and printoing subsystems. I LOVE the KDE printer dialog, and CUPS front end. The GNOME equivelent is ok. The Print dialog in Mozilla and other non-KDE/Gnome apps is frustrating at best if you are a new user.
I have been slowly switching one of my clients over to Linux desktops, but the printing situation made the move stall. I settled for XP with Open Office, Firebird and Thunderbird as the base.
Though to give yuou an idea of the level of user I am dealing with they all still think they are using new versions of IE, Outlook and Office (they all swore they would only use MS products). The management approved of the alternatives, the users are none the wiser at this point.
When is printing going to be unified?
Mandrake/KDE with all the geekier stuff left out.
Is there some controversy over this or something? It's pretty straightforward to set up a "grandma box" these days.
KFG
Windows has not always been easy to use, yet everyone uses it. Ease of use, to put it simply, lets people do their work and be productive without much thought to how to do it. It lets people who don't have time to read the manuals or really learn much about the system do what they have to do. Linux is pretty easy already as far as OSes go and all I think that has to be done is to configure it for the user (and let them use gui instead of command line).
Answer: no installation problem because the user doesn't have to install it! Almost no one installs XP themselves.
Get a hardware partner. Sell boxes that have components selected that work optimally with Linux, pre-install and pre-configure the software, and make the desktop so beautiful (by appropriate choice of themes) that people who see the machine in stores have to have one.
Well, not really. It doesn't necessarily need to emulate a particular graphical interface from competing OSes. What it needs is a de-facto standard interface out of the box. Users then should decide for themselves whether something else such as KDE, Gnome, Xfce, et al suits them better. Lack of standardization is what's killing Linux on the desktop.
But that's just my personal opinion.
black screen. white flashing cursor. 80 columns, 24 rows. Fixed width font.
That man tried to kill mah Daddy
What might a Linux user look like?
I consider myself a pretty typical home Linux user
If you're posting to Slashdot, you're not the typical home user they're targetting.
Y'know there is more to what you said than joke actually. A previous comment suggested computers don't work like the human brain--you are just conditioned to think like a computer.
The command line works more like a humans way of thinking than a GUI, for example:
$ mkdir my_files
which is pretty sensible, aside from the contraction of the words "make directory". A user wants something done, they TELL the computer what to do. IMHO this is more intuitive than, say,
right click on an unoccupied are of screen,
select create new folder,
enter name for new folder,
refresh screen to see new folder.
bah, I'm probably wrong.
C17H21NO4
If Bruce Perens really cared about the end-user experience of linux, why the hell didn't he make a serious push for Debian to have a graphical installer when he headed the project?
Where was Bruce? Oh where was Bruce?
If he so cared about so much about Debian not having desktop marketshare, why didn't he use his position as Debian project leader to speak out against the elitist, anti-end user attitudes that have come to define Debian as a community and a distribution?
Where was Bruce? Oh where was Bruce?
Ergonomica Auctorita Illico!
Motif looked ugly, wasn't very cross platfrom, and didn't support the wide variety of languages that GTK and QT do.
What will UserLinux do that we don't already have (yes, that's question, not a statement)? We already have a Free Software, user focused Linux distribution that ships with all the user apps mentioned in the article. Its called Fedora and is based on one of the most popular distro around (according to Netcraft and IDC). What will UserLinux do that Fedora doesn't?
I think the free OS industry is in a perfect position to create a user interface that is no bound by having to look like anything.
Windows has to keep the same basic look from year to year, or they have a lot of confused users.
Apple is bound by the same strings. although the jump from classic to OSX was a big one, much of the same logic applied to the GUI.
*NIX GUIs are not bound by the same things. There is no "standard interface" other than a terminal.
Why hasn't someone invented a GUI yet that is designed by people with some ergonomic sence?
Optimally the GUI would be very configurable, as well as being appealing to the eyes, and efficient in every sence of the word.
Pretty Pictures!
That's an extremely difficult project for a volunteer group to do, especially in the US -- you need people with a reasonably good grasp of tax accounting for federal taxes and 50 different state tax laws (well, not 50, however many it is. Plus they all change every single year, and the software needs to be ready on schedule every year.
It's not something volunteers can do well, especially since tax lawyers aren't rushing to code free software. With no revenue, it would be incredibly difficult to do reliably.
What I'm listening to now on Pandora...
The Linux Standards Base already deals with file locations and packaging formats. The main problem is that it isn't comprehensive enough. There's still no way you can reliably determine where the IP address for your network card lives across distros.
Something else that'd increase desktop Linux: accurate, up to date documentation. Man pages are hopelessly out of date (read man resolv.conf and find out that most machines should be running local copues of Bind, or the various setting up a SLIP PPP connector on kernel 2.0 docs on TLDP).
9 out of ten, those people that bitch and complain about X simply do not understand it.
If substantial numbers of people don't understand X, doesn't that indicate the need to make X more user-friendly?
It shouldn't matter if those nine out of ten are plain vanilla non-technical people, either -- if we want to get X more used, it's got to be easy for anyone to use.
-kgj
-kgj
The problem came when I tried to go back, and use apt again. The entire apt system maintained its own list of installed packages with no awareness of what was actually on the system, so as soon as it fell out of sink, the entire apt manageer collapsed. My experience on Redhat and Mandrake were similar.
It doesn't have to be like this! It is possible to find out what's on a system. Does a package require python>=2.1? Parse python -V and get an answer you can trust. Do you need a library, get its version with /etc/ld.so.conf` /lib /usr/lib;do ls $i/ libraryName .so*;done 2>/dev/null | grep -v @ | sed 's/.*\.so\.//g' | sed 's/\*//g'
for i in `cat
There's nothing about your system that can't be tracked down by a little intelligent scriptwork. If package managers worked like that, then you'd be able to ignore them on occasion or even break small pieces and the rest wouldn't come tumbling down.
Is anybody working on this? Is anybody interested in working on this?
Sig:Why copyright isn't a fundamental human right
Bruce
Bruce Perens.
I totally disagree that it should look like Windows!
d ows
Making distributions that look and feel like Windows not only shows a lack or originality but only stands to confuse and frustrate "new" windows users in the end when something does not execute as they would expect them too only because they were lead to believe that thier experience would be "like windows"
I recently posted a rant about this on my personal website here:
http://www.phatvibez.net/commentary.php?ID=notWin
--- Brad (http://www.LinuxReview.net)
For real. I finally broke down and bought Suse 9.0 and will never look back. After MANY years of linux distributions Suse is the first one to offer a complete desktop solution that is manageable, easy to install and loaded in a somewhat "high end" environment with ReiserFS, Modern KDE setup, recent kernel and a well tuned system.
:)
Give it a shot. I had Fedora after Redhat 9.0 and have used everything from Yggdrasil, Suse, Mandrake, Redhat 4.3 through 9.0, Gentoo and others. Nothing compares. I've even used Debian and well, for a workstation, laptop and useability factor (especially on the wife) Suse takes the cake.
Thats my 2 cents
I think the instincts that have driven you to create a new distribution are very much correct. But let me reiterate a few things that I as a user think are important:
A community distribution that serves as an active and clear implementation of an evolving LSB that both software and hardware manufacturers can focus on.
A community distribution that honors the lofty goals that those working on Linux set out to accomplish. This means no-pear seat licensing, in fact, no onerous licensing terms of any sort. Red Hat or SUSE are to expensive for the developing world and even for small non-profits in the US, simply because they added cost of their yearly support agreements is beyond what they can pay. For the record, I am currently using Mandrake as I can freely redistribute it and the keep their security updates on a distributed network of FTP servers, the way that Linux was traditionally distributed. In summary, it is paramount to have a distribution that commits to keeping security updates for at least three years.
Bruce, don't start anew. Linux is all about standing on the shoulders of giants. So if you can adapt Anaconda or Mandrake's installer to your distribution, all the better. These are good and tested tools. The same goes for configuration tools. Borrow as much as you can. Ark Linux also looks very promising and very integrated.
Software installation is not difficult if you have the correct repositories. Preconfigure this for the user and provide a tutorial that shows them how to add new software. Adjust expectations by telling him that all software will be now available just a click away. URPMI and apt-get are great tools. Make them look pretty a la Lindows and the problem is solved.
The desktop is far more complex than it is made out to be. It's not just about email, office software and mp3 playing. It's about accounting and instant-messaging and multimedia. Let's popularize the ogg format a hell of a lot more. Let's include in the distribution's web site a list of radio sites that broadcast in ogg ( i have such a list). Let's work on getting Realplay to really open up its format as they said they would do with their Helix player. All of these things need to happen.
Finally, I think your distribution should link a lot more closely with Linux true power base: the LUGs. Work with them, talk to them, make it easy for them to promote it. Make it easy for them to be involved. A Pan-lug UserLinux forum would be a great thing. I am looking forward to the day when we can differentiate at a higher level of system design. Distribution differences, particularly on the desktop, are getting old. If you are a successful, you may lead other distributions to join forces with you. At least, I would that the smaller ones, ArkLinux, VectorLinux, Yoper and even Mandrake would.
Suerte.
Pragmatism as an ideology is not particularly pragmatic in the long term. Keep it in mind when you dismiss Free Software
Mac OS X has proven that a unix desktop isn't really so hard to use if its built by a developer community that has had a very strong history, culture, and tradition of valuing the user experience, valuing easy of use, and is quite at home with GUI's.
Linux has a developer culture with a rich tradition and history of devaluing the user experience, demonizing the end user, glorifying that which is esoteric and confusing, and is more at home with a text-based UI. This is why after 10 years today's linux desktop is still less usable than a 1984 macintosh with a thousand times less ram and CPU cycles. Linux's problems are largely cultural, not technical.
Apple didn't prove that unix on the desktop can be viable, rather they proved the unviability of the traditional unix developer at making something your grandmother could use. Those that point and click are bound to rule the desktop; those who sed and grep and awk are only suited to rule the server closet.
Ergonomica Auctorita Illico!
I had this same argument with Steve Jobs in 1999. Today we have more people on the Linux desktop than on OS/X, and Steve stood in front of a slide saying "Open Source, We Love It!" at MacWorld.
Bruce
Bruce Perens.
bzzzt! wrong!
.NET. Could MS and Apple have tacked the new features onto their existing OS codebase? Sure, but the result would h
everyone I know that has been toying with the idea of switching to linux has wanted at least one of these things before switching:
1) Macromedia creation tools - maybe wine can do the trick, but not likely.
2) DirectX/game support - not going to happen until the userbase is there, and even then, it's iffy - when was the last time you saw a good game for PC? not terribly frequent, are they? nearly everyone's developing for Xbox now.
3) adobe products - some work, but just barely, though wine. not an option. gimp is not an option, because it doesn't compare. neither are all the other tools - they've got nowhere near the feature list (which is invalueable in something like premiere or ps).
4) easy to configure, and then to change their configuration, from the desktop, using gui tools - people don't really care what's underneath. they want to be able to add, remove, etc. their printers and everything else. sure, there's largely hardware support available - but it's difficult for the users t oset up due to lack of cohesive gui tools.
I hate to say it, but I'd blame X for these shortcomings, largely. Sure, it does what it does well, some might say. But it is bloated, buggy, leaky, and inadequately designed for the task at hand. It's trying to do the wrong thing.
If we had a pluggable gui TK framework with a single programming interface, instead of the individualistic layering we have now, then there'd only need to be one network configuraiton tool, one printer tool, one hardware setup tool. there could even be multiple instances of each functional tool set, all approaching it in the same fashion, but: all these tools could then use the same TK, depending on the desktop used, so that there's not a) extra memory overhead, b) extra dependency requirements, and c) an ugly, incongruous desktop. Additionally, TKs wouldn't have to duplicate silly things, like AA fonts, OGL support, and the like.
Likewise, dialog boxes (save document, etc.) should also be pluggable, so that anyone using any application can use the file navigation method that they want (or that the distribution packager decides). This way someone using GIMP would get the same
I'd say that doing this does indeed need an X rewrite, because the above illustrated design is not possible with the current TK-on-X arrangement. the current situation on the desktop is chaos, at least compared to the majority of other major functionality. With X, everything runs on top of X. With apache, the kernel, emacs, and various other mature projects, things are modular. You don't write a userland hardware driver. You don't use CGI to process PHP. It's modular.
People say "but linux is about choice", and i'd agree. However, X currently doesn't provide any choice: if the average user wants to use a graphical interface, it's a fairly safe bet that they'll be using X. In that case, they're stuck with everything: not GTK or QT, but both; that is, if they want any semblance of a desktop that's comparable to windows.
The perspective that most linux users seem to take is one of the old school unix user, even though most of them are not. "X works fine, that's what X is supposed to do". I'd agree, if the competition was Windows 3.1 w/ modern hardware support with OGL and other 'modern' features - because that's what it amounts to, in my mind. I'm not saying, "the GUI should be integral to the OS", but that the GUI is indeed integral to the desktop, and cohesion is necessary in that regard.
Apple recently realized that their OS and GUI infrastructure from the last millenium was inadequate for the future, integrating OGL into the core of the GUI, vector graphics for everything, and the like. MS has apparently realized this as well about their own products, what with Longhorn looming on the horizion, and is transitioning everything to
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
To really get it to take off we need the equivalent of _Certified for Windoze_ program. Ideally the certification would become a must have tick for corporate purchasing staff and non-compliance would result in adverse reviews in the computer sections of mainstream media.
I envisage something like the 5 star ratings for energy efficiency - all 5 stars if everything in the system supports open source with published interfaces, less a star for each undocumented feature (or half a starif they partiallyof support it or you need a closed source driver).
To get the Open Source Tick would require at least 4 stars.
Bruce
Bruce Perens.
X is a low-level component; it's the implementation of GUI mode. You almost always interact with things that use X, rather than with X itself - for instance, instead of drawing window frames and resizing windows for you, X has the concept of a window manager, which is a separate program to draw window frames and handle resizing/etc.
/.), you don't really need to understand X, any more than you need to understand the finer points of ext2 in order to manipulate files.
I'm sure 9/10 Mac users don't understand Quartz, and I certainly don't understand X or the equivalently low-level bits of the Windows GUI (I said MFC in the subject line, but as I understand it, MFC is more like a toolkit like Gtk or Qt - I don't know whether the Windows GUI even has a name, since it's so tightly attached to the rest of Windows).
Unless you're programming to the X protocol (or complaining about its perceived shortcomings, which seems to be a popular activity in any X-related story on
The only bits of X you might need to understand for "normal use" are the areas where it touches the user experience, like the clipboard, the fact that you can remap keys, possibly the concept of a window manager, and perhaps the fact that there is a program called an X server which provides your GUI.
In a "consumer" Linux distro, ideally you'd interact with X settings via something like the KDE Control Centre, or the GNOME or other desktop equivalent. Obviously, it's still nice to have plain-text config files behind the scenes, so if something breaks seriously, it's possible for an experienced user to fix it - a Windows-like "you have a GUI or you have nothing" approach is equally good for inexperienced users, but if it breaks, experienced users don't have that chance to fix it.
What's really needed IMO is consistency. Dialog boxes, for example should have the same style across applications &c. - and that doesn't just mean the font size, or even the font; it means having a similar layout (where appropriate), with buttons in a similar order, the same default focus, similar keyboard controls, similar positioning. And the same principle applies right across the GUI, from having the menus arranged in a similar fashion with common menu options in similar places, to similar behaviour of toolbars and palettes, and so on and so on.
The trouble with this is control. This sort of consistency would mean developers willingly going with someone else's design principles and UI guidelines, and too many developers seem too keen on doing their own thing to let this happen, whether from a desire to make their app stand out, thinking (rightly or wrongly) that the usual principles don't apply to their app, incompetence, or just sheer stubbornness.
Not everyone has graphical skills or UI design skills, so IMO we need a way of working where developers who want to can do so without needing those sorts of skills, but without inflicting that lack on their users. I think this is one of the fundamental problems that the free software community needs to address. GUI toolkits are a step in this direction, but clearly don't go far enough.
Maybe we should consider some fundamental reorganisation. With everything split by application, each has its own way of doing things; what if there was some other way of doing things? What if application developers yielded ultimate control of their GUI to a separate project of some kind? I've no idea how this might be done technically, and even less idea how developers could be brought on board, but IMO it's the only way to achieve the sort of consistency, predictability, and least astonishment that more centrally-controlled systems have.
Ceterum censeo subscriptionem esse delendam.
I'll be off Slashdot for a few hours now, time to give Stanley his bath and put him to bed.
Bruce
Bruce Perens.
The key here is that they are attempting to put something together that our naive end users will be able to dig and thus buy - pushing the precentage of desktops more on an even keel with you know who. This can't be bad for the Linux world domination conspiracy -er- Linux users... :)
:)
One of the major complaints I hear is about differing interpretations of the file system hierarchy. While I think standardization is good, I also believe developers should have a certain amount of flexibility - which the standard allows. The key here, I think, is for the distributions to honor the locations that the developers established for their files - so compatability crosses all boundaries and documentation can be maintained by the developer on the particulars of his application - instead of the distributor. In cases where the application creates problems due to inappropriate placement - the issue needs to be raised to the developer to correct his implementation; distributors would have the option not to include the application/system if it was too disruptive - but that is all (more than this and the distributor can cause more problems than he intends to fix). Developers need to understand the standard; distribution creators need to cede the responsibility for application locations to the developers - with the right to veto bad locations from entering their distro until corrections are made by the developer. This way, no matter which distribution you are using, foo.ini is located in the same place every time.
Related to this, and probably more frustrating for end users, is when application developers make assumptions about libraries and other applications that exist on the system during the build. For hard core *nix system administrators this is no big issue - something they have been dealing with for years; however, for a general purpose workstation this has to be idiot proof. Coupled with standard locations includes being able to check those locations for particular files, and if not found, have the confidence to load them for the user, rather than simply complaining and dropping back to the command line. Again, the onus is on the developer to include all parts necessary to work with his tool (perhaps even going so far as loading a different library in an alternate location [sub directory in standardized path location] - then changing an environmental variable used exclusively by the application to locate it without disturbing an existing library or any applications that depend upon it - lets definitely do it smarter than Microsoft DLL hell)
These two items coupled together would make installation and maintenance across all distributions easy - and dependent on the documentation and careful work of the developer community - instead of left at the whim of the distribution agents - who are not on the same sheet of music. If developer X creates app Y and puts it in location Z - then Z should be where everyone finds Y when they look on their system.
Finally, I think easy to use tools for administering very clearly standardized core items (the rc.d run level scripts, crontab management, X configurations etc...) should leverage existing text based configuration files. Lets not get into the trap of reimplementing the Microsoft registry - as a single point of failure. Up to this point these types of tools have been adhoc; someone needs to take the ball and run with it to create something that is clearly superior and usable for all distributions that intend to target the niave user (hmmm - sounds like a good open source project to me - maybe a python Tk gui with a builtin command language parser for power users...
These are the core items I think are critical to a successful linux desktop to compete with Microsoft's dynasty.
One additional frill I would suggest:
Implementation of a better 'Annotea' W3C
Lodragan Draoidh
The more you explain it, the more I don't understand it. - Mark Twain
People don't use X. Not directly, anyway, any more than they use the frame or suspension of their car. It's an underpinning that is itself used by a close-to-the-user app (or set of apps), such as Metacity, Enlightenment, FVWM, Gnome, KDE, etc.
Good points. Thanks for the clarification.
As for why my post got modded Insightful -- when it really isn't, in retrospect -- I can only blame the moderators.
-kgj
-kgj
You can't accomodate them all with a single UI.
What is really needed is a virtual layer between the (G)UI and app that would allow GUI "themes", similar to the way that KDE and GNOME have themes for their WMs.
For example, say that I am using a program that displays various objects that can be moved, copied, etc.
Rather than receiving events like <KEY C with CTRL modifier> or <MB1 with mouse coord> , the program would receive events like <COPY> or <MOVE with delta/coord>
Then, the GUI theme that I was using would determine what keys/mouse movements generate what events.
Some programs already allow users to customize keyboard shortcuts and menus.
This would be like that, except that, instead of customizing per-application, it would customize across all applications.
The problem is determining the domain of events that the virtual layer would support.
Operations like copy, paste, and move are easy (and have already been done for things like text boxes); file open/save operations are semi-standard in that many apps use <CTRL+O> and <CTRL+S> (but not necessarily customizable, and certainly not globally); other, less common operations (e.g., drawing a line from point A to point B, adding to or subtracting from the current selection, etc.) could be handled using some sort of modular system (ala XML XPointers, etc).
Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
A user oriented distribution of linux would need some basic re-thinking of existing linux distributions.
Kernel configuration/rebuilds should tie into the boot loader so that a kernel/system failure would allow for a boot into a known good configuration, one specified at initial ship date. You should always be able to boot into a reliable kernel for your hardware, even if very little is installed in it.
The user should never have to see a boot loader config. Upgrades to kernels should include a boot-loader update and install.
Initial system installs should be graphical, should run out of the box on 99.9% of all current hardware, and should allow for a "one click" install. This would mean a very simple, basic install with minimal fluff. The install time messages should be clear, communicate essential information, and allow going back to correct mistakes.
After-install modules should allow the user to update configurations. Example - I don't know the IP information right now, so skip that at install and run a wizard later, after I've spoken to my admin.
Installed packages, like StarOffice, should come completely integrated into the OS. Not only should they be completely installed, but they should have all the default configuration already done. The user should be able to launch from the desktop just by opening the app, and not configuration is needed. Add-on packages or plugins should already be installed for the most common needs. Examples are browser plugins, pdf readers, etc.
Windows emulation should be installed and integrated by default. The user should NOT have to know anything about installing an emulator or configuring it.
Printing, lots of printer drivers, most common configurations should all be installed and driven by a point/click wizard. Same for instant messaging.
The system should ship with an installed wizard for AOL, Earthlink, etc. that requires almost no user interaction to get running.
Automatic updates should exist, and should be pushed to the user system if the user chooses to subscribe.
It's not enough to be windows compatible or similar to windows. We need to be better than windows, easier to use, easier to configure, more productive. Until linux offers users substantive reasons to change, they won't. Free is not enough of a reason, or they'd be here by now. Free and easy is closer to a reason. Free, easy and better is a big enough reason.
Dramtic Post? I'm writing a public license that enforces usability. Me posting a rant on Slashdot is merely a bit of cute banter.
My point in general is that given Debian's history of avoiding a graphical installer and given your substantial role in Debian history as it's leader, I very much question your opinion of linux being "ready for the desktop", as I question why you should be put in any kind of leadership role of a process that targets non-technical users.
As for the points in general about linux and UI:
If you don't take the UI/user interaction issues when the plans for the technical stuff is being laid out, you will always end up with an extremely non-integrated, inconsistant, and confusing UI. We usability folks have been screaming at programmers for the last 20 years to bring in UI people in the early stages of designing the technical stuff, but they (esp. the linux people) have in no way listened.
As the linux folks have continually perpetuated the unix myth that user interaction can be slapped on modularly at the last second, the user experience of linux has continued to suck. And this has been going on for well over 10 years. As long as the unix geeks who dominate desktop linux development try to layer away user interaction problems and think of GUI's as nothing more than "Eye Candy" and in no way function, I guarentee the user experience of linux will suck for another 10.
If Linus Torvalds had wanted linux to be on the desktop, in 1993 he would have got his Finnish butt to the nearest school in Scandinavia with a HCI department and would have allowed usability folks substantial input on the design of the first kernel.
As for the subject of developer attitude, ultimately, developers who have contempt for newbies will bring that contempt in one way or another into their work, and in one way or another it will affect the user experience. Therefore, on technical grounds any developer who has contempt for newbies should be locked out of the desktop to protect end-users. The proper way to handle such folks is to handle them back to the server closet where they belong.
One could also make the moral argument that developers who have contempt for newbies have entirely no right to the desktop. You could even take this one step further and say that any action taken against such developers (e.g. licenses, patents on innovative UI stuff, project wars, etc) is morally justified.
Enough. I've got a paper to write.
--
Ergonomica Auctoria Illico!
Ergonomica Auctorita Illico!
And before I accept your point about the GUI not working as an add-on, I'd like to hear what systems you like.
One could also make the moral argument that developers who have contempt for newbies have entirely no right to the desktop. You could even take this one step further and say that any action taken against such developers (e.g. licenses, patents on innovative UI stuff, project wars, etc) is morally justified.
That's just silly. If you don't like their work, you have the right to not use it. Find or create an alternative that is more to your liking. The thought of punishing a free software developer because they don't meet your personal standards is simply offensive.
Bruce
Bruce Perens.
I don't think there really is much contempt for newbies--they are just much more difficult to deal with. Writing software for yourself is what most people like doing, and its natural for people like yourself to also like the software that fits this criteria. This is how free software started, it is the essence of free software so to speak. So to write software for people who aren't like yourself takes more effort to see the software from another person's perspective, and this does take much of the joy from computer. I mean, who likes writing documentation? Who wants to read long boring mumbo-jumbo by HCI wankers--it's not even a real science! So if your mythical "average user" doesn't have the best possible user experience to begin with, thats not contempt, thats laziness.
I have only been using Linux exclusivly for about a year. I guess I would say that I am typical for the granny test. Well almost typical, I am only 23 and not female, but other than that, I am a typical home computer user. I use office suites, email programs, browse the internet, watch movies, burn cd's, and keep my finances in order on my pc.
/mnt/cdrom where RH uses something different. Well it did when I last used it, its been about 8 months. I would also like to see a universal package installer. I like the idea of .deb's because they handle pretty much everything. KRPM also looks to make sure dependancies are filled. It would be nice to have a program handle both package formats.
My first complaint is there is a lack of documents that are easily used by the home user. Man is ok, but I haven't really found a good gui for searching for help by topic. That would have been nice. I usually have to search the net to find out what program I have to use to do a certain thing. It would be nice to search for 3d animation, and if a program was installed, have a link pop up to the help file from that program. If more are installed...have multiple links. I guess that comes from using MS for a long time.
Dependancies are a killer. SuSE (its what I use) seems to handle this pretty well. I have yet to install anything over the net. I dont have much need to, I have everything I need. I have noticed that they file systems are big time different. I have used RH , and SuSE. The mount points are different for my removable media. Since I am not a programmer, I can only assume that there is some variable that I can use in a script to detect the usual mount point for say... my cdrom. That isn't much of a deal to me, I can get around well enough to figure the stuff out. But to a new user....I bet it could get confusing, especially if they switch from one distro to another. Suse uses
Hardware support is a major issue. I guess we can only blame the vendors for not releasing the proper information to develop those.
The config system for the different WM's and Desktops are completely different. I personally like that, but it would drive my old man nuts. Many of the windows home users that I deal with are used to learning the exact steps to do something, not the concept of how to do it. IE. "to open my add printers dialog, I go to START -> Settings -> Printers -> enter. If it wasn't there...I wouldn't know to look in the control panel." The different distro and WM's place things in different locations and have the config UI's in different places. Most MS users dont even know that you can use the command prompt. Before you flame me, I said users, not admins.
I think a database of available packages for download by distrobution would also be nice. Add a gui for apt, or apt getrpm (is that correct?) with a menu option to add, modify, or remove a source from the list and it would help. Make that same list available to your package manager so it can dl any dependancies that your system doesn't have when it checks and it makes life all happy and stuff.
Some of the stuff I have mentioned is probably being looked at or being solved by the LSB.
Ohhh...one more thing...
It would be nice to have a find button on "add attachments" for the email programs. I dont know how many times I have had to instruct people on how to find the file before they attach it. It would also lower the need for knowing the file system layout of your system. I think it would also solve some of the confusion for the "where is my c:\ prompt" people that are still trying to learn linux. It really isn't that hard to figure out, but if you want someone to migrate from something they are already familiar with...you have to make it really easy for them.
Stop signs are only Suggestions
I have had less issues with Mandrake than debian (unstable, using the default installer, Knoppix ;-) but very few in either case.
Redhat I gave up on, I did use Redhat 5.0>7.2, and tried 9.0/9.1/Fedora--- Mandrakes implementation stomps on Redhats. Repeatedly.
I have good wishes for Fedora now that apt is supported... But Core 1 blew for me.
The joy of typing urpmi somelibraryimlookingfor.so and having it pull the package(s) is extreme...
(building something not in contrib for example, from a tarball)
(As to the "default installer" bit, if more people use Knoppix to install Debian than Debians installer, that actually makes knx-hdinstall the defacto default installer I guess)
I understand most (95%+) don't have constant contact with Mac OS X, much less play with the developer tools...
But what you just described is how Mac OS X's Interface Builder works! The widgets, guidelines, interface paradigms, and look and feel are encouraged and enforced by the UI; the menubar, window layout, widget placement, texturing, widget types, etc,
It's not perfect; developers can still intentionally (or unintentionally) violate the HIGuidelines, but it's a lot harder than any other IDE I've ever seen.
GPL Deconstructed
Many people argue that one of Linux's greatest strengths is its flexibility and diversity. You can choose from a couple hundred different distributions (or create your own) and pretty much customize your system the way you like it. In fact, this is only half right: A flexible and diverse base install directly implies a rigid and centralized upgrade and application install process for most users.
:)
As a user, once you pick up your distro from one of the stalls of the vibrant and diverse 'bazaar', that stall now becomes your 'cathedral'. You like that shiny new app in that stall over there? Better head to your cathedral to check whether your high priests have compiled a version for you. Is that an available upgrade that you see two stalls over? Better pray that your one true distro has decided to upgrade as well. Did your high priests just take off their ceremonial red hats, don their fedoras and close your cathedral down? Too bad you'll have to find another cathedral to pray at. Sure you can try to learn the incantations and join the priesthood, or even build your own cathedral, but not everyone has the strength of will to take a vow of poverty and give up sex
Ok, ok, so I went a little overboard with the metaphor, but you get the idea. I don't know what the solution is, but I do know that users, like developers, prefer the freedom of the bazaar. It seems to me users won't get this freedom unless developers are willing to give up some of theirs.
Imposing Libertarian views on everyone online since 1992.
Note the dot before the username? You bit :-)
The real Bruce Perens has a UID of 3872. Everyone else is an impostor.
Use ISO 8601 dates [YYYY-MM-DD]
Oh dear, please tell me Bruce didn't just spout that old chestnut of "if something isn't there in open source, you can go code it".
I'm a mediocre C programmer and there are plenty of people who aren't programmers - the fact that I (let alone them) can just dip in and start programming some wizzy new bit of functionality is absurd.
In reality it takes 3 months of 9-5 work to become fully up to speed with the way something works, it's nuiaces, issues, problems, general fudges and other "gotchas". You can't just sit down, fire up VIM and hack yourself up a new feature.
The truth of the matter is that if he want someone to add something he either
- Makes a lot of noise in the right places and hopes someone decides to implement it
- Pays someone to implement it
and even with point 1, if the programmer doesn't ask you for feedback, the chances of you getting exactly what you what is slim.Avantslash - View Slashdot cleanly on your mobile phone.
I think that if you would like to solve the problems you're complaining about, the best path is for you to code.
UI folks shouldn't have to become programmers to get UI problems solved. I would much rather continue my HCI education and put all my energy in studying newer and better ways for people to get their work done with computers than learn a bunch of crud about AutoConf and Makefiles. There are people far more experienced than me who have decades of experience at making computers less confusing for end users, who spend 40-60 hours a week intensively studying things like cognitive psychology and HCI. Why the hell should those people have to spend the next ten years of their life learning how to program to change a confusing button or ameliorate a cluttered screen?
That's just silly. If you don't like their work, you have the right to not use it. Find or create an alternative that is more to your liking. The thought of punishing a free software developer because they don't meet your personal standards is simply offensive.
A secretary does not have any right not to choose Debian.
A schoolchild does not have any right not to choose Debian.
There are certain settings where people are naturally forced to use a platform and don't have any say in the choice about whether to use the system. This is not about me. This is about them. If no one else will fight on their behalf, then I will.
You Debian people also keep using the word "your personal this" or "your personal that". I'm not talking about my personal standards. I'm talking about basic standards that have been laid down by the Human Computer Interaction community for the last 20 damn years.
If a free software developer only writes stuff for himself, everyone else be damned, great. I have no problem with that. But when a free software developer does not meet these basic standards set down by the discipline that makes computers easier to use, and when he targets grandma anyways and lobbies for his unusable crap to be installed on government computers, then such a person must be appropriately dealt with. I consider such a person to be as harmful to the end user as Microsoft.
It's not that I don't believe in Freedom; it's that I believe a user's greatest Freedom is The Freedom To Get Stuff Done With A Minimum Of Fuss.
Ergonomica Auctorita Illico!
who *exactly* should 'dominate' (desktop) linux development then, if not unix geeks?
HCI people
Don't see why not.
wait a minute...I'm seeing a vision....Jakob Nielsen and Linus's desktop linux show
Excellent idea. Jakob's contributions are as important as Linus'.
If you keep 'screaming at programmers' I guarantee you'll continue to be ignored.
We'd get ignored no matter how we put it. Your point is?
Ergonomica Auctorita Illico!
I get paid to write code, and one of the things I like most about Linux (and open source in general) is that the majority of contributors are people who aren't paid to work on it.
Nearly all for-profit software projects have a small set of key customers. These customers dicate the vast majority of the product's content because the developers must please them to continue eating. If a feature Joe Public wants isn't on the same list these key customers come up with, Joe may not get his feature at all. Not because the feature is too hard or not important, but because there is only so much time in a release schedule.
Open source projects are certainly not without process, but their process is often focused on only the core areas. The rest of the product evolves as needed. Linux is a great example. The official kernel development process is a well structured, but there are countless modifications and addons which range from industrial grade (ALSA, FreeS/WAN, etc...) to completely ad-hoc. The side projects like these make Linux useful and powerful. If users have a reliable core, and for items outside that core, there are still options. More importantly, as particular options become more mature (and popular) they can be absorbed into the more strucutured core process. (ALSA again comes to mind)
Bruce is absolutely correct in pointing out that there is often superior quality in open source. This is because quality is defined differently from different viewpoints. The code I write for work has to be internationalized into 15 languages to be allowed to go to market. We currently don't have any non-english speaking customers, but we spend enormous amounts of time making sure all the GUI components, error messages, log files, and documentation are completely internationalized. My company will eventually market the product globally so it is not "wrong" to internationalize the product. In the long term it will pay off, but right now it does mean fixing a few of the smaller bugs or adding some of the lower priority features gets deferred.
The beauty of open source is that projects can evolve in a much more wild and Darwinian manner. The strongest code and best ideas win. If products reach a point where they are wildly used or mission critical, the "process" which makes MBA's and ISO auditors happy can be adopted and retroactively applied.
Repeat after me - It's not RPM's fault, it is the fault of the packagers!
The problem with ANY packaging system that allows for dependancies is the JACKASS PACKAGE CREATOR who defines his dependancies as
libfoo.1.2.3.so.pl1.thursday.3oclock.mine.mine
as opposed to
libfoo.1.so
Debian fix this by being very controlled in what they let in - overly anal-retentive packages get bounced, and packages that depend upon packages not in the standard must clearly state WHAT they need and where to get it.
Redhat itself does a fair job of this, but with everybody and their dog creating RPMS higglty-pigglty, the third party RPMs suck.
Once again, repeat after me, class:
No packaging system will solve the problem of incompetent people creating packages
Also - with regards to the MAN vs. INFO issue - what about having a simple web server, bound to 127.0.0.1:<mumble> that would respond to INFO and MAN requests, returning HTML. Then a user could use ANYTHING from Lynx to Mozilla to view help, and you could get all the benefits of cross-linking. Ideally, this server could run from inetd, stand-alone, or as a CGI under Apache.
www.eFax.com are spammers