Slashdot Mirror


When Good Interfaces Go Crufty

An anonymous reader writes "A good article over at mpt on why good interfaces go crufty." A nice read before or after a visit to the Interface Hall of Shame.

338 of 662 comments (clear)

  1. My cruft-o-meter: by Longinus · · Score: 5, Funny

    Is the interface a command line? If not, it's crufty ;-)

    1. Re:My cruft-o-meter: by RustyTaco · · Score: 5, Insightful

      Find somebody who knows how to use AutoCAD and be educated on how GUI & command-line are not mutually exclusive concepts. AutoCAD has the GUI for all gui bits, but still has a command line for when it's easier and saner (think typing in desired dimensions instead of trying to fake it with a mouse) to type things in. As most people can type faster than they can take their eyes off what their working on, move the mouse to the top of the screen and guess at which icon is which it also seems to be great for switching tools & modes quickly.
      More programs really should allow that sort of functionallity. Now I have to see if anybody is working on it for The Gimp. :)

      - RustyTaco

    2. Re:My cruft-o-meter: by ncc74656 · · Score: 2
      AutoCAD has the GUI for all gui bits, but still has a command line for when it's easier and saner (think typing in desired dimensions instead of trying to fake it with a mouse) to type things in.

      PublishIt! (a DTP program for the Apple II and some other platforms, though I used it on the II) had a keyboard shortcut through which you could quickly specify the size and placement of objects. With PostScript output, nobody would've ever guessed that the flyer, newsletter, or whatever came from (say) a IIe. It made creation of multi-column layouts dead simple. It'd be nice if MS Publisher had a similar ability, instead of forcing you to try to get accurate positioning with the mouse. (It does let you use the arrow keys for pixel-at-a-time moving, but that's not as precise as plugging in a measurement accurate to a thousandth of an inch.)

      --
      20 January 2017: the End of an Error.
  2. A bit of history... by acehole · · Score: 5, Informative

    GEOS on the commodore 64 had a good interface for it's time.

    yes kids, that's right! the c64 had a GUI.

    --
    Be you Admins? nay, we are but lusers!
    1. Re:A bit of history... by Compton+Q.+Groundhog · · Score: 3, Informative

      The distribution rights to Commodore GEOS are currently held by this gentleman and his company:

      http://www.cmdrkey.com/

      You can find info on Wheels, the GEOS upgrade at:

      http://userdata.ia4u.net/maurice/gbrowse/whshots .h tm

      Or, check ebay. Copies of GEOS 2.0 show up there all the time, usually for only $10 or so.

    2. Re:A bit of history... by AndroidCat · · Score: 2

      *sigh* PC-GEOS was a nice thing in its day, and would run fine on a machine far less powerful than Win 3.0. The trouble was, you needed a Sun workstation and very expensive tools to develop the applications. Idiots!

      --
      One line blog. I hear that they're called Twitters now.
  3. When good interfaces go crufty by Anonymous Coward · · Score: 3, Interesting

    In Vernor Vinges sci-fi novel A fire upon the deep, he presents the idea of software archeology. Vinges future has software engineers spending large amounts of time digging through layers of decades-old code in a computer system like layers of dirt and rubbish in real-world archeology to find out how, or why, something works.

    So far, in 2002, this problem isnt so bad. We call such electronic garbage cruft, and promise to get rid of it someday. But its not really important right now, we tell ourselves, because computers keep getting faster, and we havent quite got to the point where single programs are too large for highly coordinated teams to understand.

    But what if cruft makes its way into the human-computer interface? Then you have problems, because human brains arent getting noticably faster. (At least, not in the time period were concerned with here.) So the more cruft there is in an interface, the more difficult it will be to use.

    Unfortunately, over the past 20 years, Ive noticed that cruft has been appearing in computer interfaces. And few people are trying to fix it. I see two main reasons for this.

    1. Microsoft and Apple dont want to make their users go through any retraining, at all, for fear of losing market share. So rather than make their interfaces less crufty, they concentrate on making everything look pretty.

    2. Free Software developers have the ability to start from a relatively cruft-free base, but (as a gratuitously broad generalization) they have no imagination whatsoever. So rather than making their interfaces more usable, they concentrate on copying whatever Microsoft and Apple are doing, cruft and all.

    Here are a few examples of interface cruft.

    1. In the 1970s and early 80s, transferring documents from a computers memory to permanent storage (such as a floppy disk) was slow. It took many seconds, and you had to wait for the transfer to finish before you could continue your work. So, to avoid disrupting typists, software designers made this transfer a manual task. Every few minutes, you would save your work to permanent storage by entering a particular command.

      Trouble is, since the earliest days of personal computers, people have been forgetting to do this, because its not natural. They dont have to save when using a pencil, or a pen, or a paintbrush, or a typewriter, so they forget to save when theyre using a computer. So, when something bad happens, theyve often gone too long without saving, and they lose their work.

      Fortunately, technology has improved since the 1970s. We have the power, in todays computers, to pick a sensible name for a document, and to save it to a persons desktop as soon as she begins typing, just like a piece of paper in real life. We also have the ability to save changes to that document every couple of minutes (or, perhaps, every paragraph) without any user intervention.

      We have the technology. So why do we still make people save each of their documents, at least once, manually? Cruft.

    2. The original Macintosh, which introduced graphical interfaces to the general public, could only run one program at a time. If you wanted to use a second program, or even return to the file manager, the first program needed to be unloaded first. To make things worse, launching programs was slow, often taking tens of seconds.

      This presented a problem. What if you had one document open in a program, and you closed that document before opening another one? If the program unloaded itself as soon as the first document was closed, the program would need to be loaded again to open the second document, and that would take too long. But if the program didnt unload itself, you couldnt launch any other program.

      So, the Macs designers made unloading a program a manual operation. If you wanted to load a second program, or go back to the file manager, you first chose a menu item called Quit to unload the first program. And if you closed all the windows in a program, it didnt unload by itself it stayed running, usually displaying nothing more than a menu bar, just in case you wanted to open another document in the same program.

      Trouble is, the Quit command has always been annoying and confusing people, because its exposing an implementation detail the lack of multitasking in the operating system. It annoys people, because occasionally they choose Quit by accident, losing their careful arrangement of windows, documents, toolboxes, and the like with an instantaneity which is totally disproportionate to how difficult it was to open and arrange them all in the first place. And it confuses people, because a program can be running without any windows being open, so while all open windows may belong to the file manager, which is now always running in the background menus and keyboard shortcuts get sent to the invisible program instead, producing unexpected behavior.

      Fortunately, technology has improved since 1984. We have the power, in todays computers, to run more than one program at once, and to load programs in less than five seconds.

      We have the technology. So why do we still punish people by including Quit or Exit menu items in programs? Cruft.

    3. As I said, the original Macintosh could only run one program at a time. If you wanted to use a second program, or even return to the file manager, the first program needed to be unloaded first.

      This presented a problem when opening or saving files. The obvious way to open a document is to launch it (or drag it) from the file manager. And the obvious way to save a document in a particular folder is to drag it to that folder in the file manager. But on the Mac, if another program was already running, you couldnt get to the file manager. What to do? What to do?

      So, the Macs designers invented something called a file selection dialog, or filepicker a lobotomized file manager, for opening and saving documents when the main file manager wasnt running. If you wanted to open a document, you chose an Open menu item, and navigated your way through the filepicker to the document you wanted. Similarly, if you wanted to save a document, you chose a Save menu item, entered a name for the document, and navigated your way through the filepicker to the folder you wanted.

      Trouble is, this interface has always been awkward to use, because its not consistent with the file manager. If youre in the file manager and you want to make a new folder, you do it one way; if youre in a filepicker and you want to make a new folder, you do it another way. In the file manager, opening two folders in separate windows is easy; in a filepicker, it cant be done.

      Fortunately, technology has improved since 1984. We have the power, in todays computers, to run more than one program at once, and to run the file manager all the time. We can open documents from the file manager without quitting all other programs first, and we can save copies of documents (if necessary) by dragging them into folders in the file manager.

      We have the technology. So why do we still make people use filepickers at all? Cruft.

    4. This last example is particularly nasty, because it shows how interface cruft can be piled up, layer upon layer.

      1. In Microsofts MS-DOS operating system, the canonical way of identifying a file was by its pathname: the concatenation of the drive name, the hierarchy of directories, and the filename, something like C:\WINDOWS\SYSTEM\CTL3DV2.DLL. If a program wanted to keep track of a file in a menu of recently-opened documents, for example it used the files pathname. For backward compatibility with MS-DOS, all Microsofts later operating systems, right up to Windows XP, do the same thing.

        Trouble is, this system causes a plethora of usability problems in Windows, because filenames are used by humans.

      2. What if a human renames a document in the file manager, and later on tries to open it from that menu of recently-opened documents? He gets an error message complaining that the file could not be found.

      3. What if he makes a shortcut to a file, moves the original file, and then tries to open the shortcut? He gets an error message, as Windows scurries to find a file which looks vaguely similar to the one the shortcut was supposed to be pointing at.

      4. What happens if he opens a file in a word processor, then renames it to a more sensible name in the file manager, and then saves it (automatically or otherwise) in the word processor? He gets another copy of the file with the old name, which he didnt want.

      5. What happens if a program installs itself in the wrong place, and our fearless human moves it to the right place? If hes lucky, the program will still work but hell get a steady trickle of error messages, the next time he launches each of the shortcuts to that program, and the next time he opens any document associated with the program.

      6. Fortunately, technology has improved since 1981. We have the power, in todays computers, to use filesystems which store a unique identifier for every file, separate from the pathname such as the file ID in the HFS and HFS+ filesystems, or the inode in most filesystems used with Linux and Unix. In these filesystems, shortcuts and other references to particular files can keep track of these unchanging identifiers, rather than the pathname, so none of those errors will ever happen.

        We have the technology. So why does Windows still suffer from all these problems? Cruft.

        Lest it seem like Im picking on Microsoft, Windows is not the worst offender here. GNU/Linux applications are arguably worse, because they could be avoiding all these problems (by using inodes), but their programmers so far have been too lazy. At least Windows programmers have an excuse.

      7. To see how the next bit of cruft follows from the previous one, we need to look at the mechanics of dragging and dropping. On the Macintosh, when you drag a file from one folder to another, what happens is fairly predictable.

      8. If the source and the destination are on different storage devices, the item will be copied.
      9. If the source and destination are on the same storage device, the item will be moved.
      10. If you want the item to be copied rather than moved in the latter case, you hold down the Option key.
      11. Windows has a similar scheme, for most kinds of files. But as Ive just explained, if you move a program in Windows, every shortcut to that program (and perhaps the program itself) will stop working. So as a workaround for that problem, when you drag a program from one place to another in Windows, Windows makes a shortcut to it instead of moving it and lands in the Interface Hall of Shame as a result.

        Naturally, this inconsistency makes people rather confused about exactly what will happen when they drag an item from one place to another. So, rather than fixing the root problem which led to the workaround, Microsoft invented a workaround to the workaround. If you drag an item with the right mouse button, when you drop it youll get a menu of possible actions: move, copy, make a shortcut, or cancel. That way, by spending a couple of extra seconds choosing a menu item, you can be sure of what is going to happen. Unfortunately this earns Microsoft another citation in the Interface Hall of Shame for inventing the right-click-drag, perhaps the least intuitive operation ever conceived in interface design. Say it with me: Cruft.

      12. It gets worse. Dragging a file with the right mouse button does that fancy what-do-you-want-to-do-now-menu thing. But normally, when you click the right mouse button on something, you want a shortcut menu a menu of common actions to perform on that item. But if pressing the right mouse button might mean the user is dragging a file, it might not mean you want a shortcut menu. What to do, what to do?

        So, Windows designers made a slight tweak to the way shortcut menus work. Instead of making them open when the right mouse button goes down, they made them open when the right mouse button comes up. That way, they can tell the difference between a right-click-drag (where the mouse moves) and a right-click-I-want-a-shortcut-menu (where it doesnt).

        Trouble is, that makes the behavior of shortcut menus so much worse that they end up being pretty useless as an alternative to the main menus.

      13. They take nearly twice as long to use, since you need to release the mouse button before you can see the menu, and click and release a second time to select an item.

      14. Theyre inconsistent with every other kind of menu in Windows, which opens as soon as you push down on the mouse button.

      15. Once youve pushed the right mouse button down on something which has a menu, there is no way you can get rid of the menu without releasing, clicking the other mouse button, and releasing again. This breaks the basic GUI rule that you can cancel out of something youve pushed down on by dragging away from it, and it slows you down still further.

      16. In short, Windows native shortcut menus are so horrible to use that application developers would be best advised to implement their own shortcut menus which can be used with a single click, and avoid the native shortcut menus completely. Once more, with feeling: Cruft.

      17. Meanwhile, we still have the problem that programs on Windows cant be moved around after installation, otherwise things are likely to break. Trouble is, this makes it rather difficult for people to find the programs they want. In theory you can find programs by drilling down into the Program Files folder, but theyre arranged rather uselessly (by vendor, rather than by subject) and if you try to rearrange them for quick access, stuff will break.

        So, Windows designers invented something called the Start menu, which contained a Programs submenu for providing access to programs. Instead of containing a few frequently-used programs (like Mac OSs Apple menu did, before OS X), this Programs submenu has the weighty responsibility of providing access to all the useful programs present on the computer.

        Naturally, the only practical way of doing this is by using multiple levels of submenus thereby breaking Microsofts own guidelines about how deep submenus should be.

        And naturally, rearranging items in this menu is a little bit less obvious than moving around the programs themselves. So, in Windows 98 and later, Microsoft lets you drag and drop items in the menu itself thereby again breaking the general guideline about being able to cancel a click action by dragging away from it.

        This Programs menu is the ultimate in cruft. It is an entire system for categorizing programs, on top of a Windows filesystem hierarchy which theoretically exists for exactly the same purpose. Gnome and KDE, on top of a Unix filesystem hierarchy which is even more obtuse than that of Windows, naturally copy this cruft with with great enthusiasm.

    Following those examples, its necessary to make two disclaimers.

    Firstly, if youve used computers for more than six months, and become dulled to the pain, you may well be objecting to one or another of the examples. Hey!, youre saying. Thats not cruft, its useful! And, no doubt, for you that is true. In human-computer interfaces, as in real life, horrible things often have minor benefits to some people. These people manage to avoid, work around, or blame on user stupidity, the large inconvenience which the cruft imposes on the majority of people.

    Secondly, there are some software designers who have waged war against cruft. Word Places Yeah Write word processor abolished the need for saving documents. Microsofts Internet Explorer for Windows, while having many interface flaws, sensibly abolished the Exit menu item. The Acorns RISC OS abolished filepickers. The Mac OS uses file IDs to refer to files, avoiding all the problems I described with moving or renaming. And the ROX Desktop eschews the idea of a Start menu, in favor of using the filesystem itself to categorize programs.

    However, for the most part, this effort has been piecemeal and on the fringe. So far, there has not been a mainstream computing platform which has seriously attacked the cruft that graphical interfaces have been dragging around since the early 1980s.

    So far.

    Discuss

  4. Re:pardon? by bumby · · Score: 4, Informative

    See http://info.astrian.net/jargon/terms/c/crufty.html

    --
    Hey! That's my sig you're smoking there!
  5. somewhat OT by zephc · · Score: 5, Insightful

    But I have karma to burn...

    I just wanted to know, WHY on earth MS would use the directory name 'Program Files' when so often installers and path names, etc. can only work with the 8.3 format and end up calling it 'PROGRA~1'. Plus, the space in the file path screws up some apps... just WTF were they thinking? Why not call it 'Applications'? At least that abbreviates to 'APPLIC~1' which sounds slightly less silly

    --
    "I would say that 99 per cent of what my father has written about his own life is false." - L. Ron Hubbard Jr.
    1. Re:somewhat OT by 91degrees · · Score: 4, Insightful

      Or even better.... Call it 'Programs'. 8 characters.

    2. Re:somewhat OT by NoodleSlayer · · Score: 3, Informative

      Because that is no longer the case. Its been seven years since Windows 95 was released and it's been a while since I've used a Win32 app that didn't use long file names... If you *would* bother to read the article you'd notice that the premier cause of cruft is trying to keep everything "backwards-compatible". "Program Files" is an accurate description of what in there "Applications" is not because it is not *just* applications, not to mention that not all applications are in the Program Files directory, most of the Windows Applications (notepad, calculator, etc.) is in the Windows or Winnt directory. ~Noodle

    3. Re:somewhat OT by Slashamatic · · Score: 3, Informative

      Even worse, many of the special directory names used by Windows change depending upon the language.

    4. Re:somewhat OT by mgv · · Score: 2


      I just wanted to know, WHY on earth MS would use the directory name 'Program Files' when so often installers and path names, etc. can only work with the 8.3 format and end up calling it 'PROGRA~1'. Plus, the space in the file path screws up some apps... just WTF were they thinking? Why not call it 'Applications'?


      Actually, "Programs" would have been better. No abbreviations.

      Michael

      --
      There is no cryptographic solution to the problem where the intended receiver and the attacker are the same entity.
    5. Re:somewhat OT by Jugalator · · Score: 2

      I guess we're lucky in Sweden. The "Program Files" folder is named "Program", which has the short name "PROGRAM". This because the plural of "Program Files" is "program" in Sweden. Ok, actually it's "programfiler" and "program" is more like if the english equivalent was "Programs".

      Everything is fine it seems, until the first application install itself into "C:\Program Files\TheApp" anyway since it doesn't use the proper Win32 API calls to get the localized "special folder names". Arrgh.

      With around 30 apps in the Program dir, I always seem to have 3 or so apps in a "Program Files" dir. At least I know the developer of the programs since it's very apparent and I can complain if I wish. ;-)

      --
      Beware: In C++, your friends can see your privates!
    6. Re:somewhat OT by Jugalator · · Score: 5, Informative

      Yeah, and that's especially annoying when software developers aren't aware of SHGetFolderLocation and hard code directory names like "Program Files". :-P

      --
      Beware: In C++, your friends can see your privates!
    7. Re:somewhat OT by Corporate+Troll · · Score: 3, Funny

      On all my (own - not work) machines "C:\Program Files" does not exist. It is called "E:\WinApp". Same thing for the infamous "My Documents", it's called "Home" (Actually D:\Home\%username%). And I like it that way.
      All this needs is just some tweaking in the registry and some few tricks and you never have to live with bills-insane-directory-name-choices again...
      Same for the start menu, I just organize it as topics. It's not hard to do, and most people would do it if they wouldn't be afraid of breaking everything. Because, just deal with it: users are scared of "breaking their computer". I actually learned a lot by breaking my computer, but that was in the DOS days and with PCTools in my hands. I now know why my dad made backups so often ;-))

    8. Re:somewhat OT by bastard42 · · Score: 2, Insightful

      No, I'm glad they didn't. I already had a c:\programs dir. Wasn't the point of Win95 to use the long filenames?

      At least c:\PROGRA~1 didn't add anything to where my assembly programs lived. That would have scared me. (I wrote some bad ones, including an extremely small .com to overwrite the 80h drive.)

      Then I found linux. echo hello > /dev/hda. I'm still scared of root (you should be too.)

      To get back on topic, the author says that the inode is the unique identifcatation of the file. No, the inode is the file. If you move it, the inode stays the same, assuming you didn't move it across devices. Or rename it first then write the file like most editors. We have symbolic links for a reason. Oh well.

    9. Re:somewhat OT by Gibbys+Box+of+Trix · · Score: 2, Insightful

      Noob Windows users tend to install everything in the default location specified by the installer. Usually that will be c:\Program Files. Very few things I've installed recently defaulted to anywhere else.

    10. Re:somewhat OT by KoolyM · · Score: 3, Interesting

      As a long time user of a foreign language Windows (Dutch) I can assure you it's almost never a problem. C:\Windows is the same in all language versions, as is C:\Program Files.

      The only thing that causes problems is c:\windows\desktop, as "desktop" does get translated (it's c:\windows\bureaublad in Dutch).

    11. Re:somewhat OT by Tim+Browse · · Score: 5, Insightful

      This one's easy actually - a friend of mine independently came to the same conclusion as me on this one, which is that Microsoft deliberately chose "Program Files" as both a 'long filename' and a filename with a space in it precisely to speed the adoption of long filenames. They did it to bring into sharp relief any program that didn't support LFN properly. Remember, Windows 95 was the time when they introduced their "Designed for Windows" logo, which at the time was a pretty big deal, and as far as I can remember, pretty much mandated support for LFN.

      The PROGRA~1 is ugly, but it only happens on old programs - I certainly now use it as an indicator of quality in a Windows app (it reflects how much the author respects the user experience).

      Now, if you want a real gripe, I hate the way most apps just plain don't work if you install them somewhere other than Program Files. I also hate the way most apps have a slavish belief in whatever path information they stored in the registry, meaning you can't ever move an installed app. I try to make my own apps as location agnostic as possible (Mac users: feel free to gloat at this point, with considerable justification).

      Tim

    12. Re:somewhat OT by operagost · · Score: 2, Informative

      The environment variable %ProgramFiles% is also available to script writers., along with the better known %systemroot% and %os%.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    13. Re:somewhat OT by cdrudge · · Score: 2, Funny
      Sometimes I feel *nix should have two levels of superuser. Most "root" stuff is simple stuff like adding users and backups. Adding users needs read and execute access to a small selectiun of files, and backup only needs read access. No need to be able to obliterate /dev/hda


      Yeah. Too bad that they don't have groups and permissions for groups that allow only certian types of people to do certian things. If only...
    14. Re:somewhat OT by ceswiedler · · Score: 2

      PCTools was the app which let me "organize" the c:\ directory better by moving IO.SYS and MSDOS.SYS to another folder.

      I know why MY dad made backups so often...after that. ;-)

    15. Re:somewhat OT by Reziac · · Score: 2

      Notice that at least thru all Win9*/ME, and IIRC Win2K as well, all of Windows' own files are in 8.3 CAPS format. (Haven't looked as closely at XP yet but I think this has finally changed.) My guess is that this was originally aimed at making it easier for system cloning tools to work consistently, frex on networks that don't use Windows except on the desktop (such as older Netware setups).

      Myself, I kill off the ~1 "numeric tail" with a registry hack first thing (so it's only used when it's really needed instead of by default), because it screws up my DOS filenames and causes me annoyance when I upload web pages or xfer files to another system.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    16. Re:somewhat OT by Reziac · · Score: 2

      Oh, lawdy, yes, especially for people like me who don't install ANYTHING under "Program Files" if we can avoid it, yet some stupid programs insist on dropping body parts there... I've even seen some that insist on looking for "C:\Program Files" even tho most of my Windows installs are on F: or I:, not C:!!

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    17. Re:somewhat OT by Reziac · · Score: 2

      Actually, it's usually not the app, but old 16bit versions of the installer packages. I'm STILL seeing modern *commercial* apps using the Win16 version of InstallShield. My feeling is that if a programmer wants me to buy his app for current systems, he can bloody well upgrade his copy of InstallShield or whatever else he's using.

      Second, I've not seen a program that actually refuses to WORK if installed elsewhere in a LONG time. I never install *anything* in Program Files if I can avoid it.

      In fact on this box, the only non-M$ stuff down there are Netscape's profiles, Creative's sound apps, and InstallShield's uninstall info (apparently duplicated for 3 different programs, even tho all use the same version of the uninstaller. What would have been wrong with a single permanent setup that tracks ALL the uninstall info?)

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    18. Re:somewhat OT by cdrudge · · Score: 2

      Sorry, I filter out Anonymous Cowards still at a score of 0 so I did not see the other post. While I was being sarcastic in my tone, I did not mean to offend you.

    19. Re:somewhat OT by NMerriam · · Score: 2

      Use any spanish windows install, and it quickly becomes a problem. While c:\windows itself is the same, "Program Files" becomes "archivos de programa", and I have yet to work on a spanish windows system that didn't have BOTH directories present because of apps that were hardcoded for the "Program Files" directory.

      --
      Recursive: Adj. See Recursive.
    20. Re:somewhat OT by pmz · · Score: 2

      If you *would* bother to read the article you'd notice that the premier cause of cruft is trying to keep everything "backwards-compatible".

      Actually, Windows long file names is cruft to the extreme. Long filenames in one UI, 8.3 in another UI, spaces accepted in some places not in others. Where are the long file names even stored? When looking right at the filesystem, say from a UNIX system, only 8.3 is displayed. This means MS kludged the long filenames into some other "hidden" place.

      Also, spaces in any file or directory name is simply terrible. For example, how does one handle such spaces in a shell 'for' loop, when the spaces are assumed to be delimiters in the file list? The underlying problem is that the space character is being overloaded in ways that are incompatible across uses of those spaces.

      I really think any other solution would have been better than the one MS chose. MS really should be using emulation environments to break themselves of trying to implement everything they every tried to do in the last 20 years with each new release of their OS.

    21. Re:somewhat OT by Jugalator · · Score: 2

      C:\Windows is the same in all language versions, as is C:\Program Files.

      What can I say? That's incorrect. :-)

      My "C:\Program Files" is named C:\Program by default. Although Microsoft let some rather big bugs slip at times, I wouldn't think a bug of that magnitude would go unnoticed. :-)

      --
      Beware: In C++, your friends can see your privates!
    22. Re:somewhat OT by shyster · · Score: 2
      XP is the same as 2000, so it's pretty obvious the reasonings here.

      Win9x and WinNT use %systemroot%\Profiles, even though Win9x doesn't come enabled for profiles by default.

      Win2K and WinXP use C:\Documents and Settings, probably because it's a good bit more visible than hiding it in %systemroot%.

      Of course, in all NT based OS's (WinNT, Win2K, WinXP) it's at %userprofile%. And both 9x and NT OS's use a registry entry for the location (I believe it's HKCU\Software\MS\Win\CurVer\Explorer\User Shell Folders) of anything that needs to go into a profile. And that's why, as a developer, you should take the effort to check the variables that tell you where the stuff goes, instead of assuming the default.

      Don't blame MS for lazy developers.

    23. Re:somewhat OT by DCMonkey · · Score: 2, Insightful

      Actually, the 8.3 names are the cruft here, as is the apparently incomplete fs support on your UNIX system. Long files names are kludged on (in FAT32), but they aren't in a hidden place IIRC. They are documented.

      As for your shell script example, that is also cruft. It is the result of a lack of forward planning of the script writers that they can't handle modern file names. Apple should be familiar with this issue. They've been bitten by it at least once when issuing updates for MacOS X.

      Are normal users supposed to be restricted to studlyCaps, under_scores and other arcane crap forever because it'll break someone's fragile shell scripts?

      --
      DCMonkey
    24. Re:somewhat OT by Amazing+Quantum+Man · · Score: 5, Funny

      C:\Windows is the same in all language versions,

      Really? Then why does my Win2K install have C:\WINNT, but no C:\Windows?

      --
      Fascism starts when the efficiency of the government becomes more important than the rights of the people.
    25. Re:somewhat OT by Twirlip+of+the+Mists · · Score: 2

      Yeah, the inode thing bothered me, too. See, the inode uniquely identifies a file, but it doesn't uniquely identify the file.

      What I mean is this: when you use a traditional desktop program, like Photoshop for instance, the program takes measures to make sure your data is safe at all times. Saving a big file out of Photoshop can take a really long time on a slow machine, and during that time the chance that your machine or the program itself may crash is non-trivial.

      So rather than overwriting your file during a save, Photoshop saves to a new, temporary file, leaving the original file intact. It does this invisibly. When the file is successfully saved and verified, only then does Photoshop rename your old file to a temporary name, rename the new file to the old name, then unlink the old file. The net result? A crash at any point in the process will leave you with at least one perfect copy of your file on disk. But across a save, your file's inode number changes.

      This fact became evident to me on one occasion when I was trying to be too clever. I wanted to keep track of files by their inode numbers rather than their names, because names can change. When everything went to hell, I realized that programs like Photoshop and Word and, doubtlessly, others use this bit of cleverness that protects your data but that completely fubars the mappings of inode numbers to file names.

      --

      I write in my journal
    26. Re:somewhat OT by Twirlip+of+the+Mists · · Score: 2

      There's this great thing called "sudo" that you might consider checking out....

      --

      I write in my journal
    27. Re:somewhat OT by ncc74656 · · Score: 2
      I just wanted to know, WHY on earth MS would use the directory name 'Program Files' when so often installers and path names, etc. can only work with the 8.3 format and end up calling it 'PROGRA~1'.

      Only ancient pre-Win95 installers have that problem. When's the last time you installed a Win16 (or maybe Win32s) app on your computer?

      --
      20 January 2017: the End of an Error.
    28. Re:somewhat OT by Twirlip+of+the+Mists · · Score: 2

      Only if the user is explicitly authorized to use the "cp" or "rm" commands. Sudo lets you set superuser privilege on a command-by-command basis. For example, "adduser" (or "useradd," depending on your OS) might be "sudoable" for everybody in the "admin" group, but not every command and not for ever user.

      Google is your friend.

      --

      I write in my journal
    29. Re:somewhat OT by bigdavex · · Score: 2

      I agree.

      It doesn't even make sense. Don't all directories exist to contain files? Why not c:\windows files\desktop files ?

      It's like calling a glove a hand glove.

      --
      -Dave
    30. Re:somewhat OT by throx · · Score: 2

      This is EXACTLY the daft attitude that makes things break all the time. If I was in a particularly mean mood I'd ask if you were a VB programmer.

      Aside from the c:\winnt variation, c:\windows is a USER DEFINED directory which is set on install. It doesn't even have to be on "C" drive - it can be anywhere.

      Programmers that make broadly incorrect assumptions like this should be dragged by their heels through steaming piles of goat vomit. Then they should really be tortured.

      --

      Fear: When you see B8 00 4C CD 21 and know what it means

    31. Re:somewhat OT by shyster · · Score: 2

      Actually, they save it in your My Documents folder by default, which is easily accessible as a top level folder wherever you go. The default location is also customizable (see Tools-Options-File Locations) and it can be overridden on a per document basis when you save a file.

  6. Crufts - Not only software! by krazyninja · · Score: 5, Informative

    Though the author points out crufts only in software, these are prevalent in other places too, including interfaces to portable devices. I have a similar document on portable device interfaces here.

    It comes out of designing without taking into account user actions and reactions. This subject is un-fashionably called "Industrial Design", but is becoming fashionable again....

    --
    "Do something man. Right now."
    1. Re:Crufts - Not only software! by Anonymous Coward · · Score: 5, Insightful

      Good user interface is hard and even though the author claims that "we have the technology now", some of the ideas just reflect his personal preference and are not really the obviously better design. Many times the interface which users would find "working as expected" requires nothing short of magic (or artificial intelligence, whichever arrives first). "Industrial design" has one major advantage over user oriented design: It's learnable. Learning a system which itself adapts its behaviour to the user can be really frustrating and time consuming because it follows more complicated hidden rules. That's why "power users" turn off as many automagic functions as possible.

      The real user interface crimes are when well researched principles of perception are ignored: Making every icon round by dropping the actual icon into a marble of colored glass may be pleasing to the eye, but it's working against the way we recognize patterns. Adding bevelled lines around and between everything, even when there is no logical or functional separation, makes user interfaces distracting. And those are just the worst offenders in the graphical representation area.

    2. Re:Crufts - Not only software! by imr · · Score: 2

      And all this can also be said so: "errare humanum est".
      Like your html code which breaks the display on my browser: you must close the html tags in the same order you opened them:
      b u font "your title" /font /u /b
      Fix it so i can read it, please.

    3. Re:Crufts - Not only software! by krazyninja · · Score: 2
      Thx for the shot. While I correct it, you can have the equivalent PDF here.

      --
      "Do something man. Right now."
    4. Re:Crufts - Not only software! by corporatemutantninja · · Score: 5, Insightful

      Well, you wrote my comment for me, but I'll add that the author tries to deflect this sentiment at the end by implying that anyone who disagrees with his preferences has obviously just bought into the dominant paradigm. ("But I *like* QWERTY..."). I suppose the proper reponse to him is, "If you're under 25 years old you obviously haven't had enough time to really think about this problem." And some specific criticisms: - Lots of modern software does, in fact, automatically save your documents. But by doing at least one manual save you get to pick a name and a location so you can find it again without needing Autonomy built into your computer. And while I like that the computer saves its own copy for safety, I specifically do NOT want it overriding the master copy without permission. - On Mac OS X the file picker does in fact look exactly like the file manager, with a few extra buttons around it. - I read his criticism of the "Quit" function several times and still don't understand his gripe. Yes, our computers can multi-thread so we can run multiple applications, but they have limited memory so we can't run EVERYTHING at once. And I for one would rather control which ones are running rather than wondering what my computer chose to quit. Also, Windows doesn't behave as he describes...close the last window and the application quits. Finally, there aren't any "mystery" menu commands unless you don't actually look at the menu bar when you use hot keys. I will admit that the "invisible application" phenomenon can be confusing to new Mac users, but I disagree with MPT's prescribed solutions. The current state is less "cruft" than it is the lack of a perfect alternative. Overall grade for mpt's "cruft" essay: C+.

      --
      Actually, I was trying to be Insightful, not Funny.
    5. Re:Crufts - Not only software! by Planesdragon · · Score: 2

      Finally, there aren't any "mystery" menu commands unless you don't actually look at the menu bar when you use hot keys

      In Windows & Office, at least, there are plenty of "hidden" commands.

      Several uses of the function keys in office, as well as almost all of the "winkey + button" commands for windows itself, are not apparant unless you pull up the customization menu or dig through the help file.

      Hmm... a useful app to solve that would be a "what's this key do" program, that shows a virtual keyboard and, when attached to the system or any program, it tells you what any key or key-combination does...

    6. Re:Crufts - Not only software! by arkanes · · Score: 4, Informative

      The file dialog on windows is an extension of the Explorer shell, as of win2k - you can do just about anything in it you'd do in the shell. Properly behaving apps get the new dialog automagically, poorly coded or badly behaving ones rolled thier own or hardcoded the style, so you're stuck with the nasty ones.

    7. Re:Crufts - Not only software! by Reziac · · Score: 2

      And thanks for writing my post for me [g] I have a number of apps that autosave in the background (my HTML editor does so every 30 seconds, yet you never see it happen even on a slow system) but none of them overwrite the master copy -- if they did, and I decided to back out the changes, I'd be mightily pissed.

      And likewise, I want to control what's running -- few things annoy me like an MDI app that quits when I close the last document (one expects Notepad to be brainless, but not so of major apps). Then I've got to reopen the app before I can start a new document. Which can be a pain if I had clipboard data waiting to be pasted into that app, and it's one of those ill-behaved beasts that, frex, can't speak to the clipboard unless the data was copied there while the app was open (yes, I've run into such cruddy apps!!)

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    8. Re:Crufts - Not only software! by Herbmaster · · Score: 2

      I read his criticism of the "Quit" function several times and still don't understand his gripe. Yes, our computers can multi-thread so we can run multiple applications, but they have limited memory so we can't run EVERYTHING at once. And I for one would rather control which ones are running rather than wondering what my computer chose to quit.

      Reality is moving in the direction of not having limited memory, and MacOS X acts as such. Memory is cheap. Disk is cheaper. Having the right combination of RAM and Disk available at the right time is still not so simple. But it's no longer nearly as necessary as it used to be to expose the implementation and assign the user the task of choosing which pieces of code need to be in memory. MacOSX does this by having single-windowed applications NOT quit when their window is closed (there are exceptions...). With an ideal OS(1), launching an application for the first time is very much like re-activating a swapped-out application. With an ideal VM system(2), swapping in and out memory is clean and efficient. You don't need to care what it's actually doing. But there are other reasons to keep 'quit' around. For one, having an application loaded is not necessarily a zero-impact circumstance for the rest of the system even if it's not in use. Also, dock space is limited, and currently an application is either shown in the dock or it's not loaded.


      (1)MacOS X isn't perfect, although 10.2 is a lot better.
      (2)MacOS X's VM system is far from ideal.
      --
      I'm not a smorgasbord.
    9. Re:Crufts - Not only software! by ReinoutS · · Score: 2

      This is the way the IBM VisualAge development tools operate. You have a 'repository' where all your code is kept, every revision included. I don't see why this concept shouldn't be applied to productivity applications, especially with todays mega-size hard drives this shouldn't be a problem.

  7. Why do we have to save our work by hand? by Svenne · · Score: 4, Insightful

    Well, I'll tell you why. In the article, the author compares a wordprocessor to a pen and a paper, where everything you write gets "stuck" on the paper, while in the computer world you have to manually "Save" the work before anything really gets written. This, he deducts, is an arbitrary obstacle, and not intuitive at all.

    On the contrary, my dear Watson. What if I change something in my Word document, but later on decides it was no good and wish to discard it? Nope, sorry. My old document is already rewritten with no turning back. Or is he suggesting that everyone should always make a copy of a document before editing it, just in case? Wouldn't THAT seem terrible unintuitive?

    The "Save" function is one thing that separates the wordprocessor from a real pen and paper, and it certainly has it's uses.

    --

    Slagborr
    1. Re:Why do we have to save our work by hand? by horace · · Score: 2, Insightful

      That thought occurred to me too but the drag and drop saving the author mentions occurring in Oisc OS and ROX desktop sounds very sensible and in any case there should be some combination of undo and default file names that should improve the existing scenario.

      Indeed maybe they will happen, they would provide a great reason for corporate users to upgrade and would potentially be a better way for somebody like Microsoft to protect their turf than obfuscating file formats.

    2. Re:Why do we have to save our work by hand? by panaceaa · · Score: 5, Insightful

      Or is he suggesting that everyone should always make a copy of a document before editing it, just in case? Wouldn't THAT seem terrible unintuitive?

      I really like the article's idea. I've lost a lot of work in my lifetime due to software crashes, power outages, or clicking things without thinking. On the other hand, it's not often that I change things temporarily and then revert back to the saved version. (Probably 20 to 1 ratio) With this paradigm, it'd be easy to get in the habit of marking a document as 'temporary' with all the benefits.

      It might make even more sense when content management platforms mature. These platforms keep track of different versions of a document, allowing you to revert back or see document evolution with ease. Then you can have it both ways, your latest changes will always be saved, and you can revert to previous versions. But of course, then you'd have the non-intuitive 'Save This as New Version' button, since you wouldn't be saving your documents manually anymore.

    3. Re:Why do we have to save our work by hand? by Quaryon · · Score: 3, Insightful

      On the contrary, my dear Watson. What if I change something in my Word document, but later on decides it was no good and wish to discard it? Nope, sorry. My old document is already rewritten with no turning back. Or is he suggesting that everyone should always make a copy of a document before editing it, just in case? Wouldn't THAT seem terrible unintuitive?

      Like an eraser, or a bottle of tippex, that's what the "undo" button is there for. All this means is that the save process has to be a bit more sophisticated and store the last n changes.

      Q.

    4. Re:Why do we have to save our work by hand? by larien · · Score: 3, Insightful
      It's a fair point; I don't want a pile of files cluttering my desktop!

      What should happen is:

      1. User creates a new document
      2. Software saves a copy of it to disk in a temp folder
      3. Software saves updates periodically to this file
      Now, if the user exits, it will ask if he wants to save; if he does, it saves to the specified location & deletes the temp file. If he doesn't, it deletes the temp file.

      If the software/computer crashes, on the next startup, it prompts the user that it has a file stored; would you like to open it? Options are open, leave or delete.

      Some of these options are already available in other software; vi will store its buffers if it's killed off, and Word (and other word processors) have autosave. It's not rocket science to implement the missing features.

    5. Re:Why do we have to save our work by hand? by Katravax · · Score: 5, Insightful

      There are already programs that support undo past save. If we do something intelligent like get rid of the save command, we should also do something intelligent like undo past save. For the file-size whiners (like myself), we could have the option to lose prior undo information to reduce the file size.

      File systems that support multiple streams (like NTFS) could save undo information in a separate stream. "Not everyone has such a file system," you might say. I say, whatever -- if we're talking about moving forward here, we'll have to go past FAT and other beginner's file systems.

      We're not talking about taking away something that's required for usability today. We're talking about improvements for the next generation. Get over your "Save" command. You'll be able to undo beyond the automatic save.

    6. Re:Why do we have to save our work by hand? by ugglan · · Score: 2, Insightful

      Could and should be solved with versioning, just like we do it when writing code.

      "But versioning contains the concept of saving", you say. Not necessary, have a look at the "undo"-feature. Undo is a simple and crude form of versioning, without any mentioning of saving.

      How about an undo that lets you say "take this document back to the way it looked two hours ago"?

      Think about it.

    7. Re:Why do we have to save our work by hand? by Anonymous Coward · · Score: 2, Insightful

      The undo function reaches the last n steps which, depending on the application, sometimes cover only a few minutes. The "revert" function returns you to the last "saved" state. Some applications also have the concept of making "snapshots" to which you can revert regardless of the number of undo levels. Autosaving may be a very feasible idea for wordprocessors which hardly need the kind of computers they are running on today, but I doubt that anybody would want to wait for images upwards of 50MB or bigger media files to be saved to disk every couple of minutes.

    8. Re:Why do we have to save our work by hand? by Jugalator · · Score: 2

      ... and he also doesn't seem to have heard of the old concept of "auto save"??

      --
      Beware: In C++, your friends can see your privates!
    9. Re:Why do we have to save our work by hand? by HerbieStone · · Score: 3, Insightful
      What if I change something in my Word document, but later on decides it was no good and wish to discard it?

      I've never had to click "save" on my palm pilot. To undo a change you simply click "undo". 'Nuf said.

    10. Re:Why do we have to save our work by hand? by photon317 · · Score: 5, Interesting


      I wrote a GTK+ text editor that saves the document on every keystroke with a frequency limiter so that you don't save more than once every 5 seconds. It used a background thread for the saving so the user interface didn't hiccup, and every save file contained a complete undo/redo history to the beginning of the document's life. It had no save buttons, only "open" and "close". I never finished it because it was plaintext-only anyways, so nobody was ever gonna use it.

      --
      11*43+456^2
    11. Re:Why do we have to save our work by hand? by Ed+Avis · · Score: 4, Insightful

      It might be better to unify the 'undo' and 'save/load' functions, so that loading an older version is a kind of undo. But there needs to be a better way to navigate back to these old versions.

      IMHO all desktop apps should have built in version control, so instead of File->Save you do File->Tag this version and give it a description. All editing changes are saved to disk immediately they are made (this is only a few bytes per second, no problem on modern machines) and you're prompted to make another version tag before quitting the app.

      There's no longer any disk space argument against saving all versions of the document, all the time. At least not for wordprocessing and most 2d graphics, small spreadsheets etc.

      Collaborative working with merging in different sets of changes (a la CVS) would be tricky to implement, depending on the application: it might require storing a list of commands executed rather than the current state of the document.

      --
      -- Ed Avis ed@membled.com
    12. Re:Why do we have to save our work by hand? by vrai · · Score: 2, Interesting
      That's less of a problem with the large drives that are now commonplace. I was actually under the impression that MS Word already does this (i.e. save deltas) when quicksaving which is one the reasons its files seem so large.

      Of course what we really need is built-in version control at the filesystem level. That way it can save all the time (automagically) and the user can specific when to commit a revision (the equivalent of a CVS tag). You'd have all the benefits of not losing data during a crash, along with the ability to jump back to arbitary points and restore or branch from there.

      It would also make system auditing much easier as you could tell who had been altering files and what they'd changed.

    13. Re:Why do we have to save our work by hand? by Shimbo · · Score: 4, Interesting

      Like an eraser, or a bottle of tippex, that's what the "undo" button is there for. All this means is that the save process has to be a bit more sophisticated and store the last n changes.

      A more sophisticated file system could help us there. During the day, we rsync the development areas every 15 minutes. It takes a trivial amount of space and CPU time. Yet for years I was stuck in the metaphor of doing nightly backups and telling folks they couldn't get back the files they changed in the morning.

      The point is that saving files or versions in case we stuff things up shouldn't be our problem. We should have 'hard' commit points (this is a published document/reviewed code). Between then 'soft' checkpointing could be managed by the OS.

    14. Re:Why do we have to save our work by hand? by radish · · Score: 3, Interesting

      Never heard of version control?

      I'm currently evaluating a new IDE for developers in my area, IntelliJ IDEA 3. Anyway, it has gone away from the Save-button paradigm as well. Whilst there is still a manual save button, which you can hit whenever you like, it background saves a lot. Whenever you compile it autosaves, whenever you close a file it autosaves (without prompting) and whenever the app window loses focus it autosaves all open files.

      The way it gets around the "but I didn't mean to save those changes" problem is with a local VCS. Every time it does an autosave it keeps a version, and automatically deletes those older than x days (configurable). This works alongside your "real" version control (say CVS or Bitkeeper) - essentially the local one protects you from those "oops" moments when you accidentally write over a modified file, and the external VCS does what it does now, holding actual useful revisions for a file forever.

      You could compare this system to a multi-level undo feature which spans saves, but it's better than that - as being a proper VCS you can visually diff between versions, label particular versions etc. It takes a while to get used to the "what do you mean it's already saved!" aspect, but it's really very neat, and it means you essentially will never lose any work again.

      Oh and yes, it ends up using a fair amount of disc space, but so what? It's a lot cheaper than my time. I could easily see a similar system working well with a wordprocessor, in fact Word has something similar with it's revision tracking. All you have to add in is the ultra-frequent non-obtrusive autosaves, and removal of unimportant old versions to keep size manageable.

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    15. Re:Why do we have to save our work by hand? by kcbrown · · Score: 5, Insightful
      Version control is something any user-friendly system should handle automatically. It seems to me that programs should automatically save the diffs against the previous version and should save the full version on a very regular basis (with saves happening after a relatively short timeout or after a certain amount of changes have been made, whichever comes first). Reverting to an old version is a matter of applying the diffs in reverse to the current version. You should always be able to drop back to any previous version you want.

      There's no need for a "save as new version" button: the program will do that automatically when you exit, when you switch to a different program, or when the timeout/max diff condition occurs.

      What is needed in addition is something that should be intuitively obvious: "create a new document based on this one". This will create a "fork", and doing so will cause the program to ask you by what name you'd like to refer to the new document (as it should whenever you create a new document). Perhaps this is what you were talking about.

      We've gotten so used to working with low-level files that methodologies like this get discarded automatically by developers. But that should be done only if there's a lot of hard data that shows that users actually have a harder time dealing with it that way. That may be true of users who are used to dealing with files, but I strongly suspect people who are new to computers will have an easier time with an application that doesn't know about "files" but only about "documents". The system should keep track of the mapping between the two, and the filestore should never be seen directly except with a tool designed to manage it.

      All IMHO, of course.

      --
      Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
    16. Re:Why do we have to save our work by hand? by R.Caley · · Score: 3, Insightful
      There are already programs that support undo past save. If we do something intelligent like get rid of the save command, we should also do something intelligent like undo past save

      The correct solution is version control built in at the OS level. This would mean all file types would have to have a useful diff defined.

      That would also allow multiple people to work on the smae document with control over how their changes are merged and so on. After all, all these tools were developed for source control not because they are related to programming, but because they are related to editing; any appliction which can be sen as an editing operation could benefit.

      --
      _O_
      .|<
      The named which can be named is not the true named
    17. Re:Why do we have to save our work by hand? by rseuhs · · Score: 2
      Exactly that's what I've thought when he told that users would get a copy which "they wouldn't want" when they save a file under a new name (Arrgh. Does he propose to delete the old file?)

      If I wanted pencil and paper, I would use pencil and paper.

      Tell the guy to use StarOffice/OpenOffice, in case of a crash it restores all open documents, so no data loss. (And it did this for years)

      What's the problem with that?

    18. Re:Why do we have to save our work by hand? by hacker · · Score: 4, Informative
      File systems that support multiple streams (like NTFS) could save undo information in a separate stream. "Not everyone has such a file system," you might say. I say, whatever -- if we're talking about moving forward here, we'll have to go past FAT and other beginner's file systems.

      VMS has done this for a decade or more. Every time you edit a file, you get 'file.txt;1', 'file.txt;2' and so on, which you can pick up at any point and continue editing. It's semantically similar to cvsfs, where every file saved revisions itself. Implementing cvsfs globally could be "A Good Thing[tm]" overall.

    19. Re:Why do we have to save our work by hand? by unapersson · · Score: 2, Insightful

      I switched off that ages ago, it seemed like a good feature but I found Word would often crash *during* the autosave, basically destroying the original document. So instead of saving the x minutes since the last save, you lost the x hours or days worth of changes since the last backup.

    20. Re:Why do we have to save our work by hand? by Katravax · · Score: 2

      Yup, which is where the NT coders got it (same architect). You can do that now on NT too, file.txt:stream2, etc. The problem is most of the file browsing tools don't support it. It should be transparent, anyway.

    21. Re:Why do we have to save our work by hand? by G-funk · · Score: 2

      What we need is a system where an undo log is created and saved alongside the data, but as it gets older, its granularity is adjusted... ie, if a file is updated daily, perhaps the last 48 hours can be restored to the hour, the last fortnight to the day, the last 6 months to the week, and anything older can be restored to the month? You could end up with a lot of wasted space, but space is constantly getting cheaper, and our software far outweighs our data when it comes to documents (except mp3, video data which is edited less often if at all)

      --
      Send lawyers, guns, and money!
    22. Re:Why do we have to save our work by hand? by operagost · · Score: 2
      He also innocently brings up the old IBM CUA guideline, that one should work with files and not programs. This is when he suggests that one should save files not with an in-program file dialog, but with the file manager. But he fails to mention how one is to drag and drop a file before you've named it.

      I actually saw that issue addressed in OS/2 Warp 4, where the audio and video recording applets (relatively powerful and included with the OS in 1996 way before MS had anything similar) required that you specify a file name BEFORE using the software. Frankly, it was annoying. I don't know whether it was because I was used to the 'cruft' of saving after the fact, or because it simply isn't intuitive to have to give a descriptive name to everything BEFORE your create it either.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    23. Re:Why do we have to save our work by hand? by Sherloqq · · Score: 2

      If I had modpoints, I'd mod you up.

      Version / revision control really sounds like *the* solution here. You get all the benefits of incremental changes getting recorded, the ability to bring up any previous version you'd like, creating branches for temporary documents as well as forks -- all as you mention.

      Now, there are tools which would let you accomplish this, both in Unix-land as well as Windows-country (cvs and its derivative, cervisia, respectively). So why don't people use them?

      1) the tools have to be installed manually
      2) the tools have to be used explicitly
      3) the tools have to be learned
      4) all the concepts behind them are confusing to the user

      So why doesn't someone incorporate those tools into the operating system? Would that be part of the backwards-compatibility cruft that the article talks about? Wouldn't people want this functionality there? After all, the user interface wouldn't require too many changes: opening up of a document would bring up the latest version on file, with an option in the "File" menu to select from the list of previous versions (potentially with a preview pane for comparison). Additionally, the program working on a document could save a new revision of the document with each exit of said program / closure of that document. Add to that the creation of a new revision (either by replacing the "Save" command with "Save as revision" or something along the lines, thereby making it a default; or by adding a new option / replacing "Save as" with "Save as revision").

      Now, as far as I remember, someone's already done that at some point -- IIRC, VM or some other older OS had that option -- actually, it was the default. So why did that go away?

      --
      Have EVDO, will travel.
    24. Re:Why do we have to save our work by hand? by arkanes · · Score: 2, Funny

      And because all the zealots who complain about Word documents being large were going to mock you after you'd used your app as a file editor on a big project and your undo history filled up the hard drive.

    25. Re:Why do we have to save our work by hand? by aallan · · Score: 2

      Version control is something any user-friendly system should handle automatically.

      Heck VMS had this as an intergal part of its filesystem back in the 80's (?), I've never really understood why it never caught on...

      Al.
      --
      The Daily ACK - Eclectic posts by yet another hacker
    26. Re:Why do we have to save our work by hand? by Reziac · · Score: 2

      CorelDraw has had multiversion document control like that for several versions now, tho I haven't used it myself.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    27. Re:Why do we have to save our work by hand? by Quaryon · · Score: 2

      Surely this is just a case of flagging one of the undo states as a permanent version..? It's not exactly rocket science.

      I agree with you that the user probably has a concept of a "finished version" - although I question how close this is to the different saved files people end up with at the moment. Some kind of document managing filesystem should be able to handle this - you just flag the particular undo states for each version.

      Q.

    28. Re:Why do we have to save our work by hand? by pmz · · Score: 2

      One option in UNIX is to use SCCS or RCS as the versioning system. User applications could invoke the appropriate command rather than overwrite a file on the filesystem. The end user would never need to know, either. The applicaition could also provide an intuitive version browser that allows any prior version to be reloaded (again, SCCS and RCS would be invisible).

      A lot of the technology to reduce cruft is already spread around out there. Mostly, we just need thoughful uses of that technology to make the low-cruft world possible.

    29. Re:Why do we have to save our work by hand? by scrytch · · Score: 2

      Or is he suggesting that everyone should always make a copy of a document before editing it, just in case? Wouldn't THAT seem terrible unintuitive?

      He's not suggesting the user do that. He's suggesting that the filesystem do that. Hell, VMS did that almost from day 1. All you need is a "revert" option for everything, have it pop up a timeline (outlook's timeline bar UI is decent for this, might need to compact it some) and pick the document the way it was at a particular time. The only trick is to pick discrete versions out when there's no explicit checkpointing option. Hiding the window (assuming "close" is obsolete) could be considered one checkpoint-worthy event. Mostly what you need is a good ability to drill down on versions and an interface that makes this easy (and that may be the hardest problem yet)

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    30. Re:Why do we have to save our work by hand? by scrytch · · Score: 2

      I find it somewhat ironic that the only shell on NT I've found that supports NTFS streams is cygwin bash... Now if only I could figure out how to list the streams in a file.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    31. Re:Why do we have to save our work by hand? by scrytch · · Score: 2

      I switched off that ages ago, it seemed like a good feature but I found Word would often crash *during* the autosave, basically destroying the original document. So instead of saving the x minutes since the last save, you lost the x hours or days worth of changes since the last backup.

      Turn off quick saves. 90% of word's breakage comes from this heinous "feature".

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    32. Re:Why do we have to save our work by hand? by Katravax · · Score: 2

      There are tools for that. Google for NTFS streams list. Cmd.exe supports streams (at least partially).

    33. Re:Why do we have to save our work by hand? by Enonu · · Score: 2

      Why should all of the apps have to support such functionality? Why not refactor that and put it in the OS? Oh wait, VMS already did that and I've yet to see anything similar. I'd love for Word to be able to open up "My Document:2002/10/12 5:03:10.03 p.m."

      For the love of God, please, some OS designer out there, bring this feature back!

    34. Re:Why do we have to save our work by hand? by jafuser · · Score: 2
      I've seen many people mention an unlimited amount of "Undo" file revisions saved, but that would start taking up too much space. Maybe within a short timeframe, it'd be ok, but then start "merging" older revisions together to save space. Or, just control it all by time. I think most people (at least I) have an intuitive sense of how long ago we were doing something significant. I'd like something that would let me jump back:
      • 10 seconds
      • 30 seconds
      • 1 minute
      • 2 minutes
      • 5 minutes
      • 10 minutes
      • 30 minutes
      • 1 hour
      • 2 hours
      • 3 hours
      • 4 hours
      • 6 hours
      • 8 hours
      • 12 hours
      • 1 day
      • 2 days
      • 3 days
      • 4 days
      • 5 days
      • 7 days
      • 14 days
      • 21 days
      • 1 month
      • 2 months
      • 3 months
      • 4 months
      • 6 months
      • 9 months
      • 1 year
      • 2 years
      • ...
      Some time steps could be taken out to save even more space, and specific points could be milestoned not to expire, but at least this puts a cap on the number of revisions sitting around...
      --
      Please consider making an automatic monthly recurring donation to the EFF
    35. Re:Why do we have to save our work by hand? by timeOday · · Score: 3, Insightful
      Oh, no, no no. Explicit version control is too confusing and CRUFTY. In the REAL world, people use pen and paper, not funny complicated things with "version control." And if they make a mistake, they simply wad their work up into a little ball and place it in a round canister, and start over. It's so wonderfully intuitive that way.

      If you insist on complicating computers beyond pen and paper, at least use the Undo button, which already exists and whose use is fairly intuitive. To see what your work looked like 6 months ago, simply click Undo 60,000 times.

    36. Re:Why do we have to save our work by hand? by Ed+Avis · · Score: 2

      VMS had multiple versions associated with each file but AFAIK this was like current Unix version control systems: each revision is separate. There isn't a constant stream of changes which you can undo and redo as far back as you want.

      I was proposing saving all editing, and allow the user to tag particular revisions as interesting, but still keeping the complete history.

      --
      -- Ed Avis ed@membled.com
    37. Re:Why do we have to save our work by hand? by Twirlip+of+the+Mists · · Score: 3, Funny

      I'm not entirely sure I think this is a good idea. You're talking about combining automatic saving-- saving after every keystroke, or every n seconds, or whatever-- with automatic version control. The net result is that your document would include one version every few seconds as long as you work on it. It'd be easy to accumulate a document with tens of thousands of versions. How would that be useful? You could, in theory, go back in time to any point to recover your work, but how would you know which point in time was the right one?

      I'm not saying it wouldn't be neat; you would basically have enough data to do an instant-replay of the entire document creation process. But it doesn't sound too practical to me.

      --

      I write in my journal
    38. Re:Why do we have to save our work by hand? by Twirlip+of+the+Mists · · Score: 2

      During the day, we rsync the development areas every 15 minutes.

      I have found this to be a terrible idea. It sounded neat to me at first, too, but then I managed to grab an rsync of a directory in an inconsistent state. (I don't remember all the details, but it was something like one developer opening two files, saving the first file, the sync doing its thing, then the developer saving the other file. The files depended on each other, so the sync'd copy was useless. The code wouldn't compile without either reverting the first file, or modifying the second file.)

      I'm not saying that it couldn't be made to work, but in that case it really bit us in the ass. It wasn't the end of the world, but it was extremely inconvenient.

      --

      I write in my journal
    39. Re:Why do we have to save our work by hand? by El · · Score: 2

      VAX VMS used to create a new version of the document every time you saved it, so you couldn't overwrite an old version (the file file name for every file included a version number). Then they gave you an app to clean up the all-but-last version. Granted, I think this was mostly a ploy to sell more disk drives, but these days hard drives are dirt cheap. Why not revive this behavior?

      --

      "Freedom means freedom for everybody" -- Dick Cheney

    40. Re:Why do we have to save our work by hand? by CoolVibe · · Score: 2

      CVS can do this.

    41. Re:Why do we have to save our work by hand? by Mac+Degger · · Score: 2

      Easy...with everyone blathering on about "we have the space, harddrives are so big nowadays", they forget they're just working on teensy files.

      Some people, on the other hand, actually work with large files. And when you're working with files 50mb+, every revision takes up large amounts of space. That's when you discover that you don't have infinite diskspace.

      Revision history isn't included by default because it's easier, handier and more efficient (for the entire population of computer users on the whole) to decide manually if and when you want you backup point to happen.

      --
      -- Waht? Tehr's a preveiw buottn?
    42. Re:Why do we have to save our work by hand? by Mac+Degger · · Score: 2

      That only works for small files. Typically, where you absolutely need (instead of "it would be handy") the features of version control, you work with large files.
      So the system would have to be aplication/filesize discriminatory.

      --
      -- Waht? Tehr's a preveiw buottn?
    43. Re:Why do we have to save our work by hand? by Sherloqq · · Score: 2

      when you're working with files 50mb+, every revision takes up large amounts of space

      That's not true. The whole point of incremental revisions is to store only the differences between two adjacent versions instead of the entire file. While for some types of files this may not be practical at this point (say, images or other binary data), I'm sure that there would be ways of getting that problem solved as well (for images: subtract one from another (or whatever the proper Photoshop term is); for Word(tm) documents: either use some sort of a macro that would insert/remove the portion of the text that's different, or save that as some form of metadata (not sure if that's possible here right now, but may be in the future when MS adopts XML)).

      So, not only is it not impossible, but with a bit of work it might even be fairly straight-forward: set up a library of 'filters' or 'helpers', which can be modified by packages as they come and go. You install libjpg or libpng, and it comes with a filter that gets dropped somewhere into the "system folder", which defines how to create "diffs" of things; every time someone works with a jpg or a png file, the system knows how to save incremental changes. Worst-case scenario, naturally, is "save the whole damn thing".

      But, as you point out, "we have the space, harddrives are so big nowadays"

      Think about it. Transparent revision control built into the OS would be a godsend to many.

      --
      Have EVDO, will travel.
    44. Re:Why do we have to save our work by hand? by Mac+Degger · · Score: 2

      You kind of touch upon my point: transparent revision control is not feasable for every filetype. Images, even just 3d scenes take up large amounts of space (obviously I'm talking DTP and movie here, not web graphics and...well, I was going to write games, but even there the changes and files can be large). The changes made when working with them take up large amounts of data, incremental or not. I've worked with large scenes where a larege number of changes take place. Even just recording the 'changelog' (if you will) would take up a huge amount of data.

      The thing is that revision control control is something that you can't universaly implement. You have to make choices on when and where to use it. Otherwise it becomes too resource intensive.

      --
      -- Waht? Tehr's a preveiw buottn?
    45. Re:Why do we have to save our work by hand? by Sherloqq · · Score: 2

      So what is the solution in your case? Keep only one or two most recent versions around? Not have backups altogether?

      I agree, some formats will be more cumbersome to implement this for, but most people keep backups around (granted, backups are a beast of a different kind -- most are done on separate media to avoid hardware problems etc.). Maybe the space that normally would've been taken up by backups could be (partially) dedicated for revision control. Or, you could specify in a control panel that you only want 2 most recent versions of a .gif or .tiff kept around, or up to 500MBs worth of .psd's.

      All I'm saying is, while transparent revision control may not be feasible for every file type, it would be for most. Since it would be made configurable (maybe in the way I just described), some files could be exempted. But for most people and most filetypes this would be a good thing, and would alleviate the (quite valid) problem that the author of the article pointed out.

      --
      Have EVDO, will travel.
    46. Re:Why do we have to save our work by hand? by Mac+Degger · · Score: 2

      For smaller filetypes, you're right. For larger filetypes the only feasable solution is user initiated backups...just as it's now. The only thing that will change that is massive increases in storage tech...but there will always be filetypes for which that just isn't an option; when we get holographic storage and holographic displays, we'll also get full holographic 3d files...increasing filesize by the same increase in storage :)

      --
      -- Waht? Tehr's a preveiw buottn?
    47. Re:Why do we have to save our work by hand? by photon317 · · Score: 2


      It doesn't work like a revision control system, it works like an edit-history. The "diffs" if that's what you want to call them are extremely minimal. It's reasonable to store the entire edit history of a document keystroke for keystroke. There can always be an export option if you want to export to a "normal" and much more compacted text file with no history.

      Among the "never implemented, but thought about seriously and planned to do at some point" list of features that would have made it killer were:

      1. Storing history data contextually, so that the history for a given area of the text tends to be located very near to that text in the savefile on disk.

      2. Segmenting the file into blocks, such that only the 512-byte blocks of the file which are updated by an edit operation (cut, paste, keystroke, etc) are re-saved on each mini-save, reducing save cpu/io load.

      3. A block-mapping header, so that the blocks on disk can be out-of-order from the real data (so that inserting text in the middle of the file doesn't "push" the character stream through the rest of the file causing unneccesary block writes).

      If I ever added all that in, the mini-auto-saves would be writing only handful 512 byte blocks on each save in normal cases.

      --
      11*43+456^2
    48. Re:Why do we have to save our work by hand? by Ed+Avis · · Score: 2

      Any file which is created by human work must be limited in the amount of information it contains. A typist at two characters per second cannot enter more than 60 kilobytes of information into the computer in a typical working day. Of course the file format may end up being much bigger, but in principle you could store a few major versions and every keystroke in between, then just 'replay the journal' to 'roll back' to any prior revision. If you'll excuse the silly terminology :-).

      --
      -- Ed Avis ed@membled.com
    49. Re:Why do we have to save our work by hand? by Mac+Degger · · Score: 2

      But it seems to me that that is just a limitation of the input technology. Using photoshop/3dmax/whatever, the change in information density is much higher. Not only that, but the steps to create that change indesity is are also much larger, datawise (a brush stroke with the mouse/stylus caries much more info than a number of keystrokes).

      So as I said, for certain files (anything where keystrokes only are used), it won't be much of a problem; the problems stack up when you use an information rich way of changing your data.

      And hey, as you can see I use silly terminology too...just as long as we understand what's meant, it's all cool :)

      --
      -- Waht? Tehr's a preveiw buottn?
  8. I recognize this... by HiQ · · Score: 4, Informative

    "software archeology"

    I work day in day out on a ten year old system. I do not use the term archeology, however I frequently find what I call 'fossils'. Parts of code that are still there, but are never executed. Fields of the database that should have been deleted but are still there, and are still updated, though no program ever uses them. A system has to be sufficiently large however, to experience this. But actually funny to read about this.

    1. Re:I recognize this... by Slashamatic · · Score: 2
      When I first read Vinge and discovered his term Software Archeology, I loved it. What other name can you give for digging in old systems (ours was around 15 years old). There is new code but one heck of a lot of old code that is crying out for a redesign some time.

      One of the areas of cruft I had to work on last year was a CRT form based data enty system for product setup. The end-user never sees the screens but market supervision must use them to create products. The screens (there are two inter-related forms) have all manner of stuff there which if you fill in incorrectly, you may be left with an inconsistent database with minimal checking until too late.

    2. Re:I recognize this... by HiQ · · Score: 2

      Yep, very recognizable. I always wonder if this is the way things *always* happen. That with the years the cruft-ratio is bound to go up. I mean, we have had a lot of programmers working here in the last ten years, some of which put the term 'programmer' to shame. But is it just a case of inferior people, or is it an inevitability?

    3. Re:I recognize this... by anonymous+cupboard · · Score: 2
      It doesn't matter why it was originally done, the problem is there only ever seems to be negligable time available for clean-ups.

      I first was on a system many years ago and the design decisions had a reason, for example checking for errors first at the user end and then again at the host side. This was complicated and added considerably to the maintenance work load. People wanted to ditch this double checking until I recalled the reason for the design decision, check once at the user side for typos and then check again at the host side because the user end was running on an untrusted computer. Simple enough, but the documentation seems to have been lost.

      The budget is more for new features than housekeeping so time to do cleanups is limited. I always did a two pass operation, implement the features and then attemp to clean up *if* I had time. Often I had inadequate time or the clean-up was considered to be too high a risk. I can therefore say that in a 30 million line application, probably 10% never gets executed.

  9. Flawed by Mr_Silver · · Score: 5, Informative
    Whilst the author makes some good points, there are plenty of flaws in his reasoning.

    Fortunately, technology has improved since the 1970s. We have the power, in today's computers, to pick a sensible name for a document, and to save it to a person's desktop as soon as she begins typing, just like a piece of paper in real life. We also have the ability to save changes to that document every couple of minutes (or, perhaps, every paragraph) without any user intervention.

    Yes we do, but for starters a computer is a tool. You tell the computer what to do, the computer does not tell you. Sure we have autosave, but any sensible application auto-saves to a different filename so that if you decide to abandon your changes, you can just quit, not save and revert back to your original format. If you quit a document, you'd still have to agree. What happens when you do want to commit those changes to your file but you don't want to quit? You have to "save".

    Fortunately, technology has improved since 1984. We have the power, in today's computers, to run more than one program at once, and to load programs in less than five seconds.

    Here the author obviously hasn't used a PocketPC. With the PPC its very very easy not to close applications. What happens? The system slows down to a crawl as it tried to run 5 or 6 different applications. Again, this is the user being in control of the computer. I want the ability to close applications when I'm not using them. That is my decision, not the computers. It's the desktop analogy. Once i've finished with a book, I put it away because otherwise my desk gets cluttered. I don't leave it out because otherwise my desk gets full and working becomes a problem. Sure, we could get around this by having the PC unload or suspend applications that aren't used in a while - but how does it decide? Just because I've not typed something into Word for the past 30 minutes doesn't mean that I'm not using it. You'd get to the point where the cleverness of the OS/Application was causing me more hassle as it tried to be helpful and suspend stuff for me.

    Fortunately, technology has improved since 1984. We have the power, in today's computers, to run more than one program at once, and to run the file manager all the time. We can open documents from the file manager without quitting all other programs first, and we can save copies of documents (if necessary) by dragging them into folders in the file manager.

    What about if the application is taking over the whole of the desktop? I'll have to minimise and then drag. Having said that though RISCOS (I think, the one on the Archimedes) used to allow that. You hit Save and the icon appeared for you to drag somewhere. Best thing was that you could drag from one application into another to have it load in there. Neat. But very wierd.

    As for inode stuff, sounds neat. But I know so little about that type of thing, I wouldn't even know it's feasible.

    So in short, some good ideas, but some of them just aren't practical or possible and would end up being a bigger annoyance than it currently is.

    --
    Avantslash - View Slashdot cleanly on your mobile phone.
    1. Re:Flawed by flippet · · Score: 2, Insightful
      Having said that though RISCOS (I think, the one on the Archimedes) used to allow that. You hit Save and the icon appeared for you to drag somewhere.

      ...nice in that you could see exactly where you were saving it, but not nice in that if you clicked "save" and type in a name only to realise the window you want to save it in isn't visible.

      In the good old Acorn vs. Amiga wars of yore the Amiga's file requesters were a deadly weapon.

      Phil, just me

      --
      "Cattle Prods solve most of life's little problems."
    2. Re:Flawed by Slashamatic · · Score: 2
      Here the author obviously hasn't used a PocketPC. With the PPC its very very easy not to close applications. What happens? The system slows down to a crawl as it tried to run 5 or 6 different applications.
      Some developers sneak in an exit code. Theoretically it is against the PowerPC guidelines, but to me it seems eminently sensible. What doesn't help under WinCE is the fact that the apps aren't 100% stable and sometimes you *have* to be able to exit to ensure resures are released.
    3. Re:Flawed by tal197 · · Score: 2
      ..nice in that you could see exactly where you were saving it, but not nice in that if you clicked "save" and type in a name only to realise the window you want to save it in isn't visible.

      Some of the later RISC OS programs (eg, StrongEd) would keep the savebox open while you opened the directory, and this system is used in ROX too (and, window manager permitting, the savebox can be kept above all other windows during this process).

    4. Re:Flawed by Chanc_Gorkon · · Score: 2

      Yes I LOVE PocketPC apps that have an exit code!! WHY does Microsoft think this is bad? Is it because Palm does not have it?? We all know that PocketPC's code that manages resources...well, SUCKS. Anyone who has been doing hardcore PocketPC work knows this. Anyone who wants to play a divx file in PocketDivx KNOWS it works best of you close all of the apps. What I wish they'd do is make the X in the upper right corner of almost all PocketPC apps ACT LIKE AN X IN WINDOWS! The X icon has always truely closed apps and not the psuedo close that PocketPC does. PLEASE make it close the app! You don't have to make it save it because it already saves everything you write into Pocket Word. Editing is really easy with a stylus so you don't have to add a save dialog when you close an app and killing stuff you don't want is easy as dragging the sylus and tap-holding it to pop up the context menu. Oh and the original post said it's very easy not to close apps.....try it's impossible with out tripping thru the control panel.

      That is unless you have an iPaq with iTask in rom or some other task manager like Wisbar. Right now I don't use one because it covers up the Wireless icon. They are making progress on making the connection icons accessible in the Pelmar version of Wisbar, but it's still kind of kludgy and the latest beta has a bug which puts black lines on top of the icons for some reason. When they fix that, Wisbar will be perfect and pretty (it's skinnable! YAH!).

      --

      Gorkman

    5. Re:Flawed by jilles · · Score: 3, Informative

      What mpt is referring to is a document centric rather than a program centric environment. Most existing operating systems are program centric. You start a program, instruct the program to create a document, tell the program to do something with a document, tell the program to quit. In a document centric environment, you create documents, you edit documents, etc. Stuff like file dialogs, opening and closing applications, etc. does not fit in with this paradigm.

      Of course you need to have some means to identify a document. As mpt points out, pathnames are an extremely lousy way of doing so. Rather you want an inode with some associated metainformation which may or may not include a name. The whole concept of a name plus a three letter extension is flawed.

      Each type of document has a number of useful metainformation items associated. Obvious ones are date of creation, last date of editing, user that created it. In the case of a bitmap, a small thumbnail might be handy. Of course users should be able to add descriptions and short names as meta info.

      Most of this meta information can be generated automatically. There is no need to bother the user with this.

      Take for example mp3 files. A major problem with these files is that they must have a filename and that they may also have meta information (which more often than not does not match either the filename or the contents of the file). You would want this the other way around. An mp3 file has meta information (like artist, title, tracknr, etc.). Based on this info, programs like filemanagers may query the metainfo to generate a small name (e.g. artist - album - track -title) that is displayed on the screen. There is no need for this generated string to be the unique identifier for the file!

      Beos actually got this right. Every file in the beos filesystem could have an arbitrary number of meta attributes associated with it. Programs like mp3 players, mail readers etc. actually used this to organize data in the beos filesystem.

      You are right that is a huge undertaking to fix this since this would require reengineering a lot of applications and operating systems. That was the whole point of mpt's article. Existing programs are a cumulation of decades of fundamental design errors. Many severe usability issues can be traced to these design errors from the seventies and eighties. Many programmers are unaware of this and have actually duplicated the errors in efforts to improve usability. Their workarounds are symptoms of rather than solutions for the problems.

      --

      Jilles
    6. Re:Flawed by ebbe11 · · Score: 2
      With the PPC its very very easy not to close applications. What happens? The system slows down to a crawl as it tried to run 5 or 6 different applications. Again, this is the user being in control of the computer. I want the ability to close applications when I'm not using them. That is my decision, not the computers.

      If the PPC didn't slow down when the number of applications grew, you wouldn't even think about closing those other apps.

      So it is not you who decides which applications that should be open - the PPC does. If you want to use the PPC efficiently, you must close some of the other applications, i.e. the PPC forces your decision about closing applications.

      A PDA is much easier to use if you don't have to think about how many apps are open or not. And no, this is not a pipe dream. The Psion 5mx that I use daily, has no noticeable slowdown even if I have 10 or 15 open applications.

      --

      My opinion? See above.
    7. Re:Flawed by arkanes · · Score: 2
      All my PocketPC apps really close themselves when you click the close button. Yay me!

      It's mainly because it's really hard to make sure you release all your database/file/whatever locks unless you exit out, though, because you can't (easily) tell the difference between someone closing your app because he's done with it, and someone "closing" it to work in another window.

    8. Re:Flawed by arkanes · · Score: 2

      I can't think of a single reason you would ever be forced into this. Use the file manager, that's why it's there. On more current versions of windows, you can do it from the open/save dialogs anyway, although I never have.

    9. Re:Flawed by Reziac · · Score: 2

      Document-centric is fine if you never use more than one application to manipulate a given type of file. And that may be fine for very green users who don't grok that there is more than one of each type of program in the world, and are having enough trouble with the mere concept of documents and programs. Not so useful for people who may need to use several different programs on the same file, especially if "Open with.." and "New Whatevertype File" are poorly implemented.

      Frex, I've got image files on my website that have been thru 5 different image-editing apps, for one reason or another. I'd be right annoyed if the only way to get to the image was in PSP (which BTW used to hijack ALL image file associations *every* time the program ran).

      I'd call the MacOS "document-centric" -- and that's one of the things I truly dislike about it.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    10. Re:Flawed by jilles · · Score: 2

      Just implement the open with + a default app for each mime type. Presumably you use different applications to do different things with your document. Viewing requires different functionality then editing for instance.

      --

      Jilles
    11. Re:Flawed by daVinci1980 · · Score: 2

      There are a few flaws with the article that I'd also like to mention. I've worked on a handful of commercial shrinkwrap products, as well as a few video games. I do not speak for either of these companies. That being said...

      Using Inodes, or anything else that doesn't allow the user to easily manipulate the document "seems like a good idea at the time(tm)," but in practice, it really sucks.

      Consider Mac OS 9
      Particularly when uninstalling and installing documents, it becomes obvious that this scheme is less than useful. It makes it *really* difficult to substitute a file for another file. In the case MacOS, you can delete the file, which conveniently winds up in the trashcan. After that, you replace the file with a new file of the same name that has some changes. However, because MacOS is "protecting you," it finds and uses the file in the trash can instead!

      The same thing happens on MacOS 9 as well for programs. You can run entire programs from the trash, because it doesn't rely on the "pesky" filename to uniquely identify the app, taking power away from the user.

      You mentioned this as well, but I wanted to add something... Another flaw of the article is how it discusses the necessity (or lack) of a quit button. While this might be true if we still ran applications that can fit in 64K of memory, it is not true with the powerhouse applications that we run today. The last commercial shrinkwrap application I worked on required 64 megs of RAM to run really well, and it was pushing the envelope when it came out. Similarly, the game I'm working on now requires approximately 128 megs, plus 32 megs of video ram. If we were to share nicely with other applications, the performance would suffer incredibly of both applications. Anyone who has ever fired up two copies of any application of a decent size would agree that the ability to quit applications is not a hindrance, its a necessity.

      --
      I currently have no clever signature witicism to add here.
    12. Re:Flawed by jafuser · · Score: 2
      What I wish they'd do is make the X in the upper right corner of almost all PocketPC apps ACT LIKE AN X IN WINDOWS! The X icon has always truely closed apps and not the psuedo close that PocketPC does.

      Unless they're one of those programs who's purpose is to run all the time (such as AIM, Proxomitron, etc...), and when you click the x, the program "closes" to the tray, but is still running...

      --
      Please consider making an automatic monthly recurring donation to the EFF
    13. Re:Flawed by Pope · · Score: 2

      Are you sure? I don't want to reboot to 9 to test this, but IIRC if you try to open a Trashed file in the Finder, it says you can't do that and need to take it out of the Trash first. Putting a file in the Trash isn't the same thing as deleting it, and it beats the living crap out of the nightmare that is Windows' Recycling Bin.

      --
      It doesn't mean much now, it's built for the future.
    14. Re:Flawed by jafuser · · Score: 2
      Does anyone seriously use maximised windows in this day and age? 8-)

      With three monitors and four desktops, yes =)

      I've even got a nifty system with my web browser windows; I keep them maximized when they are the focus of my attention, and then I break open new non-maximized windows for quick tangents. If that tangent turns into a another significant interest, I maximize the window. =)

      --
      Please consider making an automatic monthly recurring donation to the EFF
    15. Re:Flawed by AndroidCat · · Score: 2
      Whilst the author makes some good points, there are plenty of flaws in his reasoning.

      Also: apps that find files no matter what you rename them to. If I renamed the file, I probably don't want apps to find it as the old file. This feature sounds about as helpful as "Your plastic pal for who's fun to be with", a talking toaster or (to be completely off the wall) a super helpful animated paperclip.

      (Microsoft Agent tech is actually loads of fun to play with, but I've never found an app that I'd actually want to use it in. Okay, maybe my home burglar alarm, but only because it's cute and might annoy burglars.)

      --
      One line blog. I hear that they're called Twitters now.
    16. Re:Flawed by Chanc_Gorkon · · Score: 2

      Which I don't personally like either. Minimizing the app should put the damn thing in the tray if it has an icon like msn messnger, icq or other programs. This is inconsistent behavior. THIS is cruft not some of the stuff he has on his. Although he does have some true cruft there.

      --

      Gorkman

    17. Re:Flawed by Lars+T. · · Score: 2

      You obviously have never used a Mac. Thanks for playing.

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    18. Re:Flawed by symbolic · · Score: 3, Insightful

      You are right that is a huge undertaking to fix this since this would require reengineering a lot of applications and operating systems. That was the whole point of mpt's article. Existing programs are a cumulation of decades of fundamental design errors. Many severe usability issues can be traced to these design errors from the seventies and eighties. Many programmers are unaware of this and have actually duplicated the errors in efforts to improve usability. Their workarounds are symptoms of rather than solutions for the problems.

      I don't think some of his proposed ideas are really solutions so much as alternate means of implementations. Take his thoughts on file saving, for example. As someone who spends time on and off working on larger files, I fully appreciate the flexibility I have now to save a file on MY terms- when I want, how often, and whether or not it will be saved as a new, incremental version of the original. Saving a large file in Painter or Photoshop takes time. I can't see any way in hell that an automated save will not become a huge source of annoyance. I sometimes start work on an image, and decide that I don't want to keep the changes that I've made. That should be my decision.

      Personally, I think time would be much better spent on providing systems with transparent backup (give the electronic data a form of persistence closer to that of hard copy) so that recovering from a hard disk failure isn't such a traumatic experience - or even something that people need to worry about.

    19. Re:Flawed by cpeterso · · Score: 2


      Your idle PPC apps should not use up any CPU time. When the PPC's memory becomes limited, the OS first notifies idle apps (with a Windows message) that they should reduce their memory usage. If memory is still too tight, the OS then notifies idle apps that they should exit. If apps do not respond to these messages, then the apps are impolitely not following the PPC system conventions and recommendations. I know developers like to have a "clean" system, but does it really matter if some apps are idle in the background? All it does is reduce their reload time for a frequently used app when it is next needed.

    20. Re:Flawed by Chris+Canfield · · Score: 2

      WRT the file system stuff:

      it has existed in the Macintosh for over a decade and a half. Of course it is feasible, it might even be considered archaic if we weren't still on a DOS analogy.

      Look, you take this thing called a program, you put it where you bloody want - even if that is another drive - and it works. You move your documents and it works. You rename stuff and it works. You do a find and get to documents within milliseconds instead of a minute. The OS keeps track of both the to-disk information, such as the location on disk and the file's unique identifier, as well as the user information, such as the apparent name and location in the folder heirarchy. It hashes it, it indexes it... it does dirty work to keep everything up to date. And it all works beautifully in exactly the way that is fast and easy for the user.

      All in all well done for a feature that predates Windows 3.1

      If you don't know that it is feasable, you are lacking in a great deal of either information or imagination. Either one will do.

      And the computer *is* supposed to follow the will of the user... but the computer should also know what the user wants, and get it done without bothering them with trivial crap.

      --
      This Sig is a mnemonic device designed to allow you to recognize this author in the future.
    21. Re:Flawed by Reziac · · Score: 2

      I *have* used a Mac, and found I didn't care for it. YMMV.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    22. Re:Flawed by Lars+T. · · Score: 2

      So why do you describe the behaviour of windows?

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    23. Re:Flawed by ebbe11 · · Score: 2
      Does the Psion multitask?

      Yes, the EPOC OS is a true pre-emptive multi-tasking OS. It is also the basis of Symbian. That being said, I've yet to see an aplication that is not full-screen. But it is perfectly possible (as in: I have done this) to fetch email while editing a document or a spreadsheet or such. I should add that I at the same time have numerous other apps open in the background. Right now I have about ten open apps, including the tomtom CityMaps map over Copenhagen. Memory usage is 6312K or about 38%.

      However, one thing I do like is that the phone and the palm can both run at the same time...

      I am not quite convinced myself that a phone/PDA combo is what I want. Taking notes while talking is not the problem; just use a headset (Bluetooth rules!!). But there are times where I don't like the (comparative) bulk of the PDA. What I'd really like is for my PDA and phone to be able to synchronize contacts and calendar, preferably via Bluetooth. My phone (an Ericsson R520m) can do this but I've yet to find a PDA that supports SyncML on Bluetooth.

      --

      My opinion? See above.
  10. Skinning == crap! by SexyKellyOsbourne · · Score: 5, Insightful

    One thing I hate is the "skinning" of everything, particularly media players. It was popular for mainstream kids software, and it worked okay there; but for everything else, the standard GUI (preferrably written with something nice like WxWindows) should be the only thing that is used. If I see something with colorful, bubbly bitmaps on the gui, I probably won't use it.

    What is intuitive to us is what is standard -- adding new buttons with new pictures, new dials, and other things in a single instance interface only confuses everyone. Even if some of the properties are inefficient, regular GUI standards are the way to go.

    1. Re:Skinning == crap! by Per+Wigren · · Score: 3, Funny

      If I see something with colorful, bubbly bitmaps on the gui, I probably won't use it.

      That's what skinning is for! Just change the skin to something that doesn't have colorful, bubbly bitmaps! ;)

      --
      My other account has a 3-digit UID.
    2. Re:Skinning == crap! by azaroth42 · · Score: 3, Insightful

      I guess you probably leave your background as the default blue of (insert OS here) too. And don't change the colours of the title bars and so forth. So the default for you is fine.

      On the other hand, many 'power users' like to personalise their desktop. My background has purple penguins in ear muffs and my colours reflect this purple rather than the default blue.

      If it was possible to change the colours easily in applications as well as the window manager, then I'd do so as well. Only those apps which allow for skinning, due to the over enthusiasm for graphics everywhere, allow changing the colours at all.

      If skinning is bad, then why allow us to 'skin' our desktop by changing the background?

      --Azaroth

    3. Re:Skinning == crap! by henben · · Score: 2

      That's very true. Love your Madonna cover, BTW.

    4. Re:Skinning == crap! by hacker · · Score: 2
      If I see something with colorful, bubbly bitmaps on the gui, I probably won't use it.

      Aren't you glad Open Source exists then? Now you can look at the source, and CHANGE IT to suit your individual behavior. Try that with Microsoft Media Player 7.0...

      It's all about choice. Open Source gives you choice, while proprietary software continues to take it away.

    5. Re:Skinning == crap! by Koyaanisqatsi · · Score: 3, Insightful

      Some people seem to like skinning (not me, sorry). To satisfy those, at least skins should be implemented at the OS level, so that a user can enable/disable it system wide - event with per-application rules.

      It also saves you the time and space you waste downloading a skin that is 10x the size of the tinny application you just installed, repeat for each individual application. What a waste.

    6. Re:Skinning == crap! by hacker · · Score: 3, Insightful
      What is intuitive to us is what is standard -- adding new buttons with new pictures, new dials, and other things in a single instance interface only confuses everyone. Even if some of the properties are inefficient, regular GUI standards are the way to go.

      Answer me this... why do icons in Windows have titles underneath them? Why do ANY icons have titles underneath them? Do you even care what the picture is? No, you read the titles. Why? Because Microsoft failed to standardize on them and make them as commonly known as a picture of a "Stop" sign, or a "green light" as we see while driving every day.

      What is intuitive is what works or what is used, not what is standard, because there are no standards in this space. Making "pretty pictures" under the buttons makes them understandable, in the absence of other descriptive features (such as a title).

    7. Re:Skinning == crap! by jez9999 · · Score: 2, Insightful

      There isn't a problem with the ability to skin as such. The problem is when an app's creator(s) gets SO obsessed with this that it's no longer to view the application in 'default' mode. It does happen... i'd suggest looking at Windows Media Player as an example. Used to have a nice, simple interface, and now it's very bloated, much of which is due to 'skinning'. Frankly most of the skins with WMP are total shite and not worth looking at, they're not very intuative. Yes, there's a 'skin' which puts WMP back to how it looked before ('Classic'), but it's not quite the same, and the program code is still bloated as hell.

    8. Re:Skinning == crap! by Reziac · · Score: 2

      With skinnable apps, too often a whole lot of effort goes into pretty or cute interfaces, and not much work into usability per se. And sometimes, because these apps tend to attract the eye-candy crowd, a plain skin doesn't exist.

      So like the parent poster, I've become leery of skinnable apps, because that's all too typically a sign of poor functionality and an awkward UI.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    9. Re:Skinning == crap! by ChaosDiscord · · Score: 2

      Skinning isn't a problem, so long as the "default" skin looks and behaves exactly like the standard controls on the system. The problem is that most skinnable programs default to not looking like their native systems. As a result you end up surprising users, often not in good way. Also, skinnable software usually rolls their own implementation of standard system widgets. I'm tired of interacting with skinned application which don't support tabbing between widgets, right clicking on edit boxes to select copy and paste, and a pile of other minor differences. Even if you carefully emulate today's version, maybe the next version of the operating system which slightly change the functionality and suddenly you'll cease to be compliant. Perhaps the next version of the operating system will even allow you to globally 'skin' everything. (In fact, I think this in the best solution. KDE and Gnome both allow you to pick a GUI skin that is applied to all of your KDE or Gnome applications, giving you control and consistency.)

      If you want to violate standards, feel free, but pity those people who just want thinks to be stanard and simple. Ship a standards compliant default and let the power users tweak it into their chosen desire.

      If skinning is bad, then why allow us to 'skin' our desktop by changing the background?

      As a general rule I don't actually interact with my background, it just sits there. Filling non-interactive space with pretty art is fine by me (as long as you aren't stealing space from something I'd rather be doing). The problem is when things I interact with (buttons, edit boxes, scroll bars, list boxes, text) stop looking and behaving like I want.

    10. Re:Skinning == crap! by jafuser · · Score: 2

      Not only did WMP become bloated in the change from 6.x to 7, but it lost most (all?) of it's keyboard controls. I could live with the bloat, but I'm not happy when I lose access to features.

      --
      Please consider making an automatic monthly recurring donation to the EFF
    11. Re:Skinning == crap! by graviton137 · · Score: 2, Interesting

      Some months ago I wrote a short paper on the (then, 0.9.12) new XINE user interface which was really horrible to use. They took that "real-world device" metaphor too far; you can also observe this in other (preferably multimedia) programs (a detailed analysis on the Apple Quicktime Player can be found on the Interface Hall of Shame), XMMS also comes to my mind as an example on how not to do it.

      So: Better have one theme that keeps focus on usability than tons of ugly, non-intuitive and mis-metaphored skins.

    12. Re:Skinning == crap! by Bald+Wookie · · Score: 3, Insightful

      On the other hand, many 'power users' like to personalise their desktop. My background has purple penguins in ear muffs and my colours reflect this purple rather than the default blue.

      You say that 'power users' like to personalize their desktop. I'd say, at least in the Windows world, the opposite is true. It's the inexperienced users that get the biggest kick out of themes and GUI cruft. It gives them a false sense of control over their computer. Power users know that having a snake shaped cursor only gets in the way.

      How many hardcore computer people do you know who run a copy of Webshots? Bonzi Buddy? It's all graphical masturbation. I'm glad that it makes you happy to get all Martha Stewart on your desktop. Unless it changes the functionality in some way, I simply don't care.

      Linux is a different story because you get much more control over the GUI. You have the control to change how things work, not just how they look. That's a good thing. However, even under Linux, it seems like most skins try to:

      Rip off MacOS

      or

      Rip off Windows

      The skinners are like Spinal Tap with the volume turned up to 11. If transparency is good, they make everything at least partially transparent. If goofy, bubbly icons with drop shadows is trendy, they make the goofiest and bubbliest. I'm in the camp of keep it simple and make it work. Spending three days to get the metallic pastel alpha blend on the widgets "just right" doesn't do much for me.

      If skinning is bad, then why allow us to 'skin' our desktop by changing the background?

      So I can instantly tell which box I'm on when I use a flaky KVM? So Joe Luser can have his brain damaged offspring smiling back at him? Because $COMPETITORS_OS does it and they did it to compete? Just because you can do it doesn't make it a good idea.

    13. Re:Skinning == crap! by Angron · · Score: 2

      Agreed.

      That's why I use WMP 6.4, which still comes with both Win2K and WinXP; it's located in the same directory as WMP7+, but named mplayer2.exe instead. Makes video watching actually bearable.

      And for 'playlists' of music/video, I just use Winamp with NiceMC plug-in for playing the video. Still get (nice-looking) skins with consistent buttons and no significant slowdown.

      -A

  11. Lazy Linux Programmers by joshsnow · · Score: 2, Funny

    (getting the fscking html tags correct this time) Lest it seem like I'm picking on Microsoft, Windows is not the worst offender here. GNU/Linux applications are arguably worse, because they could be avoiding all these problems (by using inodes), but their programmers so far have been too lazy. At least Windows programmers have an excuse.
    No, the hackers aren't lazy - they're just too busy trying to ape the MS windowes look and feel....

  12. Represents a Computers Working by e8johan · · Score: 2

    The interfaces of today represent how a computer actually work. For example, the need to save a document. This is not a bad thing if done properly, in fact, it helps (forces) the users to understand how the actual machine works (it writes periodically to the disk, and not one character at a time).
    When saying this I'm not saying that there are flaws in the interfaces of today, and I do agree on that the open source movement lack much of the initiative to make things better. However, making all computer tasks behave as things in 'the real world' will not work. I'm not even sure if all metaphors used today are good. It's better to reflect the actual tool, than try to make it look like something that it is not, this will only result in disapointed and surprised users.

    1. Re:Represents a Computers Working by Quaryon · · Score: 2

      For example, the need to save a document. This is not a bad thing if done properly, in fact, it helps (forces) the users to understand how the actual machine works (it writes periodically to the disk, and not one character at a time).

      With modern technology, why shouldn't it write one character at a time to the disk? Or at least write it into the disk cache.. I know it's less than optimal but your word processor isn't going to stress the system out by doing this on a modern PC, and it would be much more intuitive to the user (assuming that the user wasn't already familiar with having to press the "save" button.) .. and why should the modern user understand how the machine works anyhow? I don't know how my microwave oven generates microwaves (although I could find out easily enough if I needed to) but it doesn't prevent me from heating up ready-meals..

      Q.

    2. Re:Represents a Computers Working by e8johan · · Score: 2

      I think that the interface of a microwave oven pretty much shows how the machine works, as does the interface of TVs, VCRs, etc. Why must we go to such length to make a computer look more like things it is not. It will not reduce the need for training before use, but reduce the understanding, and thus the ability to cope with new situations and applications.

    3. Re:Represents a Computers Working by Quaryon · · Score: 2

      Which millions of people already are. It's automatic for me to press Ctrl+S every few minutes.

      Yeah, I didn't say it was a good assumption :)

      Q.

    4. Re:Represents a Computers Working by Quaryon · · Score: 3, Interesting

      I think that argument only works down to a certain level, no matter what the technology is. Obviously, as a software engineer, I have a fairly good understanding of how computers work. However, if pushed, my deep knowledge about the electronics which make up a CPU and the underlying technology is pretty weak. I don't need to know this stuff for the application development I do in Java or C++. If I did embedded systems programming the situation might be very different. Also, if I did know this stuff I might write better programs, perhaps, but I don't *need* to know in order to write adequate, functional code which performs half-decently, is easy to maintain and re-use.

      In the Microwave Oven example, I don't think it is at all obvious to joe user how it works. All they know is that they can set it for a specific length of time, and maybe different power levels, and that it heats stuff up. I go a few steps beyond that in that I have a chemical physics degree (from a long time ago!) so that (if I dig deeply!) I can remember stuff about molecular orbitals and energy absorption etc.. but I still don't know exactly how the microwaves are produced because I never asked anyone - nor do I need to in order to get my hot ready meal every evening (I work long hours, OK? don't hassle me over my eating habits! :).

      (before you all start explaining microwave ovens to me I really don't want to know - if I did I could work it out for myself or look it up!)

      So, I maintain that a user really only needs to go as deep as required for the job they are doing, or possibly a tiny bit deeper for that little extra understanding. In the case of someone using a computer for word processing they need to know how to turn the machine on, how to start the word processor and how to type - they don't need to know about disk caches, or saving in blocks rather than bytes, or CPU cycles.. Knowing about these things does nothing to help them do their job. There's no reason *why* they should have to know these things - computers are there to help people, after all, not to hinder them.

      It's the job of the software engineer (and the product manager, and maybe the UI designer) to make life as easy as possible for the user, based on the known knowledge that user has.

      Q.

    5. Re:Represents a Computers Working by e8johan · · Score: 2

      "I don't need to know this stuff for the application development I do in Java or C++."

      But you'll be able to produce better code if you do know this stuff.

      "...I don't think it is at all obvious to joe user how it works. All they know is that they can set it for a specific length of time, and maybe different power levels..."

      And this is how it works, to average Joe.

      "they don't need to know about disk caches, or saving in blocks rather than bytes, or CPU cycles"

      No need to bring in caches etc. But it helps if they understand that you have to save files, etc. It would make it easier to understand that somethings are missing after a power failure etc. Also, this is a power, since you can edit a document and then save it in another name or discard it. It helps the user take advantage of benefits of the computer approach. I think that this is good, compared to limiting the user to 'real world operations.'

      I know that this can turn into a heated discussion, but I feel that some usability guys need to cool down a bit and let computers have a certain technical level (perhaps the one of today). This gives advantages since you don't have to limit your self to the real world metaphor, but can introduce certain advantages of the technology.

    6. Re:Represents a Computers Working by Quaryon · · Score: 2

      But you'll be able to produce better code if you do know this stuff.

      Define "better". Will it be more maintainable? Easier to read? Easier to explain to people? More re-useable? More flexible?

      Q.

    7. Re:Represents a Computers Working by e8johan · · Score: 2

      More efficient!

    8. Re:Represents a Computers Working by Quaryon · · Score: 2

      Efficiency is a state of mind :)

      OK, maybe you can shave 10% execution time by writing some obfuscated code - but what's the point if the next engineer down the line doesn't understand it, or can't re-use it to do what he/she wants because it has become too specialised?

      Time-to-market and ease of maintenance are equally important as the last few ounces of performance (Note: I'm only talking about the last few ounces which you can get by knowing about the underlying electronics - the rest is just good programming and I would assume any decent software engineer can make obvious choices - obviously performance is important!).

      Q.

    9. Re:Represents a Computers Working by e8johan · · Score: 2

      To say that 'I do not need to know that' or 'that will not make me a better professional' is just ignorance. Even though you might just squeeze out a small speedup, you can probably make your software more valuable to your users (who can keep their old hardware a bit longer).

      I find the (today) common attitude of bloated code being ok, and abstraction for the developers instead of performance for the users being the priorities a bit annoying. It might be because I do much work in real time environments, but also because I fail to see why people accept the they need the latest hardware to run a simple word processor at decent speed.

      Please do not take me wrong. Nothing that I say is not meant personally. But I have to insist the knowledge of hardware, at least how caches, TLBs, branch predictions, ILP works, but also insight into the penalties and benfits of threads and separate processes, is required if one is to make a good software engineer. This may not be a requirement in the administrative computing sector, but will greatly help to improve the code quality.

      I hope that we can stop this flamewar here and now, since we have totaly lost track of the original discussion: whether a good UI is an abstraction of everyday things and tools, or a layer over the actual computer hardware reflecting its internal workings.

    10. Re:Represents a Computers Working by Quaryon · · Score: 2

      OK, truce on the flamewar/interesting discussion/however you want to put it. I would look back at this conversation in the context of my original point - which was that it is not *necessary* to know the deeper stuff in order to use something adequately - I think you'll note that even in my original message I said that a deeper knowledge can bring some benefits, and I'd hate to argue that it would never be of benefit - I share your views on bloated code and that' not what I meant at all - you may have misunderstood me.

      "Necessary" and "beneficial" are two different concepts.. When I said "I do not need to know that" I mean I can manage without it - I did not at all intend to imply that I shouldn't learn it, or even that I wouldn't benefit from learning it, just that I didn't *need* to in order to perform the task adequately.

      Also: there is a big difference between "feature bloat" and "maintainable code", just as there is (often) a big difference between "maintainable code" and "heavily optimised code". I can easily argue that making code maintainable and re-usable is not at all the same as making it bloated, particularly in applications development. Re-usable code can make the source tree smaller because you're not forever having to re-invent the wheel. Abstraction for the programmer does not automatically mean lack of performance for the user, especially when you try to define "performance" a bit more generically in terms of what the user expects, rather than just straight speed of response.

      Real-time stuff and embedded systems are a completely different kettle of fish - there every resource has to be rationed carefully, whether processor time or memory usage. I said this in the original post...

      Q.

  13. More cruft! by krazyninja · · Score: 5, Insightful
    The most annoying one I have found is when you are typing away madly at the keyboard, and this window pops up saying "xxx yyy operation failed", or "zzz download complete". It does two agonising things:
    1. The alphabet you are typing corresponds to a shortcut in the window, and the window happily closes itself, having done god-knows-what-damage-it-did.
    2. It slows down your pace, disturbs your thinking process, and by the time you close the window and move to the position you were in before, one more word gets added to your swearing vocabulary.

    --
    "Do something man. Right now."
    1. Re:More cruft! by Pyrosz · · Score: 2

      This may have been modded as funny, but krazyninja makes some good points. Why do windows/dialogs/forms have to constantly pop in front of me when I'm busy in some other application? This is a big problem and there is usually no way in a program to turn off these popups.

      --

      An optimist believes we live in the best world possible; a pessimist fears this is true.
    2. Re:More cruft! by G-funk · · Score: 3, Insightful

      The answer to this is simple. If you're typing (determined on some magic "keys pressed in the last minute" sort of thing), the window manager should NEVER EVER AMEN NO MATTER WHAT interrupt you. What we need is a little thing in the corner somewhere (corner because it's easier to click, usability 101), that blinks orange/whatever when the computer has something to tell you. Just like ICQ in shrunken mode. In fact it could be intergrated with any message protocol, it blinks blue when people want to talk to you, orange when the computer wants to talk to you, and red when the computer really wants to talk to you.

      --
      Send lawyers, guns, and money!
    3. Re:More cruft! by G-funk · · Score: 2

      It doesn't have to be a real inode, just a 128bit MD5 based on the original name and the original inode... just that every file really does need a unique identifier that programs / OS can refer to with confidence.

      --
      Send lawyers, guns, and money!
    4. Re:More cruft! by MoneyT · · Score: 2

      So you mean like Mac OS classsic did (blicked the application icon in the finder menu) and OS X sort of does (bounces the icon in the dock)? Serioulsy, love or hate Apple, they spent a lot of time on GUI stuff. They have plenty of good ideas.

      --
      T Money
      World Domination with a plastic spoon since 1984
    5. Re:More cruft! by Rich0 · · Score: 3, Interesting

      AMEN TO THAT!

      Really, if MS and KDE want to keep the feature of the "SetFocus" function, they should at least put a window manager level preference setting to turn it off. If set, no application will be able to take the focus away from another.

      If I want to type in a window - I'll click on it or tab to it or whatever.

      When web browsing I have a habit of opening multiple windows at once so that web sites can load in the background while I read other sites. At home I just run Mozilla, and tabbed browsing works great - about the only interruption is when I need to enter a master password (which shouldn't interrupt me, but I can live with that). At work I use IE, and I'm constantly pestered by windows raising to the top simply because they've finished loading...

      Ditto with applications. First thing I do after I log in is typically launch a few apps of the desktop - before it gets buried. Then for the next minute while login scripts run and the disk thrashes I can't use my computer - not because of it being too slow, but because one window after another keeps grabbing focus simply because it has loaded...

    6. Re:More cruft! by Reziac · · Score: 2

      The application-stealing-focus issue, yes.. it's caused me a fair share of swearing at times! Win98 and later default to avoiding this, tho I see it's somewhat back in XP (as a bug in the new interface due to sometimes-large dialog delays; the problem goes away if you revert to Classic interface).

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    7. Re:More cruft! by jafuser · · Score: 2

      Speaking of modal dialog boxes... Another annoyance I have with most GUI designs (especially win2k) is that I can't move the parent window of a modal dialog box. Sometimes I need to reference some information on my screen beneath that window. So I have to close the modal window, move the parent window, then re-open the modal window so that I can see both things at once. Why is this limitation still with us?

      --
      Please consider making an automatic monthly recurring donation to the EFF
    8. Re:More cruft! by Rich0 · · Score: 2

      Actually, what annoys me most about Mozilla is that if a page times out without loading anything, the URL bar gets set to an about:blank or something like that. If you have 14 tabs loading over a modem while you're in the bathroom, and two of them die, you have to try to figure out which two you requested which are just blank pages - you can't just hit reload as you can in IE.

      If broken applications will be a problem with killing the Setfocus command, I'd be in favor of redefining the command a bit - set the focus within the context of your application. So if another application is on top, it stays on top, but if you click on the application which asked for the focus to change, the focus goes first to where the application asked for it to go. On the other hand, if my 14 IE windows are all considered the same application, then that won't help.

  14. He has a point but he dosn't get it!!!! by Slashamatic · · Score: 5, Informative
    I agree with the general point about cruft accumulating in old s/w but the guy gives some very bad examples.

    In a) he talks about the use of inode numbers as an internal reference used by the system. Regrettably, inodes and other equivalent internal reference numbers used by other file systems under other alternative operating systems can move around. Generally opening by inode is only recommended after first opening by name.

    Having more than one pathway to a file as mentioned in d) in windows is most definitely a feature. For engineering reasons a manufacturer may want to keep a set of files from related applications together, however to the user they may be presented somewhat differently. If anything this is an improvement of interface because of the separation between external and internal representations.

    As for the problems of moving applications around, that is also an issue with meta information held in INI files or the registery. It is quite possible to make a program easier to move (i.e., by including code to update the file locations), but this isn't often done.

    The file/folder metaphor may have probems for newbies but the only real problem is that file (particularly with Unix style file systems) may have more than one name. This is a feature not a bug.

    1. Re:He has a point but he dosn't get it!!!! by BlueGecko · · Score: 5, Insightful
      Having more than one pathway to a file as mentioned in d) in windows is most definitely a feature. For engineering reasons a manufacturer may want to keep a set of files from related applications together, however to the user they may be presented somewhat differently. If anything this is an improvement of interface because of the separation between external and internal representations
      No it isn't; it's a kluge to hide the fact that applications have gotten more complex and Microsoft wasn't prepared to deal with it. On the Macintosh, until about 1995, applications, generally speaking, did not need support files. You had the application, you had a preference file, and possibly you had an extension or two, but the application usually sat by itself. However, at about that time, both in response to Windows and in response to the fact that applications simply were getting far more complex, most applications began having massive numbers of support folders. Macs just ignored the implications and kept on treckin'; Windows adopted the solution you mention.

      But Mac OS X, and OPENSTEP/NEXTSTEP before it, manage to keep the Mac metaphor while still hiding the implementation details, and it does it much better. Each application is actually a fairly complex directory structure, and all support files can be hidden within the application itself. This can include movies, help files, whatever--you name it, it's there. Now, to the user, you still have just the application, but the application can suddenly be dragged around at will without disturbing anything. For the application, you now can also guarantee a very rigid directory structure that the user can't even mess with. Next time you're on an OS X system, control-click a program and choose "Show Package Contents," or, if you prefer, cd right into the app. You'll see what I mean.

      That's the right way to solve the problem, and that's why he's slamming Windows' metaphor and lauding ROX/OS X app wrappers/packages/bundles.
    2. Re:He has a point but he dosn't get it!!!! by jafuser · · Score: 2

      Anyone have any speculation and/or insight on how this will change with the new database-oriented filesystem in Longhorn?

      --
      Please consider making an automatic monthly recurring donation to the EFF
    3. Re:He has a point but he dosn't get it!!!! by Slashamatic · · Score: 2
      The first time I have come across multiple files living inside a container was a twenty year old operating system, the idea isn't particularly new.

      Well on Winxx we could do it just by hiding the folder where everything is stored. Already that sort of happens with windows because you are 'discouraged' from looking inside 'Program Files'. The issue with moving the program directory from disk to disk is that a lot of info is also kept in the registery.

      The pure Unix form is even worse, I don't particulalry like programs that leave bits all over the place (/usr/local/bin, /usr/local/lib and so on). However, there are solutions to that as well (I guess one of the early ones was the system administration database kept by AIX).

      The Mac solution is easy when I have a nioce small program. Unfortunately it get less so when I have something unwieldy like Exchange, which even prefers to be spread scross several spindles.

      What is really needed is a balance where a package may have a user representation and a technical implementation that are different, but allow a package to be easily maintained yet remain efficiently implemented.

  15. From the article... by RAMMS+EIN · · Score: 3, Insightful

    ``In the 1970s and early â(TM)80s, transferring documents from a computerâ(TM)s memory to permanent storage (such as a floppy disk) was slow. It took many seconds, and you had to wait for the transfer to finish before you could continue your work.''
    Wait...are they suggesting there weren't multi-tasking operating systems in the 1970s? What about Unix? Wasn't next to every system multi-user, multi-tasking in those days (timesharing)?

    --
    Please correct me if I got my facts wrong.
  16. Did I read that right? by flippet · · Score: 5, Insightful
    We have the technology. So why do we still punish people by including "Quit" or "Exit" menu items in programs? Cruft.

    So we should get rid of ways to close programs? I dread to think how much you'd have running if the computer is on for more than an hour or two.

    Phil, just me

    --
    "Cattle Prods solve most of life's little problems."
    1. Re:Did I read that right? by Cat+Mara · · Score: 3, Interesting
      So we should get rid of ways to close programs? I dread to think how much you'd have running if the computer is on for more than an hour or two.

      Let the system handle it. When it's idle, it can clean the processes up itself. Think of garbage collection under Java or flushing a disk cache...

    2. Re:Did I read that right? by marc_gerges · · Score: 2, Insightful

      When I use my trusted old Palm, I start a program by either tapping on its icon, or using on of the 'hardware' buttons. Once I'm done and want to do something else, I start another program.

      What happens to the first? It's... well, I don't know. I'm a user. I don't care.

      Using that behaviour on my Windows box in the office provokes a crash latest at noon, though.

    3. Re:Did I read that right? by Koyaanisqatsi · · Score: 3, Informative

      We have the technology. So why do we still punish people by including "Quit" or "Exit" menu items in programs? Cruft.

      What he is implying is a SDI interface, where you can use the "close this window" metaphor and once all windows are closed, the application is gone. Problem is, not all types of applications work well as SDI. IDEs for one are better off as MDI applications.

    4. Re:Did I read that right? by Bake · · Score: 2

      Wrong.

      If you open a new IE Window by using file->new->window or pressing ctrl-N you just spawn off a new thread.

      Now, to start a new app instance you have to click the E icon in your quicklaunch toolbar, start->Programs->Internet explorer, or do what I do, windowskey-R->iexplore

      Just because it's in a new window, doesn't mean it's an entire new app instance.

    5. Re:Did I read that right? by Lars+T. · · Score: 2

      You are right, and that can be easily shown by letting IE crash (which will happen sooner or later). All "new" windows will crash with the bad one, all actualy new IE instances won't.

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

  17. Think beyond the today by Katravax · · Score: 4, Insightful

    Some people are posting that they can't undo past a save, or don't like the slowdown of multiple apps, etc. By the time we can lose the cruft the author is talking about, you won't have that problem. The system will intelligently swap out applications and you'll be able to undo past save.

    If you're fighting for reasons we need the crappy methods we have today, the very methods the author was talking about, then you haven't thought it through. It's obvious there's a better way than we have now. It will take some intelligent design and programming to make it happen. That's all. We're smart enough to figure out how to make this happen, and shouldn't screw it up making excuses for why we have to keep old methods around.

    1. Re:Think beyond the today by Katravax · · Score: 2

      Sure it is. We have to aim for something. We shouldn't ignore thoughts of what we want our tools to do based on what they can't do already.

    2. Re:Think beyond the today by Katravax · · Score: 2

      Yawn, you bore me. These are problems to be solved, and you're just coming up with reasons we can't code them this instant. Anyone can say why it doesn't work now. Why don't you think of how it's possible rather than why it doesn't already exist?

    3. Re:Think beyond the today by Katravax · · Score: 2

      You're assuming the hardware can't handle it. You haven't even fully defined the problem and you're jumping to conclusions.

  18. thought-provoking, but no alternatives by X_Caffeine · · Score: 4, Insightful
    Like most other articles and editorials that criticize GUI design, he points out a lot of flaws, but few answers.


    Oddly enough, most of his complaints about the handling of files are being addressed in the next Microsoft file system, that's reportedly being based on ODBC (effectively turning the entire file system into a massive database -- the BeOS guys tried and failed at doing something similar).


    Perhaps the Windows right-click-drags he vilifies should be an "advanced feature" that has to be turned on manually, and maybe it isn't magically intuitive, but damn, I'd sure like to see him come up with an alternative that allows a user to quickly and easily take files and copy, move, or alias them with a single gesture this easily.

    --
    // I will show you fear in a handful of jellybeans.
    1. Re:thought-provoking, but no alternatives by Masa · · Score: 2
      But he does give an alternative: the Machintosh way of doing it. Press Option button down and drag. Actually this same feature is implemented in Windows also. Press Ctrl and drag the object with left mouse button.

    2. Re:thought-provoking, but no alternatives by Dog+and+Pony · · Score: 2

      Maybe it is what you are used to, but I think that way is worse. I use both, depending on situation, but to me, the right-click-drag option is much more flexible and intiutive.

      Moreover, you didn't answer all those options, only move versus copy - still missing alias and friends.

      And it is very confusing I've noticed, in macs, that it sometimes copies, and sometimes moves depening on if you are on the same machine or not. This is confusing because Macs are so good at hiding the difference between local and remote, so you never know what to expect.

      Of course, copy is what you expect remotely. I don't understand why it isn't what you expect locally. On windows, btw, copy is default for all cases. At least that is consistent, and works with the principle of least surprise.

    3. Re:thought-provoking, but no alternatives by Masa · · Score: 2
      I didn't answer to all options, because I have nothing to say to them. I just pointed out one detail.

      On windows, btw, copy is default for all cases. At least that is consistent, and works with the principle of least surprise.

      Actually, Windows has the same inconsistency as Machintosh. Dragging an object with left mouse button moves the object, while dragging it to another drive copies it. And as the article points out, dragging the executable makes a link. Not very consistent for me, I think.

      I'm not defending the way Mac is doing things. I'm a Linux user and used to handle everything from the command line.

    4. Re:thought-provoking, but no alternatives by Tim+Browse · · Score: 2
      On windows, btw, copy is default for all cases.

      Are you sure you mean that? If I drag a file from one folder to another folder on the same hard drive, then by default, XP moves it - it doesn't copy it.

      Tim

    5. Re:thought-provoking, but no alternatives by G-funk · · Score: 2

      I use both, depending on situation, but to me, the right-click-drag option is much more flexible and intiutive.

      Same. Although I agree with many points of the article, the right-click drag is IMHO probably the best file-management innovation ever since dragging between two panes in a split window. It's very easy to discover by accident (important), but also has a "cancel" option for that time when you didn't mean it. Note that windows also allows you to hit ctrl, shift, shift-control before or after you begin your drag to change the behaviour.

      And the whole "it doesn't popup the context menu till you let go of mouse2" complaint is bunk- This is the way menus have worked in windows always, the whole "hold the button thing" is a secondary effect, only available on file/etc menus to make life easier for those used to macs.

      --
      Send lawyers, guns, and money!
    6. Re:thought-provoking, but no alternatives by Reziac · · Score: 2

      Considering that in my observation M$ hasn't the vaguest idea how to build a *stable* database, I find the idea of the Windows filesystem as database quite horrifying.

      It also assumes that no other system will ever need to access the files. And gods help you if your database gets corrupted!!

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    7. Re:thought-provoking, but no alternatives by Dog+and+Pony · · Score: 2

      Yes, I mean that. I've never used XP, but in those versions I have used, it does.

      I even double-checked right now on my windows 2000 machine. Dragging a file from one folder to another makes a copy.

      If Microsoft decided to change something good to something bad in XP, well then it is their problem. Or rather their users. I'm not moving to XP anyway, by the time 2000 isn't enough I'll just move to Linux permanently.

    8. Re:thought-provoking, but no alternatives by Dog+and+Pony · · Score: 2

      Dragging an object with left mouse button moves the object

      Not so. See my other reply in this same thread. Maybe you use XP too, though?

    9. Re:thought-provoking, but no alternatives by Dog+and+Pony · · Score: 2

      the best file-management innovation ever since dragging between two panes in a split window

      Just have to say "Amen, brother!" :)

    10. Re:thought-provoking, but no alternatives by Dog+and+Pony · · Score: 2

      Yes, I even used the stupid built-in Explorer that I never use otherwise to make sure. Maybe you've changed a setting somewhere?

  19. Autosave is not always that great by melonman · · Score: 3, Insightful

    He is of course right that you don't have to save your work when using a pencil. But, on the other hand, the eraser on the other end of the pencil won't wipe out 100 pages of work in half a second by accident either. Personally, I am very happy to take responsibility for losing my data, and eternally grateful that emacs has a 'revert buffer' option!

    More generally, why does not exactly like a real desktop equal bad? It's an analogy, right? Does he want files to start curling up at the edges after a couple of years too?

    --
    Virtually serving coffee
    1. Re:Autosave is not always that great by BZ · · Score: 2

      Emacs also has a very nice auto-save. The only problem is that revert-buffer needs to be used _very_ rarely, while saving is so common I now hit C-x C-s at intervals without thinking (which _sucks_ in web browsers).

      Fundamentally, there is no reason why revert-buffer can't use a temp file somewhere like auto-save does now, with auto-save writing to the main file. That would make a lot more sense, in fact....

  20. About menus by jeti · · Score: 5, Insightful

    Slightly OT:

    Did you notice the different feel of menus in
    common GUIs? Without tricks, it would be hard
    to select submenus. You have to keep the mouse
    pointer in a narrow 'tunnel'.

    MacOS Classic works around that problem by using
    a V shaped buffer zone. If you move your mouse
    to the right within a certain angle, the submenu
    doesn't change.
    MS used an inferior workaround. Submenus open with
    a delay, and you have to select them slowly or they
    won't open at all.

    KDE submenus work like the Windows ones. Gnome
    behaves like the old MacOS. Sadly enough, menus
    in MacOS X now work like the ones in Windows.

    The worst implementation is used by Swing.
    Submenus open with delay, but close without one.
    You have to wait for a submenu to open, and when
    your pointer leaves the tunnel, it vanishes instantly!

    1. Re:About menus by benh57 · · Score: 2
      haves like the old MacOS. Sadly enough, menus in MacOS X now work like the ones in Windows.

      Are you sure? It seems to me that OS X does it pretty well. If you move the mouse "Down" it goes to the next menu, but if you move it diagonally, you get to go to the menu and you get a healthy amount of leeway in speed to do so. Fast or slow. There is a tiny delay before it opens, is that what you refer to?

    2. Re:About menus by jeti · · Score: 2

      > There is a tiny delay before it opens, is that
      > what you refer to?

      Maybe. I only toyed a bit on a salespoint and was
      surprised to find a delay.

    3. Re:About menus by Mr_Silver · · Score: 5, Informative
      MacOS Classic works around that problem by using a V shaped buffer zone. If you move your mouse to the right within a certain angle, the submenu doesn't change. MS used an inferior workaround. Submenus open with a delay, and you have to select them slowly or they won't open at all.

      The reason for this is that during the many studies and research that Microsoft did into user interfaces it found that users did not like the fact that the sub-menu option appeared immediately. They actually found it less intimidating when it appeared after a second or two.

      It also reduces screen clutter. As you move up a set of menus, their sub-menu doesn't appear until you come to rest on the option you want, rather than all the sub-menus popping open and then closing again as you move. Having all these sub-menus flashing about tended to unsettle users.

      Having said all that, there is a registry setting that can increase or decrease this to any number of milliseconds you want. I've no idea where it is, but I do remember TweekUI allowing you to change it.

      --
      Avantslash - View Slashdot cleanly on your mobile phone.
    4. Re:About menus by BlueGecko · · Score: 2
      menus
      in MacOS X now work like the ones in Windows.
      No; Mac OS X absolutely uses the Classic behavior, and has since 10.0 Beta. I just checked. Mac OS X Server 1.2 (the one with the Platinum UI) used a hybrid of NeXT and Windows (click for submenu and it would stay open until you left that entire menu or chose a different one), if I recall correctly, but all consumer versions of Mac OS X since beta have supported V-shaped cursor tracking for submenus.
    5. Re:About menus by GordoSlasher · · Score: 2, Insightful

      Immediate pop-up of sub-menus wouldn't be so bad if it was really immediate. But with the default menu animation on Windows, that immediate pop-up turns into 200ms or more. Dragging the mouse along the menus becomes a sluggish and frustrating experience. Hence the default delay.

      Once again, beauty wins over usability.

    6. Re:About menus by Shelled · · Score: 2

      One could question the wisdom of designing an interface catering to users intimidated by immediately responsive menues. I find it infuriating that as hardware gets ever faster companies find more ways to slow the system down.

    7. Re:About menus by scrytch · · Score: 2

      One could question the wisdom of designing an interface catering to users intimidated by immediately responsive menues. I find it infuriating that as hardware gets ever faster companies find more ways to slow the system down.

      Wow, you really got the psychology down, just from one word a third party used. How about they found it "disconcerting" instead? How about "distracting"? My personal word for menu flicker is "annoying". Get off your high horse, and at least address the semantics instead of the syntax.

      Besides, the delay keeps the system fom populating submenus you're not opening. It makes the system faster. If you really must have your instant menus, use tweakUI and remove the delay. And watch yourself curse as you now require precise aim to select submenus.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    8. Re:About menus by Graff · · Score: 2
      MacOS Classic works around that problem by using a V shaped buffer zone. If you move your mouseto the right within a certain angle, the submenudoesn't change. MS used an inferior workaround. Submenus open witha delay, and you have to select them slowly or theywon't open at all...Sadly enough, menus in MacOS X now work like the ones in Windows.

      Not true at all. Submenus in MacOS X work just the same as they do in MacOS classic. You can approach them at up to a 45 degree angle and you will not lose the submenu. There is planned delay in this action, the only delay occurs when the submenu needs to be loaded or created dynamically such as the case of a listing of available services or open windows.
    9. Re:About menus by cpeterso · · Score: 2


      Microsoft Office implements its own GUI menu code instead of using the Windows menu code. Office is a proving ground of sorts for Microsoft's new GUI ideas. Office had icons in menus before other apps. Office had "sliding" and alpha-faded menus first too. And Office had the "flat" coolbar menus first too I think.

    10. Re:About menus by superyooser · · Score: 2
      Yes, TweakUI will allow you to change it. It's one of the XP PowerToys.

      The link above is for XP only! If you have a non-XP Windows, search for the version of TweakUI for Win9x (v1.33) at C|Net.

    11. Re:About menus by Shelled · · Score: 2

      I addressed neither the syntax nor the semantics of the post, but the content, which is the dumbing down of a UI for those "intimidated" by responsive menues.

      Delay makes the system faster? Let me ponder that one.

      The menu 'flicker' issue is better dealt with by using a menu font larger than the random vertical cursor movements inevitable when menuing.

      Can't use TweakUI, it doesn't work in Fluxbox.

  21. Re: and windows from other applications popping up by Quietti · · Score: 2, Interesting

    While I really like GAIM for its all-in-one approach to messenging protocols, the authors deserve a kick in the balls for having windows that constantly raise to the front, every time someone sends you a message. The result is, you are typing an e-mail or programming and, all of a sudden, what you typed ends up in the wrong window, simply because GAIM is receiving an incoming message for you. Bad, Bad, Bad GAIM..

    People coding window managers should also wake up to the fact that not everyone wants the latest application someone started to pop in their face, while they are returning to another window during the application startup. e.g. If I start OpenOffice and I know for fact that this piece of bloatware needs 5 minutes before the main window comes to screen, so I go back to typing e-mails until the application has loaded, I do not want frigging OpenOffice popping up and assuming thta what I was in the middle of typing was meant for its Untitled 1 document. As such, Xlib and other OSes' GUI libs should completely remove the ability for an application to request that one of its windows be raised and brought to the foreground since, anyhow, window mangement is the responsibility of... window managers.

    --
    Software is not supposed to be about how to work around a useability issue. - Ken Barber
  22. I don't get a few things in that article... by Jugalator · · Score: 3, Insightful

    Getting rid of Quit

    What does he mean with getting rid of Quit and Exit options? Should it (bad idea for obvious reasons) auto-close when I change the application or should they just never close (whoa - look my memory run out).

    The alternatives to not exiting apps manually seem horrible to me, so I have to be missing something...?

    Windows' shortcut menus

    "In short, Windows native shortcut menus are so horrible to use that application developers would be best advised to implement their own shortcut menus which can be used with a single click, and avoid the native shortcut menus completely"

    Ctrl+Click = Copy
    Shift+Click = Move
    Alt+Click = Shortcut

    No modifier equals the most likely operation according to Windows. I.e. Shortcut if dragging to start menu, Copy if dragging between local/network drives, Move if dragging between folders on same drive.

    The operation Windows will perform is always shown with an icon next to the mouse pointer.

    I'm not sure how I'd design a quick move/copy/link operation better myself.

    --
    Beware: In C++, your friends can see your privates!
    1. Re:I don't get a few things in that article... by benh57 · · Score: 2
      What does he mean with getting rid of Quit and Exit options? Should it (bad idea for obvious reasons) auto-close when I change the application or should they just never close (whoa - look my memory run out).

      On an OS with a decent virtual memory system, a decent runloop model (callback based, no polling - ie not OS 9) and with applications that don't do processing in the background, leaving them running does not have any negative impact.

      For example, just about any Cocoa app on OS X should be left running. They take zero CPU time, and their RAM will eventually be paged out when it is needed for other apps. Speed will not be affected, except for the better the next time you want to use that app - it will be faster because you won't need to launch it (you'll just wait for the ram to page in, which is far less disk access than a normal launch).

      Only downside is it takes up a space in your dock...

    2. Re:I don't get a few things in that article... by Jugalator · · Score: 2

      Ok, yeah, I guess Windows also have that feature. When I think about it, I recall Windows keeps track of what windows are minimized and not, to predict when it should page to disk. I've also seen CPU time change, sometimes dramatically, when an application is minimized.

      So perhaps I'm just kinda stuck in the old thinking when never closing apps seem scary. :-P

      And the dock/taskbar problem is actually a quite serious problem. MS tried to fix it in XP with windows grouped by the process that owns them, but it force the user to perform an extra step (bring up the pop up menu) to switch application. I'm not really sure how to fix that in the best way. The alternative is to Alt-Tab 10 times or so until you get the right window. :-P

      --
      Beware: In C++, your friends can see your privates!
    3. Re:I don't get a few things in that article... by jafuser · · Score: 2
      What's really sweet is if you use a vertical-oriented taskbar, you can see all of your applications more visually as a "stack". The most recent applications are at the bottom, and the longest-running apps are at the top. Not to metion a vertical title-bar lets you see more of the application name.

      It does tend to "square-up" your available screen space, but face it, you've probably got more horizontal space than vertical space anyway (especially with 16:9 type monitors).

      --
      Please consider making an automatic monthly recurring donation to the EFF
    4. Re:I don't get a few things in that article... by jafuser · · Score: 2

      Maybe there could be an optional feature to put an "H" button next to the "X" button to "hibernate" a specific application, instead of closing it. This could absolutely free up the resources of the application, but still make it quickly available.

      --
      Please consider making an automatic monthly recurring donation to the EFF
  23. Re:MSVC++, VBasic, Dreamweaver.. by DrXym · · Score: 2, Insightful
    I hope you're kidding about emacs. It is quite possibly the most over the top, complicated, baroque, *crufty* editor ever invented. It may be fabulous if you're some lisp freak or want to run a calendar or read email from a split buffer, but it sucks big time if you just want to change the C++ indent style from 2 spaces to 4 - say hello to .emacsrc, major and minor modes and hours of reading info pages. That's not to say I don't like some stuff about it, but frankly these days I'd rather use jed or microemacs which fire up in a fraction of the time.


    I suspect the only reason it caught on was because the competition is has even more retarded behaviour (yes vi I'm looking at you).

  24. The Start Menu by Anonymous Coward · · Score: 2, Insightful
    From the article:
    This Programs menu is the ultimate in cruft. It is an entire system for categorizing programs, on top of a Windows filesystem hierarchy which theoretically exists for exactly the same purpose. Gnome and KDE, on top of a Unix filesystem hierarchy which is even more obtuse than that of Windows, naturally copy this cruft with with great enthusiasm.

    (...) And the ROX Desktop eschews the idea of a Start menu, in favor of using the filesystem itself to categorize programs.

    Hooray! Someone said it. (For an alternative, he might've mentioned also the NeXT/GNUstep workspace manager.)
  25. Re:Crufts - Not only software - dogs too!!!! by Slashamatic · · Score: 3, Interesting

    Anyone from the UK may have noted that Crufts is the name of the annual dog show of the Kennel Club in the uk.

  26. Re: and windows from other applications popping up by Dr.+Sp0ng · · Score: 3, Informative

    While I really like GAIM for its all-in-one approach to messenging protocols, the authors deserve a kick in the balls for having windows that constantly raise to the front, every time someone sends you a message. The result is, you are typing an e-mail or programming and, all of a sudden, what you typed ends up in the wrong window, simply because GAIM is receiving an incoming message for you. Bad, Bad, Bad GAIM..

    Got an extra 10 seconds? Take a peek in the preferences dialog, and turn that behavior off.

  27. save is bad undo by g4dget · · Score: 2
    Or is he suggesting that everyone should always make a copy of a document before editing it, just in case? Wouldn't THAT seem terrible unintuitive?

    You use the "Undo" button to undo. Or you use version control. Using "Save" in order to manage versions and undoing is error prone and unintuitive.

  28. Acorn by mirko · · Score: 3, Interesting

    Some years ago, I ordered from Acorn the "RiscOS developper reference manuals".
    It is not only an exhaustive reference but also comes with a style guide.
    I guess this style guide would be invaluable for non-RiscOS developper, especially after browsing through the interface all of shame...
    So, why don't these development suites (visual studio, etc) come with such a book ?

    --
    Trolling using another account since 2005.
    1. Re:Acorn by Tim+Browse · · Score: 2
      So, why don't these development suites (visual studio, etc) come with such a book ?

      Visual Studio does. In VC6, open the help viewer, go to the contents tab, open the Books section, and look at The Windows User Experience which seems to provide what you request.

      Or you can find a more up to date version on the MSDN web site.

      Tim

  29. MS has fixed a lot of these in XP by Otis_INF · · Score: 2

    The article clearly moans on and on about how Windows doesn't do this and doesn't do that. While XP f.e. DOES do a hell of a lot the author claims it doesn't. (moving a file where shortcuts point to f.e.)

    Also, be glad the OS has a gui. Having to learn every darn flag of every darn commandline tool out there (plus where they are located) and having to know every layout/syntaxis of every config file out there is way way way more painful than clicking on some buttons.

    Sure, 10 programs with 10 buttons each is also complex, but the programs regularly come with documentations, explaining the usage. And what should developers do? A lot of people claim they can't even operate a VCR for crying out loud.

    --
    Never underestimate the relief of true separation of Religion and State.
  30. "Mozilla's Top Ten Usability Problems" by mpt by uucee · · Score: 2, Interesting
    The 24-year-old student with a 20-year perspective on UI design wrote up "The top ten usability problems in Mozilla" a while back. Consider Item 9: "Validation". That is so a usability problem for Mozilla it's amazing how nothing's being done about it.

    Especially since mpt acted as the UI module owner for Mozilla.

    A good example of open source design gone bad; where every voice is counted, regardless of whether that voice has any merit to it or not. Like a mirage, lack of ownership makes any ownership look a solution to the problem. Enthusiasm and verbosity belie the lack of expertise.

  31. RISC OS save dialog is yet to be bettered by Avalonia · · Score: 3, Interesting
    The save mechanism used by RISC OS in which is consisted pretty much of just an icon representing your document which could be dragged to either the Filer (i.e. file manager) or even directly into another running application has yet to be beaten, in terms of ease-of-use. The much-copied Windows Save As dialog box just doesn't cut it. Why should I have to tediously navigate to a directory in the save dialog box, when there is a representation of it already on my screen?


    The ROX Desktop has gone someway to implementing this on X - rather than blindly re-implementing the Windows Way like so many other projects.

    1. Re:RISC OS save dialog is yet to be bettered by Reziac · · Score: 2

      Different strokes... whereas I would say "Why should I have to drag this file to yonder icon, when I've got a perfectly good dialog box on my screen?"

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  32. not only that by dunkelfalke · · Score: 2

    there are more differences, just try to reformat a pen written text or to erase some text in the middle of the document.

    see the difference?

    my point is, a computer is a machine, quite powerful and complex. and it should be used like such a machine, not imitate something. different tools are used differently. not intended to be a flamebate but if people are too stupid/ignorant to realize this then they should stay by pen and paper.

    --
    "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
  33. Many good points... by jonr · · Score: 5, Interesting

    I agree to many points. Modern GUIs use a lot of crutches to make them self workable. Some problems and wishses:

    My favortie is the Save/Open Dialog box, a relic from the single tasking days, why do people use crippled version of the file browser? Risc OS did it correctly, drag an icon from the app to the browser, or even other application!
    Just get rid of the File menu all together.
    Finding files is still a chore, I do miss BFS instant and always up to date live queries. Can we please have that, Apple/Microsoft/Others?

    Installation of applicatons, what is up with that? Why can't I just copy a file from the CD/Net and be done with it?

    File ID's are good idea, I could move apps/files around on BeOS and my shortcuts still worked!

    Why can't we implement version control transparently in the filesystems? Hardly due to lack of space? Each save creates a new version. Word processors could even use intelligent versioning, like making a new version for each paragraph or chapter. Does Photoshop save undo in its files?

    Right now I am using very Explorer-like client for CVS, and it doesn't matter if I am browsing my hard drive or some remote server in Elbonia, it all looks the same, wonderful! :)

    I have been using XP for a while now, and it is making me quite frustrating. Why can't I use all that NTFS has to offer? (AFAIK, NTFS is pretty close to BFS in features, not sure about Live Queries, though)

    What else... yes... Use open standards when data leaves the application!!!!. I can't <em> this enough. BeOS sort of did this with it's Translator service. Your image viewer/editor didn't even have to know how to load/save JPEG or PNG files!

    Well, enough of this rant. :)
    J.

    1. Re:Many good points... by BlueGecko · · Score: 2
      Risc OS did it correctly, drag an icon from the app to the browser, or even other application!
      Mac OS has had proxies since I believe OS 8.5. If it really matters that much to you, drag the icon next to the title in the menu bar to whatever fold you want to save the document in. Poof. Personally, I find this to be a pain in the ass and prefer OS X's "browser" save dialogues, but if you prefer RISC OS, you can get it.
      Finding files is still a chore, I do miss BFS instant and always up to date live queries. Can we please have that, Apple/Microsoft/Others?
      Live queries certainly aren't in any OS except BeOS, but because HFS+ stores its information in slow-write, fast-read B-trees, searches in Mac OS (old or new) take just a second or two (for both content searches and file name searches).
      Installation of applicatons, what is up with that? Why can't I just copy a file from the CD/Net and be done with it?
      On OS X, unless an application needs to install additional frameworks, you can.

      File ID's are good idea, I could move apps/files around on BeOS and my shortcuts still worked!
      And they work fine on OS X, too.

      Just FYI.
    2. Re:Many good points... by IamTheRealMike · · Score: 2
      Mainly because these things are actually very hard. For instance, package management (software installation) - dragging stuff from a CD or the Net sounds easy, and it is, but you've just removed a lot of power to get that simplicity. For one, what happens to dependancies? I guess they could be auto-located and installed as the system "copied" the file or something, but what if one can't be installed for whatever reason? Copy failed? I dunno. Interesting to work on however. Note the way OS X does it is imho dumb, you don't even get a chance to do dependancies because you are in fact copying a directory. Having apps represented in the filing system is a good idea, having them actually be atomic FS objects with todays filing system technology is nuts.

      Live queries - coming, at least in ReiserFS and apparently Longhorn. I've not used BeOS but I find simply organizing my files well into directories means I never want to do searches anyway.

      Version control in filing systems isn't a new idea, but again, the devil is in the details. What happens if you run out of disk space (i for instance have only a 10gig disk and it's already full). Do you start randomly killing past revisions? How do you store the different versions? Plain text is easy, you just diff it, but what about images? Store a whole new copy of the image each time perhaps, because as far as I know there is no image diffing technology.

      Perhaps a better idea is to store transactions. Any program that supports multi-level undo probably internally is structured around transactions, ie objects that represent an alteration to the document. A document could be split up into 2 parts: the data itself and a transactions queue. When you start a new file, the file stores your actions, rather than the actual document state, and loading it involves rebuilding the document from the transactions. This would allow theoretically infinite undo, limited only by disk space. Of course rerunning actions would take ages, so you could have a throwaway cache of the current state of the document.

      Erm, what else? The RISC OS style filepickers are available for use in your apps via the rox library, and yes, they do rock. You can do this in Windows at any rate by opening up an explorer window, finding the document and dragging it onto the window. It doesn't work very well however. It would be relatively easy to add XDS support to the GTK file picker (it's being rewritten by hadess i think) so if you want you can use drag and drop save/load.

      Application loading/unloading - there's no real reason why we should keep this, he's quite right, and really we don't have it anymore. When I want to browse the web, I click on the web browser button in my panel, and up pops a Mozilla window. If Moz isn't loaded it takes a few more seconds than normal, but so what? It's multi-instance. When I logout, my apps persist themselves to the session manager so they are back again when I login. I don't think much about loading/unloading apps anymore, that's just a dumb Mac thing - one they could kill so easily, but didn't.

      What MPT is really ranting about here is not what he thinks he is. Computers have history, and with history comes inertia. Support linux man! You can add most of what you've been talking about to apps pretty easily when all the code is open. I can think of ways of doing all those things with slight modifications to toolkits and apps.

    3. Re:Many good points... by jafuser · · Score: 2
      My favortie is the Save/Open Dialog box, a relic from the single tasking days, why do people use crippled version of the file browser?
      I especially like that you can't drag-drop a file to the filename text box in a Open/Save file dialog window (at least in win2k)... So even if I already have a deeply-nested directory window open, I'll have to trudge through the same tree branches to get down to the directory where I want to save...
      --
      Please consider making an automatic monthly recurring donation to the EFF
  34. Manual Save is not a bad thing by z_gringo · · Score: 3, Insightful

    The article is calling the fact that you have to do a manual save at least once per document a bad thing.

    Fortunately, technology has improved since the 1970s. We have the power, in today's computers, to pick a sensible name for a document, and to save it to a person's desktop as soon as she begins typing, just like a piece of paper in real life. We also have the ability to save changes to that document every couple of minutes (or, perhaps, every paragraph) without any user intervention.

    We have the technology. So why do we still make people save each of their documents, at least once, manually? Cruft.


    I don't wan't to name the document until I decide to save it. Does anyone else here want this feature? I create many documents every day, to re-format, print, view differently cut / paste from web for printing, for email, etc... I don't want my hard drive cluttered with this crap. That's why I don't save it. Yet, this Matthew Thomas guy thinks this would be good. I think his first example of "cruft" is a bad one.

    --
    -- -- Warning. Do not stare directly at the sun.
    1. Re:Manual Save is not a bad thing by hacker · · Score: 2
      I don't wan't to name the document until I decide to save it. Does anyone else here want this feature? I create many documents every day, to re-format, print, view differently cut / paste from web for printing, for email, etc... I don't want my hard drive cluttered with this crap. That's why I don't save it. Yet, this Matthew Thomas guy thinks this would be good. I think his first example of "cruft" is a bad one.

      Wow, you completely missed the ball on this one. If you MANUALLY save the document, and it's your first save, the name that was automatically given by the autosave function could just rename it from $autosave_version to $your_version, and you'd never see a difference. The difference would appear if you crashed your document editor, and launched it again, your data would be intact, and ready to continue editing. Yes, the ideal goal is to stop it from crashing, but this is a brilliant way to get around that.

      Oh, and if you decide NOT to save the document, and close your editor before MANUALLY saving the document at all, the $autosave_version could just be deleted as you closed the editor.

      Simple, elegant, brilliant.

      Now why couldn't Microsoft think of this? Because Microsoft believes their APPLICATION is the most important, not the DATA that their application creates. Pompous on their part, and it will be a major contributor to their demise.

    2. Re:Manual Save is not a bad thing by z_gringo · · Score: 2

      Actually, I think it was the author of the article (Matthew Thomas), who "missed the boat". His points 3 and 4 aren't really valid either. There is definately a problem with modern software inheriting problems from previous generations of computer hardware. Microsoft's battles with the whole 640K barrier thing is a good example, which they have only recently manged to get past. Other examples abound, but I have to get back to work.. :-)

      --
      -- -- Warning. Do not stare directly at the sun.
    3. Re:Manual Save is not a bad thing by Reziac · · Score: 2

      Likewise. I do all sorts of small stuff that gets sent to the printer, or emailed, or whatever, and need never be saved locally first. If I had to save every one of these transient datums before further manipulating them, I'd have hundreds of thousands of 'em on my HD. Imagine the disk cleanup!!

      I suppose there could be a "designate data as temporary" item, but why should I have to select that to avoid leaving behind transient files??

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  35. No exit command? by z_gringo · · Score: 2, Redundant

    He goes on in point 2 to complain about the quit or exit commands in the problems, explaining that they are there because in the beginning, Operating systems didn't multitask.

    He says "We have the technology. So why do we still punish people by including "Quit" or "Exit" menu items in programs? Cruft."

    What is he trying to say? That once a program is running, it should run forever? Why shouldn't I be able to close Netscape when I'm done? How is this Cruft?

    --
    -- -- Warning. Do not stare directly at the sun.
  36. The cure is worse than the disease. by tlambert · · Score: 5, Insightful

    Personally, I don't like cruft, but the way he wants to "correct" some of the things he doesn't like, well... the cure is worse than the disease.

    My idea of hell is an editor that auto-saves code that I'm in the process of hacking up in an editor to let me think about the problem over top of code that already works.

    My idea of hell is a platform where every document I've ever opened has no way to close it and no way to exit the application that's got it up in a window, because there;s no 'Quit' or 'Exit' option.

    My idea of hell is not being able to drag something in a GUI from one folder to another, because they have an obscure "parent of my parent" relationship, which makes me have to cut and paste the document, instead of just dragging it, because I on;'y have one file manager, which is running all the time, instead of a "file picker".

    My idea of hell is symbolic links that get changed when I rename a file out from under them because the OS thinks it knows what I want better than I do, so it's impossible to replace a file with another, while keeping, and the old one, unless you copy it, rename the original, rename the copy, and then edit the original (instead of replacing it).

    -- Terry

    1. Re:The cure is worse than the disease. by bnenning · · Score: 2
      You're nitpicking details of how you imagine these features would work, without considering that there are better ways of implementing them.


      My idea of hell is an editor that auto-saves code that I'm in the process of hacking up in an editor to let me think about the problem over top of code that already works.


      See previous threads. You should be able to have "hard" commit points when you save manually and "soft" saves done automatically, and you should be able to revert to any of them.


      My idea of hell is a platform where every document I've ever opened has no way to close it and no way to exit the application that's got it up in a window, because there;s no 'Quit' or 'Exit' option.


      Nobody has mentioned removing the ability to close documents. It's just that whether an application is "running" or not is an implementation detail that users shouldn't be concerned with.


      My idea of hell is not being able to drag something in a GUI from one folder to another, because they have an obscure "parent of my parent" relationship, which makes me have to cut and paste the document, instead of just dragging it


      It sounds like you just need a better file manager, such as the Workspace Manager in NeXT/OpenStep.


      My idea of hell is symbolic links that get changed when I rename a file out from under them because the OS thinks it knows what I want better than I do, so it's impossible to replace a file with another, while keeping


      Mac OS X aliases do exactly what you want. They first look at the file path, and only if no file is found there do they use the inode/file ID.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    2. Re:The cure is worse than the disease. by j7953 · · Score: 2
      My idea of hell is an editor that auto-saves code that I'm in the process of hacking up in an editor to let me think about the problem over top of code that already works.

      You think that the article suggests making the computer click "Save" automatically. Wrong. It talks about removing the save command. This means that you no longer have to explicitly save your documents, because the system will do it for you. It doesn't mean anything else. Most importantly, it doesn't mean that you cannot tell the system to keep the previous version of a document. You could, for example, tell your system to "Keep this Revision" as "latest working revision" before starting to edit the code.

      By the way, the method you describe (not saving) is somewhat dangerous, because you might irreversibly overwrite your working code by saving your document because you got used to regularly executing the save command. How is constantly having to remind yourself not to save a good interface?

      My idea of hell is a platform where every document I've ever opened has no way to close it and no way to exit the application that's got it up in a window, because there;s no 'Quit' or 'Exit' option.

      Most user's idea of hell is a system where a command in a menu that is conceptually attached to one document (it's called "File", isn't it?) can kill other documents.

      And where exactly does the article say that all documents and applications will be open and running all the time? It only says that the system should find out automatically when an application needs to run, and when it doesn't.

      My idea of hell is not being able to drag something in a GUI from one folder to another, because they have an obscure "parent of my parent" relationship, which makes me have to cut and paste the document, instead of just dragging it, because I on;'y have one file manager, which is running all the time, instead of a "file picker".

      The article nowhere mentions that copying and pasting files should be required as a result of removing pickers.

      My idea of hell is symbolic links that get changed when I rename a file out from under them because the OS thinks it knows what I want better than I do, so it's impossible to replace a file with another, while keeping, and the old one, unless you copy it, rename the original, rename the copy, and then edit the original (instead of replacing it).

      The system thinks it knows what you want better than you do either way. The system you seem to be used to "knows" that the link should continue to point to the same filename, assuming that you'll put a replacement there. The system proposed by the author assumes that a link should point to a document, not to a filename. Just because you got used to the one way of the OS knowing better, that doesn't mean it's the best solution -- in fact, since linking to a filename as opposed to linking to a document is quite an abstract concept in a GUI where what you see and interact with is the document, not its filename, I suppose the link-to-document system will be more intuitive for most users.

      By the way, you could also have a "Replace this File" command.

      --
      Sig (appended to the end of comments I post, 54 chars)
  37. Reminds me of a programme I once made by asciimonster · · Score: 2, Interesting

    True story: Somebody I knew was one of the many people with Window-phobia. Using the (File-)explorer was nearly a insurmountable taks. But she (I'm not trying to uphold a steriotype here, I know men who are even worse) was the chairman (or chairwoman) of a social club and needed to keep track of all the names and adresses of all the members.

    She only needed one list so I made a programme that was specific for that task. Once you opened the programme the database was automatically opened. It was saved as you exited (or if you printed, just in case windows crashed on printing). It had no menu bar or status bar, just a row of buttons with home-made images on the right like:
    - Add member (pic: Arrow to document)
    - Change member; but you could also doubleclick (pic: Arrow from and to document)
    - Delete menber (pic: Arrow from document to cross)
    - Print (pic: printer), which didn't popup a print setting dialog!
    - Exit (pic: point to door), because she didn't undestand what the three buttons were for at the top-right of the window.
    It had keyboard shortcuts, but she never used those.

    From the day she first used it she loved it. It supplied just the things you need and nothing more.

    Summerisingly, I think that there is an even worse Cluft than the article mentioned: unnecessary options. I see it all the time: people are so easily distracted by all the options they never use. It quickly causes another phobia: option-phobia. They are so afraid they accidentally start one of those stupid options, not knowing how to shut it up again.

  38. Re:guiding the user by tal197 · · Score: 2
    However I think that with his drag and drop saving/renaming he misses an important user interface concept: guiding the user. [with menus] the user always has something in the hand telling him how to accomplish the next step in his task.

    It works like this (for a new user):

    1. Open menu and choose Save, or click on the Save button on the toolbar.
    2. A Savebox appears, containing a draggable icon.
    3. Windows-user clicks on Save button.
    4. Since there is no current save path set, a message box appears telling the user to drag the icon to a directory viewer.

    See this screenshot (near the bottom of the page).

  39. The Final Word.. by paranoic · · Score: 2

    in the 70's (or was it the 80's?) had this feature. It would save things automatically to an internal buffer (on disk), from which things could be restored in the event of a power outage. That feature saved me more than once.

    It's a useful thing. No operator intervention required.

  40. Hooray for firm sci-fi! by c.emmertfoster · · Score: 2

    Vernor Vinge's A Fire upon the Deep is one of my favorite books, and I was quite happy to see it mentioned in the beginning of the article.

    A rather memorable quote:

    "Half-assed programming was a time-filler that, like knitting, must date to the beginning of the human experience."

    --
    We can neither love nor pity nor forgive. If you make a slip in handling us you die!
  41. Dragging over the task bar or the Alt-Tab menu by TrickiDicki · · Score: 2, Interesting

    For ultimate Cruft, what about dragging something over the taskbar icon for the app. I've never understood why this doesn't do exactly the same as dragging the item over the application window, but the damned thing doesn't work. And I can start dragging something and then press Alt-Tab to bring up a menu of currently-running apps. But I can't drop the item onto that menu of apps. Why the hell not???

  42. Points to disagree with by Fastball · · Score: 3, Interesting
    Look, I don't disagree that UIs are slow to evolve, but isn't that good to a degree? What's the point of an interface that is completely different version to version? Fact is, on the PC desktop, we've basically reached UI valhalla. There's not much more you can do *better* with a mouse and keyboard.

    Now, if the hardware were to change such that we weren't tethered to mice and keyboards, then I can see some interesting possibilities. But things being what they are, I'm quite content with my shell and VI.

    1. Re:Points to disagree with by nagora · · Score: 2
      Fact is, on the PC desktop, we've basically reached UI valhalla. There's not much more you can do *better* with a mouse and keyboard.

      Jesus, talk about the best prison bars being the ones you can't see! If this is Valhala I'd hate to be in Niflheim.

      TWW

      --
      "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
  43. Rox Rocks! by Tune · · Score: 2

    RiscOS has some really neat GUI features, although the OS has failed to evolve and is currently light years behind contemporary preemptive multithreading, networked, journalling blah-di-blah OSs.

    Indeed one of the things Acorn got right long before Apple, Microsoft, and most others, is that primarily the OS should integrate applications; you shouldn't expect to integrate with each other. This most clear with Microsoft Office, which over the years has consistently integrated perfectly with itsself, while keeping possible competitors or "plug-in" suppliers away from their honeypot.

    Ah well. I guess RiscOS might have been pretty much alive if only Acorn would have taken their loss and GPLed all their sources after one of their bankrubsies...

  44. Cruft alternatives have already died by dpilot · · Score: 4, Interesting

    For the most part, we have only ourselves to blame for this cruft problem. Alternatives have already been brought to market and died. Maybe we were short-sighted consumers?

    Example 1: Single-level store
    Actually this one survived in the market - sort of. It was part of the old IBM Future Systems effort, and made it out the door as the System/38, with followons in the AS/400 and iSeries. Single level store says you get rid of that silly distinction between RAM and disk - everything is memory. What we quaintly call main-memory is merely another level of caching to the disk, which is the real memory. Then you make the big thing a database instead of just a filesystem, and it can readily solve pretty much all of his numbered problems in one fell swoop. Was this perhaps something like Longhorn, only about 20 years ago?

    The System/38 and descendents has met with success, largely as the closest thing to 'just plug it in and run' that has made it to market. At another level it hasn't been that successful, largely because of its unconventional and rather opaque system model.

    As an interesting aside, IBM's first entry into the workstation arena, the Romp microprocessor, also had single-level store capability. (actually expressed in inverted page tables) Then in order to make it more Unix-familiar they mapped a conventional filesystem on top of that. I don't know if Rios and PowerPC followons retained that capability or went to more conventional paging architectures.

    Double aside: Romp/Rios/PowerPC are yet another fallout of the Future Systems effort. Any big project has a backup plan, and one of the backup plans for FS was the 801 minicomputer, the original RISC.

    Example 2: The OS/2 Workplace Shell
    Just a bunch of UI glue, but what a bunch of it! It directly solved the broken link problems, and had a more consistent, if different set of mouse semantics. It also has a group feature that kind of got around his 'quit' problems.

    But I disagree with overusing the inode the way he suggests. The inode is an internal structure and isn't meant to have a UI-level life. He really wants access to Data, not to Filename or Inode. Does he really want a database-type filesystem?

    My own fantasy is a semi-conventional filesystem, but instead of a conventional directory structure use a semantic network. The role of directory navigation is taken on by relationships. It's an incomplete idea at the moment, though.

    --
    The living have better things to do than to continue hating the dead.
  45. Re:MSVC++, VBasic, Dreamweaver.. by EnglishTim · · Score: 2

    Have you actually ever had to use MSVC? I've not used the .Net version yet, but VC6 is great. It's not got a perfect UI, but it's a better C++ dev environment that anything else I've used. I've just moved over to working on Linux at work, and let me tell you, it's been painful. KDevelop is coming along nicely, but it's still nowhere near VC6.

    I'd like to know what exactly it is in VC6 which is 'cruft'. Sure, notepad is a lot smaller, but it lacks a compiler, a debugger, project management, undo past save, syntax highlighting, autoindenting, code completion, a comprehensive help system etc... MSVC is much bigger, but then it's much more useful.

  46. Apple Lisa had some of these points right by bjb · · Score: 2, Interesting
    One point grabbed my attention which reminded me of the old Apple Lisa: filenames.

    On the Lisa, your documents had two filenames: one for the computer and one for the user. If you renamed your document (i.e. the icon now reads "List of pr0n sites to visit" instead of "Winnie the Pooh Fan Sites"), as far as the operating system and LisaWrite were concerned, it was still the same file. The example of "cruft" that the author gave was that your "recent documents" list would be inaccurate after the rename. This problem wouldn't have existed under the Lisa's mechanism.

    I do have to admit that it has been about 15 years since I've last used a Lisa nonetheless SEEN one, but I do have to say that Lisa's user experience was far better thought out than what we have today. Everything was document oriented, not application oriented like todays Windows and Apple GUIs.

    --
    Never hit your grandmother with a shovel, for it leaves a bad impression on her mind...
  47. Good question by Hard_Code · · Score: 2

    What IS preventing us from getting rid of the "quit" menu item? I mean, with today's amount of RAM, I think all of the binaries of a system can fit WELL within RAM+Pagefile. So why NOT have all programs "loaded at once"? In fact...if they are all "loaded at once", why do we even need to "load" them at all? When they are installed they should just be stuck into memory or virtual memory, and the first time you run the app it will page itself back in.

    Perhaps it may not be entirely realistic at this point, but we should be asking these "why?" questions.

    --

    It's 10 PM. Do you know if you're un-American?
    1. Re:Good question by Hard_Code · · Score: 2

      I'm talking about basically preloading/caching the binary image into a memory structure which is persisted in virtual memory if necessary...not necessarily the memory they use. Since the sole purpose of binaries is to run, the question I pose is why not keep binaries, instead of in the typical filesystem, in some sort of pre-digested form in durable memory (yes it is written back out to disk, but I would naively assume that this it is still faster to load out of virtual memory than to load for the first time from disk). I think basically what I'm suggesting is pre-emptively-memory-mapped binaries. To the average user, the concept of "binary" is meaningless. They know two things: 1) they install something 2) they click an icon and the program "appears". Where the binary resides on disk or where the memory goes when they are not using the program is not their concern. I wonder if this "preloading" is a win in any way (basically it would bypass the program loader and potentially linker...i'm not sure how much of an overhead this is). In fact, a large amount of their whole disk could simply be persisted application sessions (yes, here we would actually be storing app data, not just binary image). I think you'd have to formulate a coherent argument as to why to an average user this would NOT be a good thing. The only thing I can think of is that the user might still want to organize their files in a hierarchical file-system based manner - but guess what, this *itself* could be an application (like the Finder or Windows Explorere) that is simply persisted to disk :)

      --

      It's 10 PM. Do you know if you're un-American?
  48. Yes and No.. by jonr · · Score: 2

    Auto-saves aren't a solution. The problem is that people (and OS designers) still think in 60's style of Memory/Storage world. Of course we should stop doing that. Just use Storage. The Memory is just a fast cache for the Storage.
    Of course a application with no data should not just sit there, taking up display and memory space.
    File picker sucks. I just can't agree with you there. They are evil, UI Challenged piece of shit. That drag'n drop problem you describe can easily be solved.
    You are thinking it backwards. If you want to change a symbolic link, you er... change the symbolic link, not the file it points to! So I disagree there too.

  49. Hmm. by bythescruff · · Score: 2, Insightful

    I don't think the author is really up to speed with technology. A couple of examples:

    "We have the power, in today's computers, to use filesystems which store a unique identifier for every file, separate from the pathname -- such as the file ID in the HFS and HFS+ filesystems, or the inode in most filesystems used with Linux and Unix. In these filesystems, shortcuts and other references to particular files can keep track of these unchanging identifiers, rather than the pathname, so none of those errors will ever happen."

    What about network shares in Windows or remote mounts in *nix? These are filesystem-independent, so unique identifiers like inodes aren't available.

    "So why do we still punish people by including "Quit" or "Exit" menu items in programs? Cruft."

    Not cruft - the GUI desktop is like a workbench: you pull up the tool you want to use, and you work on your creation with the tool until you're done. Then you put the tool away to make room for using the next tool. You can use several tools at once (multitasking), and you might put one tool down nearby (iconise it) if you know you'll come back to it soon, but it still makes sense to put the tool away for good (exit) when you're done with it.

    --
    Chuck Norris: Socialism == a thousand years of darkness.
    1. Re:Hmm. by jafuser · · Score: 2
      What about network shares in Windows or remote mounts in *nix? These are filesystem-independent, so unique identifiers like inodes aren't available.
      They would be in a capabilities-oritented OS. I'm surprised I haven't seen mention of EROS in this respect.
      --
      Please consider making an automatic monthly recurring donation to the EFF
    2. Re:Hmm. by bnenning · · Score: 2
      What about network shares in Windows or remote mounts in *nix? These are filesystem-independent, so unique identifiers like inodes aren't available.


      I don't know the details of how it works, but Mac OS aliases handle this perfectly. When you access the alias it will even automatically mount the remote volume.


      the GUI desktop is like a workbench: you pull up the tool you want to use, and you work on your creation with the tool until you're done. Then you put the tool away to make room for using the next tool.


      You're making his point. The computer is not a workbench, and there's no reason to impose artificial limitations from the physical world. With enough RAM and/or a decent VM system, there is no difference from the user's perspective between a closed app and an app that is running but has no documents open.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
  50. Re:Drag-installing apps? by jonr · · Score: 2

    Do you really have so little faith in programmers? This is an implementation detail that the average Joe User should not worry about. It is in fact sooo simple I can even think up a method right here:
    1. User drags a application to his hard drive.
    2. The OS checks the file and what libraries it needs.
    3. The OS installs those libraries.
    4. Profit! (har har)
    We only need a tiny bit of intelligence added to the OS for this to work.
    Besides, I have recently begin doubting the existance of libraries. We have plenty of space these days, why not make everything statistically linked?
    J.

  51. Flaws by trandles · · Score: 2, Insightful

    1) Why is there a "quit" or "exit" menu item when a modern computer can run more than one program? Because sometimes I really do want the program to STOP RUNNING. Does the author suggest that we replace quit/exit with "stop"?

    2) Inodes are only unique in the filesystem in which they reside. Move a file from a partition mounted at /home to a partition mounted at /usr and the file gets a new inode.

    Maybe Matthew should trade in one of his degrees for a degree in computing instead of relying on ZDnet for knowledge.

    1. Re:Flaws by Eccles · · Score: 2, Interesting

      1) Why is there a "quit" or "exit" menu item when a modern computer can run more than one program? Because sometimes I really do want the program to STOP RUNNING.

      No you don't. (Ok, if you have to use task manager, kill, or Force Quit you do, but let's assume a well-behaving program.) What you want is for application Foo to stop using resources on your system (or to use very little). Why not have this done automagically when you close the last document of the appropriate type? Then when you reopen that document, the app should automatically start up. Why have Word open at all if you have no open documents?

      Under that sort of system, you would want a way to create new documents, but Windows has a "New" menu that will create a blank document of a given type.

      --
      Ooh, a sarcasm detector. Oh, that's a real useful invention.
    2. Re:Flaws by Shelled · · Score: 2

      Working from the file manager does exactly this. Clicking on a document icon opens starts the app, closing the app instead of the document (click on a different 'X') will prompt for a save and then shut down. With memory and speed getting cheaper every day I think the whole concept of freeing up resouces on the desktop is best suited to earlier times. I have 3/4 gig in my linux box and have rarely touched the swap partition.

  52. the vi shuffle by epine · · Score: 3, Funny

    Just to keep myself honest, I force myself to do sysadmin tasks in vi. Generally I use emacs for source code. Tonight I used vi to write a small Perl program to change a bunch of URLs in a bunch of web pages to a different layout system. I've been writing a lot of PHP lately and I haven't used Perl for a couple of years. The entire project is a refresher course.

    Editing Perl with vi! Talk about a cruft implosion. To make things worse, I was using a very bad version of vi that came standard with Debian potato. It doesn't indicate on the screen that you are in insert mode. Certain kinds of cursor motion break insert mode when you least expect it. It doesn't even have a line number indicator on the status bar.

    Aside from all the obvious reasons I've been trying to figure out why I hate vi as much as I do. I've put up with worse and complained less. Yet somehow as much as I try to accept vi for what it is I fail miserably.

    I was paying special attention to my vi misery as I permuted Perl's line noise. Here's what it comes down to. If you have N characters on a line, there are N+1 positions where you might wish to insert a new character. Yet in vi you can't actually reach all these positions without first entering insert mode: the position that appends to the end of the line is not available. This leads to the ludicrous effect that whenever you cancel insert mode, your cursor moves one character to the left (unless you are already at the beginning of the line). Oh, and you can place yourself at the end of a line when you are not in insert mode--if the line happens to be completely empty.

    So there I am getting slap happy with vi (banging escape whenever I forget what mode I'm in, which is almost always) and every time I bang escape I have to watch carefully to see if my cursor skids left.

    It's bad enough having two modes. But did the concept of current position also have to be different between the modes? Incredible. Just for this one reason vi constantly gives me the feeling I'm babysitting a naughty child.

    On the other hand, emacs might be barroque, but I rarely spend much time thinking about my hands unless I'm trying to do something that isn't habitual. I rarely use a feature in emacs I didn't learn in the first two days. "feature freeze" in emacs is modal in its own way. One moment you are working productively, the next moment (or hour, or day) you are whittling away at one billion options you don't want. But there's the difference: emacs is modal once an hour, vi changes modes faster than you can blink, or think.

    There's a general rule (apparently unknown to the anticruft crusader who launched this topic) that cruft is eliminated only when something new comes along that's ten times better. Only ten times. And vi still exists. Amazing.

    1. Re:the vi shuffle by pmz · · Score: 3, Insightful

      It doesn't even have a line number indicator on the status bar.

      vi is configurable. Try ":set all" to see what you can play around with.

      ...the position that appends to the end of the line is not available.

      Use 'a' instead of 'i'. There is an append mode in vi.

      It's bad enough having two modes.

      For a pure console environment (no GUI, no mouse), vi's modes really aren't a bad thing. Command mode allows cut'n'paste, navigation, global search and replace, etc. You only enter new data in insert mode. Another thing about vi: its power isn't unleashed until you've read the 'ed' man page.

      ...cruft is eliminated only when something new comes along that's ten times better. Only ten times. And vi still exists. Amazing.

      This is true. There has not been a programming environment invented that is ten times better than vi (or Emacs, to be fair). I have used Java IDEs, used Visual C++, etc., and all of them added only complexity to the development process. Complexity is a large project's worst enemy. And I'm talking about true complexity, here, not the apparent simplicity of an enormous GUI application like Visual C++. For example, when Visual C++ breaks...how do you know what went wrong? What if the binary build system goes awry? What if the VC plugin doesn't work right? What is the best way to keep binary project files under good change management? And so forth. Why add things to worry about, when vi, make, sccs, etc., do everything in a predictable managable way?

    2. Re:the vi shuffle by dasunt · · Score: 2

      pmz wrote
      For a pure console environment (no GUI, no mouse), vi's modes really aren't a bad thing. Command mode allows cut'n'paste, navigation, global search and replace, etc. You only enter new data in insert mode. Another thing about vi: its power isn't unleashed until you've read the 'ed' man page.

      I think you mean read the 'ex' man page.

      OTOH, it sounds like the original poster didn't bother to read the original nvi help files (which I believe is the default vi-clone on potato). Vi is a powerful little editor, but you need to know how to use it. Else, when you complain about a missing feature that isn't missing -- its actually commonly used -- you look like an idiot.

      Next week on Slashdot: Why Mozilla sucks because I can't find the print button.

    3. Re:the vi shuffle by pmz · · Score: 2

      I think you mean read the 'ex' man page.

      The Solaris vi man page refers to both ex and ed, so I guess we're both right. The Solaris ex man page says, "ex is a superset of ed...", so, perhaps, reading the ex man page makes vi even more powerful. That's impressive.

    4. Re:the vi shuffle by steveha · · Score: 2

      Look, if you don't like vi, just use emacs and be happy. Keep a copy of pico or nano around for the times when you reach for emacs and it isn't there.

      I like vi, though. It's partly because I learned it early, but it's mostly because I am a fast touch-typist who doesn't need to look at his hands while typing. The editing commands in vi are very easy to type; you rarely need to hold down Ctrl or Alt or anything like that. Just switch into editing mode and you are good to go.

      Other people hate the edit mode/insert mode split, and it sounds like you hate it. No big deal. Just use what you like.

      By the way, if you ever have the misfortune to need to do your work on an ADM3A dumb terminal, you will probably be happier in vi. No Alt or Meta keys. No function keys. Not even arrow keys! vi still just works.

      steveha

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
  53. No Exit menu item in IE is progress??? by west · · Score: 3, Funny

    After accidentally hitting a geocities site, I now have to *manually* close 150 pop-under/over/beside windows, each one of which pops up another 150 windows.

    I want IE dead, and I want it now!

    Where's my Exit menu item?

    (I know, I know, it's in Mozilla. Time to switch.)

    1. Re:No Exit menu item in IE is progress??? by scrytch · · Score: 2

      You do realize that there are approximately 1.37E+20 third party popup stopper programs out there? I'm a fan of popuppopper. You wish your video card dead for actually displaying the windows too?

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  54. Re:Its not The Start Menu, its The Start BUTTON by Tim+Browse · · Score: 3, Insightful

    Why the heck do I have to move the mouse to one of the most obscure position, the lower left corner, just to start a program, which is easily the most used desktop operation of all?

    Because the corners/edges of the screen are the easiest pixels to click on, with the exception of the pixel currently under the mouse. See Fitt's Law.

    It's easier to click on the desktop if the mouse is already over the desktop. However, a lot of people work with apps using the full screen, so it's easier to use a start button.

    Of course, this requires that your Start button actually extend to the corner of the screen. MS fumbled the ball on this originally, IIRC, by giving it a border (as they did with taskbar buttons), but they later fixed this (the border is still there visually, but now you can click on it). However, if you make the taskbar double height (as I normally do) then the Windows Start button inexplicably gets aligned with the top of the taskbar rather than the bottom, so slamming the the mouse to the bottom left and clicking has no effect.

    I expect this positioning was considered to be more aesthetically pleasing. Sometimes Microsoft are very good at, as Sir Humphrey once said, "Snatching defeat from the jaws of victory".

    Tim

  55. Re:Its not The Start Menu, its The Start BUTTON by vondo · · Score: 2

    So then you either

    1) Have to switch desktops, hope there is an open place there, find and click on it or
    2) Shade a window, hope there is an empty space there, find and click on it.

    Seems to me you just added at least 1 click and a mouse movement to the process, making it more difficult. Whenever I've needed to find open desktop on my machine it has been a frustating ordeal.

    Just for kicks, I just shaded my mozilla window to try to find the nearest open part of the desktop. Guess what? Lower left corner, just above the "Big K"

  56. Biggest cruft of our time by zmokhtar · · Score: 2

    One thing he forgot was the biggest cruft in our time. The QWERTY keyboard is designed to slow typists down so that keys don't get stuck when typing to fast. Typerwriters (at least the mechanical ones that had keys that got stuck) are long gone, but we still use this extremely inefficient layout.

    As a result of this bad design, people have decided to design programming languages around the keyboard layout. As a result, we use ; to end statements since ; is on the home row. CRUFT!

    --
    Why aren't we told when editors moderate our posts?
    1. Re:Biggest cruft of our time by egomaniac · · Score: 2

      Actually, I would suggest that a much bigger problem is people blindly believing stories they hear without actually bothering to do a little research first. Thus are urban legends propagated.

      The best reference for the Dvorak vs. Qwerty debate is probably "The Fable of the Keys", which you may find to be interesting reading. Also, in case you don't read the article, I would point out that the "Qwerty designed to slow typists down" myth is just a myth. No factual basis whatsoever.

      It was designed to reduce jamming, by making sure that keys likely to pressed in succession were likely to be on opposite sides of the keyboard, and therefore reduce the likelihood that the hammers would jam. That, of course, has the nice benefit of making most successive keypresses performed by alternating hands, which is actually a benefit to efficiency. That's not to say that Qwerty is optimal, just that the urban legends in circulation about it are completely false.

      --
      ZFS: because love is never having to say fsck
  57. This can't be serious.... by md27 · · Score: 2, Insightful

    "We have the technology. So why do we still make people save each of their documents, at least once, manually? Cruft." Please that's the stupidest thing I've heard in a long time. Do I want word or open office or abiword randomly saving documents all over my drive and trust it "to pick a sensible name for a document." NO, that's stupid, if we wanted to use Mac's that held our hand through every click then we would. Just because you can't use a computer when you're too stupid doesn't mean the interface is crufty, it means you're too stupid.

  58. worse than cruft? -- inability to pinpoint it by jdkane · · Score: 3, Insightful
    We also have the ability to save changes to that document every couple of minutes (or, perhaps, every paragraph) without any user intervention.
    It's called "auto-save". The feature already exists in most word-processors.

    We have the technology. So why do we still make people save each of their documents, at least once, manually? Cruft.
    Well, maybe we want to allow people the choice of whether or not the the work gets saved. So to make it less crufty for the user, should we auto-save a different document every time, and fill up the user's hard drive? Then the user doesn't have cruft anymore, but does have to look through dozens of similar documents in order to revert changes.

    Interesting article. I like it, but the author doesn't appear to have a good concept of what cruft really should be.

  59. Adaptability by thing_from_space · · Score: 2, Insightful

    The human mind is pliable and adaptable enough to overcome these simple challenges in abstract thought. Humanity was able to eventually understand complex language then reading and writing. The UI of ancient times must have baffling to many and I'm sure a few of them balked it and called it cruft. Aren't computers and their UI just the next step in information and communication evolution? Should we keep "backwards compatibility" in these new interfaces? I don't think so. Move on. If you can't adapt, you'll be left behind and the gene pool will be better off. Darwinism at it's best.

  60. Re:MSVC++, VBasic, Dreamweaver.. by DrXym · · Score: 3, Insightful
    That's great but when all you want to do is change the indent size or some other innocuous setting, you're screwed unless you want to spend an inordinate amount of time reading how to do it.


    There is no excuse for this. I suspect it boils down to a hardcore RTFM attitude in the Emacs community, determined to not make things easy for anyone, especially people who just want to edit a file. The 'Customize Emacs' option is a sick joke. Even XEmacs makes an effort, for example referring to 'syntax highlighting' rather than 'font locking' and other efforts to put some sense into the configuration system. WTF did someone get the name 'font locking' from??? Talk about obtuse.


    Most modern editors have the good grace to stick the commonly used settings into a nicely grouped point and click dialog box. Emacs has a graphical mode so it should do likewise.

  61. Cruft or common controls.... by os2fan · · Score: 3, Insightful
    I had a read of the article.

    The issue is not so much that that extra features have been added, but that the intent is not correctly communicated, or is inappropriate

    For example, the WPS applied to the OS/2 desktop is a wonderous thing, one that people desire in other systems. When this file-viewing device is applied to files in general [eg DRIVES], the result is a nightmare. Drives is *not* one of os/2's better features.

    Windows copied this feature into their shell, along with a network browser. Unlike the OS/2 one, these ones *can not be hidden*, especially without corrupting the operating system. [deleting Network Neighbourhood removes UNC support].

    It's not that the "start menu" is totally bad either. It relies on an established practice of menus. So does the send-to [as a configurable context menu that allows drag-and-drop to otherwise hidden targets]. Folders = submenus. So you can have submenus in the send-to as well.

    It's not that one can't make the windows shell liveable. Create a directory called grotto, and move these folders from Windows: sendto, start menu, desktop, shellnew, recent. You can create other folders there as well.

    Create an icon with the command
    explorer.exe /e,/root=c:\grotto,start menu

    This gives you a super-program manager that you can fix your start menu, send-to, etc, as well as drag out recently edited docs for shortcuts to the desk.

    The other issue of what happens whens when one closes dialogs (as to whether it's an OK or Cancel), frustrates users to no end.

    The issue is not so much as Cruft, but the lack of consistancy. Were cars like this, they would be hazardous.

    --
    OS/2 - because choice is a terrible thing to waste.
  62. Smacks of Negropontification. by thatguywhoiam · · Score: 5, Interesting
    (as in the former Wired columnist)

    As off-base as I think the author is, it's good to think this way. Even if it's not practical or better.

    Save is an advantage, not an obstacle. The article's author limits the use of Save to things like Word-processing (immediately betraying his experience with more esoteric formats). As others will surely point out, Save can save you when something you're working on goes on a tangent. Besides, Word (and others) can AutoSave.

    Launching/Quitting programs, while arguably cruft, has been accepted insofar as people do like the tool metaphor. You use a jigsaw to cut complicated shapes in wood. A screwdriver for attaching things. Photoshop for graphics, etc. Although I will admit Quit is getting a bit weird... esp. on modern systems like OS X, where there isn't that much of a reason to Quit things. I still do it out of habit.

    Filenames are... well, filenames, and they don't seem to ever change. I don't really see a disadvantage with a 256-character filename. The dot-3 suffix is a bit of an anachronism, but it's a comfy one, one that gives the user a bit of metadata as well as the computer. Windows' behaviour of only recognizing files with certain suffixes in file dialogs by default has reinforced this.

    I don't know what he means by the File Picker. I launch/pick stuff from the Finder all the time.

    What I'd really like to see is a better representation of relationships between files. Something akin to The Brain, or another derivative of Xerox's Hyperbolic Tree structures. Radial menus, with branches running in various directions to the related objects/files, have been proven to be more effective than lists of data (there's something humans like about remembering angles as opposed to just the names). People themselves need a better representation, too. iChat has taken baby steps towards this, but really, ponder for a moment; why can you not see the heads of all your friends popping up on your desktop? Why is it that we have to 'browse' for other people, either through an AIM window (another list) or some such mechanism? If I get an email from Mike I want to see a mail icon next to Mike's head. I want to send files to Mike by dropping them onto his head. I want to see *everything* that is related to Mike at a click.

    Also, to mention another pet peeve: themes. People love themes. People abuse themes. There is a need here that has never been addressed fully, IMHO - the problem is that people are dressing up the cosmetics of the interface while doing nothing to change the behaviour. It's sort of ridiculous to think that we can come up with a Swiss Army Knife interface that will be maximally productive for all conceivable computer tasks. I've actually taken to creating several different accounts on OS X, each with their own specialized settings. If I'm doing graphics work, I want everything to look like a light table; big shiny icon previews, sorted by meta data (time photo was taken, type of graphic, etc.) If I'm doing coding, I want list views or column views everywhere, and lots of reporting tools running on the desktop (bandwidth, terminal). There really should be interface schemas that can switch on-the-fly to whatever sort of task you are engaged in.

    --
    If Jesus wants me it knows where to find me.
    1. Re:Smacks of Negropontification. by platos_beard · · Score: 2

      This idea that Save is good because we don't always want to keep what's saved has come up several times and it's wrong.

      Remembering what we've done is what the the program should be doing all along. Occassionally, we want to tell the computer to forget some of what we've done, but "forget" is the command that the program should recognize. The fact that we need the "forget" command does nothing to make forcing a user to "save" any less crufty.

      --
      What's a sig?
    2. Re:Smacks of Negropontification. by thatguywhoiam · · Score: 2
      Yeah, actually that's a really good point. After reading some of the other thoughts, I've decided the single-file-with-history is the best way to go. Like the History palette in Photoshop, only global, and persistant. (In fact you can actually paint back in time with Photoshop, which is altogether very strange.)

      Of course, imagine the bloat of Word files with a large attached history. Ugh.

      --
      If Jesus wants me it knows where to find me.
  63. Re:Think beyond the today? by Katravax · · Score: 2

    That's just for documents. What about, say, videos? To make even a single change could leave a single undo level in the order of gigabytes. Can we store diffs that big? With this in mind, is it wise to work hard to destroy the concept of "saving", and decrease performance to unacceptable levels?

    That's the kind of stuff we have to figure out. I'm not blowing off the rest of your post, but the question above is where we start. We start by defining the problem, sub-problems, etc. For the way things work now, obviously we'd want to figure out a better way for the example you gave, rather than just saving entire undiffed streams.

  64. File versioning? Simple! by eris_crow · · Score: 2, Insightful

    Everbody should use VAX/VMS!

  65. The Xerox PARC design mentality by MtViewGuy · · Score: 2

    I think while the author has some interesting points about interface problems, the issue here is that both the current MacOS X and Windows XP interfaces still owe a lot to the GUI concepts pioneered at Xerox PARC during the 1970's--and because of its massive infiltration any attempt at an alternative isn't exactly going to be popular. Indeed, most of the themes in both Gnome and KDE follow the same ideas pioneered from Xerox PARC's work.

    Let's see if someone with the money to burn can come up from scratch with a GUI for Linux that implements a lot of the interface suggestions the author mentions--I wish them lots of luck!

  66. better still - lose root by DrSkwid · · Score: 2

    like plan9 does

    no root = fewer nasty accidents

    by moving stuff out of the kernel and into user space

    foot shooting is still possible but by no means so easy as rm -rf * in the wrong directory.

    [having a file server with NO user space and automated versioned backups built in helps too]

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  67. It's millenia, not decades by XNormal · · Score: 2

    In Vernor Vinge's sci-fi novel A fire upon the deep, he presents the idea of "software archeology". Vinge's future has software engineers spending large amounts of time digging through layers of decades-old code in a computer system - like layers of dirt and rubbish in real-world archeology - to find out how, or why, something works.

    Actually, it's not decades old - it's millenia and even millions of years old and was maintained by multiple civilizations of sentient beings ("sophonts") that built layers upon layers of translation.

    In Vinge's A Deepness in the Sky the control code for the slower-than-light spaceships of the Qeng-Ho space traders is "merely" thousands of years old and written by humans only.

    The Qeng-Ho measure time in seconds (kiloseconds, megaseconds, etc). They say that the reference time is the landing of man on the moon but can't account for an error on the order of magnitude of 10 megaseconds. (it's actually 14 megaseconds - the time from the moon landing to the Unix epoch)

    --
    Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
  68. c:\viruses works too by DrSkwid · · Score: 2

    Besides X:\Programs is a lie because that folder also contains configuration files, backups of replaced files, data files etc.etc.

    what they need to come up with is something like

    \bin
    \etc
    \usr\$HOME

    hmm, I think I've seen that before somewhere, maybe it was Xenix

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:c:\viruses works too by jafuser · · Score: 2
      what they need to come up with is something like

      \bin
      \etc
      \usr\$HOME

      Actually, what they need to come up with is something like

      • C:
      • S:
      • LIBS:
      • DEVS:
      • SYSTEM:
      • FONTS:
      • RAM:
      • TCP:
      • FTP:
      • HOME:
      • PROGS:
      • etc...
      --
      Please consider making an automatic monthly recurring donation to the EFF
  69. Does anyone else see the irony... by bmabray · · Score: 5, Funny

    ...in the "Interface Hall of Shame" using frames? :-)

    --
    human://billy.j.mabray/
    "Every good system has a backup." -- Dale Hanchey
  70. Even more annoying.. by Inoshiro · · Score: 2

    There's no documented way of calling SHGetFolderLocation from C# without having a System.ExecutionEngineException being thrown.

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
    1. Re:Even more annoying.. by Jugalator · · Score: 2

      There's no documented way of calling SHGetFolderLocation from C# without having a System.ExecutionEngineException being thrown.

      lol!

      Hmm...

      You might be better of using the Environment.SpecialFolder enumeration in the .NET Framework then?

      Damn, it can't be good for your soul to provide more than one link per day to MSDN. :-)

      --
      Beware: In C++, your friends can see your privates!
  71. Re:Not dead, just ANCIENT by ianscot · · Score: 3, Informative
    Ah yes, a detailed critique of Quicktime 4.0's "new" interface...

    If the site was up-to-date, they'd be going after iCal 1.0, which came with Jaguar just lately. Tons of critiques on Macintouch of the immaturity of that interface. Apple's not perfect, but they take interface seriously, and the users' standards reflect that.

    --
    "Fundamentalism" isn't about divine morality. It's about human authority.
  72. Crufitness in Windows Explorer by GordoSlasher · · Score: 2, Interesting

    Windows 95 introduced the concept of in-place editing throughout Windows. Word and other apps already supported in-place editing of OLE/COM objects (such as a spreadsheet embedded in a document). Win95 extended that concept to the "shell".

    The most perverse example of this is renaming a file. I *like* editing the name in-place, but I *detest* the way they chose to implement it. When the filename is selected, single-click on it to rename it. On paper, this sounds fine. I'm sure the Microsoft system engineers approved this requirement as a nice convenience.

    But how many times have you attemted to double-click a file and ended up in edit mode? Now to get out of it you have to either hit the Escape key, or single-click elsewhere. Then try the double-click again. If you haven't had your morning coffee yet, your double-clicks are probably a bit slow, so you repeat this cycle three time before you finally succeed at launching that program!

    And how many times have you accidentally renamed a file this way and never known it, until you're searching for that file 10 days later?

    I'm amazed this "feature" is still in XP. I wish there were a way to disable it.

  73. Save and Exit by Bugmaster · · Score: 4, Insightful
    Much of the stuff he says is true. However, I think the author gets carried away when he declares the "Save" and "Exit" commands as "Cruft!".

    These commands are, IMO, actually examples of good interface design. The (unwritten) rule these commands are implementing is,

    A program should not try to outsmart the user
    Let's say the "Save" command was automatic. Where are the files saved ? Under what name ? How often ? What if I made a mistake, and want to restore the old file -- is it possible ? How far back can I go ? Infinitely back ? What if I don't have infinite disk space ? Etc. etc. Instead of making a program that would try to solve these questions for all people and all applications at once, I can simply tell the user, "look, when you want to permanently persist your document, hit Save". This is a lot better in the long run than a program that would overwrite your files every so often because it feels like it.

    Similarly, the "Quit" command is useful. Without it, applications would just pile up on the screen and in RAM. When I am done with writing my letter, and want to play some Warcraft 3, I want to close MS Word and open WC3. It's very natural; just as when I am done working and want to go to the beach, I take off my suit and put on swimming trunks. If I could not quit any programs, they would pile up like layers upon layers of dirty clothes -- media players, web browsers, p2p programs, text editors, word processors, compilers, virtual machines, graphics editors... and that's just what I use before breakfast ! Yes, it would be nice if we had infinite CPU, RAM, disk space and screen space, but we don't, so the "Quit" command is the next best thing.

    Note that, ironically, on single-threaded OSs, such as PalmOS, the Quit command is actually not neccessary. There, it makes a lot more sense to just save the state of the current program when you want to run something else, then restore the state when you reactivate the program. This only works because you can run one program at a time, and that's it, so there's no room for confusion.

    Contrast the ease of use of the "Save" and "Quit" commands to other commands which have been implemented as automatic agents, just as the article suggests. MS Word's "auto-correct" (more like auto-confuse), Visual Studio's auto-complete (it knows best what function you want to call) and that damn paperclip all come to mind. My computer is not psychic (yet); it cannot sense what I want to do. If it tries to predict what I want to do ahead of time, it will fail and mess up.

    --
    >|<*:=
    1. Re:Save and Exit by RzUpAnmsCwrds · · Score: 2

      "Visual Studio's auto-complete"

      You don't use VS much, do you?
      Autocomplete doesn't force you to do anything; it just provides suggustions. You can ignore them. It's actually pretty damn smart, and it is a wonderful time saver.

  74. Re:Blah by GordoSlasher · · Score: 2, Insightful

    The complaint is not that the filepicker and filesaver don't look alike, it's that they don't *act* alike.

    Windows has gotten better at this over the years. Its file save dialog appears to be an embedded instance of Explorer, albeit with some restrictions. Generally you can do all the file manipulation commands in the save dialog as you can in a full-blow Explorer window. You can't launch an app, you can't get the double-pane look, and the toolbar looks different, but the majority of the functionality is the same.

    This is much better than older versions of Windows. Win 3.1 definitely didn't do this. I don't recall whether 95 did.

    But if you ever wanted inconsisent filepicker dialogs, take a look at Amiga. In the early days, every programmer had to write their own filepicker from scratch. That led to some very innovative filepickers, and made the Amiga platform very difficult to use. I think they finally added a standard filepicker in a later OS release (2.1? 3.0?) but all the old apps still used their home-built ones.

  75. Why Free Software Usability Tends To Suck by Ilan+Volow · · Score: 3, Informative

    The author of the article, Matthew Thomas, also wrote two very good pieces
    "Why Free Software Usability Tends To Suck"
    "Why Free Software Usability Tends To Suck Even More".

    They are an eye-opener for any one who has wondered why linux is still not ready for the desktop despite the prescense of so many talented programmers in the Free Software Community

    --
    Ergonomica Auctorita Illico!
  76. Re:Windows 9x system resources by Jugalator · · Score: 2

    On NT, minimized Windows apps use negligible system resources except swap space and toolbar space

    Ok, thanks for the info. Yeah, when I talk Windows these days I always mean NT-based Windows. What you're saying about Win9x was funny and actually not that surprising at all. Backward compatibility with Win 2.x?! A truly impressive achievement by MS there. :-)

    --
    Beware: In C++, your friends can see your privates!
  77. Forgetting insulting debug code, idiot by phorm · · Score: 2

    I liked this page here

    Some foolish Autodesk coder forgot to remove the tooltip comment:
    "Click this to display an overview of the dialog box, idiot"
    Forgetting this was probably a good way to get fired (as is mentioned) without a recommendation.

    I've heard of a similar mistake, wherein a programmer for bank software was writing routines to do discounts, etc for customers who kept very large balances. To check the functionality of the routine, a message with some comment to the extent of "fat-cats with big walls" was printed as debug on transaction slips from the bank machine. However, the programmer forgot to remove this before the first production releases.

    I'm assuming that he is also now an ex-coder (at least as far as the banks as concerned). As a warning, if you are going to put amusing and possibly insulting debug code in, make sure you write yourself lots of memos to remove it before production (or better yet, just use something not insulting).

    Similarly, I remember at some point I was making a massmail system. On test messages, the header was "all is well and fine." Of course, in production one of the first messages was about a major security issue that resulted in formmail (yick) being removed from accounts, and since I forgot to remove the $subject="All is well and fine", the intended subject line was overwritten. I didn't get fired, but it did leave me red in the face. Luckily my boss and customers are understanding and have a sense of humour.

  78. TMTOWTDI applies to UI just like everything else by mhackarbie · · Score: 3, Insightful

    It's fine to try to improve on things, but Thomas makes a fundamental error in dismissing things like 'Save' and 'Quit' commands as outdated. Even though hardware speeds have increased, so have document sizes and many people work with huge files where continuous saving would bring their work to a screeching halt.

    I notice quite often that people who try to analyze the shortcomings of current UI's often make this kind of error because they are not aware of the diversity of needs that must be served.

    For people who like to develop new, improved and consistent UI models, I would suggest that they also spend some time in describing the particular context and subset of computer users for which this model would apply.

    --
    Building a better ribosome since 1997
  79. Flawed logic , or perhaps misunderstanding by Ilan+Volow · · Score: 2


    Here the author obviously hasn't used a PocketPC. With the PPC its very very easy not to close applications. What happens? The system slows down to a crawl as it tried to run 5 or 6 different applications. Again, this is the user being in control of the computer. I want the ability to close applications when I'm not using them. That is my decision, not the computers. It's the desktop analogy. Once i've finished with a book, I put it away because otherwise my desk gets cluttered. I don't leave it out because otherwise my desk gets full and working becomes a problem. Sure, we could get around this by having the PC unload or suspend applications that aren't used in a while - but how does it decide? Just because I've not typed something into Word for the past 30 minutes doesn't mean that I'm not using it. You'd get to the point where the cleverness of the OS/Application was causing me more hassle as it tried to be helpful and suspend stuff for me.

    On an all-in-ram storage device, if you are competant (i.e. not Microsoft or Sharp) you want to take advantage of a stateless interface model, where there is no quitting of applications or saving. You go to a different work area and the process is suspended in ram as you left it, and your data is just as you left it. It is still you making the decision; you are making the decision to put aside your work and go back to it at a later time. When you're not using an application, it's last operating state (maybe aside from the stack) is saved in ram. Of course, this design has traditionally only worked with devices that are mostly nothing but memory and it is generally understood by developers that applications are to be written to use as little memory as possible because RAM is the only storage you have. Devices like the Palm come to mind.

    On a Palm, you don't quit the datebook, you write some stuff into it, go use another app, and when you go back to the datebook, you're back at the last thing your wrote, down to the last character and the last cursor position. No multiple processes necessary, because instead of having several multiple processes running at once and switching between them, one process is suspended while the user goes to another process.

    PocketPC, on the other hand, is a total interface design failure and one of the shining examples of why the linux community looks like such idiots when they claim "Microsoft must spend billions on UI research, it's smart to copy what they do". PocketPC was basically a desktop UI grafted to a PDA with no consideration whatsoever as to the difference in design demands between a sit-down desktop with unlimited resources and where the user has hours to get work done and a mobile device with scarce resources where the user has 20 seconds to get down a phone number. Microsoft thought the mini-windows UI would work better than something like the Palm because for users coming from a Windows Desktop PC "it would be familiar". Bad UI decisions being made because some techie thought "it would be familiar". Where have I seen this before *cough*Xandros*cough*Lindows*cough*KDE*cough*

    Perhaps what mpt was suggesting was that with today's fast, unreasonably large hard drives and copious amounts of RAM and CPU cycles, we now have enough resources to emulate the document-oriented, stateless, all-in-ram feel of something like a Palm. Mpt's not a hard-core techie, so he might not have considered all the process manipulation voodoo required to give the feeling of statelessness. But with some modifications to the kernel and perhaps the linker it might just now be possible with the technology we have.

    --
    Ergonomica Auctorita Illico!
    1. Re:Flawed logic , or perhaps misunderstanding by jafuser · · Score: 2
      On an all-in-ram storage device, if you are competant (i.e. not Microsoft or Sharp) you want to take advantage of a stateless interface model, where there is no quitting of applications or saving. You go to a different work area and the process is suspended in ram as you left it, and your data is just as you left it.

      The Palm apps seem to do this most of the time, but I do notice on my new Sidekick, that what you describe is exactly how it seems to work. It's very convenient, and fast...

      --
      Please consider making an automatic monthly recurring donation to the EFF
  80. Strongly disagree with the 'save' comment by w3woody · · Score: 4, Insightful

    I strongly disagree with the author's comment about saving documents, but not for the reason that most people think.

    The problem with eliminating save and only having one version (the version that is currently open, which is reflected in the file on the disk) is that you eliminate a primitive sort of "versioning" where the saved document on disk represents an older version of the document. The "save" command becomes a sort of "push current version out" and "revert" becomes a sort of "roll back changes to last version."

    Now I would happily eliminate the "save" menu from my programs, but only if we could replace it with a "mark version" and "rollback version" command which would allow me to maintain several versions of the same document. That is, I wouldn't mind if we created a word processor which saved the current version of the document to disk as it was typed, but only if I have the power to mark different document versions and either roll back to an older version or mark the contents as the current version in that file.

    I strongly believe this is the reason why eliminating the "save" command was not accepted by MacOS usability testing when they were working on OpenDoc. OpenDoc eliminated file saving entirely, and users hated it--because users were using the "save" command and "revert" command as a sort of "commit changes/rollback changes" command--that is, as a primitive way of version control. And OpenDoc, by eliminating the save command, took that away from users.

    Don't take away file version control; give me a more powerful version of it!

  81. A quick clarification. by Graff · · Score: 2

    I agree with many of the points mentioned in this article, but I think that the author didn't bother to closely examine some of the newest innovations that try to get around some of these problems.

    The main example I would use is saving and opening files in MacOS X. The author mentions the file dialog sheets as, "this interface has always been awkward to use, because it's not consistent with the file manager". He goes on to say that opening and saving files should be done through the file manager, but that cruft interferes.

    This is not true at all. Pretty much every document can be opened and saved through drag-and-drop from the file manager (the Finder). Not only that, but in MacOS X the standard file dialogs are nearly duplicates of a Finder window type called a "column view". You navigate in these file dialogs just as you would in a Finder "column view". You can even create new folders in the file system in these dialogs in order to better organize your documents.

  82. If wishes were horses... by JCMay · · Score: 2

    I'm sure we'd all be using super-duper Amigas.

    For the longest time I've been using the Ximian desktop, but on my K6-2/400 Nautilus is pokey. Okay, Nautilus is pokey everywhere, on anything. I've been thinking about giving the ROX desktop a try.

    Since the article mentioned that most of the cruft was to overcome limitations of now-twenty-year-old hardware, perhaps the BEST solution is a clean-slate system. Add "compatibility" back in via some sandbox functionality, but dispense with the junk from the get-go.

    I think there's always going to be cruft; todays consession to necessity is ALWAYS going to end up as tomorrow's cruft.

  83. Read this book by AndroidCat · · Score: 2
    The article references Vernor Vinge's A Fire Upon the Deep, which is a "You must read this book!", but doesn't mention his related A Deepness in the Sky which carries software archeology even further as a major twist of the story. (What happens after many thousands of years of cruft if one of the original developers shows up?)

    But wait, there's more! Alien invasion by net takeover! Qeng Ho! Spiders! Trancendent artifacts! You must read this book, it was better than Cats...

    --
    One line blog. I hear that they're called Twitters now.
  84. Re:Drag-installing apps? by Ilan+Volow · · Score: 2

    Besides, I have recently begin doubting the existance of libraries. We have plenty of space these days, why not make everything statistically linked?

    Because this idea is extremely distasteful to many geeks who value 4MB of RAM and 100MB of space on an 80G disk more than they value a good, quick, painless install that fits in with the interface paradigm and is damn near impervious to dependency shennanigans and upgrade landmines.

    I myself would favor a system where an application comes with all the dynamic libraries it needs to run (excepting a few monsters like libc and X) which are stored in its application folder. At first the application would try to link to the comptuers centralized repository of dynamic libraries (e.g. /usr/lib). Assuming it would successfully link to those libraries, it would have the advantage of traditional shared-library systems (save resources and use upgraded stuff). But if the app couldn't link to a centralized dynamic library, it would use the version of that dynamic library that resides in its folder. Yes, this entire system might end up costing several GB for on a 80GB disk. So what?

    Volow's First Law of Computing: The cost of something not working far exceeds any other cost

    --
    Ergonomica Auctorita Illico!
  85. Code Archiologist by Bill_EEE · · Score: 4, Insightful

    I worked on a very valuble system as a code archiologist. The legacy system was in a million dollar a piece semiconductor furnace. Doing the work involved grepping through old C code that was written by a brillient assmebly language programmer.

    If code is working and shipping you don't throw it away. What I did was decouple the various patterns that I found and made something that was more modern. I did all of this work in C. It involved a lot of grepping and creating interfaces.

    Just because code is old an kludgey doesn't mean that it is not valuble. Elegance is getting paid a million dollars for a device that only costs a fraction of that to manufacture.

    Bottom line: if you don't have the cash you can't stay in business.

    There is a difference between bad code and old idiom code. Archaic code that is shipping and works is much more valuble than pie-in-the-sky new code that no one wants. ;)

  86. Re:Its not The Start Menu, its The Start BUTTON by jafuser · · Score: 2

    The same thing happens if you use a vertical taskbar on the right side of your screen. The start button aligns to the left. I use the vertical taskbar becuase I can see more of the application names, but always have to consciously look for the start button.

    --
    Please consider making an automatic monthly recurring donation to the EFF
  87. Re:Its not The Start Menu, its The Start BUTTON by CJ+Hooknose · · Score: 2
    In almost all Linux(...) window managers the application menu can be reached just by clicking on the desktop, which is IMO the easiest and fastest way to do this by far. KDE and Gnome developers what were you thinking?

    KDE Control Center->Look and Feel->Desktop-> Clicks on the desktop. By default, left-clicks on the desktop are bound to "no action", right-clicks are bound to "desktop menu", middle-clicks are bound to "window list menu". Sounds like you want to bind left-click to "application menu", so go do that.

    The reason it's not done that way by default is because that behavior would confuse Windows users. Also remember that a lot of people maximize every application they work with, 'cause of poor eyesight or tiny monitors or deep-seated fear of "messy desks".

    On a more abstract level, clicking on the root window to bring up a menu of applications only works when there's some root window visible, you will have a hard time enforcing that without writing your own WM, and you'll end up with a similar problem: There's a guaranteed bit of root window always visible at the bottom of the screen, but it's just a blank space without the mnemonic features ("start" or "K" button) people have gotten used to.

    --
    Give a monkey a brain and he'll swear he's the center of the universe.
  88. (Options || Control) != Cruft by benjamindees · · Score: 2
    Blinking Icons == Cruft

    This guy has it backwards.

    --
    "I assumed blithely that there were no elves out there in the darkness"
  89. Re:Drag-installing apps? by jafuser · · Score: 2
    1. fixing a bug in the library immediately fixes it in all the applications that use that library without having to recompile them

    Unless the author has come to rely on that bug/feature... then they begin distributing the old library with their app taking extra space in the app directory, or sometimes enjoy writing over the newer one if they put it in the system directory.

    Is it just me or did the Amiga do libraries much more efficiently?

    --
    Please consider making an automatic monthly recurring donation to the EFF
  90. Re:More cruft! (IE and downloads) by AndroidCat · · Score: 2
    This has been one thing that IE on Windows has shafted me many times with.

    I hate when it not only steals the focus, but the whole damned window! A number of times I've been typing a brillant Slashdot post, get an email with a link, click on the link, and rather than popping up a new IE window, it steals my Slashdot one, scrubbing the post. This doesn't happen all the time, which is worse than it always happening.

    --
    One line blog. I hear that they're called Twitters now.
  91. Thank you so very much. by Inoshiro · · Score: 2

    So where on the web that Google knows, or in Google groups, did anyone link the special folders to that enumeration. The only references I found were the MSDN pages for SHGetSpecialFolder (which didn't mention the link), and some Estonian's VB code for using a call to the unmanaged SHGetSpecialFolder (which broke spectacularly in C#).

    Thank you, thank you!

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
    1. Re:Thank you so very much. by Osty · · Score: 2, Informative

      So where on the web that Google knows, or in Google groups, did anyone link the special folders to that enumeration. The only references I found were the MSDN pages for SHGetSpecialFolder (which didn't mention the link), and some Estonian's VB code for using a call to the unmanaged SHGetSpecialFolder (which broke spectacularly in C#).

      So if Google doesn't know about it, it doesn't exist? Sorry, but no. Google is an excellent search engine, and it usually returns very good results, but it's not the only resource out there for finding information, and if Google doesn't find what you need then you should try something else. For example, I'd never expect Google to be able to spider MSDN (the links change fairly frequently, I've seen plenty of older MSDN pages that have bad links so I can imagine how out of date Google would be; there's a huge amount of information to be spidered). Fortunately, "msdn.microsoft.com" is an easy URL to remember, if you don't have it bookmarked, and it provides a decent search utility.


    2. Re:Thank you so very much. by Pfhreakaz0id · · Score: 2

      well, much of msdn.microsoft.com isn't googled very well. Google is the be all end all of the web. Many companies' tech support site isn't indexed very well (oracle's OTN isn't, for one).

      Any question on MS programming? First stop should be MSDN. Next stop: Google search the ms newsgroups (microsoft's NG interface is horrible). Then google the web. I mean, lots of programmers I know who do primarily microsoft programming work have MSDN as their home page...

    3. Re:Thank you so very much. by zero-one · · Score: 2

      Another place to search if MSDN and groups.google.com do give any results is http://www.google.com/microsoft (Google for searching Microsoft related information).

    4. Re:Thank you so very much. by wadetemp · · Score: 2

      So I suppose you tried searching for "SHGetSpecialFolder" using msdn.microsoft.com's built in search?

      In my experience, Google's Microsoft-API results are *always* better than MSDN's search results... even when you're just looking specifically for MSDN documentation or whitepapers. If Google doesn't return an MSDN page high up in the results, then the info's just not on MSDN, plain and simple, unless it's only a few days old. It's not worth wasting your time with MSDN's crappy search and "Best Bets" marketing "documentation."

  92. Should apps have a "Close" button? by Mad+Bad+Rabbit · · Score: 2

    No [...] What you want is for application Foo to stop using resources on your system (or to use very little). Why not have this done automagically when you close the last document of the appropriate type? Then when you reopen that document, the app should automatically start up. Why have Word open at all if you have no open documents?

    Fine, but you still need a "Close All" button to close all the open documents. If doing this also causes the app to shut down, it's functionally a "Quit" button, and your app users will think of it as one.

    >K

    --
    >;k
  93. another bad thing about GAIM by mgkimsal2 · · Score: 2

    While I like it for some things, CTRL-C brings up a freakin' color wheel. Come on! Call me a MS lover all you want (I'm not) but CTRL-C is a defacto standard to copy stuff to a clipboard. GAIM overrides this with the most annoying thing that could happen when you press CTRL-C - an unrelated pop-up window. :(

  94. That's why I use Opera. by RatBastard · · Score: 2

    Some of those issues are why I moved to Opera. Opera doesn't have a perfect interface, but it doesn't have Mozilla's "Horse designed by committee" interface, either.

    --
    Boobies never hurt anyone. - Sherry Glaser.
  95. Multi-user, single-tasking. by Inoshiro · · Score: 2

    Most people wouldn't hit save, ctrl+z, bg, fg a different job, do some work, ctrl+z, bg, fg the original job, etc. Maybe K & R did, but most people just waited until W, X, and NEWS were available before they learned to work that way.

    Swapping applications on the command line is annoying and hard, that is why most people who use the CLI a lot use X with many xterms, or they install screen and use fewer (but more than 1) xterms.

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  96. Better Answer Out on SourceForge? by ewanrg · · Score: 2

    So, are there any radical GUI and/or OS projects on SourceForge worth looking at that address the author's objections?

    Personally I'd be interested in a GUI where the system comes up just showing a column with rotating levels - each level representing something about the system (drives, folders, applications), and with "balls" on each level to click that open things into an application specific GUI.

    For example, Photoshop does not use the standard Mac or Windows GUI. It has a number of application specific widgets. Why shouldn't other programs do the same?

    My .02 worth...

    1. Re:Better Answer Out on SourceForge? by MCRocker · · Score: 2, Informative
      Yes. Although not on SourceForge, see the Naked Objects framework.

      I posted my reply just before yours, so you probably didn't see it when you posted yours :)

      --
      Signatures are a waste of bandwi (buffering...)
  97. Most likely operation? Arg! by Inoshiro · · Score: 2

    When you have data files and execution files, all with the extension hidden, many sharing colourful icons (as data files have the same icon as a program), how the hell do you know what you are dragging?

    I sure as hell don't, unless I go around turning off all the (say this is a Will Farrel voice) "happy, happy" Windows UI "features."

    It's bad design like this that teaches users to always right drag, because then they get a menu of options and can choose the one they want (rather than what Windows thinks they want). Why you can't just left drag and have the menu come up after, I don't know!

    Ever notice how you usually click apply before ok in a property sheet dialog? Same crap. Lumping layer upon layer on a UI, never thinking to strip away the useless parts, leads to learned behaviours which are totally non-sensical (like people who type www. in front of everything, because ignorant DNS admins don't include A records for the base domain name).

    Making quit harder makes sense. I've accidently quit Mozilla a few times (it stays open until I upgrade my daily, usually once a month if there are no bugs I'm tracking). That loses so much work or items that may be open, it's not funny. Since there is no part of the history dialog that shows what was open when you last quit, I tend to lose information. In an SDI program that has many windows, quit can close other windows that you weren't meaning to close!

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  98. Re:More cruft! (IE and downloads) by LadyLucky · · Score: 2
    Tools, internet options, advanced, uncheck reuse windows for launching shortcuts.

    I do agree with you though. I had many years getting pissed at that one, until someone else pointed that out to me.

    --
    dominionrd.blogspot.com - Restaurants on
  99. Scratspace.. by Inoshiro · · Score: 2

    That's what ~/.tmp is for. Have it culled of files older than a week automatically. If you need something, you can get it out. Otherwise it will be removed eventually. You won't even have to name it, as the rest of its meta-data attributes will index it in your new OS.

    Why is this bad? I think it makes a lot of sense, especially if you want to shift from CLI in GUI to true GUI use.

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  100. What disease do you have? by Inoshiro · · Score: 2

    "My idea of hell is an editor that auto-saves code that I'm in the process of hacking up in an editor to let me think about the problem over top of code that already works."

    I guess you don't use source control, VMS, or ReiserFS.

    "My idea of hell is a platform where every document I've ever opened has no way to close it and no way to exit the application that's got it up in a window, because there;s no 'Quit' or 'Exit' option."

    You've also never owned a Palm Pilot.

    "My idea of hell is not being able to drag something in a GUI from one folder to another, because they have an obscure "parent of my parent" relationship, which makes me have to cut and paste the document, instead of just dragging it, because I on;'y [sic] have one file manager, which is running all the time, instead of a "file picker"."

    And you've never used the OS/2 WPS or its file template creation folder, or undershood how this fellow was writing obout how to extend that idea further with branching (see version control above).

    "My idea of hell is symbolic links that get changed when I rename a file out from under them because the OS thinks it knows what I want better than I do, so it's impossible to replace a file with another, while keeping, and the old one, unless you copy it, rename the original, rename the copy, and then edit the original (instead of replacing it)."

    And you've never used hardlinks!

    So why, exactly, are you such a highly moderated oracle of knowledge if you've not used the current incantation of the things you rant about? Oh, right, because /. moderators have this crack habit.

    Before you react and freak out about something, take a step back and think. Your work habtis will be changed, because the way you work will be changed. Of course if you try and think of your current work habits over top of a new way of working, you'll see problems that aren't there.

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  101. It's still right there, Microsoft integrated it. by Inoshiro · · Score: 2

    Start -> Shutdown :)

    HTH. HAND!

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  102. Use a Palm Pilot. by Inoshiro · · Score: 2

    I wish desktop editing was so easy. Any changes are masked behind undo features, as they should be. The chances you'll undo to a certain level decrease as each day passes, so a timed expire of older undo versions is just another neat feature of this OS he proposes.

    Need a really old version? That's what backups and centralized version control are for. ReiserFS wants to address some of this.

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  103. I hate it when people don't see the obvious errors by Lars+T. · · Score: 2
    in their obvious soltions

    (1) Others have mentioned the problems with version management. As for the sensible name, what is the sensible name for a drawing (et bloody cetera)?

    (2) Many apps still take some seconds (which is quite long when you have adopted to the speed of modern computers) to open. Having to wait that amount of time everytime I want to work on an other document - thanks for removing the cruft, klutz. As for the big fucking sign telling you wich app is open...

    (3) Oh, wow, he doesn't see the problems of the "obvious way to save a document in a particular folder is to drag it to that folder in the file manager" - like not seeing that folder, for example. He is keeping his pace well.

    (4) Shockhorror, he's right.

    --

    Lars T.

    To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

  104. C:\ D:\ E:\ Drive Letter System: CRUFT! by Yet+Another+Smith · · Score: 2

    One of the biggest bits of interface cruft that I've had to deal with is the C:\ drive-naming scheme. I'm sure it made some form of sense when QDOS was being put together. But we've clearly moved beyond that now.

    I use ArcView (a crufty bit of GIS software in its own right) on a daily basis, and share ArcView files with the other folks in my lab. ArcView allows a user to save his map-work to a single file that references multiple databases. Unfortunately, it references all the database files with the letter-based paths. Of course, if I pass that file to somebody else on a different machine, they have to have the exact same drive letters to be able to open the files. This means that I can't save anything on my own hard-drive, since it will always be C: or D:, and they will have to map it somewhere in the G: to Z: range.

    Further, this imposes a limit of 26 total mapped drives. Now, for some things, it is possible to use the \\host\sharename method to address files, but many software packages do not allow use of the 'network neighborhood' when browsing for files, so this doesn't work too well under many circumstances.

    C:\ = Cruft!

    --
    if ($it != $onething) {$it = $another;}
  105. Re: and windows from other applications popping up by spitzak · · Score: 2
    GUI libs should completely remove the ability for an application to request that one of its windows be raised and brought to the foreground since, anyhow, window mangement is the responsibility of... window managers.

    I disagree with this. First, it won't work. What actually is being delayed is not the "raise" of the window, but the creation of the window. I suppose you could have an "active app" and only raise that, but even then there is a problem in that the creation of the app could be delayed. Unless you say that all new windows appear below the focus window always there is no way to solve it.

    Also, I actually am a big proponent of ONLY allowing programs to raise themselves, and focus should only change by a program doing a "set the focus to this window" call. This would get rid of the "click raises" behavior that makes overlapping windows useless (a program could instead raise only if the user clicks on an area that does nothing else). It would also get rid of the need for child windows, hieraarchies, window type flags, and all the other complexities that have come up because programs have the need to instruct the window manager what windows they want to not be buried and where the input focus could go. So therefore I certainly don't want the apps to be unable to raise themselves.

  106. "So far, there has not been a mainstream..." by Tetsujin · · Score: 2, Interesting

    "However, for the most part, this effort has been piecemeal and on the fringe. So far, there has not been a mainstream computing platform which has seriously attacked the cruft that graphical interfaces have been dragging around since the early 1980s."

    I disagree. To me, this is one of the strengths of PalmOS: Palm was willing to rethink some of the established ideas of what a handheld should be and how a computer should work, and the result was a very practical and efficient system. I wouldn't say Palm got everything right, but they definitely cut the cruft.

    --
    Bow-ties are cool.
  107. Version control in Word by steveha · · Score: 2

    Newer versions of Microsoft Word have a sort of "version control": the Undo stack gets saved with the rest of the document, and you can save a document, open it days later, and undo things.

    Until users really understand this, however, there are potential privacy problems. "I don't want anyone to know my salary, so I'll just delete the part where it mentions that." And the salary info is still there, just an undo away.

    If you use Word and you have any concern about private data, do a Save As in RTF format, and distribute the RTF.

    steveha

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
  108. This guy doesn't know what he's talking about. by Trillan · · Score: 2, Insightful

    I mean, the premise is fine, but both of the two main reasons he talks about AREN'T TRUE! Just looking at the people who while about their favorite piece of cruft going away in Mac OS X should prove this. Take your pick: Trash on the desktop instead of in the dock, quick launch aliases in a highly hidden location (the Apple menu), applications strewn everywhere, etc, etc.

    Also, the very idea of Microsoft inventing a good user interaction model is laughable. I don't know for certain which web browser first introduced tabbed browsing, for instance, but I know it wasn't made by either Microsoft or Apple. Ditto any number of interface features.

    Let's move on to his examples, then.

    He argues against having to save once. Well, I hate to break it to him, but I like to organize my documents. Further, I want to name it something very specific. Sure, applications can suggest a name, but when it comes right down to it for intuitive tasks computers are stupid. Even if we could get the intuition rate up to 95% I still wouldn't want one anticipating me in ways I can't see and correct. 5% error is unaccptable.

    He argues a Quit commannd is unecessary and confusing. I have to disagree on this point, too. Perhaps it's not named the ideal thing, but let me use a simple analogy. When I want to put a nail into a wall, I go get my hammer. I line up the nail, smack it with the hammer more times than I'd care to admit, then... I put the hammer away. Computer applications are tools and need to be used the same way. As long as it is obvious the tool has not been put away and the way to put it away is obvious, it is an entirely intuitive operation. On these grounds, Mac OS Classic fails but Mac OS X passes. Apple got rid of the cruft. Microsoft also fails, because they try to make the ilusion of a tooless world but only succeed part of the time. Instead of having to find the tool, using it, then putting it away you need to find it, use it, find it, use it, find it, use it... and finding it is generally the hard part.

    Yes, why DO you use file pickers for opening files? I almost never do! But when I do use one, I can't help but notice it looks exactly the same as the file manager. Further, Windows has an even better solution: Right clicking where you want to create the file.

    I'm not going to bother with the fourth example. He scores a couple partial hits, but his average is way too low to bring the document back to respectability.

    Just my two bits for what it's worth...

  109. Registry shredding by msobkow · · Score: 2

    I've often had to resort to registry shredding to get things moved around. Just open up regedit and do a global search for subdirectory of the app you're trying to move. Similarly, you can search/substitute X: values with Y: values if you're shifting partitions around.

    Obviously this isn't something most users know how to do (or should do!), but it can be done.

    My bigger beef with the registry is that apps scatter pieces of their initialization all over the place. It makes it impossible to backup and restore individual apps by saving their registry tree, because you usually find that there are critical pieces of information whose names bear no resemblance to the application.

    --
    I do not fail; I succeed at finding out what does not work.
  110. Re:Drag-installing apps? by hysterion · · Score: 2
    I myself would favor a system where an application comes with all the dynamic libraries it needs to run (excepting a few monsters like libc and X) which are stored in its application folder.

    Yes, this entire system might end up costing several GB for on a 80GB disk. So what?

    It would also cost you lots of RAM, when several apps each load their own copy of the same library.
  111. Re:MSVC++, VBasic, Dreamweaver.. by EnglishTim · · Score: 2

    Personally I find the mix of mouse and keys works well. I don't find the moving from mouse to keyboard and back again a problem most of the time - I'm a programmer, not a typist. I spend a lot of the time with my fingers off the keyboard anyway. I'm absolutely sure that debugging would be considerably slower without the GUI.

    I would spend the time to learn Emacs if I felt that it was considerably superior than the current alternatives, but I don't see why it would be, and otherwise I'm not going to learn a whole new user interface just to use an editor.

  112. Wish granted by devphil · · Score: 3, Informative


    I've not had this problem except with Windows -- mainly because the apps that suffer most from the "I did something that required CPU cycles, therefore I will tell you about it in a popup" disease seem to be Windows apps. So I'll tell you the Windows solution:

    Go to microsoft.com. Find wherever they've hidden TweakUI this month. Download it. (If necessary, download the whole "power tools" thingy that it's a part of.) Install it. (Install the "open cmd.exe at this directory" power tool too, while you're at it.)

    Go to the [Out-Of-]Control Panel, fire up TweakUI, and disallow applications to grab focus. There's even a "what should they do instead" selection that lets you make them blink.

    Disadvantage: some programs fire off a splash screen, then bring it down and replace it with the real program. Window focus doesn't traverse like that now, so the real program won't start off with focus, even though you the last thing you did was to double-click its startup icon. Minor annoyance only.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  113. It's SHGetSpecialFolderPath by wadetemp · · Score: 2

    The reason you can't find it is that it's called "SHGetSpecialFolderPath", not "SHGetSpecialFolder." Google tends to always be a better solution than MSDN's built-in search... it's just not a mind reader. :)

  114. Re:Drag-installing apps? by Ilan+Volow · · Score: 2

    The apps would only load their own copy iff they have trouble linking to the centralized library.

    --
    Ergonomica Auctorita Illico!
  115. Stick to Standards by rossz · · Score: 2

    Right or wrong, you should always stick to standards. If you implement an entirely new GUI for your wizbang app, you can be sure people will hate it because it won't be intuitive - even if your GUI is a better system.

    Microsoft may have made a lot of mistakes in designing their GUI, but it is now the standard. KDE offers a GUI configuration that closely emulates Windows because it reduces the fear factor for the newbie. Improvements need to be made in KDE to make it act even more like Windows. Not because Windows has a good GUI, but because people are comfortable with it.

    Let's win people over by offering them a familiar desktop, better performance and no blue screens. GUI changes should be left to the elite.

    --
    -- Will program for bandwidth
  116. GNOME 2.0 by FooBarWidget · · Score: 2

    Those points are mostly *already fixed* in GNOME 2.0! Look at it: it's a highly consistent interface, with very little configuration options that can confuse the user.

    Those arguments of him are a bit outdated.

    1. Re:GNOME 2.0 by Ilan+Volow · · Score: 2

      Not really.

      --
      Ergonomica Auctorita Illico!
  117. Target Audience by BandwidthHog · · Score: 2

    People!

    You're all acting as if the ideal interface is designed for a single, highly idealized user (probably that guy with the 2.5 kids, damn shame about that.)

    All those "contradictory" and "confusing" interface elements coexist so that the user may use any combination of them to get their work done. Who here is using their computer in it's exact default state? How many here exclusively use or don't use the Open/Save file picker? I know many slashdotters run pretty much exclusively from the command prompt, but I suspect most of you occassionally drag something via the GUI. Nice to have that option, huh? All about choice, best tool for the job, etc.

    Go ahead, design next year's kewl new GUI based solely on the needs of a newbie, conveniently overlooking the fact that it will effectively lock out us old-timers who like to micro-manage (is that a pun in this context?) which apps we have running, where and when we're saving our files, etc.

    Face it, no GUI is perfect. They're all crude, 2D digital representations of a 3D analog environment, trying to present concrete objects and abstract ideas in the same context. No matter what you do, there will still be some learning and adaptation of your mental paradigms, and that will vary for each user. At some point you gotta just accept that and move on.

    --

    Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?