People will never change to Linux no matter what because of the 80% finished principle. Linux developers rarely spend time really finishing up a product and make it end-user friendly. I just had a bug in the support for my touch-pad that was not driver related but a bad bug in the KDE module that handles it. If the bug is triggered the touchpad will stop working; for ever.

It is a config flag that disables the trackpad and that stays persistent in your home directory. You have to manually clear it.

If that happened to a regular computer novice, they'd be in pain. Suppose it takes weeks before you find someone that can fix it. How the ... should you proceed? Your computer, that you depend on, just stopped working.

A general computer user will be up in the hairs about it.

I recently contacted the author of a PostgreSQL visual tool like MySQLAdmin but written in JSP/Java. He said they had no time to write documentation because they were "volunteers". The product looked very nice (but everything was too small) and although the user interface seemed very well put together I found it unusable. There were hardly any installation instructions and no documentation whatsoever. If you create an application:

- architecture
- user interface design
- attention to detail
- ease of installation
- no unrecoverable errors
- functions correctly
- gets the job done

Are all equally as important, and if you forget one, the whole thing quickly becomes worthless. In Linux most people don't pay attention to any of the important user experience categories. Documentation is notoriously hard to read (openSUSE is really an exception), the "info" system is totally unusable. Man pages are often badly written.

There is no integrated help system. Even MS-DOS 6.0 had an integrated help system that was awesome. That was like 23 years ago. Linux doesn't have anything that remotely comes CLOSE. Apart from Yast, there are barely any good ncurses apps with menu style. I can only think of the excellent "iptraf". MS-DOS used to have an excellent editor that is better than Vi, Joe and Nano combined. "MS Works" was a very usable word processor application in MS-DOS. "PC Tools" was an excellent system/filesystem control application. There were numerous great games. MS-DOS was a great, terrific game platform.

There were SO many games for MS-DOS. To name just a few... smaller ones like arkanoid of course, xonix, whatever. Golden Axe. King's Quest. Larry. Monkey Island. Many more. With the higher memory came DOS4GW.EXE I believe. It was the expanded memory, 32-bit manager. You now had games like Red Alert, Command & Conquer, Warcraft 2, Settlers 2. Everything ran on DOS, don't forget that.

I had this menu application that was graphical that never really was a success. I tried using it to make starting games easier for my siblings. I think they would have done equally well with the command line.

When I got my first DOS computer (and only one) it came with a MS-DOS manual. I read it in full. I read almost every item in the help system. I read about all the commands. I had done this before when I learned MSX-Basic. I had a manual and I completely devoured it. It was so well written. I learned binary and hexadecimal number systems when I was about 9. From the MSX-Basic manual.

So let's quit comparing Windows to Linux. Let's just compare MS-DOS to Linux and take lessons from that. MS-DOS is superior in almost every way from a user interface perspective, if you discount for a moment the advantages of a graphical GUI and the networking capabilities that did not exist at the time. Today people consider MS-DOS a "hard thing" from the past. People in their forties still remember it. When I pop up a Windows CMD.EXE window, they will go "Oh, MSDOS?" or "Oh, DOS?". If you take away the GUI, and forget that MS-DOS did not have any drivers or capabilities for networking, (almost none) what is left is the deep impression that everyone that used it loved MS-DOS and found it to be really easy.

Sure most that did use it were geeky people but the people in their 40s are usually not geeks at all. MS-DOS is a lot harder than MS-Windows these days, I guess. But most could achieve the modicum of use. It was the early days and yes it was harder. It required commands. But let's just summarize all of the commands you needed.

- A:
- C:
- cd <dir>
- mkdir <dir>
- rmdir <dir>
- del
- copy
- move

- A:\INSTALL.EXE

- dir

That's about it. I remember the first time I saw my cousin use "dir" on his PC. I had never had a PC before. I was curious as to what he was doing. I did not understand at the time. What was "dir"?. I am now much more versed in computers than he is. He got there sooner, but I went much farther.

And he was younger than me as well but his parents gave him more good stuff.

- help

Now compare the Unix equivalents to some:

- ls
- rm
- mv
- cp

See the difference?

MS-DOS had only one important, non-user directory. C:\DOS.
MS-DOS had only two important, non-user files that you needed to know about

CONFIG.SYS and AUTOEXEC.BAT

Both were easy to edit and customize to your will. You could create boot menus with CONFIG.SYS and then create GOTO statements in your AUTOEXEC.BAT to effectuate those menus. It was very easy and in that sense, powerful. I have no frigging CLUE how to achieve the same in Linux. All I can do is (in Suse) put something in after.local or local.after or whatever.

So it is twenty-three years later and I cannot achieve the same things that I could achieve back then. I have had a regression. In that way and important sense. My user experience is not on par, or up to par, with what it was back then. Forget Windows. Talk MS-DOS. There are important lessons to learn.

MS-DOS had a third party tool called QCD.EXE in its simple sense and it provided, no matter how trival, a very easy way to traverse directory trees in text mode, with colours and all. So simple and if you had the skills you could code it up in Linux within hours. It doesn't exist. Something so trivial and useful and it doesn't exist. Sure there is tab-completion but that is hardly the best of the best in navigation. That important little thingy no matter how unimportant and trivial still, was better than what all of the "brlliant minds of the Unix world" have put together so far, that I know about.

You can have 1 person that does a right thing and you can have 2 million people that do a wrong thing and do that wrong thing for 20 years, and it will still be not any better than what that 1 person has done in 3 days.

Of course we can discount for a moment Midnight Commander, it's just a clone of Norton Commander and I never used both, but that's just me perhaps.

I used PC Tools heavily but not NC.

(I can't find PC Tools anymore on the web. I'm not sure I remember entirely correctly?).

The short answer is that linux developers do not care about user experience because they don't pour in enough love into the product they make to make it really awesome and excellent and attractive. To make something great and publishable you have to pour in tons and tons of love. And I see people not do that. They do not love what they create. Some parts do receive that love, but it depends on the creator. The panel in KDE that I'm currently using is the most beautiful "task" bar I've ever had, but then the KDE software itself bugs it out so completely at times that it renders that beauty totally worthless.

The icons and all look great, but then the launcher icons for Dolphin etc. (for example, it's the only one I see now) is/are much too small. What? That ruins it. You have to give attention to detail. And it is usually not given long enough, full enough.

The calendar that pops up in KDE. Totally bad. It has a "events" compartment that draws attention away from the calender in a bad way and is coloured in such as way as to confuse you as to what the current date is. BAD. BAD. BAD. BAD DESIGN. BAD THOUGHT. Someone who created that on his own for his own would never do that. That one person that works for 3 days? Creates something better than this. This is just awful.

The thing is utterly confusing. There is a date in there but it is just a date string 09/01/15. Okay I got my locale set up badly. Not sure how that happened. There is a number in there "36". I do not know what 36 means. I have used calendars all my life and I can't read this display. What means 36. Oh, it is a week number. I never knew.

They could have not done a much better job making it visually attractive on the one hand and utterly unusable on the other hand. You gotta give them props for that. The software I used in MS-DOS was almost without exception just excellent. There is hardly any such excellence today of the same quality and aspects in this world of Linux software today. I can say that honestly.

(Just think of how slow Yast is too start, and Zypper is not very fast either).

The quality of my software life is 90% worse in about 60% of important categories than it was back then, while only 40% have gone up dramatically.

Let's say on average my user experience is about 30% worse than back in 1992. This wasn't so for a long time in e.g. Windows 98 but I still love text-mode menu applications that are well designed, to the brim. There is almost nothing that beats a well crafted text-mode interface in terms of speed and usability. It also required much less to make excellent: you do not need excellent graphical skills, maybe that is a difference.

I haven't mentioned the gem of gems yet, because it also had a drawback, but it was just minor really although it stands out for me.

Let's just conclude for the moment that MS-DOS had a user experience that is utterly lost in Linux. Many things you could do then, you cannot do now. Perhaps they are few, but they are important and vital. I could tell you everything that needs to change to recreate that experience. And of course it is doable. It is perfectly doable.

You'd need to change grub2, you'd need to change the init system, probably get rid of that new thing. You'd need to reorganise the file system hierarchy for a bit (not all that much). You'd need to change the help systems (man and info, mostly info). You'd need to create a well-packaged scope (a limitation) and a presentation of the essential commands in such a way that a user can quickly discover and learn. In other words, you need to create a smaller, well-crafted environment where a user can feel at home in. You need to create a form of drive letters for mounts that stand apart from or orthonogal to the root structure/tree. (Why have only one tree? There are many trees in the forest. The driver letter thing C: A: in MS-DOS and Windows was just awesome. It is a really great feature that has no drawbacks. It puzzles me why Linux adherents do not see or believe that. Having one single root is like taking a square and reducing it to a line and then saying that it has improved). (You make the system less-dimensional). (There is one direction less in which to traverse. Only Dolphin tries to recreate it with its "Places").

If you do these things, you've basically almost got the MS-DOS experience. For the largest part it is encapsulation and abstraction to create a subset of the user experience that is well-maintained, given a lot of attention to get it just perfectly right, and just provides an environment that is totally easy and not hard and not difficult to do anything wrong. It is easy. I think with a team of 3 people doing it 5 hours a day, that had the skills, you'd be done in 3 months and have something amazing. Of course, the real question is whether today that would serve any purpose.

But I would certainly make something like that if I had the opportunity.