Forgot your password?
typodupeerror

Comment Many suggestions (Score 1) 821

My paroles to the FOSS developers:

1.) Get all those FOSS developers, who develop a "normal user program" like let's say for KDE or GNOME, to understand that they have to have to write a program with the needs of average users in mind. That means, every non geek or non authistic human has to use the software without any fear but with ease.

1a) Drop the RTFM attitude and learn how to design UI's that need no documentation. If they want non autistics to use Linux they have to accept that these "normal users" set the rules of the user interaction. Discover, that creating software that is usable without pain for everyone is hard, it needs smart developers, it needs geeks.

1b) Drop the "a foolproof system will only be used by fools" attitude. I know a bunch of VERY smart people who simply turn their back on linux. A comparison that might help is the following: I know nothing about electronics, circuits etc. When I want to play a Audio CD with my HiFi, I absolute don't care which microelectronic is working in the background, I have a play button, a track selection button an that's all I need. I don't care a shit about what's happening behind. Normal users don't care about the point-to-point-protocol and they shouldn't.

2.) Get away of the concept that more features will improve a software. Like explained in 1.) this is the geek, power user perspective, not the standard user perspective. The standard user only uses a very small fraction of let's say kmail. He/She doesn't need the rest, and hence he/she shouldn't see any disturbing buttons, menus, popup's, etc. Cut down the functionality to basic features and make those main functionality easy and obvious to use.

3.) Develop software that doesn't ask useless questions or shows useless information to standard user: "application Foo couldn't open directory because it couldn't access MIME Service Bar". It's of zero use to a normal user, never ever display such thing. Either the software can fix the situation itself or it should simply say that it's not working.

4.) When configuration is necessary ( for example access to the net ) only ask the user questions that he/she is capable to answer: "Should the ppoep module be loaded into kernel?" is a question that 100% of normal user won't be able to answer. "Enter the username and password for your internet connection" is something that the majority will be able to answer.

4a.) Ask the user a minimum of questions: When it's technically possible that an installation routine can find out that it is installing linux on let's say a Dell Inspiron 8000, then the routine should lookup a config list, find the Dell, crosscheck with the EEPROM's and automatically setup for this laptop.

5.) Stop stupid things like in Fedora 6: You can install xmms or some other player, but there won't be any sound of an mp3 file because the MP3 decoding module won't be installed. It's not even included in the distro for licensing reasons. SO WHAT'S THE POINT OF INSTALLING AN MP3 SOFTWARE?

6.) Stop acting like you're alone on this planet, creating the 7th audio layer for Linux won't help anyone. I installed grip on the Fedora 6 box of my father. I can rip, encode, but I can't test play any track to check what I wanna rip, grip plays but no sound comes out. THIS IS RIDICULOUS!!!

7.) Remove any trace of ASCII, delete it out of the history books, and hang the enventor(s) in some dark cellar. Remove the char type out of the GCC parser! Unicode is the most wide spread real alternative and should be used throughout. I don't ever wanna see some "?$" letters instead of a ä or Ü.

8.) Stop that stupid "I have to configure the keyboard for the console and a 2nd time for X".

9.) Remove X. X had many years time and didn't get anywhere on the desktop. The 17.000 extension to the protocol won't change that. NO DESKTOP USER NEEDS NETWORK TRANSPARACY. In the graphic sector create something like directX. Write perfect, super fast drivers for all video cards, support ALL hardware features.

9a.) Create a lowlevel layer for all hardware types, e.g. for all input devices a layer, for all scanners, etc. Ensure that all this thin, performant hardware abstraction layers follow common concepts so that developers building on those layers don't have to learn new structures with every layer. Create a windowmanager layer and build QT and gtk+ upon this togehter with the graphic/input layer.

9b.) Write fullfeatured hardware drivers for all devices, I don't ever want to ask myself the question: "can I buy this, is it supported under linux?" NEVER EVER!

10.) Drop the etc configuration concept. Configuration files where cool in the 70's. We have 2007, not even power user should have to write their postfix config files today. And don't come with some "this is the UNIX way" shit, the times where users/admins spend hours to find that `,' character to make some piece of software work is long gone. Accept it. Write a configuration framework with high level API, use something like a database in the background. Use some kind of a state machine inside, so when the firewall software set the configuration state "SMTP Port closed" then the MTA software should read this/be notified and react. Implement a versioning system like subversion. Provide functionality that an admin of many machines can change a specific config on all of his machines with one action. Provide a easy way to switch between config's, so a laptop user can adapt to a set of previous configured environments with ease.

11.) Create a set of high level libraries that cover the building blocks of what a modern software needs. Document it thoroughly. Use a common API concept. Provide platform support for MacOS X, Win and linux. Advertise it in the various programming magacines.

12.) Write a absolute reliable and very simple backup solution that can at least: make a system backup to any kind of storage ( of course also split on multiple CD's, DVD's, etc ), recover this backup on the same or a similar hardware with minimum user interaction. The last thing an admin wants when he has to recover a database machine is to think about some 200 different options a backup software offers to restore some chunk of data. He needs the data on a new machine quick, nerves are blank, no time for super flexibility and options heavon.

13.) Create 1 software package format for all distros.

14.) Drop all but 1 font formats on Linux: terminal fonts, X fonts, LaTeX fonts, etc with all having some special configuration/setup magic to do make them accessable. Yes, free software means free choice of everything, but in the end standard user want to have a set of fonts available with every program.

I'm sure I forgot 1 zillion things that tortured me in the last 10 years of linux use. But the above should help quite a lot.

matthias

Slashdot Top Deals

All great ideas are controversial, or have been at one time.

Working...