Advertisement

Article: OSS S.O.S - How HCI Killed Open Source

Started by August 01, 2004 04:42 PM
130 comments, last by C-Junkie 20 years, 6 months ago
Quote:
Original post by Michalson
Actually I think I'm on to something. OSS is far too dependent on this cult belief that Unix is the height of software engineering and usability.
Curiously, I can explain that.

RMS.

See, RMS' personal convictions, attitudes and phobias have permeated the Free Software/Open Source community so thoroughly, even as Open Source advocates diverge on the commercialization and activism issues, that pausing and taking a critical look at the what and why of software is probably not going to be an organic effect.

I was reading ESR's response to Sam Williams' biography of RMS, Free as in Freedom, and it was quite illuminating as to the guy's various psychoses.

(For those not in the know, I'm not fond of RMS. At all. Somewhere out there, someone has a copy of the nasty response to an essay of his I sent to DDJ in 2001.)

In any case, the critical element is how he purges his mind and recollection of all details that he considers not to matter - such as who suggested to him that Emacs be GNU's first product. The second he let go of MTS (being an MIT hacker, after all) and switched to Unix, there was no other operating system for him.

The sheeple are merely following their shepherd.

Quote:
At the worst of it you actually hear arguments of "Linux is secure because it's based on Unix" (and yes, that is an exact argument I've seen used countless times).
I've heard that to, and I, also, know that it's BS.
Ok, so if you say X should be totally destroyed, how should the windowing manager be like? I don't really understand why X is so bad. Well, maybe it is slow because it sticks to the client/server model although 99% of users don't take advantage of the client server feature, but what else is bad about X?
I eat heart attacks
Advertisement
Quote:
Original post by 2xp
usability is an issue when one entity wants to reach the mass market. that means the target is the least common denominator (does that exist in english?).

Yes, it does.
Quote:

cypher3d said the target is joe average, well the real target is the guy with accessiblity issues, who knows a few words of english, and just knows how to use a TV remote control. you still want to give that guy the possibility to do voice chat, play a cool game, or put a nice background on his computer screen without typing a make install command.

I disagree. That guy is the target of console gaming systems and WebTV boxes, not a desktop operating system.
Quote:

usability has never been an issue to most open source projects. open source developers are engineers, they aim to implement an algorithm they thought of, and that's all. making an interface or something readable outside the small circle of developers is well ... an option, because the priorities are performance, functionnalities, or code design issues.

Generally, no. Most OSS projects are started by people who want a program, and not finding one that suits them, write their own.
Quote:

there is a mentality that is like this among programmers : "hmm, what if i make this audio file writer with three different algorithms to choose from and five different speedrates ? that would be cool because the user has the liberty to use the soft with his own settings. and while i'm at it, i'll add this other code so that it includes xml files. and that other network functionnality too."

Not really. The usual mentality, amongst programmers on UNIX-like systems at least, is to write a tool that does one thing well. The end result is that the UI suffers, because presenting a good UI to the tool is something another program should be doing.
Quote:

well this thinking is wrong. because instead of giving the guy the "liberty" to compress an audio file with 35 different settings, you actually gave him an headache and you'll wonder why your soft is being used by just a couple of pHd holders.

So you advocate that the user should not have the option of tweaking those 35 settings? Or of installing new audio codecs and using them?
Quote:

i'm in a favor of just making softs that does the damn job (thanks apple), user oriented from the beginning. and follows the thinking : "ok, our users need to listen to some music. ok, i'll write an OGG reader, HIDE the process and i will display a nice music icon. so the users just click the button and finished" there we go. no need to show him how much time the processor used to do the task, no need to ask wether you want it at 192kpbs or at 160, and so on ... and you'll be happy when your five-year old says thanks because he can by himself listen to music.

Okay. I can configure my KDE desktop so that there are only two icons on the desktop. One says 'Record Music From CD', the other says 'Recorded Music'. Upon starting 'Record Music From CD', KAudioCreator runs, downloads track data for the CD, rips it, encodes it, and ejects the CD, ready for the next one. Making this icon is as complex as enabling the three checkboxes in the KAudioCreator configuration that makes it automatically rip and eject CDs, dragging the CD Ripper icon from the start menu to the desktop, and then renaming it. The 'Recorded Music' icon opens JuK, a KDE jukebox. This automatically scans the folder where the KAudioCreator puts its music, and displays the songs. Making this icon is as complex as telling JuK where to look for its music, and dragging the JuK icon to the desktop. That does not, to me, appear to be particularly difficult to use.
Quote:

i'd like to explain also why usability is an issue for those who are not convinced. usability gives you more users. a CLI interface gives you access to less than 5% potential market share. a "perfect" GUI à la apple

Apple in no sense have a "perfect" GUI. Also, please don't make up statistics.
Quote:

gives you let's say 99% potential market share. that includes your grandma, a guy from namibia or a visually-handicapped person.

Explain to me how a blind person finds a GUI easier to use than a CLI. Whilst I know that screen-readers can easily read the output of a CLI to a user, I know of no tool that can 'read' a GUI to a user.
Quote:

i'm not just thinking in terms of business, these extra users brings you more knowledge, more brain power, more rich interactions. i know for example a guy who develops programs by using xcode and the accessibility functions. and he is nearly blind. can't see beyond 20 centimeters. a voice reads the commands. he talks, there is voice recognition. he can also use keyboard commands. but he is one of the most imaginative mathematician i know of and gets some quality computer programs. is that possible with OSS softs?

How is it relevant that he's a imaginative mathematician?
Quote:

now oluseyi back to your thread,
oss = technical innovation. oss developers have no clue whatsoever of usability.

That settles that, then.
Quote:

finally, time for some personal and biaised comments :
1. Open source softs are not cool.

No. This is a personal and biased comment. You should say I don't think open source software is cool. You are entitled to your opinion, but it appears to be baseless.
Quote:

iLife is cool. garageband is cool. yeah it's proprietary. but i don't care how they made it. i prefer creating music than looking at some 1M code. and i don't mind paying for it. the guys worked hard for the product anyway.

Oddly, if I feel the need to create music, I can just type 'emerge rosegarden' into any nearby shell, type 'rosegarden' after it's finished, and then I'm creating music. No need to look at a megabyte of code.
Quote:
Original post by Promit
Quote:
Original post by seanw
I use a Linux desktop everyday and actually find it easier than Windows to manage most of the time.


Bingo, problem #1. You're not a good measuring stick. In fact, you're a positively terrible one. A interface which makes sense to an experience computer person has a terrible habit of being complete nonsense to the less familiar.

That's the sort of logic which gave rise to the bad interfaces we see. That, and RTFM, of course.

My friend Annie came 'round to use the Internet because her (Windows) box is broken and can't connect. In her own words: I don't care about computers, as long as they do what I want them to do. She gets to Konqueror, checks and replies to her webmail, does a bit of browsing. The only 'difficulty' she had was when she noticed that the menu IE calls 'File' is called 'Location' by Konqueror. It seems to me that 'less familiar' had no trouble using KDE's interface.
Quote:
Original post by redmilamber
A common argument from those trying to excuse mediocrity and failure on a particular OSS project: "you have the source, so you could fix it yourself".

This is merely a rhetorical trick. The word "could" here means "in theory, it is physically possible". But the same use of the word "could" can be applied to "Each person in my home town could be President one day". Or "I could win the lottery tomorrow".

The fact is that the only way most people "could" fix e.g. Blender's interface is to give up their family, their job, or all their free time (probably resulting in divorce, poverty, or a stress-induced nervous breakdown) for a very long period of time. The people making excuses usually don't care - they feel that their statement is unassailable, since it is logically true.

Undeniably, it is easier to change an open source program than a closed source program. Since you cannot change a closed source program.
Quote:
Original post by Michalson
Just get rid of X entirely. Its completely arbitrary line of seperation between "server" and "client" is a stain on even mildly passable engineering standards.

Nothing wrong with client/server GUIs. X itself is bad because that division is enforced, and because it's bloated. For example, you can't run themes on the server, so instead of sending simple commands to graphically complex widgets sitting on the server, you have to send all the graphical commands down the line. The general principle of allowing a GUI to display programs that are running elsewhere is useful, and a natural side-effect of modern object-oriented practices, where you shouldn't need to care where a particular object (such as a Window) is being stored.
Quote:
Original post by stimarco
Why in hell was this EVER allowed to happen? Why in blazes does Linux now boast TWO, all-but-identical, user interfaces, neither of which is particularly different from the existing Best Of Breed
  • ? Since when did Earth actually need this massive duplication of time and effort to produce TWO mediocre clones?

  • This is such a monumentally stupid question that I wonder if it is merely a troll. To pick some GUIs at random, KDE, Gnome, Windows, OS/X, OS/2, Photon and BeOS's UI all look similar because they work. The fundamental concepts of windows, icons, menus, buttons, and toolbars are a good idea.
    Quote:

    At present, Linux has reached the point where it offers a sort-of-Windows-like-ish experience, but without the polish and coherency. It offers the choice of one sub-Windows-Lite-GUI or another sub-Windows-Lite-GUI, both of which are maintained by hordes of vicious fanboy monomaniacs.

    Or there are the few nerd-fest GUIs maintained by some random loner in Latvia.

    Mozilla? Firefox? Give me a break! What's so damned special about a fucking web browser? It certainly took long enough to write and when it was done, what did we get? A brilliant new take on the browsing concept? A wonderfully seamless experience to accessing the World Wide Web?

    No.

    We got Internet-poxy-Explorer.

    Again.

    Yet without the gaping security holes, the bloat, or the habit of taking the rest of the system with it when it goes wrong. Exactly what 'brilliant new take on the browsing concept' did you expect? It's a browser, it shows web pages. Web pages contain links, and have addresses. There's not much more you can do with it.
    Quote:

    People sometimes ask me what's so great about Linux. The problem is that there's nothing remotely "great" about Linux. It's a missed opportunity.

    Fool. What's great about Linux is that it's free, and there is a huge array of free software available for it. My Gentoo system has 8297 packages available for installation. Only a handful of them are non-free. That means that I have a selection of nearly 8297 packages that I can install and use in the time it takes for it to be downloaded and compiled. And these packages are all there -- there's no cut down editions of superior packages because there's no economic incentive to provide crippled versions of programs.
    Quote:

    I contend that it is not. Freedom of speech is valuable only when you have something of importance to _say_. And GNU/Linux simply isn't important enough.

    But it's not your place to judge what others think is important. Clearly, some people think GNU/Linux is important enough to shout about.
    Quote:

    The only -- and I do mean ONLY -- reason GNU/Linux has had any success at all is because it is free. As in "beer".

    That's obviously untrue. The various BSDs are free as in beer. BeOS is free as in beer. Solaris and QNX are free as in beer for non-commercial use. Clearly, other OSes are free as in beer. Something makes Linux different.
    Quote:

    I believe it may well set back computing technology by years, if not decades.

    On what do you base that conclusion?
    Quote:
    Original post by Oluseyi
    Here's the thing: all of our metaphors in computing - files, windows, icons, menus, folders, pointers/cursors, programs, applications - they're 30 to 40 years old! While there may still be value at the core of them, isn't it time we at least reevaluated them?

    How do you suggest we go about that?
    Quote:

    Read this: When Good Interfaces Go Crufty. The revelations aren't earth-shattering by any means, but they will make you reconsider what you had always accepted as the norm, and hopefully take that attitude to other parts of the UI/UE.


    1. Users shouldn't have to save files. The problem with this is that +we can't pick a sensible name for a document. The second potential problem is that if storage is transparent, undo information will need to be stored on the disk. This means the user will need to periodically discard undo information or run out of disk space.

    2. Users shouldn't have to exit programs. A curious assertion. Fundamentally, all you need to do is change the "Exit" or "Quit" menu item to read "Close". Further more, I'm not at all convinced this is a problem.

    3. Users shouldn't be able to select files from a dialog. This is just stupid. Because the file manager can be open all the time, he argues, file selection dialogs are crufty. Which misses the fact that, on many modern UIs, file selection dialogs are the file manager.

    4. Users shouldn't have a Start Menu. This is shockingly dumb. He argues that users should browse to the folder in which a program is installed and run it from there. Most users will find it easier to choose a program from a simple list that appears when you open the Start Menu.

    5. </lo>
      Quote:

      Quote:
      Ever heard of the phrase, "an operating system is only as good as the applications written for it?" Well our problem lies in the lack of standardization in interfaces for applications.
      Why are there applications at all? Why aren't there simply extensions to the operating environment?

      Any sufficiently complex extension to the operating environment is indistinguishable from an application.
      Quote:

      Why do I need specialized applications that all save data in incompatible formats, that duplicate code significantly (consider the number of applications that can read text files; tell me that isn't equivalent code - and effectively bloat)?

      What's the alternative? The data a specialised application uses, by its very nature, will be specialised for that application. It isn't entirely unreasonable to suppose that a text editor can't open a video clip. Now, sure, the do one thing well principle suggests we would make a component that reads and writes spreadsheets, a component that displays spreadsheets, a component that performs numerical analysis upon spreadsheets, a component that provides data from a spreadsheet in a tabular form (for use by chart-rendering components, for example).
      Quote:

      Agreed, we first had to do the familiar or the socio-cultural movement that is distributed open peer review would never have had an attainable, familiar challenge around which to coalesce. Now that Open Source is mature, though...

      The problem with componentisation of the GUI and document-manipulation systems is that there is no component system that a large majority of the OSS development community is willing to get behind. Componentisation is tantamount to object-orientation, and many OSS developers are (inexplicably) opposed to object-orientation.
    CoV
    One flaw in the arguments that people make, saying, "Well my Aunt so-and-so doesn't find KDE particular hard to use. In fact [get this], it's very easy for them to [start paying attention now] surf the web using Konqueror, check their email. [done]"

    Ok, fine, KDE and GNOME are perfect for that. And so is Windows. And so is whatever. The people who were making KDE were obviously conscious about usability issues (to an extent), so they made it Windows like, so people would find a familiar place to do things, such as surf the web, check email, etc.

    But that's where ease of use stops. Designs of usability in KDE hit a brick wall when it encounters the roots of Unix. Try getting your Aunt to install some nvidia drivers. Try getting your Aunt to configure sound. Try getting your Aunt to set up wireless networking.

    All this can be relatively done in Windows, but in Linux/Unix, your Aunt wouldn't survive a day (figuratively speaking).

    Quote:

    Oddly, if I feel the need to create music, I can just type 'emerge rosegarden' into any nearby shell, type 'rosegarden' after it's finished, and then I'm creating music. No need to look at a megabyte of code.


    Aunt won't do that. She'll doesn't even know the existence of the command line.

    Quote:

    Undeniably, it is easier to change an open source program than a closed source program. Since you cannot change a closed source program.


    Barely anybody does. This is just idealism. "I could win the lottery tommorow" In general, commerical products have the benefit of a usability department, and financial incentive to develop good, solid, usable products.

    Quote:

    Yet without the gaping security holes, the bloat, or the habit of taking the rest of the system with it when it goes wrong. Exactly what 'brilliant new take on the browsing concept' did you expect? It's a browser, it shows web pages. Web pages contain links, and have addresses. There's not much more you can do with it.


    Stated perfectly. Go over to http://www.mozilla.org and see what they say about Firefox:
    "Powerful yet easy to use. Mozilla Firefox allows you to browse faster, more efficiently, more safely than any other browser. Get Firefox if you're looking for the latest and greatest web browser"

    What were you expecting?

    Quote:

    Fool. What's great about Linux is that it's free, and there is a huge array of free software available for it. My Gentoo system has 8297 packages available for installation. Only a handful of them are non-free. That means that I have a selection of nearly 8297 packages that I can install and use in the time it takes for it to be downloaded and compiled. And these packages are all there -- there's no cut down editions of superior packages because there's no economic incentive to provide crippled versions of programs.


    Just to remind everybody, we're talking about most computer users. Most computer users don't give a hoot about 8297 packages. I don't think they can understand how to make, ./configure and install. They'll probably get a headache trying to understand how to traverse directories via command line. And it's just not 40-50 year old people too, I've tried getting a lot of my friends converted to Linux when I was an idealist, and a lot of them couldn't understand ls, or cd, or whatever.




    I eat heart attacks
    Quote:
    Original post by Cipher3D
    Ok, enough complaining, let's actually start doing something about it.

    Not. My point is, people have been complaining about Linux ever since its inception, but the zealous "monomaniacs" that you speak of control what gets in and out of Linux. So why don't we just branch off and spearhead our own project? I don't know why people don't do that. I'm sure if someone took the initiative to start new Open Source Projects to improve Linux, they would gain quite a number of followers.


    NO! Dear God, no! Didn't you read what I wrote?

    It's not about plastering over the cracks in Unix. Forget Unix! Unix is a dead end, dammit!

    The first step -- as Oluseyi points out -- is to look at how computers can be _used_. The psychology, semantics and semiotics of computing need to be assessed and researched.

    Unix is still founded on the archaic computer-as-sausage-machine view: you feed raw data in one end of an app, and processed data plops out the other. This was the era of punched cards, paper tape and teletypes; all those pipes may have seemed cool, but they're just a way of chaining multiple, brain-dead 'sausage-machine' applets together to make the computer do something actually useful.

    This should be the stuff of museums, not 21st-century operating systems.

    Before any real progress can be made, Unix must *die*.


    Step One: Change of Leadership.

    Why?

    The OSS and GNU organisations are primarily fronted by academics, thinkers and the like. The best and brightest minds, working together for over 20-odd years, have produced... a clone of an archaic operating system, multiple mediocre clones of a commercial GUI based on ageing paradigms, and -- oh yes! -- let's not forget Firefox and Mozilla, which are barely changed from the original Mosaic, let alone IE.

    That's it? 20 years of the best of the best, the cream of computing's intelligentsia, and this is the best they could achieve? It beggars belief that these bickering egotists have managed to maintain the illusion of their worth and intelligence for so long.

    The old guard is clearly part of the problem, not the solution. They must be replaced. By force, if necessary.


    Step Two: New Organisations.

    The Free Software Foundation needs to ditch its bias towards Unix and stop blindly following the GNU Project's every whim. The GNU Project is over. They've achieved their aim. Academics have their free OS to toy around with. Let it go and move on.

    There must also be an end to the constant bickering over "open source" philosophies. The religious wars of the debate _must_ be wiped out ruthlessly and stamped upon; it only gives you a bad name and makes you look like a cult. Quit it. Kick out anyone who refuses to grow the fuck up.


    Step Three: PROPER Leadership.

    That means _planning_. It means coherent, cohesive _strategies_. It means _design_. It means targeted _research_. It means clear _objectives_. All the things those beardy types don't like to do.

    This is the Real World. People aren't going to spontaneously read your mind and just get on with bringing your wondrous vision to life: you have to _make_ it happen.

    It does NOT mean letting everyone just go away and do their own 'thing' in the hope that something good will come out of it.

    It does NOT mean arguing the toss over petty issues for ten entire years until, out of the blue, some kid from Finland gives you a free new Minix kernel on a plate, solving all those problems *you* were supposed to be dealing with. Relying on luck to solve your problems is not a viable long-term strategy.


    Step Four: Programming Is Easy. Usability Is Hard.

    Seriously: I've taught people who knew _nothing_ about computers the fundamentals of programming in less than a week. It's not rocket science, so quit expecting everyone to treat you like a god. It is not Big and Clever to speak fluent C++, while sucking at your native language.

    Programming is but one small part of software production.

    Good design and usability applies _between_ programmers too. I've seen too many APIs full of inconsistent naming conventions, poor spelling and miniscule -- nay, Zen-like -- documentation. If you have a "GetThingValue()" function call, make sure the complementary function isn't named "ValueSetThing()". This is just as much a usability issue as having icons with black text on a black background.

    Similarly, there is absolutely no excuse whatsoever for a lack of decent documentation. There is simply no point in writing a brilliant library if you cannot be arsed to tell anyone how to use it properly.

    (NOTE: none of these issues are limited to OSS, but it's certainly a major offender.)



    Step Five: Microsoft is NOT your enemy.

    For crying out loud, get this into your thick, bigoted little heads: Your enemy is YOU.

    Stop bickering. Get a life and understand that people choose to pay hundreds of dollars for commercial software for a *reason*.

    That reason is *not* "because M$ has teh brainwashed yuo!"

    The reason is that Microsoft makes software for *normal* people. Hence, a text editor is called "NotePad". A word processor is called "Word". Where software has no direct physical-world equivalent, then you can get a bit more creative, but even names like "Access" and "PowerPoint" give you some idea of what the program actually does. (Or, in the case of "Excel", just makes you feel better about using it. Still, I'm not claiming MS are perfect.)


    Step Six: Computers are supposed to do the boring shit so _we_ don't have to.

    This is such an obvious point that it amazes me how few developers fail to understand this very simple concept. Anyone whose idea of a 'good' end-user program involves firing up a command line and typing in an arcane string of letters and symbols including pipes, greater-than signs and reams of hyphens, needs to be killed slowly and painfully, while watching his parents sterilised so that they can't bring any more abhorrences like him into the world.

    "If you don't like the way it works, you can change the code!" is NOT a valid answer to a genuine support issue. If I'd wanted to write the flaming program myself, I WOULDN'T HAVE INSTALLED YOURS, YOU IMBECILE!

    Open Source does not excuse YOU from doing YOUR damned job.

    The User is your god. Bow down and worship, heathen, for you are not worthy to lick his shoes.


    Enough, I weary of this thread!


    --
    Sean Timarco Baggaley

    [Edited by - stimarco on August 6, 2004 5:39:05 PM]
    Sean Timarco Baggaley (Est. 1971.)Warning: May contain bollocks.
    Quote:
    Original post by redmilamber
    Quote:
    Original post by owl
    the answer is the same, you can take Blender's source code and write the interface you think is appropiate for people like you and contribute with Open Source.


    A common argument from those trying to excuse mediocrity and failure on a particular OSS project: "you have the source, so you could fix it yourself".

    This is merely a rhetorical trick. The word "could" here means "in theory, it is physically possible". But the same use of the word "could" can be applied to "Each person in my home town could be President one day". Or "I could win the lottery tomorrow".

    The fact is that the only way most people "could" fix e.g. Blender's interface is to give up their family, their job, or all their free time (probably resulting in divorce, poverty, or a stress-induced nervous breakdown) for a very long period of time. The people making excuses usually don't care - they feel that their statement is unassailable, since it is logically true.


    If that were true, then Open Source wouldn't exist at all. Aren't many opensource projects made by people like that?
    Again, what many of you people do is complain as if you were customers. You are not customers of Open Source, with that in mind everything will become clear.

    I really don't give a damn if common people gives up on it. Eventually, Linux will become an undeniable choice and Open Source with it.
    [size="2"]I like the Walrus best.
    Advertisement
    Quote:
    Original post by redmilamber
    Quote:
    Original post by owl
    If copying an idea is so wrong, then clones of orginal games shuldn't exist either, no matter how worst or better they are compared to the original.


    Since this is a game-dev site, I call you out on that: name me some clones that were worth doing. :)


    It doesn't matter. What matters is that it is a reality in game development, and nobody complains about it.

    Maybe if some clones where free or opensource you would complain about them too.
    [size="2"]I like the Walrus best.
    Quote:
    Original post by Cipher3D
    One flaw in the arguments that people make, saying, "Well my Aunt so-and-so doesn't find KDE particular hard to use. In fact [get this], it's very easy for them to [start paying attention now] surf the web using Konqueror, check their email. [done]"

    Ok, fine, KDE and GNOME are perfect for that. And so is Windows. And so is whatever. The people who were making KDE were obviously conscious about usability issues (to an extent), so they made it Windows like, so people would find a familiar place to do things, such as surf the web, check email, etc.

    I agree. Curiously, OSS-critics will never be satisfied. This strength of KDE/GNOME -- it's similar enough to Windows that people who are used to Windows can use KDE/GNOME -- is viewed as a weakness who think that the OSS community should treat the users as gineau pigs for a Brave New Interface.
    Quote:

    But that's where ease of use stops. Designs of usability in KDE hit a brick wall when it encounters the roots of Unix. Try getting your Aunt to install some nvidia drivers.

    Try getting your Aunt to do that in Windows.
    Quote:

    Try getting your Aunt to configure sound.

    Try getting your Aunt to do that in Windows.
    Quote:

    Try getting your Aunt to set up wireless networking.

    Try getting your Aunt to do that in Windows.
    Quote:

    All this can be relatively done in Windows, but in Linux/Unix, your Aunt wouldn't survive a day (figuratively speaking).

    I disagree. Sure, it's hard in Linux. It's also hard in Windows. The advantage of Windows comes from the fact that it sets itself up automatically. Aunt wouldn't be able to do any of those things in Windows. Windows does them by itself. Guess what? Linux can configure my graphics card, sound card and network without needing intervention from me. It doesn't even need driver disks for the hardware. Windows does. Try getting Aunt to figure that out. The fact of the matter is that Aunt isn't going to be doing any of these things, whether in Linux or Windows. That's something that's taken care of during installation. Some Linuxen have a virtually interactionless installation system.
    Quote:

    Quote:

    Oddly, if I feel the need to create music, I can just type 'emerge rosegarden' into any nearby shell, type 'rosegarden' after it's finished, and then I'm creating music. No need to look at a megabyte of code.

    Aunt won't do that. She'll doesn't even know the existence of the command line.

    Obviously, once Rosegarden has been installed, it appears in the GUI's start menu. However, if Aunt can't type a command into the box that appears when you click Start -> Run Command, it is unlikely that Aunt will know how to use a MIDI sequencer. Indeed, it is fairly unlikely Aunt will know how to "create music" with a computer, at all.
    Quote:

    Quote:

    Undeniably, it is easier to change an open source program than a closed source program. Since you cannot change a closed source program.

    Barely anybody does. This is just idealism. "I could win the lottery tommorow"

    Winning the lottery is a matter of luck. You either contribute to open source software, or you do not. The two are not comparable.
    Quote:

    Quote:

    Fool. What's great about Linux is that it's free, and there is a huge array of free software available for it. My Gentoo system has 8297 packages available for installation. Only a handful of them are non-free. That means that I have a selection of nearly 8297 packages that I can install and use in the time it takes for it to be downloaded and compiled. And these packages are all there -- there's no cut down editions of superior packages because there's no economic incentive to provide crippled versions of programs.

    Just to remind everybody, we're talking about most computer users. Most computer users don't give a hoot about 8297 packages.

    You don't say? I don't care about each and every one of those. I only care about those I want to use. What having 8297 packages gives me is the knowledge that I'll almost certainly be able to find packages that do what I want to do.
    Quote:

    I don't think they can understand how to make, ./configure and install.

    It's ./configure, make, and make install. But it's fine for you to make that mistake -- on systems based upon portage or apt, for example, packages are automatically installed at your command. You just give the appropriate command, and it downloads, possibly compiles, installs and configures the package for you. All you have to do is start it from the menu.
    Quote:

    They'll probably get a headache trying to understand how to traverse directories via command line. And it's just not 40-50 year old people too, I've tried getting a lot of my friends converted to Linux when I was an idealist, and a lot of them couldn't understand ls, or cd, or whatever.

    But you don't need to understand that to use Linux. Once Linux is installed and configured, it can be very Windows-like. Note that the people you're talking about don't buy an empty PC and install Windows on it: they buy a PC with Windows already installed. If they bought a PC with Linux already installed, most of them wouldn't find using Linux any more difficult -- because the features of Linux that KDE doesn't provide a simple interface to are features they don't even know exist.


    The only thing that stops Linux being viable is the fact that Wine is nowhere near a viable platform for non-technical people running Windows programs. If Linux could run Windows programs with no complications, there would be no problem, just as OS/X, despite having the great handicap of a UNIX-derived kernel, manages to run classic Mac applications, and therefore is widely used by those who are used to using class Macs.

    CoV
    Quote:
    Original post by stimarco
    NO! Dear God, no! Didn't you read what I wrote?

    It's not about plastering over the cracks in Unix. Forget Unix! Unix is a dead end, dammit!

    Why?
    Quote:

    The first step -- as Oluseyi points out -- is to look at how computers can be _used_. The psychology, semantics and semiotics of computing need to be assessed and researched.

    Unix is still founded on the archaic computer-as-sausage-machine view: you feed raw data in one end of an app, and processed data plops out the other.

    Bollocks. Every operating system is founded on that view. Do you know why? It's what a damned computer does!
    Quote:

    This was the era of punched cards, paper tape and teletypes; all those pipes may have seemed cool, but they're just a way of chaining multiple, brain-dead 'sausage-machine' applets together to make the computer do something actually useful.

    This should be the stuff of museums, not 21st-century operating systems.

    Before any real progress can be made, Unix must *die*.

    Nonsense. Pipes work. Unix is more than pipes. Pipes are not the most appropriate metaphor for all kinds of interprocess communication. But they are ideal for representing a stream processing task which can be expressed as several discrete stream processing subtasks. Such tasks are still very common.
    Quote:

    Step One: Change of Leadership.

    Why?

    The OSS and GNU organisations are primarily fronted by academics, thinkers and the like. The best and brightest minds, working together for over 20-odd years, have produced... a clone of an archaic operating system,

    No, doofus. It's produced an operating system which is partly vaguely like an archaic operating system. If it's a clone, it's a shockingly bad one.
    Quote:

    multiple mediocre clones of a commercial GUI based on ageing paradigms

    Whereas you, of course, have examples of GUIs that are not based upon aging paradigms, and are great. We all know, after all, that aging paradigms are necessarily bad. The wheel, for example, is being discontinued from next year.
    Quote:

    and -- oh yes! -- let's not forget Firefox and Mozilla, which are barely changed from the original Mosaic, let alone IE.

    That's plain stupidity. Mozilla is obviously far removed from Mosaic, and obviously superior in parts to IE.
    Quote:

    The old guard is clearly part of the problem, not the solution. They must be replaced. By force, if necessary.

    That must be joke. But I wonder if your entire post is a joke. It would certainly explain the blatant falsehoods.
    Quote:

    Step Two: New Organisations.

    The Free Software Foundation needs to ditch its bias towards Unix and stop blindly following the GNU Project's every whim. The GNU Project is over. They've achieved their aim. Academics have their free OS to toy around with. Let it go and move on.

    What an ass. 1) The GNU project is not 'over'. 2) The GNU project has not achieved their aim. 3) Linux is not just for academics.
    Quote:

    There must also be an end to the constant bickering over "open source" philosophies. The religious wars of the debate _must_ be wiped out ruthlessly and stamped upon; it only gives you a bad name and makes you look like a cult. Quit it. Kick out anyone who refuses to grow the fuck up.

    Whilst wiping out, stamping upon and excommunicating anyone who refuses to abide by your rules wouldn't make your organisation a cult?
    Quote:

    This is the Real World. People aren't going to spontaneously read your mind and just get on with bringing your wondrous vision to life: you have to _make_ it happen.

    No shit.
    Quote:

    It does NOT mean letting everyone just go away and do their own 'thing' in the hope that something good will come out of it.

    I swear you have no clue. OSS works because developers are free to go off on a tangent. OSS works because when projects fork, the cream from either project can be merged into the other. OSS wouldn't work if OSS development was like closed source development.
    Quote:

    It does NOT mean arguing the toss over petty issues for ten entire years until, out of the blue, some kid from Finland gives you a free new Minix kernel on a plate, solving all those problems *you* were supposed to be dealing with. Relying on luck to solve your problems is not a viable long-term strategy.

    What the fuck? Linux is not Minix. Linux is not Minix. Linux is not Minix. Andrew S. Fucking Tanenbaum says Linux is not Minix. Get over it.
    Quote:

    Step Four: Programming Is Easy. Usability Is Hard.

    No, it isn't.
    Quote:

    Seriously: I've taught people who knew _nothing_ about computers the fundamentals of programming in less than a week.

    Seriously: They were still crap programmers at the end of it.
    Quote:

    Step Five: Microsoft is NOT your enemy.

    For crying out loud, get this into your thick, bigoted little heads: Your enemy is YOU.

    Microsoft are, by their own assertion, an enemy of OSS. You're telling them they're not? Something for your thick, bigoted little head: Anyone who seeks to reduce OSS market share is an enemy of OSS.
    Quote:

    Stop bickering. Get a life and understand that people choose to pay hundreds of dollars for commercial software for a *reason*.

    That reason is *not* "because M$ has teh brainwashed yuo!"

    Yawn.
    Quote:

    The reason is that Microsoft makes software for *normal* people. Hence, a text editor is called "NotePad". A word processor is called "Word". Where software has no direct physical-world equivalent, then you can get a bit more creative, but even names like "Access" and "PowerPoint" give you some idea of what the program actually does. (Or, in the case of "Excel", just makes you feel better about using it. Still, I'm not claiming MS are perfect.)

    What the fuck? The name you give to your program makes it usable? Even then, "Access" and "PowerPoint" give no idea of what the program actually does. I've got items in my KDE menu called "Text Editor", "Word Processing", "Music Player", and "Flowchart and Diagram Editing". Those are pretty clear names. I guess those programs must be made for *normal* people.
    Quote:

    Step Six: Computers are supposed to do the boring shit so _we_ don't have to.

    This is such an obvious point that it amazes me how few developers fail to understand this very simple concept. Anyone whose idea of a 'good' end-user program involves firing up a command line and typing in an arcane string of letters and symbols including pipes, greater-than signs and reams of hyphens, needs to be killed slowly and painfully, while watching his parents sterilised so that they can't bring any more abhorrences like him into the world.

    Yawn. How about another obvious point? A Linux user doesn't have to use the command line!
    Quote:

    "If you don't like the way it works, you can change the code!" is NOT a valid answer to a genuine support issue. If I'd wanted to write the flaming program myself, I WOULDN'T HAVE INSTALLED YOURS, YOU IMBECILE!

    Yeah, sure. So I suppose that if a commercial program had a bad interface, you'd expect the developers to change the interface to suit your whim? Or is it possible, perhaps, that you'd just use another program? Guess what? There's more than one OSS program. If you don't like the interface, use a different one.
    Quote:

    Open Source does not excuse YOU from doing YOUR damned job.

    But, fool, as you've already pointed out, all open source software is made by bearded academics who aren't paid to write YOUR damned software.
    CoV
    Quote:
    Original post by Cipher3D
    Ok, so if you say X should be totally destroyed, how should the windowing manager be like? I don't really understand why X is so bad. Well, maybe it is slow because it sticks to the client/server model although 99% of users don't take advantage of the client server feature, but what else is bad about X?
    The problem with X is that it has no concept of objects. Everything must be described - and thus sent over the wire - as a description in terms of lines, pixels and colors. Why can't the window manager inform the windowing system of how to draw various widgets, and then describe the interface at this higher level?

    X must die.

    Quote:
    Original post by Mayrel
    How do you suggest we go about that?
    Start by evaluating tasks. What do users typically want to do with their computers? For each of these tasks, break them down into their component tasks until we finally get at the point where atomic operations occur. We must then ask ourselves, what is the most natural, efficient and intuitive for a person to communicate the intent to perform that operation to a computer, and document the entire process.

    There, that wasn't so hard, was it?

    Quote:
    1. Users shouldn't have to save files. The problem with this is that +we can't pick a sensible name for a document. The second potential problem is that if storage is transparent, undo information will need to be stored on the disk. This means the user will need to periodically discard undo information or run out of disk space.
    First off, most users never fill their hard disks. The cost of memory is falling continuously.

    Now, let's assume that we have intrinsic versioning as a property of the filesystem. The default discard interval will be set such that the average user maintains a reasonable balance between the ability to roll back and memory consumption. Voila! Memory problem solved.

    The third issue, naming files. Why do we refer to files by name anyway? Of all the natural and mechanical properties they have, that's probably the most useless and unnatural. When you refer to the pictures in your photo album, don't you mentally categorize them by subject(s), location and date? When you refer to a report with a colleague at work, isn't it what the report is about - say, Q2 2004 Walt Disney Radio Presentation - that you base your discussion around? So why do our user interfaces foist upon us the busywork of coming up with creative file names, managing them and remembering them?

    And why do we explictly have to save? In the old days, saving served as a valuable pause mechanism for programs due to the limitations of hardware. Today there already are programs that continuously save in the background with no discernible negative impact on user productivity. In fact, I'd go further and say that auto-saving increases productivity, because you won't lose much work/data in the event of an unexpected interruption of operation.

    That a user should work on a machine and then have all of that effort disappear into nothingness because of a non-user fault is a fundamental insult.

    Moving on, why do we have directories? Actually, to answer this in non-rhetorical fashion, we have directories because of the limitations of older computers, which couldn't count beyond a very attainable limit like 256 or 1,024 without jumping through hoops, so the directory was introduced as a means of "resetting the counter."

    Is that limitation still practical? My computer can count to at least 4 billion without breaking a sweat. There's no reason why I should be forced/required to store my files somewhere in a hierarchy - a hierarchy with a dangerous tendency to grow wide and one in which it is ludicrously easy to lose files.

    In other words, the point is valid, but is only the starting point for a full discussion on file location, storage and retrieval usability. You'd see that if you weren't so tied to the attitude that we're just bitching for no reason.

    Quote:
    2. Users shouldn't have to exit programs. A curious assertion. Fundamentally, all you need to do is change the "Exit" or "Quit" menu item to read "Close". Further more, I'm not at all convinced this is a problem.
    Actually, his point was that some programs make a distinction between close and exit. You can close all windows and, for all intents and purposes, have shut down the application, but the program actually continues to run.

    There are instances where this behavior is desirable - instant messaging applications, for instance, or other "background" apps. Any other case, this is a Sin. Fortunately, this is far less common today. In fact, it is almost entirely a closed issue.

    Quote:
    3. Users shouldn't be able to select files from a dialog. This is just stupid. Because the file manager can be open all the time, he argues, file selection dialogs are crufty. Which misses the fact that, on many modern UIs, file selection dialogs are the file manager.
    Uh, his point was that user shouldn't have to select files from a dialog, particularly given that the file explorer (or Finder, or whatever) provides the same functionality but with a different interface. It's confusing.

    You don't think so? Read JWZ's comments about his mom and OS X.

    (Don't know who JWZ is? Then you might as well roll over and die right now as far as this discussion is concerned. I expect you to know all the principal actors in the movement.

    Hint: "Open Source is not magic pixie dust.")

    Quote:
    4. Users shouldn't have a Start Menu. This is shockingly dumb. He argues that users should browse to the folder in which a program is installed and run it from there. Most users will find it easier to choose a program from a simple list that appears when you open the Start Menu.
    I'm actually with you on this one, to a large extent. Folder browsing is silly, given that I debunked having folders at all.

    Where I differ is that I think that all major functionality should be immediately apparent to the user. The Start Menu hides top-line functionality between a three-tier menu (Start -> Program Menu -> Application). Bad. OS X' Dock is a much better idea, though it could probably use some tweaks.

    Quote:
    Any sufficiently complex extension to the operating environment is indistinguishable from an application.
    What is this, a paraphrase of Clarke's First Law? You missed my point anyway.

    The current notion of an "application" serves primarily as branding. It's unnecessary. A much better approach is to expose functionality, along the lines of "Create a Text Document" (as opposed to an implicit "Launch Microsoft Word") or "Paint a Picture" (versus the shockingly blank wall of "GIMP").

    But it's not just a presentation or menu entry issue. The deeper issue is why these applications should exist as segmented, isolated entities that duplicate functionality. I think it was you that boasted that your Gentoo Linux distribution contains 8200+ "applications". Wow. And how many types of applications does it contain? In other words, how many of those applications are, for all intents and purposes, redundant? How many of these application categories are esoteric, meaning that the majority of users will never, ever use them?

    The goal of a usable environment is to minimize the number of unnecessary decision points. Yes, configurability (and, by consequence, choice) is a virtue, but hide that behind an advanced user interface. When an average computer user wants to install Linux, do you think it's any wonder they look for the GUI button that says "Default"?

    Quote:
    What's the alternative? The data a specialised application uses, by its very nature, will be specialised for that application.
    Just. Not. True.

    I've written on the concept of codec-based data storage before, and I do not feel like reiterating my entire spiel. Suffice to say that the actual storage mechanism of the data can be independent of the nature of the data itself, opening up interesting possibilities through synergies of functionality. Yes, that's a fairly obtuse block of text, but I posted a link to a complete discussion earlier.

    Quote:
    It isn't entirely unreasonable to suppose that a text editor can't open a video clip.
    No, but is it unreasonable to suppose that a user might want to embed a video clip in a text document (and by "text" here I include all word processors, not just the sort created by Emacs, vi and Notepad)?

    Oh, wait, but that's already possible! OLE, COM, ActiveX, Bonobo. Oluseyi, you're just reiterating the existing.

    What I'm suggesting is that this approach to data become so much more intrinsic that "embedding" is no longer a function of the application, but of the entire platform/user environment.

    Quote:
    The problem with componentisation of the GUI and document-manipulation systems is that there is no component system that a large majority of the OSS development community is willing to get behind. Componentisation is tantamount to object-orientation, and many OSS developers are (inexplicably) opposed to object-orientation.
    That's beceause the platform allows for competing componentization. If the components are part of the operating system, the only way to write applications for the OS is in terms of those components (or to author new components), and using those components is ludicrously easy, then the issue becomes moot.

    OSS experiences these factional divisions because the problem is being address at the wrong level, tied too closely to non-issues like decoration, widget set, etc.

    We can do so much better.

    This topic is closed to new replies.

    Advertisement