If I Had My Own Distro...
Gentu writes "Adam Scheinberg writes an interesting editorial explaining what he would do if he was a developer and he had a Linux distribution. His suggestions are pretty radical, and in places resembles of what Apple had done to MacOSX with the help of BSD as the underlying technology. But if this is what it takes to get Linux into the next level, it might worth the consideration."
Prediction: Linux From Stratch mentioned in first 50 posts.
I would call it "AssHat" and make it look like Windows but covered in tinfoil.
me karma am bad
Wait a minute here, I am confused. How could you not have your own distro, I mean, it seems that everyone else does.
Join Tor today!
(I've posted this before, but it is 100% relevant to this article and something I want people to think long and hard about.)
.RPM or .DEB, in which case it is already figured out for you (Mandrake-branded site will default to .RPM, etc).
Forget copying the Windows UI, that's absurd.
Someone is going to get on that machine, go to Start -> Programs looking for "Microsoft Excel" and feel like an idiot or be completely frustrated because they couldn't find it.
NO ONE has complained that people stay away from OS X "because it doesn't look like Windows." WHY are we trying to pretend that's the reason people don't try Linux?
If you want Windows people to use Linux, we need distributions to do a few things:
Ditch 3 of the 4 programs that do the same thing. Seriously. Why do I need 4 CD-R burning programs? Just give me the one that works the best, that's *all I care about* - and make sure it's labeled "CD Burner" so I don't have to decipher "gkdesbUISO." Contrary to what people here may think, we do NOT need to include every single Web Browser available. Don't put every alternative in the "Programs" menu - you hide the extra versions, and it only comes out when someone says they are an "advanced" user. Or perhaps a help option that says, "Software Doesn't Do What You Want? Try These:"
Distro installers should have a "I have never used Linux before, but I have been using Windows for 5 years" option. This will offer extra help in the form of, "If you are looking for this, you will now use this instead."
Make sure "regular" users *only* need the first CD. In the case of a 3 CD distro like Mandrake, make the additional CDs required only for developers and/or international users.
When you setup the desktop, be it either Gnome or KDE, you need to include a few "What do I do now?" icons on the desktop. I'm not talking about your "Welcome," because most of these people are illiterate or too lazy to read them, I'm talking about a few icons such as "Games," "Mozilla Web Browser," and "OpenOffice Applications." Do NOT just call the web icon "Mozilla," because these people have no idea what Mozilla even is.
I don't know if one exists yet, but we need yet-another new standard Linux portal. One that can be branded with Mandrake, RedHat, etc, but has software reviews, HOWTOs, special tips, best applications in each category, downloads, news, a forum, etc. And when you click to download a file, it is either a
Apple has the portal down to an art--take heed as it will go a long way to making them feel like they are both a part of something, and that they've just entered a Brave New World as opposed to being made to feel like an idiot because they can't find anything or get anything done.
The thing that most mainstream distros seem to be doing well, is that as soon as they are installed, 99% of the applications you will ever need are already installed and setup. With Windows, you're stuck with installing all of your software off of CD again, downloading everything again, etc, etc.
Prove me wrong now.
Jason Fisher
My distro will also:
observe my web surfing habits, and automatically download buttloads of pr0n based upon my preferences
telecommute and perform all my tasks for me
make coffee for me in the morning
take care of 'morning wood' for me
b*tch out telemarketers who call
do my laundry
fix Wine so all Windows games work on it
and spam Microsoft when its idle
Hell if you're gonna fantasize, fantasize BIG!
The article illustrates one of the problems I see with the various distros out there. There's just SO much availible, I just don't know where to start. It's rather intimidating. Also, why should I have to learn the ins and outs of 2 or more DEs (KDE, Gnome and maybe others) to get all the functionality that should be availible in one. I think this is one of the reasons why people put up with Windows despite Microsofts draconian EULAs: there's a consistant look and feel there that just isn't availible on linux (yet).
/usr didn't mean USER but rather Unix System Resources. WTF?)
And on a similar note, I definitly agree with the authors idea of changing default directory names to be more user friendly (it wasn't up until 2 years ago that I found out that
He covers a lot of overlooked stuff. A lot of the people working on having a desktop-ready linux seem to think that you can just throw on some clone of LinuxConf or YaST that you made yourself and call it a day.
Not true.
The math and CS departments at my school have started maintaining machines running Red Hat in any computer lab they can exercise any control over. Naturally, students who aren't familiar with linux try them out. Seeing as how I work the helpdesk and I'm the one everybody seems to come to for help with installing linux anyway, I end up helping them out a lot, and I've noticed a few things.
The author's comments on the filesystem are dead-on, but don't go far enough. I've helped users who are trying to save files on the desktop, and they expect the desktop to be an option in file pickers. I would like it to be there, too - having to go to "/home/uname/Desktop" is not intuitive, and it's a pain in the ass. This should be something that is global to all file handling dialogs. KDE does it in a half-assed way (I don't know about Gnome 2), and it doesn't really help much anyway since all applications seem to want to write their own dialogs from scratch, anyway.
KDE and Gnome need to come to an agreement on some common dialogs, work on a design for these dialogs and how they will work, and then implement them using a shared library that both will access. I don't care how it is implemented - the dialogs can be written in straight X11 so it looks the same on both, or the library can check for what environment is being used and pop up a dialog that is written using GTK+ or QT. As long as they look and work the same, I'm happy.
Another one is networking. We've tried finding a good way to help students who aren't good with Linux to access our campus network resources. LinNeighborhood is the best we've come up with so far, and that doesn't even get to the configuration issues that pop up for people trying to get their own linux boxen connected to the network. Come on, people. Most everyone using Samba is connecting to Windows networks. Windows networks usually have pretty much the same configuration. Why the heck can't we have distros that set up Samba by default, have Samba's default configuration be for a standard Windows network, and give users a decent system? On top of it, there is no good network browser. Apple gives me splat-K and pops shares up on my desktop. Windows gives me Network Neighborhood and acts as if all shares on a network are already in my filesystem. LinNeighborhood makes me mount everything, then forces me to go into the filesystem again and find where I mounted the share, and it asks me for my username and password every step of the way. In this case, I like the Apple model best. Give me a "connect to server" option in my start menu, and when I connect to a server, pop up an icon on my desktop.
While we're on the subject of things just popping up without any hassle, if your distro isn't using DevFS yet, get it switched the heck over. If the driver you're writing isn't DevFS compatible, get it working that way.
Anyway, I could go on and on, but the point is, there are a whole lot of details involved in a good desktop OS. Linux is a great desktop OS for me, but I am comfortable enough with Linux to handle the hassle, and I've made it over the 2-year learning curve. Anyone who thinks that drag'n'drop and a somewhat working office suite makes a complete desktop OS for the general public needs to get a clue.
(sarcasm)
Yes lets just start over from scratch and abandon 15 years of gui development. I am sure in ten years the new system will be much better than the old system.
(/sarcasm)
BTW it is GNOME and KDE that are dog slow but that is the new "modern" stuff while "old" X and fvwm still runs fast and light (and looks better too).
It amazes me how quickly some people are willing to just abandon something because it has flaws. Almost all software of any real complexity has flaws but developers should not be so quick to abandon what works.
To the credit of the Mozilla developers, they did eventually provide a very good browser but when they started over, they nievely thought they would have a solid product by the end of one year! Mozilla is very simple in comparison to all the infrastructure and design used with and by X.
The lesson of "Easier said than done" seems to be ignored all too often. It is not fast or easy to replace a sophisticated working system. Many projects have been started to replace X but none of them have ever made it all that far because amazingly X works better and supports more software. If you want to use something else, go ahead. Nobody is stopping you.
I miss the Karma Whores.
"I'm going to remove a lot of choice from the user, because, to many, it's more a gamble than a choice."
I agree whole-heartedly with that. When your basic desktop user is switching from Microsoft to Windows, all of those choices are guaranteed to blow his mind. Postfix? Sendmail? Qmail? Procmail, mailx, mailutils, maildrop, mailbase, getmail, fetchmail, mutt, elm, squirrelmail, kmail, sylpheed, evolution!? I don't know, I just want to check my mail! Why are there so many choices in the "mail" section!?
What ALL distros lack is sufficient documentation on what all of these packages are and why you would need them. Gentoo's description of fluxbox: "Window manager based on Blackbox -- has tabs." Yeah, that about sums it up. Now I know exactly what it is... uh huh. To anybody who needs a description of fluxbox, that's not enough. Imagine the user coming from Windows and reading that description. What's a window manager? What's blackbox? What are tabs? Do I need this?
The way to fix this isn't to just force the user to take a certain window manager. It's to give real documentation. A page, or two, or three. Better yet: screenshots. A picture is worth a thousand words, right? Each window manager could have 5 or 6 screenshots viewable from the installer, or maybe a little automated tour.. a slideshow or video that demonstrates its features. Every program should be well documented. Those that can't be described completely yet simply should include some sort of a graphical demonstration. Documentation should include who it's targeted at, what it does, and why you would need it. This could include a list of common tasks it is used for.
Similarly, a well-documented installer should have an index where users can search for specific actions like "reading mail" or "web browsing". Under each topic should be a list of available programs to do that task. Current installers allow you to choose pre-defined setups like "workstation" or "server". There should be more than just a few pre-defined choices, and they should explain in great detail what they install and why. Obviously, there are some people who just want to click "install" and have everything setup for them. But those who are really trying to get into Linux won't just want to have a box pre-configured for them. It's MUCH more valuable to have each choice explained. "This is fluxbox. Fluxbox is a window manager. A window manager is... Fluxbox was chosen because you selected the 'fast and lightweight' setup. Fluxbox's competition is:... Fluxbox was chosen instead of its competition because..." Sure, it would take forever. I know I would have preferred to have taken a long time but known exactly what was going on rather than installing in 10 minutes and taking two years to learn what all of my software is for.
Maybe a distro intended solely for introducing linux is in order. Not like Lindows and Lycoris which "introduce" you to linux by isolating you from it, but something that is more of an interactive tutorial.
Scratched Emulsion
I've scrolled halfway through the posts and haven't seen anyone say it, so I will: He's describing Debian.
/system/commands "idea" is a clunkly thought out version of /etc/alternatives. His "One bog site where you can download packages that are guaranteed to work with your distro" describes the official apt repository nicely. His description of dependancy hell sounds like the experience of a RPM user--I wont say that Debian never has pckage problems, but I will say that I've only ever seen them in Unstable--on my Debian system dependancies are never an issue.
/bin and /usr/bin and /usr/local/bin (and on Debian at least their uses are clearly defined) but one bin directory for users and one for root should be enough. (The argument is (of course) partitioning. Mount /usr ro! /bin is on / so that the system always boots and everything else can be remote! I don't have an answer; maybe the HURD and its fancy merging directory thing will be the solution.) Debian can dictate such a change, if it could be agreed upon.
Okay, not now Debian, but a friendly Debian. His
I don't mean to sound like a Debian-loving zealot (though I probably am...) but 50% of what he wants Debian already does. Of the rest:
The revamped directory structure is a must. I've looked at it every way I can, but as far as I can see the old unix layout (while close to my heart) is not going to make desktop users happy. I've heard all tha counter arguments (and made most of them myself) so don't bother. I dissagree with his names, and I don't like the way MacOSX does it either, but something has to be done. Even if it isn't renaming (people can learn any names, after all) it should be depreciating certain practices and/or not allowing them. I know there are good reasons for
Limiting choice. This is a Very Bad Idea. limited choice is never, ever good--this is my firm conviction. But that doesn't mean there can't be sensible defaults. Make everything work automatically and TOGETHER automatically, and have all of the choices there for those who go looking. Maybe limiting packages on the install CD is worthwhile... but the choice should always be there. Debian limits nothing, and its default setup does not work perfectly... but it has potential. I can see it pulling itself up by its bootstraps and becoming a system that works together with itself.
Graphical installers. I'll say it one more time, I've said it before: screen one of the installer should be DOS/curses style and say "Easy install or Advanced install?" This is not to say everything he said about having the graphical install have advanced buttons isn't true; that's necessary as well. What this means is that the idiots can pick "Easy" while I pick "Advanced" and I get my sure-to-work-on-this-VGA-piece-of-shit installer complete with cfdisk partitioning and all of the gory details. There should never be a total reliance on a fully GUI install. Debian's installer is awful and could use some kind of option like this.
Liscense. BSD-style is nice, but GPL is Free. Non-GPL is not an option.
Kernel. This is another point in favor of Debian. It's (at least potentially) kernel agnostic. Linux today, NetBSD tomorrow, the HURD on Friday. A truly Complete Debian would allow you to pick any (supported) kernel you wanted at install time... be it Linux, or *BSD, or whatever. Doesn't matter.
As far as source goes... the debian way seems good. apt-get source. You can't do it by mistake, and it's not like archive material so few would get it "because it's free". Bandwidth problem largely solved (or at least not seriously aggravated) and you don't piss off zealots like me.
I will close by saying it again: Don't reinvent what Debian already does. Build a debian-based distro (a script could repackage many applications to use any new dir layout you choose). What this guy wants is a Friendly Debian and a little bit of proprietary code.
I want my Cowboyneal