Is the interface a command line? If not, it's crufty;-)
Re:My cruft-o-meter:
by
Anonymous Coward
·
· Score: 0
Those pesky GUIs! Photoshop is *much* more efficient via command line.
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
Re:My cruft-o-meter:
by
Anonymous Coward
·
· Score: 0
Worth noting that the AutoCAD-style GUI can be easily done in your own programs (assuming you like Lisp like the AutoCAD folk) by using the CLIM de-facto standard for Common Lisp GUIs.
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.)
No... cruft infiltrates the world, along with it's henchmen 'bloat' and 'backwards-compatibility.'
This stuff's just plain hard... No wonder no one gets it 'right' (is there such a thing here?)! Ah well, back on my high horse to go tilt at windmills...:-P
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!
Re:A bit of history...
by
Anonymous Coward
·
· Score: 1, Interesting
Speaking of GEOS... how to abtain one now for my linux box and it's c64 emulator...
I also read this: rox - desktop , it seems quite ideal at least in theory, when I get home from office have to install that and run some fieldtests.
P_tr
Re:A bit of history...
by
Anonymous Coward
·
· Score: 0
You say that like it's news. What do you think everyone is using to read Slashdot? One of those new-fangled PCs? Those will never catch on. 1MHz is just fine for me. I don't need to spend $7000 to go 8MHz!
*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.
Are you insane? 1 MHz? How did you overclock your C64 beyond the native 60Hz?
-- Hypermedia, virtual worlds, human interface, truth, beauty.
Re:A bit of history...
by
Anonymous Coward
·
· Score: 0
Er... C64's CPU ran at 1MHz. (and the C128's ran at a whopping 2MHz) NTSC C64 displays refreshed at 60Hz, for obvious reasons (hint: PAL ones refreshed at 50Hz). Methinks you're a little confused.
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.
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.
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.
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.
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.
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.
This last example is particularly nasty, because it shows how interface cruft can be piled up, layer upon layer.
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.
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.
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.
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.
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.
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.
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.
If the source and the destination are on different storage devices, the item will be copied.
If the source and destination are on the same storage device, the item will be moved.
If you want the item to be copied rather than moved in the latter case, you hold down the Option key.
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.
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.
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.
Theyre inconsistent with every other kind of menu in Windows, which opens as soon as you push down on the mouse button.
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.
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.
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.
Ive never really found anything that matches 12vc's at vga res for doing stuff.. great thing about command line apps is there practicly always designed well because theres no bs gui to worry about and distract the attention of what actualy needs to be done.
See http://info.astrian.net/jargon/terms/c/crufty.html
-- Hey! That's my sig you're smoking there!
MSVC++, VBasic, Dreamweaver..
by
odyrithm
·
· Score: 0
are examples of crufters;)
notepad, pico, vi, emacs.. examples of cruftbusters.
--
moo
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).
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.
Re:MSVC++, VBasic, Dreamweaver..
by
Anonymous Coward
·
· Score: 0
Emac's built-in lisp allows for much more advanced syntax highlighting,intelligent code-completion, and cross-referencing than I've seen anywhere else, include the latest glitzy Visual Studio, NetBeans and Eclipse stuff.
Re:MSVC++, VBasic, Dreamweaver..
by
tbspit
·
· Score: 1
I have found nothing better than Emacs for my needs. I did have to learn some key bindings, but that is the same for every editor, unless you use, *shudder* the mouse *shudder. You do not have to use every single feature of Emacs, but in Emacs, a chance is that you will easily find the proper command for a LOT of needs. You need only memorize or add keybindings for the commands you use most.
I used to use vim before emacs, which is a very good editor as well, but I do not want to compile in some shell and follow the error line numbers manually.
MSV* has some nice features as well, such as completion of member names, but it does not match Emacs (or vim) in editing power.
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.
Re:MSVC++, VBasic, Dreamweaver..
by
Ponty
·
· Score: 1
That's really interesting, because I much prefer to follow the error line numbers manually. (Honestly!) When I get errors, I prefer to have them in the comfort of a nearby terminal window, then just go through the lines in vi (which is simple as pie) and compare the two windows. Automatic line-jumping systems are a distraction from the convenience of just having more than one windows with simple tools.
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.
Re:MSVC++, VBasic, Dreamweaver..
by
cakoose
·
· Score: 1
I used to use vim before emacs, which is a very good editor as well, but I do not want to compile in some shell and follow the error line numbers manually.
While I don't mind using a separate shell to compile, Vim's ":make" command will run your Makefile and Vim can be set up to parse the output to let you jump between error-causing lines automatically.
You need only memorize or add keybindings for the commands you use most.
This is mostly the same for Vim. However, I've found Vim's help system easier to navigate through and find the command you're looking for.
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.
Re:somewhat OT
by
91degrees
·
· Score: 4, Insightful
Or even better.... Call it 'Programs'. 8 characters.
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
Re:somewhat OT
by
Slashamatic
·
· Score: 3, Informative
Even worse, many of the special directory names used by Windows change depending upon the language.
Re:somewhat OT
by
Anonymous Coward
·
· Score: 0
Bad design is not an excuse for more bad design. Really, the MacOS X model of handling applications, resources, preferences is FAR superior to the Windows model - which is haphazardous to say the least. Noob Windows users tend to install everything into the root of their C drive, creating a nightmare. Folders exist for a reason, you lusers!
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.
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!
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!
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;-))
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.
Probably nobody would have called anything progra~1 in DOS, and they certainly wouldn't have used up the rest of the long filename *~? namespace. Obviously they wouldn't call it program files.
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
Re:somewhat OT
by
Anonymous Coward
·
· Score: 1, Informative
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
You need to learn about groups and group membership.
What do you suggest? That I allow certain groups to have basic admin rights, and put my user into one of those groups? This is pretty much what I'm suggesting, except that these groups should exist in default configurations.
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.
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).
They do. At least in commercial unices like Solaris. The Solaris group 14 (sysadmin) contains all users that are allowed to add new users and manage software packages.
They are not allowed to edit single files. Just to start the programs that manage users and software packages (eg: the admintool(1M)).
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.
No... C:\Program Files is called C:\Programme in some german Versions of Windows. I don't know about current versions (I always use the U.S. Version, as provided by my employer), but I know for sure that Germans tend to have C:\Program Files and C:\Programme on Win95, because installers always forgot about languages.
I suspect the real reason is just another in the long list of subtle tactics M$ has in their strategy guide to making life difficult for anyone but themselves.
This will change, as we are already starting to see them re-examine their tactics in response to the open source movement, and more.
-- user@host$ diff/dev/urandom/dev/uspto
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
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%.
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...
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.
Right you are. And while c:\windows may be the same on most Windows versions, Desktop did not get translated in the german version... it would have been Schreibtischoberfläche. A bit long, right?:)
But look at this: Windows (en): c:\Program Files Windows (de): c:\Programme en -> de: Program Files -> Programm-Dateien de -> en: Programme -> Programs It really seems like they wanted to use a longer name...
Nevertheless not everything should be installed to c:\, or CAN be installed on c:\, so programmers should look up the location anyway.
Geez, you could at least read other replies before responding.
As I indicated to the other person who said pretty much the same in a less sarcastic and condescending manner - yes, I know you can do this using groups. The point is that default configurations normally don't. I have since learned that Solaris actually has a sysadmin group built in.
Now, how do I switch to this in Debian, RedHat, SuSE, or Mandrake?
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:!!
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?)
I used to do similar things, like installing Windows to c:\ and installing all programs to d:\<category>\<name> And I changed the shell folder in the registry so that the setups default do d:\ Unfortunately, many programs had problems with that (like trying to use d:\\ or something). Of course you could correct this in the setup program. But even worse are those programs that install additional things there, without asking for a path. Like the Windows Installer (or InstallShield? Are they the same? Who knows...), who creates a folder named "InstallShield Installation Information". Yes, it's marked "hidden", but a guy like me who looks in every corner configures file managers to show those folders and files as well. I also used to have e:\ for games (which is more or less obsolete as of know, since I rarely play games these times) and f:\ for my "Archive" (what you call home). Again, I changed "My Documents" to this folder. An then there are those bloody applications that create a "My Music", "My Pictures" and similar stuff in there. God! Everything in there IS MINE. And I have a German Windows, for christ's sake. That's annoying.
Therefore, I left the shell folders pointing to where they where orignally pointing to. This way one can more or less ensure that stuff that goes to your own folder structure does so the way YOU want it.
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.
I really don't use those folders, since It requires you to put your data on the same partition as the OS. I always thought that that was supposed to be a bad idea. I only wish I knew how to change the default away from "Program Files" to something else. It's annoying. Not to mention that I have some programs that require a path with no spaces. Yeah. This is OT isn't it.
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.
You're exactly right. I read this justification in a Microsoft document in '96 when I was updating a 16-bit app to conform to the "Designed for Windows 95" logo.
Because those program installers aren't using the correct Win32 standards. They're too lazy to learn this new fangled 32 bit environment and won't upgrade their shite. They fully anticipate that people will wrongly blame Microsoft rather than the application house. That is why you started seeing the "Microsoft Certified for Windows xx" stickers on software. Microsoft wanted to make sure consumers knew which software houses were making the effort and which were being LAZY.
You are right of course that it is not easy. In Windows NT it was actually very easy. You just had to change two keys ProgramFilesDir and CommonFilesDir. This did not get you rid of "C:\Program Files", but all Installers that were worth their salt installed the stuff right where I wanted.
Under Windows 2000, I just took one sunday afternoon on a clean Windows 2000 installation and searched for all instances of "C:\Program Files", "C:\Progra~1" and the equivalent in Hex. I exported all those keys to.reg files, merged them together in three.reg files (one for the long keys, one for the short keys and one for the hex keys). If you have those scripts, you can now easily change the behaviour of Windows by editing these scripts to your liking, launching them and then reboot. Works like a charm. It was a lot of work, but it has been worth it. Of course, it's best to apply this "patch" just on a clean Windows 2000 install. If you have been using it a while, chances are that there are already much more entries than on a stock install. If anyone is interested in these scripts, I'll be glad to provide them.
As for partitioning: C is OS, D is data, E is Applications, F is games and G is temporary, on my systems. That said, because Windows 2000 authorizes "mounting" of partitions in directories one could just ditch the lettering of the harddisk and mount different partitions. One to "Program Files", one to "Documents And Settings" etc.
I just want to say, that by tweaking the hell out of the registry it is well possible to set your Windows to your own liking. Strangely enough, most people that use my system find it "clean and more thoughtfully organized". I wonder why exactly that is;-)
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.
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.
While we're on the topic (or off the topic, as the case maybe)... I want to know why they keep changing the default user directories:
In Windows 98 it's \Windows\Profiles\%Username% in Windows 2000 it's \Documents and Settings\%Username% in Windows NT it's \Winnt\Profiles\%Username% In Windows XP it's God knows what
After 5 releases you think they could make their minds up??
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!
I haven't used my French version of Windows since 95, so I don't remember everythingm but the one thing I found strange was the help menu was ? instead of something more appropriate like Assistance.
What's the help menu like with other European languages? Hilfe oder ? auf deutsch?
-- I make a reasonable middle-class wage by going to work and not spamming blogs with scams.
note that between win98 and nt4 there was no directory location change, it was %windir%\Profiles\%username%. XP is no different from 2000. so there's only been one change.
additionally, its not like you should ever see this directory path except if youre using a legacy app.
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.
It annoys the hell out of me too (also because half the times that I see paths written in the GUI, they have to be cropped because they are too long). So, the first thing I do after installing Windows (with an answer file to change "Documents and Settings" to "Users") is change "Program Files" to "Programs" (and search/replace "\Program Files" to "\Programs" in the registry).
Re:somewhat OT
by
Anonymous Coward
·
· Score: 0
> This means MS kludged the long filenames into some other "hidden" place.
Each file with a long filename has two directory entries (one for the 8.3 and one for the real filename). If the fs implementation you're mounting with doesn't show the long filename, then you should find one that actually understands the filesystem it's claiming to be.
> 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.
Some people use things like quoting "" so separators aren't evaluated. Nice shells will even do this automatically for you during times like globbing and tab completion. If your shell doesn't support quoting and doesn't support choosing what separators to use, then your shell sucks.
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?
> Yeah, and that's especially annoying when software developers aren't aware of > SHGetFolderLocation [microsoft.com] and hard code directory names like "Program Files
Uh huh, like, err, Microsoft themselves. Install Win98; set the Windows directory as D:\WINDOWS and the Progs directory as C:\Program Files and hey presto! A few files find their way into D:\Progra~1 ! Ingenious.
Re:somewhat OT
by
Anonymous Coward
·
· Score: 0
FYI. If you are doing it on install, you can set params for the location of all the "special" directories in the installer config. Search Technet for "unattended install". Much more reliable than massive registry editing.
Also, there's a few $50 programs that basically don't do anything more than your scripts (relocate programs between drives). Release them GPL and put those jokers out of business!
And for that comment on Macs. Most applications for Mac OS X have to be installed in the/Applications/ directory (at least the ones that come with OS X). Otherwise, when you run an update, the updater doesn't work correctly because the install path for the applications is set to be/Applications/. I'm sure they could throw in a search for file location script in there as well, but for the most part it hasn't happened yet. Actually, I like having all my GUI apps located in the same place. I provides at least a little constancy for using my computer or telling people where to find applications on thier computers. I also appreciate the Cocoa approach to having the Applications in reality being just bundled directories. Much cleaner user interface. That and you can drag and drop an application and you don't have to worry about missing a file necessary for the app to function. If only the freaking Carbon developers would get a clue. But then again, that's legacy code for you.
I don't sig, I just eat cheese.
-- Don't Ask Questions. I don't know the answers and even if I did I wouldn't tell you.
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.
A real shell can handle spaces just fine by one of two methods 1) put the file name in quotes, i.e. "My Computer" 2) use the escape sequence (or what other method) , i.e. "\ " or something.
My choice of shell, bash, works just fine with spaces; tab completion and everything.
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?
Yeah, and that's especially annoying when software developers aren't aware of SHGetFolderLocation [microsoft.com] and hard code directory names like "Program Files".:-P
Of course it's Microsoft's fault that some clueless software developer failed to read the documentation and hard coded something like "C:\Program files". A programmer doing something similarly stupid on any other system, of course, is an idiot. But on Windows it's the operating system's fault.
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.
I remember one time I decided I'd learn TCL. I was reading the installation instructions, and saw an interesting bit. Apparently, at some point in the Windows install, there was a space character stuck in a directory name and TCL couldn't deal with that. BROKE EVERYTHING. So you have to fix it by hand.
I went and brushed up on my Perl instead.
--
Marketing-driven companies end up over-marketing their products.
Engineering-driven companies end up over-engineering
Re:somewhat OT
by
Anonymous Coward
·
· Score: 0
I am a sysadmin and I can tell you that none of my "users are scared of breaking their computer."
And if they are scared, thay are brave and do not let that fear get in their way.
Every goddamn version of Java I've ever installed on Windoze didn't play nice nice when there were spaces in the CLASSPATH environment variable. And of course Documentum amongst the other throngs of brilliant programs installs its jars in "Program Files", and then adds those jars to my system classpath, ARGH!
Somehow, some clairvoyant mad scientist at Micro$oft must have known this waaayay back in Win95 days, and he's still laughing about it.
C'mon Sun, throw me a bone here... make spaces work in the CLASSPATH.;(
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
Re:somewhat OT
by
Anonymous Coward
·
· Score: 0
Great, but what if I installed to G:\SUCKIT
Re:somewhat OT
by
Anonymous Coward
·
· Score: 0
Backups aren't what you needed. Just a goddamned boot disk could have saved you.
Most applications for Mac OS X have to be installed in the/Applications/ directory (at least the ones that come with OS X). Otherwise, when you run an update, the updater doesn't work correctly because the install path for the applications is set to be/Applications/.
Which Apps are you referring to? True, I've seen hard-coded idiot installers, but any self-respecting Mac programmer ought to be calling the ToolBox,
I'm sure they could throw in a search for file location script in there as well, but for the most part it hasn't happened yet.
not assuming or searching or using any kind of script. Anything else (like the comment directly above) treats the MacOS as if it were WinDoze, which it absolutely, fundamentally isn't (idiot Carbon developers who come from DOS traditions nonwithstanding). MacOS is Toolbox-based, not directory-based; 'executables' are pointers within the desktop metaphor; and you should be able to move the underlying file as much as you want, without the pointer losing what it points to. If you can't follow the pointer, something's wrong.
#(@$$@)* Carbon developers.:P
has a file type and creator system (even if it's a quarter-century old), and:)
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.
In Finnish version (at least in all of 9x), the directories are C:\Windows (no surprise) and C:\Ohjelmatiedostot. But this has never been a problem, because all of the apps - even English versions - I've used have defaulted to install C:\Ohjelmatiedostot\Wherever, except for some rare applications that insist calling it C:\Program Files.
And "Bureaublad" sounds whole lot more interesting than "Työpöytä", which is always a thrilling directory to cd to, at least in shells other than Cygwin bash. =) And when mounting that to other OSes, the weird characters are always interesting. (For some obscure reason, it now seem to show up properly in Linux, but that sort of depends on shell...)
What are you trying to say here? I'm assuming you're tone is sarcastic, but that doesn't seem to make sense because the parent post didn't blame Windows. If anything, the blame is placed on "software developers who aren't aware...". If you are not being sarcastic, then you are well on your way to becoming the stereotypical Slashdot poster.
The application (word, office, whatever) saves your document in that loc by default, so when you need to copy it, you have to do a search on your harddrive to find whereever the hell the app decided to hide the file.
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.
Under Windows NT Outlook saves to this directory:
C:\WinNT\profiles\%username%\
I seem to remember that the "My documents" is used in Windows Me.
So, I think you just proved my origional point: it's a different directory for practiaclly every version of Windows.
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."
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.
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.
Re:Crufts - Not only software!
by
Anonymous Coward
·
· Score: 0
Wow - your browser is terribly broken! It's not his fault you're using something that's nonstandard. Attend to the beam in your browser's eye before you point out the mote in his text's.
Oh, PS: hello silly browser
Re:Crufts - Not only software!
by
krazyninja
·
· Score: 2
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.
Re:Crufts - Not only software!
by
sqlrob
·
· Score: 1
How is a browser that sticks to the standard broken?
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...
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.
Re:Crufts - Not only software!
by
sqlrob
·
· Score: 1
There is no such thing as properly in this case. It doesn't exist. The order violates the standard. Any choice at all can be considered proper.
Agreed; I was using "mystery commands" in the author's sense, i.e. that you're not in the application you think you are (because all the windows have closed and only the menu bar remains) so that you don't get the behavior you expect from a key combination.
-- Actually, I was trying to be Insightful, not Funny.
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?
Re:Crufts - Not only software!
by
RegularFry
·
· Score: 1
So why not save the document as a sequence of events since "blank document" state? That way, you could arrange to know the final state fairly easily, while being able to back the document state up to any stage in its development. As an added bonus, you could throw in the option to generate a "snapshot" file, with only the current state saved, and no backup information.
-- Reality is the ultimate Rorschach.
Re:Crufts - Not only software!
by
Anonymous Coward
·
· Score: 0
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!!)
Aaaargh! You had to go and remind me: Microsoft Visual Studio 98 which deletes any data on the clipboard when it starts up. Whichever fsecking programmer thought *that* up will be first against the wall come the revolution.
Re:Crufts - Not only software!
by
Anonymous Coward
·
· Score: 0
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
Automatic version control is the solution here. VMS had a kludge to that effect with version numbers, but really what you want is to be able to say be able to get the old version - if you want it. Or, be able to discard changes you made.
It's like multiple undo in programs, but based on when you opened or closed the document. Storage is almost free, you can do that now.
I read his criticism of the "Quit" function several times and still don't understand his gripe.
It was Macintosh-oriented. Basically, when there's no window open, the program shouldn't be running. The only reason you'd want a program running is to create a new document, and there are better ways of doing that (an OS interface for example - select new, select application, and the application opens with a default document or an assistant. Windows tries to do something like this in the file manager).
I think the criticisms are valid, but there's always been a sort of mental inertia against trying to change things, so progress is very slow. I mean, even a modern OS like Linux stores barely any metadata in its filesystems, and requires directories to represent hierarchies. It's so entrenched in most people's thinking that they never question whether it could be better, let along be able to conceive of what that better thing could be (hint, look at ReiserFS).
Re:Crufts - Not only software!
by
Anonymous Coward
·
· Score: 0
Sorta true -- some of the nasty old-style dialogs are built-in to Windows. Like the "directory picker" that you see in VisualSourceSafe and some other places. Lotus even had to release a technote explaining "Why is this dialog box so ugly on Windows?", and if something was too ugly for Lotus Notes, that tells you something.
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.
Re:Crufts - Not only software!
by
Anonymous Coward
·
· Score: 0
As regards "autosave": What about implementing a master "CVS"-style version control system for all documents? There would be overhead involved, but I think it would be a better solution than mindless autosave. This way you could pick and choose what version you needed to go back to.
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.
Re:Crufts - Not only software!
by
Anonymous Coward
·
· Score: 0
Hmm, I thought that maintaing nesting order wasn't mandated until XHTML (which/. ain't) But I don't know enough about SGML to say.
It is true that his browser behaves differently from most other HTML browsers.
Re:Crufts - Not only software!
by
Anonymous Coward
·
· Score: 0
"Also, Windows doesn't behave as he describes...close the last window and the application quits"
What he's really talking about is on Macs where you can close the last window, SEE THE DESKTOP, and the program is still running. In Windows, applications don't let you see through to the desktop when they are maximized. They will provide a gray (or whichever color you've set) background to let you know it's still open.
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
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.
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.
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.
Re:Why do we have to save our work by hand?
by
Anonymous Coward
·
· Score: 0
The point is that you can now have virtual unlimited levels of UNDO. Ctrl-Z your way back if you've goofed. And why not a diff option instead, which would allow you to pick what you want to chuck and what you want to keep. The important thing here is to think outside the box from what interfaces offer today.
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:
User creates a new document
Software saves a copy of it to disk in a temp folder
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.
Re:Why do we have to save our work by hand?
by
Anonymous Coward
·
· Score: 0
>and it certainly has it's uses.
You mean "its uses". The use doesn't belong to the it.
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.
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.
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.
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!
Re:Why do we have to save our work by hand?
by
jez9999
·
· Score: 1
Problem: Undo only works in the current application's instance. So, if you mess up your document, exit out, and go back in, you've lost it. The autosaved file would have to include undo information, which could massively increase its size... better for the user to specify when and what they wish to keep a permenant copy of.
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.
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
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
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.
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.
Re:Why do we have to save our work by hand?
by
beofli
·
· Score: 1
The operating system should continuously put the history of your document to disk: it should be a seamless versioning system. "publish"-points could be added if a user wants to.
Anyway, after a sleepness night, you start up your computer and "undo" some changes on the document you were working on last night.
That is what I am waiting for!
Re:Why do we have to save our work by hand?
by
mce
·
· Score: 1
I frequently make all sorts of changes to documents just to see if an idea might work. I do not want to have to explicitly undo these if I decide to toss the idea later on.
Or, when doing something like merging 2 or more PowerPoint presentations (Oh, the horror!), I always gradually strip down (one of) the source document(s) as work progresses, since this makes it easier to keep track of what still has to be done. I do not want to have to undo all that just to preserve the originals.
And I definitely do not want to have to undo the last 35 modifications out of a list of 45, thereby loosing lost of time to make sure that I do not undo one too many. I want to save the document when I think I have something worthwhile, and I want the ability to go back there with minimal effort.
Basically, my point is that consider 1) myself being clever enough to known what I want to do with my document; 2) the computer being nowhere near clever enough for it to start outsmarting me. This is, actually, the one thing that I dislike most about typical Windows software: the fact that it has a very bad tendency to treat the user like a moron who doesn't know what is best for him/her.
Re:Why do we have to save our work by hand?
by
firecode
·
· Score: 0, Redundant
Have you ever heared about CVS?
(in this case it should be automized)
Re:Why do we have to save our work by hand?
by
920
·
· Score: 1
Undo is nice and all, but I doubt it has enough space to undo several paragraphs of typing done, many little edits, which you later find unnecessary because you decided to change the direction of your work.
Think about opening a file, making some changes and then just deciding you don't like what you just worte and you don't want to work on it right now because you have a case of writers block. You're frustrated enough as it is, do you really want to sit there and CTRL+Z for 1 mins while you get your document back to the way it was when you opened it?
Just something to think about.
-- "Perl 6 gives you the big knob" -- Larry Wall
Re:Why do we have to save our work by hand?
by
zozzi
·
· Score: 1
I remember a DOS editor which saved every single character one typed in real-time and it was fast enough even in those days. The name escapes me but I believe it was written by Borland (don't quote me on this though!)
-- ---
Re:Why do we have to save our work by hand?
by
Anonymous Coward
·
· Score: 0
Actually, it does mean to show posession the way the poster was using it. "it's" is a contraction.. read "and it certainly has it is uses" as it's. "Its" is posessive, "it's" is a contraction. YAY the english language and its ambiguities(sp).
Re:Why do we have to save our work by hand?
by
jeff_bond
·
· Score: 1
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?
Well maybe the word processor could automatically save all your work rather than the end result of all your work. By that I mean the saved file could contain information about everything you did to that file, so you could go back to any point in its past.
Jeff
-- stty erase ^H
Re:Why do we have to save our work by hand?
by
great+om
·
· Score: 1
The question is:
What if you want to send a document over to
someone --let's say a customer-- and you didn't want
-- -------
Oh damn.... the Sigfile escaped...
-Great OM
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"
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.
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
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?
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.
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.
Re:Why do we have to save our work by hand?
by
GigsVT
·
· Score: 1
You realize that these "features" are some of the major things in MS Office that MS takes flak for, right?
-- I've had enough abrasive sigs. Kittens are cute and fuzzy.
Re:Why do we have to save our work by hand?
by
Anonymous Coward
·
· Score: 0
Ever heard of "Undo" and "Redo"...These functionalities don't seem like cruft to me and with them autosave begins to makes sense for your circumstance.
The problem with Undo/Redo is that its not Undo/Redo/View Changes/ReApply Change(s). Undo/Redo is a First-In-Last-Out implementation whose basic concept has not been expanded upon...
It would also be nice, in a document, to see the before and after views of an object while viewing its history of change. I'd like to know my change history. I'd like to manage it to make myself a better writer...Currently you can't "see" your history of change with a document but are given simple access to it with Undo/Redo.
It would be nice to regroup FiLo operations by object so that I can reapply a sentence change I made on paragraph 3, 2 hours ago without Undo-ing changes to other objects that happened since.
Implementing cvs-lite-like features to the already identified document components might be nice...
Re:Why do we have to save our work by hand?
by
phil+reed
·
· Score: 1
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? RSX-11, way back 20+ years ago, did not overwrite on save. The file name had 3 components (not 2), the last being a version number. A save automatically saved with a version number one higher, and didn't touch the older versions. If you just specified the two components (name.type), you always got the latest version. If you wanted an earlier version, you specified name.type;version and you got it.
--
...phil "For a list of the ways which
technology has failed to improve our quality of life, press
3."
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.
Re:Why do we have to save our work by hand?
by
SnapShot
·
· Score: 1
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.
Once again, it would depend on how the application decided to handle the auto saves. In an application like Photoshop, for example, the autosave might simple save the Undo queue. If the application were to crash, the Undo queue could be run from back to front on your original file to recreate the changes. This would, of course, be slower than simply loading the changed file, but much better than losing all your work.
-- Waltz, nymph, for quick jigs vex Bud.
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!
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.
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.
Re:Why do we have to save our work by hand?
by
Tarpan
·
· Score: 1
Think about it.
Done. It still sucks. It might work for short and small text documents, but think about keeping track of all the changes you can do in a huge image for a long time and you will notice that it is not a good idea since you will run out of memory.
Re:Why do we have to save our work by hand?
by
Anonymous Coward
·
· Score: 0
> 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).
How exactly do you save diffs with a *text* document?
Re:Why do we have to save our work by hand?
by
Eccles
·
· Score: 1
What if I change something in my Word document, but later on decides it was no good and wish to discard it?
Perhaps your document should save its entire creation history, with annotations of when you did key saves or something, rather than just its current state. Then you could open it and undo your most recent changes if you needed, save a copy of an intermediate version, etc.
-- Ooh, a sarcasm detector. Oh, that's a real useful invention.
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.
Re:Why do we have to save our work by hand?
by
Anonymous Coward
·
· Score: 0
Yes.
I'm still not too good with the VMS command line, but I really like the idea of building document versioning in to the filesystem. For most functions, commands operate on the most recent version, and any write to an existing file creates a new one with the next version number. Only dangerous commands like DELETE require specific version numbers (or wildcards), and branching off from an older version is simple and easy.
A GUI file manager it could make it even easier, representing all past versions with a single icon. Older versions could be accessed through a Revision History menu option, but otherwise they would be transparent.
Re:Why do we have to save our work by hand?
by
MadKeithV
·
· Score: 1
Just have a timeline slider at the top of your document instead of the anal "undo" button which undoes only one action at a time IF YOU ARE LUCKY (MS Visual Studio 6.0 macros spring to mind, they actually undo one command at a time, UGH!).
Just slide the slider back until the document looks like how you wanted it. Instant document replay! You could add "waypoints" to the slider, perhaps even forks and the like, and you'd be able to see the lifetime of your document.
As well, there could be a "finalise" button that erases all undo history from disk and leaves you with a single (perhaps not directly editable) version of your file that's marked as the final product. Your way of telling the PC "I'm done with this". Dangerous button though:)
Re:Why do we have to save our work by hand?
by
Pred
·
· Score: 1
Quark lets you set a backup folder and have the program save backup copies into that folder according to a time interval that you set. Maybe all programs should impliment that.
-- "You all laugh because I'm different, I laugh because you're all the same."
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
Re:Why do we have to save our work by hand?
by
CaptnMArk
·
· Score: 1
I suspect you shouldn't put all interim revisions into the version control system.
Re:Why do we have to save our work by hand?
by
OeLeWaPpErKe
·
· Score: 1
Moreover, can you imagine what would happen if a config file editor would do this ?
Seems like a really bad idea.
Oelewapperke
Re:Why do we have to save our work by hand?
by
Anonymous Coward
·
· Score: 0
Filter -> add noise -> twiddle thumbs while Photoshop saves the complete layer to the history file. If your system does not have enough RAM to hold the undo buffer, you know very well what I'm speaking of. And you can't simply save the instruction because the result isn't deterministic. Besides, saving the undo queue only helps in case of a crash. Under normal circumstances the file still has to be saved at some point or the next start is going to be painfully slow.
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?
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.
Re:Why do we have to save our work by hand?
by
Ollierose
·
· Score: 1
Perhaps if you break the document down into different chunks to the Code diffs Code line idea... say, a sentence:)
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.
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.
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.
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.
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).
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!
Re:Why do we have to save our work by hand?
by
PissedOffGuy
·
· Score: 1
... cmd supports it. createfile supports it.... ??
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
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.
Re:Why do we have to save our work by hand?
by
Anonymous Coward
·
· Score: 0
If you use a modern, advanced editor like vi, you can have the best of both worlds. You can revert to the old one until you save, or if there's a crash you can run vi -r to go back to the state at the time of the crash.
Re:Why do we have to save our work by hand?
by
peu
·
· Score: 0
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.
I wrote a turbo Basic editor that have no open, close or save buttons, thats because NO one ever wanted to use it...
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
Re:Why do we have to save our work by hand?
by
Anonymous Coward
·
· Score: 0
'it certainly has it is uses' doesn't make any sense.
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.
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.
Re:Why do we have to save our work by hand?
by
dpuu
·
· Score: 1
If you want to revert to 5 minutes ago, then provide that feature instead. Current apps just provide "Save", plus a linear undo/redo mechanism. We need to add "revert to time"; then replace "save" with a named-checkpoint feature.
Of course, saving all this history could result in embarasing situations (and big files, but thats less important). When sending the document to another person, you'd probably want to do a "send without history" as the default.
-- Opinions my own, statements of fact may contain errors
Re:Why do we have to save our work by hand?
by
ReverendRyan
·
· Score: 1
How big a file do you edit on your palm? A screen full? A page? What if someone is working on a 15 page document, spends 45 minutes changing it around, then decides to scrap most of the changes? Do they have to click 45 minutes worth of "Undo"?
The current solution is to open the saved version and copy/paste... Without manual saves, it would be almost impossible to do such a task.
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
Re:Why do we have to save our work by hand?
by
CoolVibe
·
· Score: 2
CVS can do this.
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?
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?
Re:Why do we have to save our work by hand?
by
Anonymous Coward
·
· Score: 0
Removing the "save" (and consequently, the "save as") command produces too many extraneous features necessary to replace it.
Example: I have worked with many documents where I had wished to keep past revisions. However, as one of your "file-size whiners," I place a requirement upon myself that only certain, select revisions are kept in this manner, these being the ones containing key changes to the document. However, I don't know which version is a key revision until I begin editing it again.
Now, what alternative method of save can be as simple as the "save" and "save as" commands in this context? I would dare say that if a program was to account for this particular behavior, it would have even more clutter, and unnecessarily at that. Are we supposed to remove this so-called "cruft" by replacing it with more?
As a programmer, I have only two design considerations outside of meeting the requirements without failure: efficiency and ease of use (personally, ease of maintenance falls under another category of design). Ease of use applies only to the end-user and not (if) any programmers building off of it, and includes intuitiveness and user control and choice. As far as I can tell, removing the "save" feature only serves to reduce efficiency (memory-wise, and even in certain cases, computation-wise) and reduce ease of use.
All in all, my feelings towards the article is as follows: <proverb> If it ain't broke, don't fix it. </proverb>
Don't get me wrong--I feel there are many things wrong with how modern OS's work today; my thoughts on what needs to be changed and their respective solutions just don't agree with anything stated in the the article.
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.
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?
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.
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?
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
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
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?
Re:Why do we have to save our work by hand?
by
cakoose
·
· Score: 1
Xdelta is a program that can generate deltas on binary files. Since it uses the copy/insert method for generating deltas, it is often more efficient than normal diff (especially for transpositions, which are relatively common in source code and other regular text).
Since text files are a subset of binary files, Xdelta can handle these too. The reason people still use diff is that the output is readable. Xdelta output isn't readable, but readability doesn't matter if you just want to store revisions. A document editor (or whatever) can use the Xdelta method to store revisions and reproduce older versions. Then, it can use some custom highlighting or formatting to display the changes to the user. I've seen tools that do this with regular diff output to make it easier to understand.
Re:Why do we have to save our work by hand?
by
cakoose
·
· Score: 1
Yes, that would suck. I type weird things into documents and source code when I'm idle.
An application, however, could provide the option of encrypting the delta information. This option should probably be turned on by default to avoid mistakes such as the one you describe. Again, though, if the application isn't designed properly, just managing this crap could turn into another headache.
Re:Why do we have to save our work by hand?
by
pipingguy
·
· Score: 1
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.
How about the UNDO command (multi-level ones are nice).
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.
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.
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?
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.
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.
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."
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".
Easily solved. Save changes along with a nice generous undo buffer, including pointers which are set up so that the app knows where the save points and close (document) points are. When you quit a document, if you do not agree to save changes, the document reverts to the state it was in when you opened it. one advantage to this way of handling it is that it also allows more forgiveness to user error - if you quit a document and agree to save your changes when you meant to cancel them, you can still revert to the last or any document close point or you can just step bnackwards through your undo buffer to try to find the document state that you want to work from.
Russ
-- Information doesn't want to be anthropomorphized anymore.
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.
..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).
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!).
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.
any sensible application auto-saves to a different filename so that if you decide to abandon your changes, you can just quit
Others have alluded to this, but the simple answer is for the system to keep track of file versions, and the user then simply chooses a version for a particular purpose.
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.
I think the idea is that once you have closed the document, the application is no-longer there. It relies on applications launching quickly when you open a document of course.
What about if the application is taking over the whole of the desktop?
Does anyone seriously use maximised windows in this day and age? 8-)
Seriously, drag-and-drop beats open/save dialogs hands-down. If you've ever had to load, edit and save a series of documents from one deeply nested location to another deeply nested location using open/save dialogs, you'll know what I mean.
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.
Re:Flawed
by
Anonymous Coward
·
· Score: 0
With the PPC its very very easy not to close applications.
Worse even: in the beginning Microsoft explicitly forbade (is that English?) a 'close' button on any application/device that wanted to be certified! Usually that meant you had to navigate into the task list and kill each application manually...
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.
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.
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.
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.
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.
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
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.
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
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.
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
Re:Flawed
by
Anonymous Coward
·
· Score: 0
Problem is that you are critiquing Document-centric, from an Applicaiton-centered standpoint. Which is understandable, because most Document-centric UIs were rather half-assed (OS/2, for example - MacOS is even a worse example of Doc-centered).
In a proper Document-centered model, you would double-click on a image and then PSP or Photoshop's toolset would be made available to you, and you could use either or both - just click on "Show Pallette" or something, maybe with some hidden conversions.
Of course this all assumes that PSP and Photoshop are in 100% agreement in terms of the file format. That will never happen for competitive reasons (even in the 'free software' world of KDE and Gnome), which is why Document-centered will never go anywhere.
Does the Psion multitask? I use a Palm-based PDA, (Kyocera 6035 palmphone) and while it can't run multiple apps at once, I don't really miss that for the things I want to do on it. Switching between apps is easy enough, and I don't do anything requiring background processing or the like very often.
However, one thing I do like is that the phone and the palm can both run at the same time, so I can talk to someone and look something up or take notes or whatever at the same time.
Todd
-- --
!todd erases a red dot!
I steal music on the internet.
Re:Flawed
by
Anonymous Coward
·
· Score: 0
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.
Excellent logic. Microsoft implemented something poorly, therefore implementing it well is impossible.
Re:Flawed
by
Anonymous Coward
·
· Score: 0
> Does anyone seriously use maximised windows in this day and age? 8-)
You bet; I consider viewable desktop as wasted monitor space.
Re:Flawed
by
Anonymous Coward
·
· Score: 0
>Does anyone seriously use maximised windows in this day and age? 8-)
almost exclusively: http://freshmeat.net/proejcts/ion/
>Seriously, drag-and-drop beats open/save dialogs hands-down. If you've ever had to load, edit and save a series of documents from one deeply nested location to another deeply nested location using open/save dialogs, you'll know what I mean.
And when you accidently drop that file in who-knows-what folder? This has the same problem as the original author's idea that context-menus be one click activated: What happens when me finger slips off the button? (This happens alot with touchpads that force you to contort your hand as you complete an operation like this.
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.
Re:Flawed
by
Anonymous Coward
·
· Score: 0
Others have alluded to this, but the simple answer is for the system to keep track of file versions, and the user then simply chooses a version for a particular purpose.
If the user can remember that it was version 238 he felt really happy with, not version 239 where his son was pounding on the keyboard.
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.
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.
"Best thing was that you could drag from one application into another to have it load in there. Neat. But very wierd."
Weird and _horrible_, if it meant that you couldn't save with keyboard alone. I mean, in oder to save a file I had to use the mouse? I write a lot in my work (translation) and I often hit Ctrl+S even in midsentence. Any UI that required me to use the mouse when saving would make my work so inefficient it's scary to even think of.
-- "Only the small secrets need to be protected. The big ones are kept secret by public incredulity." - Marshall McLuhan
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.
That's one of my gripes about RISC OS - the moment you realise you've dragged your save icon, and realised the place you want to put it isn't visible. Another is having to uncover the title bar of a window in order to bring it to the front - I don't know if this has been modified in later versions!
Anyway, seeing as most of us are blessed with two hands, why not have a secondary mouse interface? While we've picked up and dragged the save icon with one hand, we could be moving windows around to find a destination for the file with the other hand. After all these years, I'm still playing around in these desktop metaphors with one hand tied behind my back.
Lazy Linux Programmers
by
joshsnow
·
· Score: 1, Interesting
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./i>
No, the hackers aren't lazy - they're just too busy trying to ape the MS windowes look and feel....
Re:Lazy Linux Programmers
by
Anonymous Coward
·
· Score: 0
Preview button is there for a reason...
Re:Lazy Linux Programmers
by
LordLucless
·
· Score: 1
There is a reason to this. Windows is currently king of the desktop market. Alternative OSes, like Linux, want to get Windowers to migrate to their system.
Users are not going to migrate if nothing works the same in the new system. Even if its "better", they're not going to use it if they can't understand it.
Linux, at least in terms of the UI elements, has to follow Windows conventions if it wants to win followers from the non-geek world. Is as simple as that.
-- Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
Re:Lazy Linux Programmers
by
CaptnMArk
·
· Score: 1
It's good to take the good stuff from windows.
But there's not reason to take the bad (and it's more work, because good stuff is usually simple).
Re:Lazy Linux Programmers
by
DaveV1.0
·
· Score: 1
Windows is currently king of the desktop market. Alternative OSes, like Linux, want to get Windowers to migrate to their system.
Users are not going to migrate if nothing works the same in the new system. Even if its "better", they're not going to use it if they can't understand it.
Linux, at least in terms of the UI elements, has to follow Windows conventions if it wants to win followers from the non-geek world.
So, are you saying that if the OSS Community came up with something better, easier, more secure, more stable, and better supported people would not use it?
Something to think about: Linux is based on Unix, which is about 30 years old. Its GUI, and that GUI's paradigm (the WIMP model), is about 20 years old. And, for the most part, the look and feel of that GUI has been duplicating that of Windows and MacOS.
The most revolutionary thing about Linux is the way it was developed and distributed. The most revolutionary thing about most of the OSS applications are the way they are developed and distributed. But, there has been very little revolutionary change in the way software works and how people interact with it. The challenge is to create a UI that is easier to use and more intuitive and "better".
Oh, and maybe if instead trying to change the OS experience, if the new UI was implemented on some applications that are "better" and garnered users, then changing to a new OS that uses the new UI would not be so painful.
We do not have to follow Windows, we merely have to be better, easier and more intuitive.
-- There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
Re:Lazy Linux Programmers
by
LordLucless
·
· Score: 1
So, are you saying that if the OSS Community came up with something better, easier, more secure, more stable, and better supported people would not use it?
Yes. I am. Oh, not the business side of things. That runs by practicality, and they'll take whats most practical. And not the tech-savvy, who will try anything, especially if its free. But for the average shmoe, they want what they're used to.
-- Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
This is certainly true when migrating users don't have a knowledgable person guiding them. However, when they do have someone in the know to help them, it might be really different.
Yes, a Linux/KDE desktop isn't as radically different from Windows as what the article might suggest, but I might as well share a case I can directly experience...
After Windows completely messed up on my parents' computer, I decided to install Linux on it for them. Now my father still uses Windows at the office, so he can make objective comparisons.
So far, none of the complaints that I got have anything to do with the system simply being "different". They only had to do with situations where Linux obviously performs worse:
- printing is a nightmare because, with the exception of applications integrated into the desktop (KDE in this case), every single app has its own print dialog; functionality and settings vary greatly - OpenOffice 1.0 start up is horribly slow; this is partly to blame on low memory size, but StarOffice 5.1 on Win98 did load up considerably faster on the same hardware - OpenOffice isn't integrated into the desktop, i.e. its look and feel is completely different from all other programs - Konqueror is horribly slow/laggy as a file manager. Yes, there are probably faster file managing programs around, but then they wouldn't be as integrated...
On an interesting sidenote, my father (who is used to the likes of PhotoShop and Corel PhotoPaint) actually _likes_ TheGIMP since I gave him a short explanation of how it works! He very soon complained about the file open/save dialogs and printing, though - again, integration is the key.
Basically, there has been no fear or hostility towards anything being different. Many users are at least willing to give a new system a try. But they only want to try and learn things once. If they have to learn everything completely anew for every single application that they need to use, then they're just not going to switch to the new system.
Re:Lazy Linux Programmers
by
Anonymous Coward
·
· Score: 0
> It's good to take the good stuff from windows. But there's not reason to take the bad (and it's more work, because good stuff is usually simple).
The idea isn't to take 'good' or 'bad', it's taking what's familiar with the ability to change those settings later on if desired. 'Good' or 'bad' is a personal opinion; better (if the idea is winning migrating Windows users) to mimic the interface as-is, and give the power to change it as time goes by.
Re:Lazy Linux Programmers
by
Anonymous Coward
·
· Score: 0
> they're just too busy trying to ape the MS windowes look and feel...
Problem is, they copy the parts of Windows that are worst. The things in Windows that are good, they don't even notice and they never make it into linux.
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.
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.
Re:Skinning == crap!
by
Anonymous Coward
·
· Score: 0
I agree. Let's take, oh I dunno, Mozilla as an example. The people who came up with that horrendous GUI should be shot!
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?
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.
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.
Re:Skinning == crap!
by
Anonymous Coward
·
· Score: 0
On the other hand, many 'power users' like to personalise their desktop.
Changing some colors and putting a graphic on your desktop makes you a power user?
Wow, then there's a lot of women in my office with Winnie the Pooh and Hello Kitty themes on their machines that deserve a lot more respect from the IT staff.
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).
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.
Re:Skinning == crap!
by
Anonymous Coward
·
· Score: 0
elitist prick... have you ever compiled something yourself with chages you made? do you even know how? should we HAVE to know how to use *nix?
Re:Skinning == crap!
by
Anonymous Coward
·
· Score: 0
I happen to agree with him 100%, and yet I have customized every inch of my machine to the limit.
Skins are not a means to enable a power user to alter his machine, it is a superficial method to change the look (and only the look).
As an example, if WinAmp had a resizable GUI instead of a skinnable one, I could size it so that it didn't have to scroll information. As a power user I would prefer that. Skinning (usually) rules out resizability.
I typically don't care much about how programs look unless it really hurts my eyes. What I would like to be able to do is change the way GUI's *function*, for example by changing control locations (from one window to another, sometimes), removing functions I don't need, and adding functions that I do.
That is also a form of skinning, and I would applaud it. What the original poster meant for 'pasting a bitmap over an otherwise perfectly fine interface', and that is just stupid.
Re:Skinning == crap!
by
Anonymous Coward
·
· Score: 0
If I see something with colorful, bubbly bitmaps on the gui, I probably won't use it.
Seriously, you shouldn't let your manhood be threatened that easily.;-) Embrace individuality!
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.
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.
what are you talking about? icons as representations of files provide a clear way to see class info (icon says its an image file), and the text underneath is instance info (filename says exactly what image file it is). besides being useful for that, icons present a larger click target, they're easily identified as an object and they're almost universally understood.
both the icon and the text are good; what's your beef?
Re:Skinning == crap!
by
Anonymous Coward
·
· Score: 0
That's right, traffic lights are red, yellow
and green. However, they have to be lined up,
so really you have just one icon.
Now OTOH notice how practically all
other traffic signs have text. Yes, they have
specific shapes and colours, but they still
include text.
Personally I have always been unexcited by
icons. I'm not a child. I can read.
The "shape" of a word is already an icon
as far as I'm concerned.
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
Dipshit troll. He did not say you had to know how to recompile software to use a free operating system, merely that the possibility exists with Free Software for you to do so, if you would ever have a reason to.
To satisfy those, at least skins should be implemented at the OS level, so that a user can enable/disable it system wide...
I agree. That's why I hate skinning in, say, WinAmp, but like the idea in KDE or GNOME. Those are system-wide, or as close as anything on X11 gets. I want consistency between applications.
... [even] with per-application rules
Don't agree here. Again, I want consistency.
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.
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.
Re:Skinning == crap!
by
Anonymous Coward
·
· Score: 0
You know, on XP the little animated puppy dog would not be so annoying if the search function weren't so damn slow.
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
Re:Skinning == crap!
by
Anonymous Coward
·
· Score: 0
If I come across an application that uses its own customizably skin, or perhaps what would be better described as "model", I simply do not use the application. I am referring specifically to those that seem to believe that my experience as a user will be bettered by looking and flashy colored plastic-like blobs, in which I need to locate buttons. No amount of functionality it can provide can overcome the hassle created by a non-standard gui.
I prefer a very spartan UI. Now, that is not to say that I only use text consoles, but certainly I would if they could adequately provide the visual feedback required by some applications.
I find a very trim UI to be asthetically pleasing.
While I agree with some of your comments regarding everyone jumping on one bandwagon or another (transparency, icons, OSX, XP) when designing a theme or skin. However, I think you're wrong in saying that skinning is not for 'hardcore' computer people. I'm a CS student and spend a fair amount of my free time playing around with computers... running linux on old family computers, writing programs outside of class, and just generally playing around with them. However, when I have to use windows for my senior project, I run webshots for my background. I personally like the fact that it'll change the background for me every 15 minutes. And to a random picture that is in a collection that I define. There is nothing wrong with skinning as long as it's asthetically pleasing to the user.
Re:Skinning == crap!
by
Anonymous Coward
·
· Score: 0
I'll try it with Microsoft Media Player 7.0.. if by try you mean download another media player. Even without Open Source, there exists such a thing as OTHER VENDORS...
Re:Skinning == crap!
by
Anonymous Coward
·
· Score: 0
have you ever compiled something yourself with chages you made?
Yes, every single day. I'm an Open Source author and maintainer of quite a few Free Software packages.
do you even know how?
Yes, quite well thanks, since I wrote most of the software I maintain myself.
should we HAVE to know how to use *nix?
What does Unix or Linux have to do with Open Source? Just because they happen to be major contributors to the movement of Free Software, doesn't mean that Open Source == Linux. There are hundreds of Open Source software packages available for Macintosh, Windows, and other operating systems. Some have been ported TO Linux, and some have been ported FROM Linux. Get a grip.
The point is, you have a choice, and with a bit of effort, you could modify the application to do what you wanted. If you didn't have that skill, or weren't a programmer, I'm sure many people would be happy to do it for you, just enter your credit card number below.
We don't ALL work for free, you know. Our time to customize something for a MINORITY of users who want to use an app in a way that it wasn't designed for, is slim. Maybe it's a quick fix, maybe it's a substantial rewrite. If you want it done, either do it yourself, or motivate some other people to do it for you. One way to do that is with cold, hard cash. We need to make a living too you know.
The Open Source community is about sharing. If you want to whine that something doesn't work for you, you have three options:
Stop using it
Change it yourself to do what you want
Help someone else change it to do what you want
By "taking" and not giving back (time, money, contributions to the project) you are nothing more than a troll, who wants everything and wants to give nothing in return. For you, our priorities to help you fall to the bottom of the pile.
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....
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.
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.
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.
Re:Represents a Computers Working
by
nmg
·
· Score: 0
(assuming that the user wasn't already familiar with having to press the "save" button.)
Which millions of people already are. It's automatic for me to press Ctrl+S every few minutes.
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.
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.
Re:Represents a Computers Working
by
fozwinkel
·
· Score: 1
If Operating System designers made microwaves, we would not have to deal with "counterintuitive" power levels and timers. For more heat you would drag log icons onto the oven icon, or operate a virtual bellows with the mouse. Done-ness would be indicated with a cartoon chicken going from white to brown to black, and then being replaced with an animated ball of fire. This would ensure old fashioned hearth users would not be intimidated by the new technology.
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.
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.
Re:Represents a Computers Working
by
e8johan
·
· Score: 2
More efficient!
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.
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.
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.
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.
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.
It is true that Windows software is the most agregious offender in model dialog boxes that demand your attention. Thankfully, some apps now let you set a preference option - still the use has to find it and then turn it off.
Mac OSX native software (might be earlier software too, haven't used Macs till recently) gets around this. If the background app wants your attention, error, status update, etc., the dock bar icon bounces (which is a new annoyance), a notification sound will be inserted into the sound stream (eg playing music or whatever), or if you like, configure in system preferences to flash the screen. Now I have my dock bar hidden most of the time, so I get the sound notification, which is fine for me. When I am really cranking away at code or something, the sound doesn't interrupt my train of thought to badly, and I have learned to block it out at times.
What would be nice is a periodic notification based on user action. Perhaps switching app windows or shutting down an app.
-FlynnMP3 *jedi hand wave* "These are not the sigs you seek."
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.
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.
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
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...
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).
This is one of the reasons I liked the Mozilla download manager. It would encapsulate all the little downloads into a single window, which may or may not be focused.
Nothing is more irksome then splash screens that grab focus. Nothing on the desktop should prevent me from doing what I'm doing, and focus my attention unless I choose.
If I want to start an application, I'm not going to sit there, clapping my hands with glee, waiting for the app to start up, staring at wonder at teh 32-bit animations on the title screen. I might be working on something else, and want the app to load up in the background and when it's ready I will choose to switch focus.
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
Right. A well-behaved windowing application should never steal focus from the current focused window, unless you've explicitly instructed it to do so (though I lack an example; I don't know of any instance in which I'd want this to happen).
If the app doesn't have that capabilty, crack open the source tar and add it/change it at your whim. Some folks may even like your change, like, oh, I dunno, the author?
That's Open Source, to me. Perhaps behaviour isn't standardized in the GUI space, perhaps it shouldn't be, but on MY machine it is, since I can change what I don't like.
At least you can't (though there are rare exceptions) accidentally bring that parent window in front of the modal dialog, like you could with the last version of KDE's KOffice I played with (try it with a save confirmation dialog by closing a document with pending edits. Then do it with multiple documents. With no indication of which dialog belongs to which document, you get an amusing UI clusterfsck).
My suggestion would be to move the modal dialog, unless your WM is one of those brain dead ones that doesn't decorate transients or whatever the appropriate jargon is (or an old MacOS app, or a really old Windows app). Of course, this advice doesn't help with multiple nested modal dialogs, but those are bad.
-- DCMonkey
Re:More cruft!
by
Anonymous Coward
·
· Score: 0
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.
I wonder if this is even possible on Windows. My guess is that this would break a bunch of apps such that you couldn't even set focus if you want to. "Apps control their own focus" is a very annoying policy, but my guess is that it's deep-legacy.
Another very annoying problem with Windows is when apps bring up modal dialogs while minimized -- the dialog box is invisible! The app appears locked, but if you select it and press "O" for OK, all is well.
I wouldn't let Mozilla off the hook either. If one of it's annoying "404 Not Found" modal dialogs comes up when the thing is the background, half the time it will crash or start behaving erratically.
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.
You probably don't have a background either eh?:-)
-- nosig today
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.
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.
Re:He has a point but he dosn't get it!!!!
by
wilhelm
·
· Score: 1
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.
I'm going back and forth on this "save the inode, not the fname" thing, and the author could have something here. It could be pretty cool, since the program could call it anything it wanted, and it wouldn't matter (files can have more than one name, as you said). You wouldn't need to care where it was saved, just that it was accessible to your program. The whole problem is that some programs, when faced with writing the file to disk, write a new file, with a new inode, and rename the old file to fname~ or even unlink the old version. The inode that points to the proper file is now pointing to the old file, or unallocated disk space (depending on how the smart program/OS handles filesystem ref-counting). And then another problem I just though of, what happens when you need to use more than one application to handle the file? Then you're stuck with reimplementing the filesystem, on top of the already-existing filesystem, so the other application can get to the file. Crap.
There's something there, I think, but there are some pretty important problems to overcome before it can happen.
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
Re:He has a point but he dosn't get it!!!!
by
Anonymous Coward
·
· Score: 0
I wouldn't say "can move around", I would say "will move around".
In a unix system, simply saving a file with the same name will often effectivly rm the old backup, mv the current to the backup, and create the new.
Result? Same filename, but wildly different inode number.:-) Which do you want to refer to? Clearly, the filename, not the inode - which is now an old version of the file..
Re:He has a point but he dosn't get it!!!!
by
Anonymous Coward
·
· Score: 0
On the Macintosh, until about 1995, applications, generally speaking, did not need support files.
Yeah, but in the 6 years after that it was no better than Windows -- everything dumped into 1 folder (Extentions).
Back in the old days the Mac Evangalistas would actually brag that "My OS is immune from DLL Hell!!! (because it's too crappy to support dynamic libraries)".
The one thing Apple got right, that nobody else will ever get right, is to not hardcode paths all over the place. Even OS X is OK in this regard, and it's Unix.
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.
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.
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."
Re:Did I read that right?
by
Anonymous Coward
·
· Score: 0
I think the idea there was if you say, open MSWord, you type your document... close the window - and then it's gone. If there's no document open, there's no app running. It's less a problem on Windows than on the MacOS - where I could have netscape, IE and Opera running, for example, but have no windows open for any of them. I'd have to go to the dock or app switcher, pick the app, then quit it.
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...
Re:Did I read that right?
by
Russellkhan
·
· Score: 1
My understanding was that he was saying (at least in reference to gui-based, user apps) programs should remain running while in use - while they have a window open - when the final (or maybe in some cases, the main or control) window closes, the application quits.
But then again, he uses IE as an example of a program that has gotten rid of the evil quit option, and AFAIK, I don't think IE really follows this principal - it never really does quit: if Windows is running, then IE is too. But at least it pretends to quit when you close the last window.
Russ
-- Information doesn't want to be anthropomorphized anymore.
Re:Did I read that right?
by
MacroRex
·
· Score: 1
You're thinking palm and pocketpc-like software here, right? Well, if you try to run several complex pieces of software at one time, it's easy to deplete the system's resources.
For example, there was this guy at my previous workplace who commonly complained to everyone that his machine was very slow. People would go see it and immediately point to him that he should close some applications, as he would at any given time have open a few Visual Studio's, several MS Office apps, a couple IE's pointed to various web pages, and outlook, of course. This being the era when 128M was a huge amount of memory, it's no surprise his machine was swapped to the third tier of hell.
However, he usually did have justification for most those programs. Writing code on one project, examining specs on word and excel formats, surfing in MSDN etc. Having his machine automatically "garbage collect" those apps would've meant that he'd been wasting half of his time waiting for those big project files load(WAY more than 5 seconds, no matter what the author of the article claims), or try to re-find the helpful web page he had had open five minutes ago.
Automatically saving the state of a program and then transparently restoring it on demand works only if the apps and their state are small enough, but unfortunately this rarely applies if you are using big apps.
As it turned out, our managers agreed with the guy I mentioned, and it resulted our department usually having the most powerful workstations in the building.
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.
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.
Re:Did I read that right?
by
Cat+Mara
·
· Score: 1
However, he usually did have justification for most those programs. Writing code on one project, examining specs on word and excel formats, surfing in MSDN etc. Having his machine automatically "garbage collect" those apps would've meant that he'd been wasting half of his time waiting for those big project files load(WAY more than 5 seconds, no matter what the author of the article claims), or try to re-find the helpful web page he had had open five minutes ago.
The way I imagine it working, the system would only garbage collect programs that had no open windows. Having windows in the background mysteriously vanish because they haven't been activated in x minutes is far more user-hostile than having a "Quit" menu item!
But then again, he uses IE as an example of a program that has gotten rid of the evil quit option, and AFAIK, I don't think IE really follows this principal - it never really does quit: if Windows is running, then IE is too. But at least it pretends to quit when you close the last window.
I really don't understand this. IE has done nothing of the sort. They just renamed 'Exit' in the File menu to 'Close'. Each IE windows is still an app instance. You still have to close it. It doesn't 'autoclose' or anything. Yes, it's kind of built into the shell. But if you visit a webpage from Explorer, hence switching to IE, guess what.... you then have to close that window.
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.
Re:Did I read that right?
by
samweber
·
· Score: 1
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.
No, he wasn't. (...insert grumbling about that post being modded up to 5....)
And I'm pretty sure that he wasn't thinking of garbage collecting applications either.
Here's an example of what I think he's talking about. When I click on a document in Windows, what often happens is that I end up with two windows on my screen, one for the document and the other for the stupid app. When I am finished with the document, I have to close the document window, then hunt for the application window and close it. Why?
Even worse, say I have two documents open. I want to close the one in the back, in order to unclutter my screen. Often I end up accidently hit the app's close button instead of the document's close button, and WHOOPS, there goes the document I'm actually using.
I think that most of these interfaces are the result of two things: First, once it took absolutely forever for any app to load, so you wanted to keep users from having to do so. (Of course, lots of bloatware still takes forever to load, but that's another gripe.) Secondly, there's programmer megomania to consider. Every stupid program seems to think that it is SO important that every user will always want to have it running. As a result, lots of programs seem to want to make it hard to quit the program.
When you're looking at it from a document-centric point of view, IDEs are in fact SDI applications.
Of course, the single document that is loaded is the _project_ you are working on. All those source files (or whatever) that are open within the IDE are only sub-parts of the actual "document" you are working on.
So conceptually, IDEs are SDI applications, even though they are usually implemented like MDI applications.
I think a major problem is the way we thing of programs as monolithic objects. I liked most of his ideas and I think the first step to getting there is to make the desktop document centric. You don't open applications, you open documents. The "environment" will find an appropriate viewer/editor. All tools that operate on the view should be pluggable (spellcheck, wordcounter, etc). Just like in drawing programs you have effects plugins. In this way it is not a matter of loading and unloading these huge monolithic programs - the environment can have fine-grained control over what is cached and what isn't. If you don't do X, the plugin that knows how to do X is never loaded.
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
Re:Did I read that right?
by
jenssoderberg
·
· Score: 1
Sitting in my chamber and listning to Pink floyd on a friday night i start thinkin of cosmos and your problems. As i see it the computers of today haven't got the resources to handle your particular problem.
Yes, java garbage handling in all it's glory i think the hidden problem in this case is the computer. The computer of today dont have the resoucers a modern computer user demands. In about ten years time, i belive this particular users problems would have vanished.:-)
just my 10 euro cents
-- /. AC "Concrete lifejackets could get certified under ISO2002"
Re:Did I read that right?
by
MonoSynth
·
· Score: 1
I think he means that the close-button on the toolbar is enough, and that the user doesn't have to be confronted with the choice between closing a window and removing an app from memory. The only thing he/she has to do is clicking the close-button in the titlebar. After the last window is closed, it's just plain normal that the program is removed from RAM (except for a quickstarter or so), but that's an implementation-issue, not a GUI-issue.
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.
Re:Think beyond the today
by
Anonymous Coward
·
· Score: 0
It's quite easy to mentally throw out today's user interface "cruft" when you don't restrict yourself to today's technical limitations. Ignoring that autosaving large graphics or other media files and the persistently stored undo-levels which become necessary in that design are beyond available consumer hardware is not forward-thinking, especially when it is presented as inadequate performance of current software developers.
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.
I want my car to come with a special device which exempts me from all tax, gives me an incredibly nice girlfriend, a top degree from Cambridge university and makes me a multimillionaire. All that and the ability to transport from one location in the universe to another in an instant. Am I thinking constructively yet?
Re:Think beyond the today
by
LordLucless
·
· Score: 1
The problem is, with software development, the software has to work.
You can go and design some fantastic system that writes to files as they are edited, and keeps apps suspended until they are needed and all sorts of fancy stuff. But when you try and run it on todays hardware, its gonna run like a three-legged dog.
Write software for today, but use good design practices to make it understandable, and easy to modify and upgrade, when and if the technology becomes available.
-- Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
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?
Re:Think beyond the today
by
operagost
·
· Score: 1
Who needs a degree from Cambridge when you pay no taxes, have an incredibly nice girlfriend, and lots of money?
Re:Think beyond the today
by
LordLucless
·
· Score: 1
coming up with reasons we can't code them this instant
If we cant code them this instant, theres no point in coding them. Im not talking about complexity of software here, but capability of hardware.
They are points worth bearing in mind as we develop, but we develop things that work, not things that *should* work when the hardware reaches our standards.
-- Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
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.
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.
Re:thought-provoking, but no alternatives
by
Anonymous Coward
·
· Score: 0
Exactly. Try to get around the real world by pointing around with one finger and one to three signals indicating what you want to do with whatever you're pointing at.
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.
Re:thought-provoking, but no alternatives
by
pben
·
· Score: 1
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.
Re:thought-provoking, but no alternatives
by
uchian
·
· Score: 1
It's simple - make it a left mouse drag. You avoid all conflict with the popup windows, and you get rid of the broken design where the user cannot be sure exactly what the left-mouse drag action will do.
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.
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
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!
Re:thought-provoking, but no alternatives
by
Andrewkov
·
· Score: 1
I believe OS/400 does this, at least it seems to be very object oriented, but I'm not more than a casual user of that system, so I could be wrong.
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?
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.
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?
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!":)
Re:thought-provoking, but no alternatives
by
okeby235
·
· Score: 1
Just tried it on my windows 2000 machine and it moved the file.
Are you sure that you are dragging a file between folders on the same disk?
Re:thought-provoking, but no alternatives
by
PissedOffGuy
·
· Score: 1
youve actually had problems with sql server?
oh and riiiiiight, microsoft would want to break applications? no way, theres always a legacy story. as with any other OS release, application compatibility is a huge priority.
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?
Re:thought-provoking, but no alternatives
by
dOxxx
·
· Score: 1
Moreover, you didn't answer all those options, only move versus copy - still missing alias and friends.
An alias (or shortcut as Windows calls it) can be created by holding down Ctrl+Shift when dragging.
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.
On Windows, move is the default when the source and destination are the same hard-drive. Otherwise it's copy. Except when it's an exe, then it creates a shortcut.
Re:thought-provoking, but no alternatives
by
morpheus800e
·
· Score: 1
On every version since Win95, I remember it moving instead of copying files when dragged elsewhere on the same drive. I just fired up a Win95 VMWare machine, and dragged a few files around on the drive. They were moved, not copied.
Maybe you've changed a setting somewhere?
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
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....
Re:Autosave is not always that great
by
melonman
·
· Score: 1
> Emacs also has a very nice auto-save
If you mean that feature that leaves lots of #filename# files laying around in my directories, I could live without it myself, especially as the # plays havoc with some shells.
For that matter, the.suffix~ way of labelling backup files is a bit of a pain on web sites: if, for example, you edit a php file in situ, you end up with a php~ file online, which doesn't normally get picked up by Apache, and is thus world readable, complete with any passwords and so on.
But whenever I get too critical, I have a quick look at vi, and my love for emacs returns:-)
At apache you can use mod_rewrite
to forbid access to files ending with a tilde automatically. Optionally, turn off backups at your ~/.emacs or set the backups directory out of your public_http.
*cough*
by
Anonymous Coward
·
· Score: 0
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.
There's a good reason why this isn't done on today's computer. If the application or OS crash while you're typing, the saved file is liable to get nuked. Not a pretty sight. I'd rather press Ctrl S.
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!
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?
Re:About menus
by
Anonymous Coward
·
· Score: 0
I just tried what happens with MacOS X submenus, and how I use it. I click onto the menu title in the menubar, menu drops down. Move the mouse to the submenu title, wait a very short amount of type, and the submenu pops up. Then as long as you move the mouse in the direction of the submenu, the submenu will stay up.
Typically, the first item of the submenu is just to the right of the submenu title, and the last item some way lower. So if you move the mouse to the right and only slightly up, aiming above the submenu, you lose the submenu. Move the mouse to the right and down, the submenu stays even at quite a steep angle, as long as your direction is towards the submenu.
In other words, you can move the mouse on the submenu title, one very short hesitation until the submenu pops up, then drag in direction of the submenu item you want.
> 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.
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.
Re:About menus
by
Textbook+Error
·
· Score: 1, Insightful
It seems to me that OS X does it pretty well.
You're both right - the menu tracking was incorrect on 10.0, but this was one of the (many) things fixed in 10.1. There's some more information about this subject here, along with some other Mac subtleties.
E.g., one extremely useful one is the way the cursor vanishes when you start typing (but re-appears if you grab the mouse). Systems which don't implement this have the extremely annoying problem where you click in an edit-field to type, and then you can't see what you're typing because the cursor is blocking your view...
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.
Re:About menus
by
Anonymous Coward
·
· Score: 1, Informative
MenuShowDelay under HKEY_CURRENT_USER\Control Panel\Desktop Set it to 0. First thing I do after a new install...
Re:About menus
by
Anonymous Coward
·
· Score: 0
Not that anyone listens to ACs, but I also just checked on this 10.1, and the 10.2 machine next to it. OS X uses the 'classic behavior' as described in the parent's parent.
~Blake
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.
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.
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.
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.
hence the setting to allow you to turn it off. (which btw is a much easier setting to find than the registry key that you used to get into this state.)
"Like always, Microsoft doesn't even follow it's own guidelines and their applications are always a little different than others."
Agreed, but Microsoft still does it better than any other operating system. I love Linux to death, but nearly every application has a different set of menus and quirks to it. At least Microsoft's are somewhat standardized. Linux is lagging far behind in that category. (Then again, that's why most people prefer the CLI to X, eh?;)
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.
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.
Re:About menus
by
Anonymous Coward
·
· Score: 0
> Delay makes the system faster? Let me ponder that one.
Here's a hint: populating menus isn't free. Even when you don't use them. Christ, the brainpower on slashdot.
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
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"
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!
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...
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!
Re:I don't get a few things in that article...
by
Anonymous Coward
·
· Score: 0
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).
I think the author means that an MDI application should exit automatically when all document windows that were open have been closed by the user. When starting the application it should create an empty document.
Re:I don't get a few things in that article...
by
Scottaroo
·
· Score: 1
...with applications that don't do processing in the background... Which is just about every complex program nowadays. It's spellchecking your work or downloading your files or god-knows-what. ...and their RAM will eventually be paged out when it is needed for other... No, no performance penalties there... There is no way that a programmer can decided the best way for the program to work for me. The way I use it is going to be different from the next person. Taking my ability to control the way that the program works away is a good way to make sure that I don't use the program.
-- ----------
If your answer is Microsoft, you obviously didn't understand the question.
Re:I don't get a few things in that article...
by
Anonymous Coward
·
· Score: 0
I'm not sure how I'd design a quick move/copy/link operation better myself.
don't go into interface design then and yes neither will I cause I don't know either
Re:I don't get a few things in that article...
by
jez9999
·
· Score: 1
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.
This feature *really* pisses me off:-) In fact I've disabled it now. The reason is, many apps with multiple windows will have *exactly the same* titlebar text. I've often been at websites with 'Blah - Microsoft Internet Explorer' for EVERY page, all 10 of them! If they're grouped, it's very hard to remember what page held what info. But if each has an entry in the titlebar, at least I can remember which page is which based on its location on the titlebar.
Re:I don't get a few things in that article...
by
chez69
·
· Score: 0
My solution for this on windows and linux is to use virtual desktops.
you have one for mail, a couple for browsing, some for VStudio/Xemacs/Vi.
works great, and no taskbar clutter.
-- PHP is the solution of choice for relaying mysql errors to web users.
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
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
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.)
Hmm... I am unsure about why this is bad. My filesystem layout (/usr,/var,/lib etc.) is the way it is so that (ostensibly) is most efficient for how my O/S uses it. FreeBSD, for instance, handles filesytems like/var and/etc differently based on how often and in what way files on those mount points are changed.
Also, certain files like those in/etc and/var are there for a reason, since files in those directories are there (mostly) because they serve the same purpose; configurations in the case of/etc, variable data and log files in the case of/var, and so on.
On the other hand, my K Menu is arranged in a manner more consistent with the way I use my computer. My Office-like programs are in one place, shells and so forth in another, et cetera.
I'm not sure I'd want everything arranged one way for my use and my O/S's health and speed.
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.
2. Don't use MDI. The solution to number 2 is not to make programs edit multiple documents at once. Each process should edit or view one document. When you close the document, the process terminates. Tabbed windows count also as MDI.
4.a. Use hard links instead of symlinks. A hard link is just that, a link to an inode. The problem is that the file remains under the link name if it is removed, but it should not. The solution would be to label a file as "soft", and when it is deleted under another name, the soft file would become an invalid hard link, or maybe a symlink to the deleted file name.
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.
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 ?
Also relevant is RiscOS's lack of a conventional file requester. The article says "We have the technology. So why do we still make people use filepickers at all? Cruft." RiscOS has never required these. The user can simply go to save, and drag the icon to the appropriate place (be that a folder or another application). Similarly, dragging files into applications is the standard way to load them. Most microsoft applications will now also load files in this way, but don't provide the same facilities for saving.
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.
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.
Re:MS has fixed a lot of these in XP
by
Arimus
·
· Score: 1
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.
Bollocks. The Windows method setting system configurations wouldn't be too bad if it still produced human readable text config files - that way when it all goes to hell you can fix the thing yourself.
GUI's should not get in the way of letting the user work. Unfortuantly Windows' GUI does just that... all those bloody are you sure screens etc drive me around the twist...
-- ---
Users are like bacteria -> Each one causing a thousand
tiny crises until the host finally gives up and dies.
Re:MS has fixed a lot of these in XP
by
Anonymous Coward
·
· Score: 0
I agree.
But do those fixes compensate for the new aggravation of FilterKeys?!
AARRGGHH!!!!!
"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.
Re:Crufty interfaces.
by
curmi
·
· Score: 0, Flamebait
You idiot.
Macs only run one application at a time? Have you ever used a Mac?
Windows 95 the best GUI ever? You haven't used many GUIs have you.
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.
Re:RISC OS save dialog is yet to be bettered
by
Anonymous Coward
·
· Score: 0
Sounds good, but does it also work without using a mouse? One of my pet peeves about modern GUI software is that they often force you to grab the mouse for whatever reason which really interrupts the workflow.
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?
Re:RISC OS save dialog is yet to be bettered
by
DuSTman31
·
· Score: 1
The RiscOS model of simply displaying an icon that could be dragged to a file system window was indeed a convenient system provided you had the appropriate window open at the time. Particularly nice were tricks like being able to print by dragging this icon to the print queue window.
I don't think it's necessarily the best possible system, but rather just closer to the best than what is often used.
Personally, I think a good direction for interface design would be to attempt to become more project-oriented than desktop-metaphor-oriented. A large percentage of the work most professionals use their computers for is related to a specific project or task at a time, and structuring the operating systems interface to be more similar to that of project management software would be a better way of servicing the majority of people.
Successful as the desktop metaphor has been, it's still mainly a system that's centred around adapting the user to the computers way of doing things rather than adapting the computing environment around the users work plan..
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
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.
Re:Many good points...
by
TrancePhreak
·
· Score: 0
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?
In a word: Piracy. This is a sad case of where ease of use is tossed out because of real world problems.
Another thing... What would one do with multiple CD applications? How would that work? And then there are options. There could be defaults for a simple installation, and then options if you do a regular install, but that just complicates the process needlessly.
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!
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.
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
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.
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.
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.
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?
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.
OK: On my (trusty, ancient) Psion, when I want to open a document, I open it, the application is launched. When I close it, it closes the application. Changes are saved automatically, without asking.
If I want a new document, I open a blank doc, and the Psion asks me what I want to call it, and where to save it.
If I open the application directly, it goes to the last file open.
Only problem with this system is if I wanted to revert to a previous version: on the Psion I can use undo, but on a bigger/faster machine I would expect some kind of version tracking.
The upshot is that I don't know or care what the program is, I just open the file and edit it. You never have an empty version of the application floating around: The application itself is transparent, and entirely secondary to the *file* which was what I was interested in in the first place.
Simple.
Any grouches with this system are simply due to this fact: most of us have got so used to the kind of crap that we normally put up with, that we have begun to (God help us) defend it. That's what he means by cruft.
Chuck
-- -
These are small, *those* are _far away_
guiding the user
by
Anonymous Coward
·
· Score: 1, Interesting
I studied computer science and cognitive science, and am currently a GUI programmer. I have to say I agree with the article on some points. For example, if save is actually an undo marker, why not implement undo markers properly?
However I think that with his drag and drop saving/renaming he misses an important user interface concept: guiding the user.
When I, as a new user of some program, am looking for a way to achieve task x, then the first thing I do is browse the menus. If I find a menu point that looks like what I want, I choose it. If the program then needs more information, it throws up a modal dialog asking me for it and giving me the opportunity to cancel out of the task. So the user always has something in the hand telling him how to accomplish the next step in his task. The only thing he really has to learn for this, is to search through the menus.
Drag and drop offers none of this. You drag on something and it doesn't give you any information about where it can be dropped. It might not even be draggable. The information might not even have a graphical "handle" on which the user could drag, or he might not be able to find the handle.
For this reason drag and drop works mostly as a supplement to menu-based program manipulation. It takes the foreground when editing explicitly graphical information such as page layout, but otherwise it can in my opinion never be the primary method for operating a program.
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):
Open menu and choose Save, or click on the Save button on the toolbar.
A Savebox appears, containing a draggable icon.
Windows-user clicks on Save button.
Since there is no current save path set, a message box appears telling the user to drag the icon to a directory viewer.
Re:Wants a simple default skin
by
Anonymous Coward
·
· Score: 0
Yeah, I'd like my own personal preference set to be the default, too. Can I have that? I promise to whine if I can't!
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
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.
Re:The cure is worse than the disease.
by
DCMonkey
·
· Score: 1
Hell #1: This No-Save idea only really works if you have a good persistent Undo system to back it up. "Save" becomes "Commit" or "Checkpoint" in your own personal version control system.
Hell #2: No-one said you couldn't close your documents. The trick is deciding what to do with an app that has no documents open. Many apps ar fast enough these days to unload and load at will. For some (like IDEs. See someone else's comment earlier), the workspace is the document. For others, maybe a preload (Office, StartOffice, Mozilla) mechanism is needed. And just maybe the OS will do the right thing with VM.
Hell #3: Huh?
Hell #4: Sounds like you need a "replace" command.
-- DCMonkey
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)
Re:The cure is worse than the disease.
by
Grizzlysmit
·
· Score: 1
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,
I'd call this the "clippy" effect some person who isn't a coder comes up with a really dumb idear, lets give them a digital assistant to help them, how about a talking paper clip?.
M$ may be infected with this kind of stupidity, but hopefully OSS guys will be more thoughtful, M$office >= 95 pain until you'd turned of enough of their "helpful" features.
Not one of his sugestions looked at all desireable to me, someone apply the clue-stick to him!
-- in my life God comes first.... but Linux is pretty high after that:-D Francis Smit
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.
Re:Reminds me of a programme I once made
by
Anonymous Coward
·
· Score: 0
That sounds pretty neat but there's one problem with it. Are you going to custom design that program for every person that wants to use it so it contains only the options they want and nothing else?
And then what about support? When one of these people needs help with something, you have a hundred slightly different versions to support.
There really is no solution to that problem I can think of except maybe a telepathic super intellifent computer that can just read my mind and do everything I want while I sit in front of it and drool.
Re:Reminds me of a programme I once made
by
Anonymous Coward
·
· Score: 0
er, intelligent:) you want cruft? what about a keyboard;)
UNIX didn't run on micros then
by
yerricde
·
· Score: 1
are they suggesting there weren't multi-tasking operating systems in the 1970s?
No. They are suggesting that software developers in the 1970s did not produce operating systems with all three following qualities: 1. multitasking, 2. ability to run on home computers, and 3. popularity.
Windows 9x system resources
by
yerricde
·
· Score: 1
Ok, yeah, I guess Windows also have that feature.
On NT, minimized Windows apps use negligible system resources except swap space and toolbar space. On Windows 9x, on the other hand, there are two memory spaces called "user.exe heap" and the "gdi.exe heap". Each is 64 KB in size, for backward compatibility with Windows 2.x and 3.x, and cannot be enlarged nor swapped. Every window, minimized or not, will use some resources.
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!
Re:Windows 9x system resources
by
Anonymous Coward
·
· Score: 0
Backward compatibility with Win 2.x?! A truly impressive achievement by MS there.:-)
Actually it was -- 99% backcompat even down to the driver-level was a pretty damn impressive achievement.
Don't forget that NT shipped before 95, and *nobody bought it*, largely due to compatibility concerns.
Illogical naming of menu items
by
matvei
·
· Score: 1
One thing that I find strange about the majority of GUI's is that the program's top level menu entries have nearly no relation to commands that you find under them. The file menu for one often seems to be there just "because every program should have one".
For example, Kazaa Lite (just a program I happened to be running while reading this article) has the following items under the file menu: Connect, Disconnect, New Search, Hide in systray and Exit. None of these actions have anything to do with manipulating files. Using the file menu as a garbage bin for a bunch of random actions seems to be quite common and I'm surprised that the article didn't mention this issue.
Why can't I just copy a file from the CD/Net and be done with it?
Dependencies. If you could install apps by merely dragging them into place, what design would you propose to eliminate the cruft of having to install libraries that the app uses?
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.
Re:Drag-installing apps?
by
Anonymous Coward
·
· Score: 0
Or more importantly, a bug is found in zlib. Do you want to have to recompile all of your programs or just replace the library in question?
Besides, I have recently begin doubting the existance of libraries. We have plenty of space these days, why not make everything statistically linked?
Dynamically linked executables have these benefits over statically linked ones on most modern computers (even when they have "plenty of space"):
fixing a bug in the library immediately fixes it in all the applications that use that library without having to recompile them
having one image of the library code in the computer's memory improves performance by allowing caches to do their jobs better (a copy of libc in memory for every running process would basically destroy cache coherency on most modern machines)
shared libraries also improve performance when a machine starts a lot of different processes, since after the first few programs are running, the library has probably already been loaded into RAM, so less information has to be loaded up to get a different new program running
a related benefit is that programs are smaller, since they don't all need to include library code, which saves both disk space and physical I/O when loading the program
for memory-limited devices, such as PDAs and phones, shared libraries can be executed from ROM, saving precious RAM for user applications and data
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
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
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.
If partitions/filesystem instances had underlying guids, then a "firm-link" could just include that, even for removeable media. Imagine, being able to "firm-link" to a file on a packet-written CD, and have the system take care of things. Even better, just standardise distributed-filesystem stuff like CODA and mix in versioning, so that the computer has an image of what it last knew to be on the medium, that is overriden when the medium is reinserted...
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.
Inode number won't work
by
Anonymous Coward
·
· Score: 0
Unless you subscribe to the one giant filesystem to rule the one disk school.
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!
AGREED!!!
by
Anonymous Coward
·
· Score: 0
Nothing confuses the user more than when they can't open that nice.doc or.wpd that they receive as an email attachment from a user using a different version of the application, or a competing version. I think clean XML, or SGML is the way to go.
Its not The Start Menu, its The Start BUTTON
by
the_real_tigga
·
· Score: 1
IMO the absolute fscking all-time number-one of really annoying "innovation" that Linux(...) desktop application programmers so happily copy from Windows is the Start Button.
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?
In almost all Linux(...) window managers including my favorite gnome-incompatible WindowMaker, 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? (This is not a rethorical question, please reply). How anyone can compare those two methods and go for the Button completely elludes me.
-- my.sig is better than yours.
Re:Its not The Start Menu, its The Start BUTTON
by
jez9999
·
· Score: 1
If you have an application maximized, having to click on the desktop to open a new one *sucks*. I don't want to minimize all windows.
Re:Its not The Start Menu, its The Start BUTTON
by
the_real_tigga
·
· Score: 1
There are a couple of solutions for that situation. Switching virtual desktop was made for that, and of course window shading comes into mind too.
-- my.sig is better than yours.
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
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"
Re:Its not The Start Menu, its The Start BUTTON
by
PingvinRich
·
· Score: 1
The Start/K/Foot menu packs hundreds of shortcuts into the space of one button.
OTOH, not having acres of spare screen space I generally set app windows full-screen. How then am I to click on the desktop, without minimizing first?
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
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.
These guys obviously come from the WIN-DOS world, where apps quit when you close the last window. *** NEWSFLASH *** That's completely fucked up, and unfortunately those fuckers from Redmond implement that shit in their OS X ports of WIN-DOS media player (WIMP) (however not in the Awfice suite).
The program shall quit when I say it should quit. The app should make no assumptions on my behalf, depending on how many windows are open. Jesus fucking Christ in a river crutch...
-- frawaradaR anahaha islaginaR!
Re:Quit in menu cruft?
by
TrancePhreak
·
· Score: 0
Flamebait Detector Overload!
--
-]Phreak Out[-
Re:Quit in menu cruft?
by
Anonymous Coward
·
· Score: 0
What? I couldn't understand what the hell you were trying to say.
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???
Re:Dragging over the task bar or the Alt-Tab menu
by
DCMonkey
·
· Score: 1
Cruft. Pre-Win95 apps wouldn't know what to do with it. I suppose they could have made a drop-on-taskbar simulate a drop-on-main-window action. Then the question becomes "drop where in the main window?"
BTW, drag that something over a task bar icon (in Windows) and then _hold it_ there for a few seconds before dropping. See what happens.
This article is right on the money, and funnily enough addresses exactly the same topics as David Gelernter (/. NYT article a few days ago) tries to address with Lifestreams and related systems.
Filesystems are the biggest bottleneck to improving the OS ui, they singlehandedly are responsible for most of the problems these people mention. An ideal OS is persistent from the bottom up, and doesn't require you to think about load/save, start/stop, and storage locations.
How would this work? The user would just deal with documents, or objects, or however you'd want to call them. If he wants to view or edit them he just does so, he is not concerned with loading (there document is there, why does it require an intermediate action to make it even more available than it is?), he is not concerned with starting applications (maybe the document requires some code to make the editing possible, but why should the user care?).
But maybe most importantly he doesn't care about storage locations. Documents just exist, and don't have a particular location. So how does one "organize"? by queries (much like what we know from databases, just with a greatly simplified UI), or rather "persistent dynamic queries": persistent because they are always instantly viewable like directories, and dynamic because they refresh themselves automatically depending or new or changed objects. Want to see all emails from a certain sender? create a query and new emails from that sender automatically end up there. This allows people to create any amount of organisation in their document soup when they need it, not when they create documents.
Some posters complained that automatic persistence would not give you any control over throwing away unwanted changes... that's why a good OS should automatically keep track of a version history or persistent undo. Some others complained that not exiting applications would clog memory... that's why a good OS should be able to track down which code components are no longer needed for current documents being accessed, and act accordingly.
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.
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...
I sincerely hope Power AND Win DVD are on the list
by
AbRASiON
·
· Score: 1
(of shamed sites)
Ugh what a disgrace - I recall the review of Quicktime 4 or 3 from ages back - ridiculing the concept of a hand held style interface. (see quote)
"The QuickTime 4.0 Player contains many examples of how the software must adopt the limitations of the physical device it is based on, but the first example the user is likely to discover is the volume control. Since a real-world hand-held electronic device typically employs a thumbwheel to control the volume, the designers concluded that it would work just as well in a software application. What the designers failed to realize is that a thumbwheel is designed to be operated by a thumb, not a mouse. Watching new users try to adjust the volume can be a painful experience. The user invariably tries to carefully place the cursor at the bottom of the exposed portion of the control, then drags it to the top of the control and releases, then carefully positions the cursor again at the bottom of the control, drags upward, and well, you get the picture. "
Hence, WinDVD and Power DVD SORELY belong in this list.
Hideous Hideous packages.
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.
I've played those games already
by
MrAndrews
·
· Score: 1, Redundant
Just because something is based on getting around a technical limitation doesn't mean it's not a good idea. Examples: 1) Save. Everyone's been burned by the Damn-I-Forgot-To-Save problem at least once, but the alternative is not always a very good option. When using large files, such as graphic documents or (shudder) video files, having your work auto-save as you go without your specifically saying so would slow you down to the point in stupidity. It needs to be the user's responsibility to save their own work, because sometimes the 'flow' you're in doesn't allow for momentary delays. 2) Save locations. I've been doing this trick of late where I save everything I do to the Documents folder (used to the be the desktop, but that was even worse). Then I would sort through everything afterwards and move them to the right folders. Bad idea. I presently have close to 150 files flying about randomly in the documents folder, and I know I will likely never sort them properly. Forcing people to choose where their files go is a matter of, again, putting the responsiblity of a messy filesystem into the hands of the user. It's like with my receipts for taxes: if I didn't have those inboxes on my desk, I'd toss them all in the drawer, and get burned in an audit. You need that choice. 3) Quit. I hate explaining quit to Switchers, but again the issue of larger, more complex programs defeats the argument of "just stop the program when it's not in use". If I had to wait for Photoshop to load back into memory every time I closed the last document, played in Illustrator, and then went back to Photoshop, I would likely die. Text editors can load in 2 seconds, but computers are still not in the state where they can load ALL programs that fast.
So why not let developers put Save and Quit in the programs that need them? Because then you have a truly awful time trying to explain to users how every program works. Photoshop? Quit that one. BBEdit? It closes on its own. Inconsistency is the ultimate interface evil.
Until all computers ARE good enough to run EVERY program flawlessly, cruft needs to be around. It may seem obnoxious to those comfortably working in the can-be-done-easily zone of computing, but to those whose fields are still in the pushing-the-envelope zone, we're not done with cruft yet.
Trillian also blows the goat
by
AbRASiON
·
· Score: 0, Offtopic
(Se.cx)
and my friends wonder why I love miranda, god trillian looks like a freak show.
miranda is truely art- simple basic, functional - and I'm not even doing it to be trendy! - it's great.
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...
Re:Apple Lisa had some of these points right
by
Anonymous Coward
·
· Score: 0
I dont know about msword or anything, but in WINXP, Start>Documents, if you rename an item on your drive that is in the recent documents list, the link in Documents will still work
Re:Crufty interfaces.
by
TrancePhreak
·
· Score: 0
While I don't readily agree that Windows 95 was the best gui ever, I do agree that the Mac gui was quite confusing. It made it seem like there was only one program running and the method to switch between programs was not very self explanatory. The task bar introduced in Windows 95 became a beautiful device, displaying important running programs and was always visible by default. There are quite a few other things introduced that helped to make Windows 95 a good gui. I liked the toolbars with common apps on them in the *nix world, but they were too hard to modify. They make a big deal over the start menu, however, it is much easier to use than navigating a file system.
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.
1. Some people have excessive amounts of software installed. Myself included. I don't want all that eating up my RAM while I'm trying to play some game that needs it.
2. What about when the computer starts up? Wouldn't this cause it to take even longer than it already does? I want my computer up now, not tomorrow.
3. Some applications require a whole lot of memory. 3DS Max for example. I'd prefer if that program didn't eat more hard drive space because it has to remain in virtual memory. Any graphic editor eats up large amounts of RAM, usually. They are bad enough as it is, without being around no matter what.
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:)
What you are referring to is possibly known as the pre-fetch in Windows XP. So I guess it has already been implimented. I think this may have been available in Windows 2000 as well, but I do not have first hand experience there.
--
-]Phreak Out[-
Re:Good question
by
Anonymous Coward
·
· Score: 0
Nah, no pre-fetching in Win2k. I dug around in the registry looking for similar keys as in XP, but no luck.
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.
Motherboard Monitor
by
Anonymous Coward
·
· Score: 0
Motherboard Monitor... Technically a marvelous tool but...
Worst.... Interface..... EVER!
RIP OpenDOC
by
Anonymous Coward
·
· Score: 0
Pity that OpenDOC didn't catch on (or was too difficult to develop for).
IIRC, this was the basic goal of OpenDOC. Make the UI document centric, with all applications offering services that are completely interoperable. (i.e. move away from "monolithic" applications) Want to add a spreadsheet to the document - no problem, graphic - likewise. All tools accessible in all documents. Want to use a different spell checker, or different text editor - use whichever one you want!
OLE *tries* to do this - but sticks to the monolithic applications.
These Arguments are Not New
by
SpaceManBob
·
· Score: 1
Most of these criticisms are not new. These same arguments are presented in the book About Face: The Essentials of User Interface Design by Alan Cooper published in 1995. What this article has done is add some additional historical context and technical details. Useful, but not particularly new.
Alan Cooper has more to say about these and other issues of user interface design. And, though you might not always agree, they are at least thought provoking.
Besides the "Thats the way we've always done it argument", there are two other reasons why things have not changed. One, usually software development is not about creating the best solution. Rather, it is typically about creating the "good enough" solution. And two, there is not yet any hard usability data which shows that investing time and money in changes at this level of detail will have an impact significant enough to justify it's cost.
I would really like to see more work done on the latter.
How does Mac OS X handle dependencies?
by
yerricde
·
· Score: 1
or use Next/OS X
I know that Mac OS X has "app bundles" and "frameworks", but how does the system resolve things if you don't have a particular "framework" or version thereof installed on your system?
Re:How does Mac OS X handle dependencies?
by
quacking+duck
·
· Score: 1
Those apps then require their own installers, often with authentication required.
Most user apps, however, are able to do with just drag-and-drop install, including most browsers (Mozilla, IE, Omniweb), RealOne Player, most non-Apple system utilities... even MS Office can be installed by dragging the program folder wherever you want.
Of course, there are a few oddball apps that insist on using installers and need authentication even though they have absolutely no need to. Windows Media Player, for one (hmmm....)
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.
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.
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) 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.
Re:Flaws
by
Anonymous Coward
·
· Score: 0
Because I want the dammed computer to do what I tell it to. I've had more than enough hell of using software that "thinks" it knows what I want better than I do, that's why I'll never use MS Word again.
I'll decide when I want a program to go away, when my data should be saved, how my 'documents' should be categorized and indexed, thank you very much.
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.
Reading the article I'm reminded of reading of some concept OS or other which claimed to manage both RAM and the hard disc as one large, continuous, memory space.
Thing is, that in systems that model the memory as one large flat space, the difference between what is running and what is not effectively disappears. Programs that are "not running" would simply be waiting for a command to display a window whereas those that were "running" spend most of their time waiting instead for a callback from the user interface manager. Hardly a massive difference.
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.
the position that appends to the end of the line is not available
Append to end of line while in command mode: A (or $a).
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.
Place yourself at end of line while in command mode: $
I've spit at vi my share, but it's been quite some time ago and now I find it extremely powerful and second nature. I suppose emacs users say the same, though:-) I actually sometimes tell CodeWright to use vi emulation from time to time when I'm on my Windows box, but Brief emulation seems to work better in a GUI. If I could just figure out a mapping that mixed vi and Brief and made sense . . . .
Re:the vi shuffle
by
Anonymous Coward
·
· Score: 0
Dude, you are ranting about something that you know nothing about. If I could remember how I started learning vi, I would tell you, but I guess that you just need to buy a book or something.
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?
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.
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.
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
Exactly. Case in point: QWERTY.
by
Anonymous Coward
·
· Score: 0
Do you really think that the whiners who complained so bitterly while learning the horrible ways that Windows and MACOS and Unix/Linux work are going to want to relearn it? How about we try to change the command line options of TAR or the script syntax of BASH to be a little less horrible? Any takers? I thought not.
Plug-ins shared by multiple apps
by
yerricde
·
· Score: 1
2. The OS checks the file and what libraries it needs.
3. The OS installs those libraries.
Then how would the OS find those libraries? It's typically not space-practical to include libraries with every app that uses the libraries without distributing the app on a physical medium such as a CD.
We have plenty of space these days, why not make everything statistically linked?
Take video codecs for example. Do you want to require every app that plays video to contain copies of every single video codec ever produced? Or are you willing to accept that parts things such as QuickTime should stay in dynamically loaded plug-ins?
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.)
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.
I think a fair few people agree that a lot of today's UI systems aren't as transparent as they should be, and that we should be looking forward and changing different facets of the UI. However, I think that a lot of the "improvements" suggested by the article have downsides of their own.
The storing diffs/CVS-like method might sound OK at first, especially since we now have disk space to burn, but even that hits snags. What if I wanted to ftp a 200 page document up to a server somewhere? Would all the undo levels be transferred as well? This is largely unnecessary, since I'll never need to undo all my typing, but I'll still have to transfer it all up. What if I want to create a "final", version of this document? CVS tackles this issue with servers. The server contains all the diffs. You only download the one image, and can "undo" at will, at the cost of getting the older version from the server again. Although this can be done with documents, I believe the increased functionality and "user-friendliness" isn't worth the trouble.
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?
Speaking of a concrete example: There's a simple little program that I got with my graphics tablet called "Art Dabbler". It does what the article suggests(ie: there is no concept of "saving"). It tackles the undo problem simply: There is only one level of undo, and exiting assumes what you've already done is ok(ie: undo is not written to disk). If I want to delete multiple strokes, I have to get out an eraser and rub them out. It functions almost like a real notebook(there's even a little paper-like texture when I use the pencil tool), but with small benefits, like I can rub out ink, and I have 1 undo level(better than real life! you can't hit CTRL-Z and get rid of real lines). So what use is it? Other than cutesyness, absolutely none. You can't use it for any real purpose. I think that speaks for itself. Part of the brilliance in computing lies in the concept of saving -- of having control over what's in volatile storage and what's in non-volatile storage.
He makes an excellent point on the quitting though. I used an old mac system and that manual quitting even though there's no window thing freaked me out. That's probably the sole reason I don't like macs more(that plus I like 10 buttons or so on my mouse, not 1)! I don't know if macs still do this, but Linux certainly doesn't, so I'm quite happy on that front:). If he's talking about simply removing the "quit" thing in the file menu, I don't really care either way, as long as there's some way of closing the window. I tend to use the little "x" anyway.
I think we SHOULD think about tomorrow. However, we need to think these things though, and if it doesn't work today, then maybe it's not such a good idea after all.
To those who think Linux blindly copies MS, I'd like to say, that we ARE making headway in terms of UI design. Take a look at fluxbox and tabbing. It's a really neat concept.
PS: Sorry about the size:)
-- --
f00!
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.
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?
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
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.
Re:This can't be serious....
by
Anonymous Coward
·
· Score: 0
Please wipe the foam from your mouth when you are done.
What a funcking idiot.
Insightful? Give me a break.
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.
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?
Any document based program should automatically save and track changes. The current system leaves me having to save multiple copies of documents if I want to go back. I should be able to rewind the document through it's creation. Given current processing power and storage capacities there is no technical reason not to have these systems.
Or you could do it this way.
by
phel666
·
· Score: 1
Use a script to mirror your gnome/KDE settings, then use windowmaker/ fluxbox/ waimea/ e/ insert-favourite-wm to mirror the menu. That way if there IS free desktop space you just click on that. If not, you just mosey on up/down to the start button equivalent.
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.
Re:Adaptability
by
Anonymous Coward
·
· Score: 1, Insightful
Conventional UIs are a step backwards. Like children's picture-books compared to novels of the CLI. The best UIs I've used combine features of the CLI and GUI, like illustrated hardcover novels - e.g. AutoCAD, Common Lisp CLIM, NakedObjects, etc.
But helpfiles too, this is taken from the Norton Antivirus helpfile:
Error troubleshooting
If Email Scanning displays an "Error" status:
1 Turn on Email Scanning using the procedure described above.
2 If step 1 does not fix the error, restart your computer.
3 If step 2 does not fix the error, uninstall and reinstall Norton AntiVirus.
Do I have to mention that it didnt work?
-- Anataka suki desu. Itsumo. Itsumademo.
One solution
by
Anonymous Coward
·
· Score: 0
AmigaOS had a very nice way of dealing with this. AmigaOS allows you to create a temporary short identifier for any directory in the filing system, using the same syntax as it uses for the filing system root (ie. a name followed with a colon).
When loading from hd0:applications/pagestream 3.41/documents/, instead of going through that path every time you can simply assign that name to (for example) 'source:' instead. Of course you can do the same for the destination, calling it 'dest:'.
Pressing the right mouse button in a filer window brings up the list of assigned names. Now the sequence of changing from one to the other becomes very short: click on 'save', right-click once, click on the assigned name that you want, click on ok. The need to drill down through endless directories is gone.
Since it is easy to create and remove assigned names on the fly, the list of assigned names is typically short enough to still be useful. I still miss this system every day...
I LIKE quit and the start menu!
by
Anonymous Coward
·
· Score: 0
Quit is not cruft. And the start menu kicks ass! It's one of the things that really made me happy when I moved from the Mac to Windows. It gives me fast access to open any program detached from the rest of the desktop. On the mac I had to make a folder and fill it with shortcuts, but there was no way to make it go away and appear quickly. YAY PROGRAM FILES!
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.
Re: and windows from other applications popping up
by
Anonymous Coward
·
· Score: 0
What's worse with GAIM defaults is sometimes the new message window will pop up and NOT TAKE FOCUS (while happily taking focus away from your current app), leaving your keystrokes going into oblivion. But it can be fixed by changing popup focus in preferences, or tabbed messaging in preferences. Still, it's a bad default.
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.
Re:Smacks of Negropontification.
by
Repugnant_Shit
·
· Score: 1
"There really should be interface schemas that can switch on-the-fly to whatever sort of task you are engaged in."
Great idea. I remember that Ray Dream Studio 5 had "workspaces." You could arrange the windows just so and save different layouts (like one for modelling, one for animating, etc). It was a useful feature and it'd be nice to be able to do that everywhere.
Though with KDE I usually have a virtual desktop for each task (graphics,coding,browsing).
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?
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.
File versioning? Simple!
by
eris_crow
·
· Score: 2, Insightful
Everbody should use VAX/VMS!
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!
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
I know I'm getting modded down for this but...
by
Anonymous Coward
·
· Score: 1, Interesting
Cruft he calls it contemptedly, but it can be useful cruft. He also recognizes this, but doesn't really whip up The Solution.
And you can't, not without having a clear idea what you want to accomplish and WHO IS YOUR TARGET USER.
I prophesize that computer UIs will go two ways: A) A Point'n Drool interface for the unwashed masses B) A more efficient and accurate Point'n Drool interface for the more technical inclined C) Command-line for Linux-can't-get-a-date-geeks and bearded sysadmins
Oh, that was THREE Paths Of the Future, but what the heck. There'll probably sneak in a fourth in the last minute too: D) A supersonic 3D virtual freak-fantasy with as much pr0n and stimulating external gadgets your heart can resist.
And then there is the Hollywood version where you click on a button that does what you want to do, with passwords filling up your whole screen.
So all, in all. You have to know who your target user is before fixing what's already broken, but useful.
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.
Re:It's millenia, not decades
by
ttsalo
·
· Score: 1
Not really. Vinge talks about decades-long projects to rewrite everything to get rid of the cruft, but the end result is invariably what he calls a "mature programming environment", i.e. something so big and crufty that no one can fully comprehend it, and we're back where we started...
The software archeologists (the ones that woke the Blight) digging through ancient alien code were a different bunch of folks.
-- If the road to hell is paved with good intentions, where does the road paved with evil intentions lead to?
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
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
Re:Does anyone else see the irony...
by
limbostar
·
· Score: 1
I sent them a mail about that a long time ago, they never got back to me. The entire site seems rather sophomoric -- instead of focusing on root causes and common issues (error messages that announce success, or dialog boxes that give you no choice), it seems like a flimsy platform to make fun of bad UI without (much) constructive criticism, the equivelant of Nelson chanting "ha ha" at Bart's attempt at UI.
It's as if they're scared to stick their neck out, lest their head be axed.
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!
Re: and windows from other applications popping up
by
Thorin_
·
· Score: 1
They actually have a very good reason for doing this. They are making a clone of the windows software and that is exactly what the windows software does. As another poster pointed out you can change this behavior in your preferences or use an away message so that the windows don't pop up when you are busy.
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.
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.
Re:Crufitness in Windows Explorer
by
CaptnMArk
·
· Score: 1
I agree, this is my #2 most annoying feature of windows.
#1 is the drag and drop that uses the left mouse button, so when you manipulating (open/close subtree) something in the tree view you will very easily manage to drag and drop something.
The left mouse button is just too overloaded.
OS/2 WPS has a solution for both of these: - drag and drop is done using the "right" mouse button. - it requires a modifier for rename action (alt, I think)
The WPS (Workplace Shell) has a much better use for the left button drag: sweep select. You can just drag the mouse over the file icons with the left button pressed to select things. This is much better than clicking with Ctrl or using rubberband selection (also possible in WPS) to select multiple files. List views also work the same way.
I guess it's time to hack GNOME and KDE to do this, or write my own desktop.;-)
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.
No, but perhaps computers have reached the point (or will soon) where they are fast enough so that for most people's tasks, things happen instantaneously. In effect, applications behave like like do in the palm environment. There will still need to be a way for the user to tell the computer that they're finished with a certain task, whether it's to explicitly close a document or program, or switch to another program. So perhaps a working model would be, for the average user, all their commonly used applications are 'running' all the time, and they just switch among them to do what they want. That would handle the cases where you need to do background processing of things, like downloading email or whatever.
It's hard to imagine the future and what features might work and what might not. I think that's why the computer interfaces in movies are so cool (The Matrix, Minority Report, etc.); because they dare to imagine a totally different way of interacting with a computer, and don't really have to care if it's 'realistic' or not.
Many applications have implemented an auto-save functionality. I know that it's saved my ass quite a few times with MS Word. I've never had the case where it's that feature's harmed me. Of course, I realize that the converse may be true for some people, but I would bet that overall, it's a helpful feature for most people.
On the other hand, the auto versioning function of MS Word hasn't been helpful to me. In my job, I work with Word files that can grow fairly large, 4 or 5MB, and with auto versioning enabled, these quickly grow to more than 20MB, and Word has problems dealing with them.
If I were to make a prediction, which will most likely be wrong..., I'd say that UIs with user modes will occur. A program / OS will be installed with novice mode as the default. Options would be a lot simpler, more stuff would be handled behind the scenes, without bothering the user. The user can then choose to move to a different mode (perhaps moderate or expert) if they wish.
I've found that one of the biggest problems with software is that it doesn't respect the user's time and/or attention. (This is all in regards to Windows) Why does an installer take up the whole screen while it's running? Why do applications immediately grab the focus when they are launched? If Windows pops up a dialog box (like a DHCP error message), why does that grab the focus? In all these cases, the computer assumes that it should tell the user what's the most important thing for them to be doing or pay attention to. There needs to be a better way to do these sorts of things. Perhaps part of the task bar should be an alert notification area, or something like that.
One of the tenets of good UI design is "don't annoy the user". More people should think about that when writing software.
Todd
-- --
!todd erases a red dot!
I steal music on the internet.
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.
Re: Flawed (OT on the PocketPC)
by
Pyrometer
·
· Score: 1
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.
When I got my iPaq 3850 this was the most annoying thing I found with it. If I hit something that looks similar to an 'X' button in Windows I expect the application to close. Off course it doesn't, it stays in the back-ground and not long after having a few applications open the system would crawl forcing me to go to the iTask Manager and close applications (usually all to save time) so that I could have my responsive system again.
Thankfully there was a ROM update for the iPaq which has reduced this greatly. I really can't remember if it closes applications down while they are in the background if there is too many running, or it just starves applications that are in the background of resources... I believe that it is the latter (considering how many applications I see running when I do go to the "task manager").
Some applications do have an 'Exit' feature although that is rare. I really wish that MS would have chosen another icon that wasn't an 'X'. I really think two thirds of the traffic light anology would have been good with the PocketPC. a 'Red' circle would 'close; exit; quit; whatever!' the application, while an 'Orange' circle would hide it in the back-ground.
This article is written by a whiner of the Nth degree (trust me, it takes one to know one).
You have click "Save" and "Quit," you have to right click to move applications, the "filesaver" and "filepicker" don't look alike, etc. etc. BOO-Phunking-HOO. Somebody has too much time on their hands.
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.
Well, my point is that these "techno-pundits" are always complaining about superficial things like the language of messagebox text, details of savefile dialogs, help-baloons, "Clippy," ad nauseum. If it works, it works! How hard is it to right-click or hit Ctl-S to save?
Omigod it takes four clicks to save a file instead of two. If we could cut the number of clicks our product would gain 50% efficiency!. This is the sort of stuff that pointy-head marketing types eat up, not "nerds." How did this article even get on/.? WTF?
IMOHO these are minor annoyances and therefore we are wasting energy by even discussing them. Why not discuss real problems, like OS boot times, resourse usage, performance, stability, and let's not forget security! Somebody point us to an article on those topics. That's all I'm saying here.
User interface consistency is certainly a real issue. If you do the same thing day-in and day-out, maybe not. But if you use a number of different software programs infrequently, consistency becomes a must-have.
I used to own an Amiga. Each application did things its own way, and I used many of them. Each time I went to open a file, the application's open dialog appeared and I had to pause for 5 or 10 seconds to study it to figure out what I had to click to browse the file system. In classic Amiga fashion, wild colors and new ways to select things were used. It certainly showed the creativity of the programmers, but slowed down my productivity tremendously. It wouldn't have been such a big deal if I only used one or two applications, but I used 20 or 30, some infrequently, so it was disruptive.
Similarly, each application invented its own menu item name. Do I "open" a file, "load" it, "read" it, etc.? I think "load" was pretty common on Amiga, but not universal, and the lesser-used menu commands showed more inconsistency. As a result, whenever I launched an app I hadn't used for several days, I had to slow down and re-learn it.
I certainly agree that issues like security, stability, and the other things you mention are important, and need much more attention than they've had in the past. But don't blow off the little things that allows me to complete a task in 5 minutes rather than 8 minutes. Get rid of Clippy's constant interruptions and a business can save real time and money in improved productivity. (assuming the PC doesn't lock-up and have to reboot, which of course is your point!)
I had to pause for 5 or 10 seconds to study it to figure out what I had to click to browse the file system.
I have more users complaining about their Windoze 98 PCs crashing and locking up constantly* then I have them complaining about wasting an extra 5 to 10 seconds figuring out how to save a file.
The only thing that comes to mind that is relevant to this article is that they made changes to a document that "didn't save." My solution to this problem: I put a sticky note on their monitor that reads "SAVE!" Problem solved.
I think we will have to agree to disagree on this one...
PS - The user's proposed solution is always the same: "Get me a better computer." Scary thing: sometimes the CEO actually listens to this ridiculous remedy. Talk about wasting real time and money!
Why Free Software Usability Tends To Suck
by
Ilan+Volow
·
· Score: 3, Informative
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!
Re:More cruft! (IE and downloads)
by
Pyrometer
·
· Score: 1
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".
This has been one thing that IE on Windows has shafted me many times with. The following is very common in order to happen (a download manager like the MACOS and OSX versions would help me things):
Start to download an X MB file in IE.
Switch to a source file or document I am working on and start typing away.
The download finishes and IE brings the save dialog up with an overlaying one copying the file from the cache to where I wanted it saved.
My typing causes the by default copy dialog to hit a 'Cancel' button which is active by default.
I bitch and curse and start-up GetRight and start again:)
Profit!(just in-case this discussion doesn't get one of those somewhere along the line)
I don't even want to remember the amount of files on a dial-up connection I have lost with this (because I don't want loads of 3rd Party Applications like GetRight running in my system tray for any length of time) but my sanity has not been helped by the occurances:)
bad interfaces page doesn't get the concept
by
SomeGuyFromCA
·
· Score: 1
What really hacks me off about the bad interfaces page is that sometimes the author does not understand the concept but ridicules it anyway. Two examples: (both off the error page)
One of them starts with the phrase: "We came across this informative error message in Microsoft's Visual Basic 5.0 recently." (Who's this 'we'? The author and his imaginary friend?)
The Visual Basic help page told him:
The specified error number is returned by the system or external component (usually from an Application Interface call) and is displayed in hexadecimal and decimal format.
He translates this to:
Something bad happened. We don't know what it was or what caused it. All we do know is that the hexadecimal number you see is a hexadecimal number, but the number itself is meaningless.
No, the number is not meaningless, and yes, you can find out what caused it, if you had the brain cells needed to understand the concept of a return value!
That's bad enough; then there's this one, starts with the phrase "Is it any wonder that many people consider programmers to be geeks?":
The error message reads:
There has been an error transferring your mail. I said:
MAIL FROM: (address) And then the SMTP server said: 503 Polite people say HELO first.
Now, I will be the first to admit that this isn't the clearest error message in the world. For instance: "Error code 503: Polite people begin transmission with HELO" might have worked better. However, the author proves his utter lack of clue with his response.
the Eudora programmer... improperly chose to frame the message in the context of a dialog between the two machines
HELO! That's exactly what it IS! It's a dialogue between the machines to set up the connection, that one of them screwed up! Also, how exactly do you say that error message without somehow touching on the concept that the two machines are sending messages back and forth?!
Not satisifed with this, the author goes on to mock and ridicule the person who wrote the code:
We
There's that 'we' again. Maybe it's the Royal We.
have no difficulty imagining the programmer sharing the resultant message to his programming friends, snickering ala Beavis and Butthead at his keen sense of humor. We'd suggest that he take a day off from the computer, and go out and interact with a few non-programming-type individuals.
*fume*. I simply cannot comment on this.
-- if the answer isn't violence, neither is your silence
/ freedom of expression doesn't make it alright
Re:bad interfaces page doesn't get the concept
by
Anonymous Coward
·
· Score: 0
Not satisifed with this,
That's satisfied, moron. Go back to third grade and learn spelling, then maybe you can come out and play with intellignet people. If it's not time for your nap.
Re:bad interfaces page doesn't get the concept
by
Anonymous Coward
·
· Score: 0
First rule of spelling flames - they all contain at least one spelling error themselves.
Except this one.
Re:bad interfaces page doesn't get the concept
by
Anonymous Coward
·
· Score: 0
If you can't see the problem with Eudora's dialogs, there's no saving you. Stay the fuck away from creating any user interfaces.
Error codes are meant for programmatic processing, they are not meant for brain cells.
There's absolutely no reason to put those in the user's face (unless hidden in a "detailed information" section for tech support purposes.) You might as well have the thing beep morse code, it's just as "meaningful" as what you are advocating.
Re:bad interfaces page doesn't get the concept
by
Anonymous Coward
·
· Score: 0
What would you prefer? "An error has occured, but we think you're too dumb to comprehend it?"
And by the way, you got two mixed up - the error code is in VB, the code with translation is in Eudora.
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.
People who are complaining about the UI for a versioned document system haven't used Adobe Photoshop recently.
It saves as much undo information as you need AND allows you to back up to a certain point, then go forward on a new "branch". And if you don't like where that branch is going, you can back up again and go back to where you were originally. It's the "History" pane and it's a real innovation in document UI.
That's the way all applications should work, in my opinion.
And what if the skin is the default UI?
by
ddtstudio
·
· Score: 1
There's a good article in the Salon archives about all the roughshod abandonment of good user interface design when Apple went to the "brushed aluminum" look of the QuickTime player (Linux-only people will just have to take it on faith).
One of the major problems was placing one person's aesthetics over actual human interaction studies. Well, there's more in the article.
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
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!
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
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!
Naked Objects Solves most of these problems
by
MCRocker
·
· Score: 1
Naked Objects is a Java framework designed to allow developers to get back to the central ideas of true Obect Oriented design and development, which, naturally includes proper OO User Interfaces.
Even though so many developers use OO languages, they often end up with designs that harken back to the bad old days of data processing - data fed into procedure oriented programs. OOUI is in an even sadder state. Most deisgns seem to use the UI to cloak what's going on in the underlying object model (if there is one). It's especially ironic when you realize that some of the few programs that acutally use truly OOUI's are the Integrated Development Environments that those same developers use to create those horrible UI's. Can't they even see what's right in front of them?
Current design philosophy ends up giving the users horrible interfaces that just get in the way of actually getting the job done. Even worse, this process oriented view of the world treats the users as slaves to our machines that can do pattern recoginition better than the machine can. The Naked Objects approach, views the users as problem solvers and provides several different ways to accomplish a task. You've seen it before in spread sheets, drawing programs and IDE's. Naked Objects brings this level of expressiveness to every program and frees the user to be creative rather than just some cog in a machine.
So throw off your GUI and expose your business objects for the world to manipulate! Rejoice in the Naked Objects philosophy and free yourself of all that cruft weighing you down. So run free and let your objects swing in the breeze and... er, um... you get the idea:)
-- Signatures are a waste of bandwi (buffering...)
Re: and windows from other applications popping up
by
PissedOffGuy
·
· Score: 1
in win2k and above, applications are generally prevented from stealing focus from another application. thus the flashing entry in the taskbar.
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.
Nice article. Brought to my attention a few bits of UI-related cruftiness that I was unaware that I had become accustomed to. There are a few things that I would add, however:
The problem of oversimplification in Microsoft software is pervasive. Getting people to access "the Internet" through the one icon all the time might make things easier to start off with but doesn't give your average user much of an idea of what they're doing. It also means that if you're on a helpdesk you have to deal with bizzare assertions such as: "the internet's not working", or confounded silence when you ask someone what web browser they're using.
The point about the inconsistency between file manager and "open" dialogue interfaces is very apt. In my last job I did a lot of desktop support and found that a lot of people just didn't use or understand the need for something like Windows Explorer, no matter how much gentle chiding I subjected them to. So I'd keep having to explain to them why they shouldn't use the the open command in Word if they just wanted to open any old document... of course this presumes that the person you're talking to understands what a Word document is. Microsoft doesn't help here--if you're accessing files on a network then you almost have to be using shared drives. The problem is that "My Computer" isn't very good at navigating these and they now hide "Windows Explorer" deep within the Start menu, as if they're somehow ashamed of its existence.
In GUI applications that use sticky menus, (i.e. anything not made for a pre-MacOS8 Macintosh) if you want to close an open menu, you have to click outside it. In some apps if you click in the wrong place, the program does something that you didn't want it to do. One (completely arbitrary) example of this is Konqueror. If you click outside of a menu in order to close it and the mouse pointer happens to be hovering over a link, or a folder, you end up opening whatever it is you clicked on. So you get around this by having to hunt around the window for a "safe" region to click on. Mozilla, on the other hand, doesn't have this problem.
Of course, there's the classic example of UI cruftiness--in order to shut down Windows, you have to go through the Start menu.
I guess it's all a result of things becoming more complicated, as well as software companies wanting to maintain their marketshare without alienating their users. I tend to think that, as far as elegance and simplicity goes, nothing has beaten the Macintosh, circa System 6.
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.
Why have a "quit" if it never unloads?
by
fuckface
·
· Score: 1
Microsoft's Internet Explorer for Windows, while having many interface flaws, sensibly abolished the "Exit" menu item.
Well duh. It never unloads itself from RAM. Even if there was an option all it could do is close the window.
MS anti-trust... Tablet PC
by
Anonymous Coward
·
· Score: 0
MS explaining benefits of a standardly adopted OS:
Your honor we hold serious the responsibility bestowed upon us due to our monopoly on desktop OS's to prevent dramatic erosion in our nation's GDP by preserving the cruft in our products.
Tablet considerations:
MS pushing its tablet out (and others knee jerk contemplation of jumping on that bandwagon) brings up an interesting consideration.
Is their custom XP OS suited for tablet usage?
Who actually understands at this point the eventual real world tasks that this tablet device will provide a widespread solution for.
These yet unknown tasks (if any) will surely require GUI behavior that is more specific to the task at hand than that which MS (or any other vendor at this point) can presently envision.
It will be interesting to see which of their Tablet specific XP features evolve into cruft as their target market inevitably and substantially shifts from what they presently are guessing.
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.
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.;)
Re:Code Archiologist
by
Anonymous Coward
·
· Score: 0
Wow, you think that if you worked as a code "archiologist" you would at least be able to spell it.
It is archaeologist.
Re:Code Archiologist
by
Anonymous Coward
·
· Score: 0
Actually since he's going through code archives, one could probably correctly call him an Archiologist.
When I am on a roll and typing my ideas slower than I think them, yes I don't 'spell check' as I do this.
Did you not understand what I said?
Are you dumb?
The rules of spelling were set up by entrenched elites in England as a way to keep the comman folk down. When I have a word that I don't know the spelling of, I look it up if I think that it will confuse my readers. But this stuff is not 'published' in the sense that it is distributed to people other than slash/dot folks.
For example if I typed 'human orgasm' verses 'human organism', that would be confusing.
I agree that spelling is important for a lot of things, but this is a forum of ideas and not of grammer. So. . . Did you really not know what I was talking about? Don't you think that your pedantic comment was just a little bit spiteful.
Get a life.
I am smart enough to know that someone who can think circles around me doesn't necessarily dot all of his/her i's and cross all t's when doing documentation. That is why we have editors.
So. . .
you can spell, that is awesome. You learn a lot of arbitrary rules and that makes you better than everyone else.
Do you fire a hot Chinese programmer because he doen't know the difference between 'effect' and 'affect'?
I think not.
So, do your prescriptive (regressive, fashistic) grammer and spelling and be better than me.
I am a wretch, a sinner, unworthy.
I will dress in sack-cloth and flatulate myself.
I can't spell.
I am a sinner, I can't spell.
Just so you know: I have at least five different dictionaries that I refer to regularly. I often go through them and find words that I don't know and write them in a note book for future study.
I read vorociously on all different topics.
But when I am on Slash/dot, this is my 'bliss time' I type slower than I think and if I don't get the spelling correct in every case, I am sure that I most always get my meaning accross.
And in the realm of ideas isn't that what is important? Not pendantic grammaritarians who throw away the idea because of a blemish.
I find it interesting that you comment on my spelling in a topic about how old code that is written in an old idiom, but still works, is still good because the ideas in that code are good.
Did you miss that?
PS: even if you use a spell checker you don't get all of the mistakes because a word can be spelled wrong, but it is the correct spelling of a different word.
Peace.
Lookee, here, you whipper-snapper
by
brian6string
·
· Score: 0
Well, I have to say I disagree with the author here (by his own description, a 24 year old college student working in a cyber cafe).
1. Why do we make people save their documents manually? Because they don't always want to save their changes. Duh!
2. Why do we "punish" users by making them explicitly quit or exit a program? Um, otherwise all programs they've ever run would always be running, and eventually system resources would be compromised.
3. Why do we still make people use file pickers? Well, it's an alternative to drag and drop. In most apps, you can drag and drop, or use the app's file picker. It's your choice. Drag and drop, while "cool," has disadvantages. Number one is screen real estate. Few people have 1600x1280 (or higher res) screens where thay can actually see the file manager and their other apps at the same time. This means to use drag and drop, you have to flip back and forth, move windows, etc. In the end, it is easier to use a file picker sometimes.
4. Why do subdirectory structures exist? Well, sonny, let's see you organize the 1,000's of files on your hard disk without a subdirectory structure. The idea of using subdirectories is exactly like that in the physical world (filing cabinets, with dividers and folder). It is a system that works quite well for organizing large collections of documents.
The naive te of this article is really astounding!
unused bits in IP headers were used by viruses
by
Bill_EEE
·
· Score: 1
if the stuff 'isn't being used' are you sure?
I recall hearing something about how you can pass date by using so-called 'unused' bits some IP header format. . .
The system would 'ignore' these bits. But a virus would look to them and the virus could thus get secret data. . .
I remember hearing that this flaw was corrected by actually making sure that the bits were set to some known value (ie fill with zeros).
Otherwise the interface had a big hole in it.
So . . . my question for you is: are your 'unused fields' really not being used by someone? If they are not needed, they should be removed unless you don't worry about malicious virus writters.
just a point, and probably you don't have a problem.
Re:unused bits in IP headers were used by viruses
by
Anonymous Coward
·
· Score: 0
If a virus can stick data in the IP header, does it matter if you're using it or not? I would think if it has that type of access, it would be able to overwrite whatever it wants.
-- "I assumed blithely that there were no elves out there in the darkness"
Palm 'Stateless' model of programming
by
Bill_EEE
·
· Score: 1
In the Palm OS with power off, the system starts back where the user left off.
This is done with persistent memory.
I recall a model for a file system that just saved everything is series as it was created. That would involve a lot of file storage. As file storage was developed in the past when it was expensive, this kind of a file system was not desirable. But now with DVD Read/Write soon to be obiquitous, that kind of a file system seems to be less of a rediculous idea. If you are worried that you will loose key-strokes: save everyone to a file. Append to that file every time that you type.
But these ideas are not standard. So much was designed in the dinosaur days of small memory space when storage was expensive. The whole UNIX virtual file system is a good example of this. People in control of the industry have a vested interest to keep these dinosaurs alive (service contracts, etc). A lot of us who know how to design next generation system are OUT OF WORK. No one wants us to come in and tell their clients how these large corporations are ripping off the clients. And so we stay out of work. We have new ideas but we are pidgen-holed into deadend work. Our jobs are shipped to Bangalore.
And the dinosuars still rule the earth. . .
Yes, you can save every keystroke. You can have a file system that saves every version. You would want to specify which files would be in this type of a bin.
I think that we should put governmental law making on such a system. Every person accessing the law writting software would need to identify himself. And then any change would be tracked so that we can KNOW who is doing what, who is draining the system.
But I think that I am off topic now. So I will stop.
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.
What about OS for people with diabilities?
We need to keep working and providing better ways to do things.
It has not all been done. We need to do things for those who can't even pick up a mouse or type because they have handicaps.
Don't stop thinking, don't stop dreaming.
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.
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.
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...
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).
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."
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
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.:(
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.
Microsoft Sensibly removes Option to Exit Explorer
by
ThrobbingGristle
·
· Score: 1
Thanks Microsoft! I surely did want your bloated junk running all the time or I wouldn't run your OS in the first place!
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.
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...
Re:Better Answer Out on SourceForge?
by
MCRocker
·
· Score: 2, Informative
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...)
Re:Better Answer Out on SourceForge?
by
ewanrg
·
· Score: 1
Thanks! That looks pretty interesting.
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.
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.
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.
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.
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.
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.
It Can Be Done
by
Anonymous Coward
·
· Score: 0
Actually, Explorer, and the Windows Shell API in general, already has the capability (since '95) of representing multiple files/directories as an "application," or an aggregation of files.
It's just that no one has taken advantage of this capability and written the appropriate extension for this type of shell object.
A few examples of "aggregating" files together to form one shell object exist already though, such as the control panel and the recycle bin.
There are also zip viewer extensions which represent a zip file as if it were just another folder.
So, it can be done under Windows. Why hasn't MS or someone else already done it?
Re:It Can Be Done
by
Anonymous Coward
·
· Score: 0
Because you cant drag those "aggregations" around due to the hackestry, thus negating any usefullness.
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
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;}
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.
"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.
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
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.
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.
Re:Registry shredding
by
Anonymous Coward
·
· Score: 0
> 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.
Think "copy protection/antipiracy" and you realize this kind of install setup is not an accident or carelessness; it was a designer choice.
I'll research in the unattended install. But honestly the registry patches work like a charm.
And here you go: winnapp-patch.zip
Please be gentle to my 256/64Kbps ADSL line, okay? Besides, this is only to get rid of Program Files. Getting rid of "My Documents" (et al) is quite easy once you get the hang on the registry. Perhaps, I'll summarize how to do it when I got more time: I already have a draft lying around (just notes jotted down).
Hope it well help some people.
Use EMACS. :-)
by
Anonymous Coward
·
· Score: 0
Seriously, it just saves (or at least, can be configured to save) the whole session (as seperate from any edited files) after so many keystrokes or time of inactivity.
Crash? Power cut? No problem. Bring emacs back up, read the message about recover-session and off you go...
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)
Maybe I'm just being pissy, but that was the dumbest thing I've read all week. And it wasn't the irritating "style".
I like to know when my document has saved. I like to control it. It matters to me what is on the hard drive, because that is what is visible to other processes/users/machines. I like that I can undo a change that I haven't saved without modifying the underlying file (hint - think of a header file that would trigger a major recompilation). Leave me in control!
As for different ways to create a folder in the file picker vs. file manager, I can't speak for macs, but I think it's the same for Windows (you can right click in the file picker dialog).
And having control over what is loaded into memory - is he insane? Why doesn't your computer load every executable into memory on startup? That would save tons of time later on! Does he choose to have the Netscape QuickStart (or whatever they call it) - the one that preloads bloatware for faster launch when you actually want to use it? I don't. Not for Netscape, RealPlayer, whatever. Leave me in control!
And does anyone think that item 4 contradicts (the second) item 1 + (the second) 2? If you can't quit an application that autosaves your document at whim, and you rename the file, what do you expect to happen?
-- Your favorite.sig sucks
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.:)
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
There's a good reason why...
by
Anonymous Coward
·
· Score: 0
...nothing ever gets changed:
Microsoft has a monopoly.
As somebody already said, there's no incentive to make things better. You can read the same story with regards to the history of the x86 architecture. Just replace MS with IBM.
What about *nix and Mac's? Making (more) money is paramount to all companies. That means converting users from Windows. That means to promote user-friendliness, the UI of these systems have to be familiar to users who are already familiar with Windows. Certainly, small improvements can come about, but there can be no revolution in this type of environment. Rather, it would seem that everything'll be headed towards the most popular UI.
Then what remedies exist for this problem? Nothing within our lifetimes, short of a gun to a programmer's head and Saddam's voice saying, "Make this better," which may just do the trick, if there are also guns to the users' heads saying, "Use this program."
But it doens't matter. The sun's gonna explode in 6 years anyway.
bloatware, hard links, etc
by
wotevah
·
· Score: 1
I believe the author is wrong on a couple issues, which kind of discredits his rather artificial logic for the rest of them (that I could care less about anyway).
1) Today applications DON'T take seconds to start. In fact, the bloat in software has kept the pace with advances in hardware, thus making the software today take the same resources (percentage-wise) as the one yesterday. Netscape, Photoshop, Real player, any application not deeply embedded in Windows take forever to start requiring all those nifty "accelerators" ran at login time that use up real memory trying to cope with this problem. Even if it didn't, so long as computers have limited resources (and hardware manufacturers will make sure the prices are never so low for us to afford plenty of ).
2) Same goes for documents. Saving documents in Word, images in Photoshop is never blazingly fast.
Let alone that file versioning a la VMS fills the disk space quite quickly and would require an interface to "clean up" the unnecessary revisions lying around.
By the way, Word does by default do incremental saves which a lot of us here seemed to like so much; I hope we still remember the events concerning inadvertent release of information through documents published on the web that were saved using this mechanism. Besides, all the points made about me choosing when to save are valid - I really want to have the choice of when to write my changes.
3) Inodes - just by mentioning that the author proves he has no idea what he is talking about. Unix has had this for a long time - there are hard links which use inodes and there are symbolic links which just point to the path. So Unix offers both, care to check which type is most commonly used ?
For one, hard links are not portable across filesystems (partitions). Also, deleting a hard linked file does not actually release the disk space until all links have been removed. This can cause some serious confusion to the head of the Windows user. Hard links are difficult to back up and restore properly.
Want more ? When an application saves a file it usually creates a new file, writes the data then moves it over the original file (to avoid data loss due to write errors). Guess what happens to the inode number.
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.
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.
even people who have spent their life trying to design the best user interfaces have made mistakes too. take a look at jef raskin's (designer of the mac interface) canon cat as an example.:)
Used bits, if changed, effect routing. . .
by
Bill_EEE
·
· Score: 1
The idea is that the unused bits were not checked. Thus the IP software didn't have any way of knowing that the header was compromised. And the header was exactly the same as far as the IP software was concerned. If you start to mucky around in the bits and bytes that ARE used by the header, then you have changed the header and the packet will route somewhere else. So, that isn't going to help you if you are a malicious hacking bastard. ..
What this means is that for bits that are routed around the internet, there is never a "Don't Care" bit as there would be with a chip interface. Any bit that is "UNUSED" should be set as either a zero or a one so that it can not be used by hackers. If the bit is USED then if hackers change it, it will reroute the packet and the software will know this. IE: board design with interfaces has this slight difference from design with IP headers.
Another point: With programmable logic chips there really are no "Don't Care" inputs. You must tie the unused gates either HIGH or LOW or else your programmable chip may not work as designed. This is always a good idea for board design in that it prevents oscillation and power burning by unused gates.
But you can always go for google:
Is the interface a command line? If not, it's crufty ;-)
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!
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.
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.
Here are a few examples of interface cruft.
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.
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.
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.
This last example is particularly nasty, because it shows how interface cruft can be piled up, layer upon layer.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Theyre inconsistent with every other kind of menu in Windows, which opens as soon as you push down on the mouse button.
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.
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.
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
Ive never really found anything that matches 12vc's at vga res for doing stuff.. great thing about command line apps is there practicly always designed well because theres no bs gui to worry about and distract the attention of what actualy needs to be done.
moo
See http://info.astrian.net/jargon/terms/c/crufty.html
Hey! That's my sig you're smoking there!
are examples of crufters ;)
notepad, pico, vi, emacs.. examples of cruftbusters.
moo
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.
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."
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
"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.
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.
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./i> No, the hackers aren't lazy - they're just too busy trying to ape the MS windowes look and feel....
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.
(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....
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. 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."
You probably don't have a background either eh? :-)
nosig today
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.
``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.
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."
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.
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.
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
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!
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
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!
Anyone from the UK may have noted that Crufts is the name of the annual dog show of the Kennel Club in the uk.
4.a. Use hard links instead of symlinks. A hard link is just that, a link to an inode. The problem is that the file remains under the link name if it is removed, but it should not. The solution would be to label a file as "soft", and when it is deleted under another name, the soft file would become an invalid hard link, or maybe a symlink to the deleted file name.
-- 1.e4 c6 2.d4 d5 3.Sc3 de4: 4.Se4: Sd7 5.Sg5 Sgf6 6.Ld3 e6 7.S1f3 h6 8.Se6:
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.
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.
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.
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.
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.
You idiot.
Macs only run one application at a time? Have you ever used a Mac?
Windows 95 the best GUI ever? You haven't used many GUIs have you.
The ROX Desktop has gone someway to implementing this on X - rather than blindly re-implementing the Windows Way like so many other projects.
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
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.
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.
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.
I studied computer science and cognitive science, and am currently a GUI programmer. I have to say I agree with the article on some points. For example, if save is actually an undo marker, why not implement undo markers properly?
However I think that with his drag and drop saving/renaming he misses an important user interface concept: guiding the user.
When I, as a new user of some program, am looking for a way to achieve task x, then the first thing I do is browse the menus. If I find a menu point that looks like what I want, I choose it. If the program then needs more information, it throws up a modal dialog asking me for it and giving me the opportunity to cancel out of the task. So the user always has something in the hand telling him how to accomplish the next step in his task. The only thing he really has to learn for this, is to search through the menus.
Drag and drop offers none of this. You drag on something and it doesn't give you any information about where it can be dropped. It might not even be draggable. The information might not even have a graphical "handle" on which the user could drag, or he might not be able to find the handle.
For this reason drag and drop works mostly as a supplement to menu-based program manipulation. It takes the foreground when editing explicitly graphical information such as page layout, but otherwise it can in my opinion never be the primary method for operating a program.
Myrle
Just change the skin to something that doesn't have colorful, bubbly bitmaps!
Grandparent wants programs to use a simple, non-ugly skin by default.
Will I retire or break 10K?
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
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.
are they suggesting there weren't multi-tasking operating systems in the 1970s?
No. They are suggesting that software developers in the 1970s did not produce operating systems with all three following qualities: 1. multitasking, 2. ability to run on home computers, and 3. popularity.
Will I retire or break 10K?
Ok, yeah, I guess Windows also have that feature.
On NT, minimized Windows apps use negligible system resources except swap space and toolbar space. On Windows 9x, on the other hand, there are two memory spaces called "user.exe heap" and the "gdi.exe heap". Each is 64 KB in size, for backward compatibility with Windows 2.x and 3.x, and cannot be enlarged nor swapped. Every window, minimized or not, will use some resources.
Will I retire or break 10K?
For example, Kazaa Lite (just a program I happened to be running while reading this article) has the following items under the file menu: Connect, Disconnect, New Search, Hide in systray and Exit. None of these actions have anything to do with manipulating files. Using the file menu as a garbage bin for a bunch of random actions seems to be quite common and I'm surprised that the article didn't mention this issue.
Why can't I just copy a file from the CD/Net and be done with it?
Dependencies. If you could install apps by merely dragging them into place, what design would you propose to eliminate the cruft of having to install libraries that the app uses?
Will I retire or break 10K?
Use hard links instead of symlinks.
Hard links cannot point across partitions in most filesystems.
Will I retire or break 10K?
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.
Unless you subscribe to the one giant filesystem to rule the one disk school.
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!
Nothing confuses the user more than when they can't open that nice .doc or .wpd that they receive as an email attachment from a user using a different version of the application, or a competing version. I think clean XML, or SGML is the way to go.
IMO the absolute fscking all-time number-one of really annoying "innovation" that Linux(...) desktop application programmers so happily copy from Windows is the Start Button.
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?
In almost all Linux(...) window managers including my favorite gnome-incompatible WindowMaker, 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? (This is not a rethorical question, please reply). How anyone can compare those two methods and go for the Button completely elludes me.
my
These guys obviously come from the WIN-DOS world, where apps quit when you close the last window. *** NEWSFLASH *** That's completely fucked up, and unfortunately those fuckers from Redmond implement that shit in their OS X ports of WIN-DOS media player (WIMP) (however not in the Awfice suite).
The program shall quit when I say it should quit. The app should make no assumptions on my behalf, depending on how many windows are open. Jesus fucking Christ in a river crutch...
frawaradaR anahaha islaginaR!
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???
This article is right on the money, and funnily enough addresses exactly the same topics as David Gelernter (/. NYT article a few days ago) tries to address with Lifestreams and related systems.
Filesystems are the biggest bottleneck to improving the OS ui, they singlehandedly are responsible for most of the problems these people mention. An ideal OS is persistent from the bottom up, and doesn't require you to think about load/save, start/stop, and storage locations.
How would this work? The user would just deal with documents, or objects, or however you'd want to call them. If he wants to view or edit them he just does so, he is not concerned with loading (there document is there, why does it require an intermediate action to make it even more available than it is?), he is not concerned with starting applications (maybe the document requires some code to make the editing possible, but why should the user care?).
But maybe most importantly he doesn't care about storage locations. Documents just exist, and don't have a particular location. So how does one "organize"? by queries (much like what we know from databases, just with a greatly simplified UI), or rather "persistent dynamic queries": persistent because they are always instantly viewable like directories, and dynamic because they refresh themselves automatically depending or new or changed objects. Want to see all emails from a certain sender? create a query and new emails from that sender automatically end up there. This allows people to create any amount of organisation in their document soup when they need it, not when they create documents.
Some posters complained that automatic persistence would not give you any control over throwing away unwanted changes... that's why a good OS should automatically keep track of a version history or persistent undo. Some others complained that not exiting applications would clog memory... that's why a good OS should be able to track down which code components are no longer needed for current documents being accessed, and act accordingly.
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.
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...
(of shamed sites) Ugh what a disgrace - I recall the review of Quicktime 4 or 3 from ages back - ridiculing the concept of a hand held style interface. (see quote) "The QuickTime 4.0 Player contains many examples of how the software must adopt the limitations of the physical device it is based on, but the first example the user is likely to discover is the volume control. Since a real-world hand-held electronic device typically employs a thumbwheel to control the volume, the designers concluded that it would work just as well in a software application. What the designers failed to realize is that a thumbwheel is designed to be operated by a thumb, not a mouse. Watching new users try to adjust the volume can be a painful experience. The user invariably tries to carefully place the cursor at the bottom of the exposed portion of the control, then drags it to the top of the control and releases, then carefully positions the cursor again at the bottom of the control, drags upward, and well, you get the picture. " Hence, WinDVD and Power DVD SORELY belong in this list. Hideous Hideous packages.
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.
Just because something is based on getting around a technical limitation doesn't mean it's not a good idea. Examples:
1) Save. Everyone's been burned by the Damn-I-Forgot-To-Save problem at least once, but the alternative is not always a very good option. When using large files, such as graphic documents or (shudder) video files, having your work auto-save as you go without your specifically saying so would slow you down to the point in stupidity. It needs to be the user's responsibility to save their own work, because sometimes the 'flow' you're in doesn't allow for momentary delays.
2) Save locations. I've been doing this trick of late where I save everything I do to the Documents folder (used to the be the desktop, but that was even worse). Then I would sort through everything afterwards and move them to the right folders. Bad idea. I presently have close to 150 files flying about randomly in the documents folder, and I know I will likely never sort them properly. Forcing people to choose where their files go is a matter of, again, putting the responsiblity of a messy filesystem into the hands of the user. It's like with my receipts for taxes: if I didn't have those inboxes on my desk, I'd toss them all in the drawer, and get burned in an audit. You need that choice.
3) Quit. I hate explaining quit to Switchers, but again the issue of larger, more complex programs defeats the argument of "just stop the program when it's not in use". If I had to wait for Photoshop to load back into memory every time I closed the last document, played in Illustrator, and then went back to Photoshop, I would likely die. Text editors can load in 2 seconds, but computers are still not in the state where they can load ALL programs that fast.
So why not let developers put Save and Quit in the programs that need them? Because then you have a truly awful time trying to explain to users how every program works. Photoshop? Quit that one. BBEdit? It closes on its own. Inconsistency is the ultimate interface evil.
Until all computers ARE good enough to run EVERY program flawlessly, cruft needs to be around. It may seem obnoxious to those comfortably working in the can-be-done-easily zone of computing, but to those whose fields are still in the pushing-the-envelope zone, we're not done with cruft yet.
The world's only surviving livewriter.
(Se.cx)
and my friends wonder why I love miranda, god trillian looks like a freak show.
miranda is truely art- simple basic, functional - and I'm not even doing it to be trendy! - it's great.
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...
While I don't readily agree that Windows 95 was the best gui ever, I do agree that the Mac gui was quite confusing. It made it seem like there was only one program running and the method to switch between programs was not very self explanatory. The task bar introduced in Windows 95 became a beautiful device, displaying important running programs and was always visible by default. There are quite a few other things introduced that helped to make Windows 95 a good gui. I liked the toolbars with common apps on them in the *nix world, but they were too hard to modify. They make a big deal over the start menu, however, it is much easier to use than navigating a file system.
-]Phreak Out[-
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?
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.
Motherboard Monitor...
Technically a marvelous tool but...
Worst.... Interface..... EVER!
Pity that OpenDOC didn't catch on (or was too difficult to develop for).
IIRC, this was the basic goal of OpenDOC. Make the UI document centric, with all applications offering services that are completely interoperable. (i.e. move away from "monolithic" applications) Want to add a spreadsheet to the document - no problem, graphic - likewise. All tools accessible in all documents. Want to use a different spell checker, or different text editor - use whichever one you want!
OLE *tries* to do this - but sticks to the monolithic applications.
Most of these criticisms are not new. These same arguments are presented in the book About Face: The Essentials of User Interface Design by Alan Cooper published in 1995. What this article has done is add some additional historical context and technical details. Useful, but not particularly new.
Alan Cooper has more to say about these and other issues of user interface design. And, though you might not always agree, they are at least thought provoking.
Besides the "Thats the way we've always done it argument", there are two other reasons why things have not changed. One, usually software development is not about creating the best solution. Rather, it is typically about creating the "good enough" solution. And two, there is not yet any hard usability data which shows that investing time and money in changes at this level of detail will have an impact significant enough to justify it's cost.
I would really like to see more work done on the latter.
or use Next/OS X
I know that Mac OS X has "app bundles" and "frameworks", but how does the system resolve things if you don't have a particular "framework" or version thereof installed on your system?
Will I retire or break 10K?
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.
linked at the bottom of the article. I was just wondering if anyone uses it? If so what are peoples thoughts on it...?
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"?
/home to a partition mounted at /usr and the file gets a new inode.
2) Inodes are only unique in the filesystem in which they reside. Move a file from a partition mounted at
Maybe Matthew should trade in one of his degrees for a degree in computing instead of relying on ZDnet for knowledge.
will cause the program to ask you by what name you'd like to refer to the new document
This is the kind of shit I don't want to waste my time with. Name the damn thing for me - don't bother me when I'm working.
Spoon not. Fork, or fork not. There is no spoon.
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.
Do you really think that the whiners who complained so bitterly while learning the horrible ways that Windows and MACOS and Unix/Linux work are going to want to relearn it? How about we try to change the command line options of TAR or the script syntax of BASH to be a little less horrible? Any takers? I thought not.
2. The OS checks the file and what libraries it needs.
3. The OS installs those libraries.
Then how would the OS find those libraries? It's typically not space-practical to include libraries with every app that uses the libraries without distributing the app on a physical medium such as a CD.
We have plenty of space these days, why not make everything statistically linked?
Take video codecs for example. Do you want to require every app that plays video to contain copies of every single video codec ever produced? Or are you willing to accept that parts things such as QuickTime should stay in dynamically loaded plug-ins?
Will I retire or break 10K?
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.)
I think a fair few people agree that a lot of today's UI systems aren't as transparent as they should be, and that we should be looking forward and changing different facets of the UI. However, I think that a lot of the "improvements" suggested by the article have downsides of their own.
:). If he's talking about simply removing the "quit" thing in the file menu, I don't really care either way, as long as there's some way of closing the window. I tend to use the little "x" anyway.
:)
The storing diffs/CVS-like method might sound OK at first, especially since we now have disk space to burn, but even that hits snags. What if I wanted to ftp a 200 page document up to a server somewhere? Would all the undo levels be transferred as well? This is largely unnecessary, since I'll never need to undo all my typing, but I'll still have to transfer it all up. What if I want to create a "final", version of this document? CVS tackles this issue with servers. The server contains all the diffs. You only download the one image, and can "undo" at will, at the cost of getting the older version from the server again. Although this can be done with documents, I believe the increased functionality and "user-friendliness" isn't worth the trouble.
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?
Speaking of a concrete example: There's a simple little program that I got with my graphics tablet called "Art Dabbler". It does what the article suggests(ie: there is no concept of "saving"). It tackles the undo problem simply: There is only one level of undo, and exiting assumes what you've already done is ok(ie: undo is not written to disk). If I want to delete multiple strokes, I have to get out an eraser and rub them out. It functions almost like a real notebook(there's even a little paper-like texture when I use the pencil tool), but with small benefits, like I can rub out ink, and I have 1 undo level(better than real life! you can't hit CTRL-Z and get rid of real lines). So what use is it? Other than cutesyness, absolutely none. You can't use it for any real purpose. I think that speaks for itself. Part of the brilliance in computing lies in the concept of saving -- of having control over what's in volatile storage and what's in non-volatile storage.
He makes an excellent point on the quitting though. I used an old mac system and that manual quitting even though there's no window thing freaked me out. That's probably the sole reason I don't like macs more(that plus I like 10 buttons or so on my mouse, not 1)! I don't know if macs still do this, but Linux certainly doesn't, so I'm quite happy on that front
I think we SHOULD think about tomorrow. However, we need to think these things though, and if it doesn't work today, then maybe it's not such a good idea after all.
To those who think Linux blindly copies MS, I'd like to say, that we ARE making headway in terms of UI design. Take a look at fluxbox and tabbing. It's a really neat concept.
PS: Sorry about the size
-- f00!
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?
"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.
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.
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?
Any document based program should automatically save and track changes. The current system leaves me having to save multiple copies of documents if I want to go back. I should be able to rewind the document through it's creation. Given current processing power and storage capacities there is no technical reason not to have these systems.
Use a script to mirror your gnome/KDE settings, then use windowmaker/ fluxbox/ waimea/ e/ insert-favourite-wm to mirror the menu. That way if there IS free desktop space you just click on that. If not, you just mosey on up/down to the start button equivalent.
Works for me!
-- f00!
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.
But helpfiles too, this is taken from the Norton Antivirus helpfile:
Error troubleshooting
If Email Scanning displays an "Error" status:
1 Turn on Email Scanning using the procedure described above.
2 If step 1 does not fix the error, restart your computer.
3 If step 2 does not fix the error, uninstall and reinstall Norton AntiVirus.
Do I have to mention that it didnt work?
Anataka suki desu. Itsumo. Itsumademo.
AmigaOS had a very nice way of dealing with this. AmigaOS allows you to create a temporary short identifier for any directory in the filing system, using the same syntax as it uses for the filing system root (ie. a name followed with a colon).
When loading from hd0:applications/pagestream 3.41/documents/, instead of going through that path every time you can simply assign that name to (for example) 'source:' instead. Of course you can do the same for the destination, calling it 'dest:'.
Pressing the right mouse button in a filer window brings up the list of assigned names. Now the sequence of changing from one to the other becomes very short: click on 'save', right-click once, click on the assigned name that you want, click on ok. The need to drill down through endless directories is gone.
Since it is easy to create and remove assigned names on the fly, the list of assigned names is typically short enough to still be useful. I still miss this system every day...
Quit is not cruft. And the start menu kicks ass! It's one of the things that really made me happy when I moved from the Mac to Windows. It gives me fast access to open any program detached from the rest of the desktop. On the mac I had to make a folder and fill it with shortcuts, but there was no way to make it go away and appear quickly. YAY PROGRAM FILES!
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 /e,/root=c:\grotto,start menu
explorer.exe
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.
What's worse with GAIM defaults is sometimes the new message window will pop up and NOT TAKE FOCUS (while happily taking focus away from your current app), leaving your keystrokes going into oblivion. But it can be fixed by changing popup focus in preferences, or tabbed messaging in preferences. Still, it's a bad default.
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.
Everbody should use VAX/VMS!
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!
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
Cruft he calls it contemptedly, but it can be useful cruft. He also recognizes this, but doesn't really whip up The Solution.
And you can't, not without having a clear idea what you want to accomplish and WHO IS YOUR TARGET USER.
I prophesize that computer UIs will go two ways:
A) A Point'n Drool interface for the unwashed masses
B) A more efficient and accurate Point'n Drool interface for the more technical inclined
C) Command-line for Linux-can't-get-a-date-geeks and bearded sysadmins
Oh, that was THREE Paths Of the Future, but what the heck. There'll probably sneak in a fourth in the last minute too:
D) A supersonic 3D virtual freak-fantasy with as much pr0n and stimulating external gadgets your heart can resist.
And then there is the Hollywood version where you click on a button that does what you want to do, with passwords filling up your whole screen.
So all, in all. You have to know who your target user is before fixing what's already broken, but useful.
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.
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
...in the "Interface Hall of Shame" using frames? :-)
human://billy.j.mabray/
"Every good system has a backup." -- Dale Hanchey
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.
They actually have a very good reason for doing this. They are making a clone of the windows software and that is exactly what the windows software does. As another poster pointed out you can change this behavior in your preferences or use an away message so that the windows don't pop up when you are busy.
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.
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.
These commands are, IMO, actually examples of good interface design. The (unwritten) rule these commands are implementing is,
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.
>|<*:=
When I got my iPaq 3850 this was the most annoying thing I found with it. If I hit something that looks similar to an 'X' button in Windows I expect the application to close. Off course it doesn't, it stays in the back-ground and not long after having a few applications open the system would crawl forcing me to go to the iTask Manager and close applications (usually all to save time) so that I could have my responsive system again.
Thankfully there was a ROM update for the iPaq which has reduced this greatly. I really can't remember if it closes applications down while they are in the background if there is too many running, or it just starves applications that are in the background of resources ... I believe that it is the latter (considering how many applications I see running when I do go to the "task manager").
Some applications do have an 'Exit' feature although that is rare. I really wish that MS would have chosen another icon that wasn't an 'X'. I really think two thirds of the traffic light anology would have been good with the PocketPC. a 'Red' circle would 'close; exit; quit; whatever!' the application, while an 'Orange' circle would hide it in the back-ground.
R
This article is written by a whiner of the Nth degree (trust me, it takes one to know one).
You have click "Save" and "Quit," you have to right click to move applications, the "filesaver" and "filepicker" don't look alike, etc. etc. BOO-Phunking-HOO. Somebody has too much time on their hands.
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!
This has been one thing that IE on Windows has shafted me many times with. The following is very common in order to happen (a download manager like the MACOS and OSX versions would help me things):
I don't even want to remember the amount of files on a dial-up connection I have lost with this (because I don't want loads of 3rd Party Applications like GetRight running in my system tray for any length of time) but my sanity has not been helped by the occurances :)
One of them starts with the phrase: "We came across this informative error message in Microsoft's Visual Basic 5.0 recently." (Who's this 'we'? The author and his imaginary friend?)
The Visual Basic help page told him:
He translates this to:
No, the number is not meaningless, and yes, you can find out what caused it, if you had the brain cells needed to understand the concept of a return value!
That's bad enough; then there's this one, starts with the phrase "Is it any wonder that many people consider programmers to be geeks?":
The error message reads:
Now, I will be the first to admit that this isn't the clearest error message in the world. For instance: "Error code 503: Polite people begin transmission with HELO" might have worked better. However, the author proves his utter lack of clue with his response.
HELO! That's exactly what it IS! It's a dialogue between the machines to set up the connection, that one of them screwed up! Also, how exactly do you say that error message without somehow touching on the concept that the two machines are sending messages back and forth?!
Not satisifed with this, the author goes on to mock and ridicule the person who wrote the code:
There's that 'we' again. Maybe it's the Royal We.
*fume*. I simply cannot comment on this.
if the answer isn't violence, neither is your silence / freedom of expression doesn't make it alright
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.
People who are complaining about the UI for a versioned document system haven't used Adobe Photoshop recently.
It saves as much undo information as you need AND allows you to back up to a certain point, then go forward on a new "branch". And if you don't like where that branch is going, you can back up again and go back to where you were originally. It's the "History" pane and it's a real innovation in document UI.
That's the way all applications should work, in my opinion.
There's a good article in the Salon archives about all the roughshod abandonment of good user interface design when Apple went to the "brushed aluminum" look of the QuickTime player (Linux-only people will just have to take it on faith).
One of the major problems was placing one person's aesthetics over actual human interaction studies. Well, there's more in the article.
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
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!
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!
Naked Objects is a Java framework designed to allow developers to get back to the central ideas of true Obect Oriented design and development, which, naturally includes proper OO User Interfaces.
Even though so many developers use OO languages, they often end up with designs that harken back to the bad old days of data processing - data fed into procedure oriented programs. OOUI is in an even sadder state. Most deisgns seem to use the UI to cloak what's going on in the underlying object model (if there is one). It's especially ironic when you realize that some of the few programs that acutally use truly OOUI's are the Integrated Development Environments that those same developers use to create those horrible UI's. Can't they even see what's right in front of them?
Current design philosophy ends up giving the users horrible interfaces that just get in the way of actually getting the job done. Even worse, this process oriented view of the world treats the users as slaves to our machines that can do pattern recoginition better than the machine can. The Naked Objects approach, views the users as problem solvers and provides several different ways to accomplish a task. You've seen it before in spread sheets, drawing programs and IDE's. Naked Objects brings this level of expressiveness to every program and frees the user to be creative rather than just some cog in a machine.
So throw off your GUI and expose your business objects for the world to manipulate! Rejoice in the Naked Objects philosophy and free yourself of all that cruft weighing you down. So run free and let your objects swing in the breeze and... er, um... you get the idea :)
Signatures are a waste of bandwi (buffering...)
in win2k and above, applications are generally prevented from stealing focus from another application. thus the flashing entry in the taskbar.
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.
Sapere aude!
-
The problem of oversimplification in Microsoft software is pervasive. Getting people to access "the Internet" through the one icon all the time might make things easier to start off with but doesn't give your average user much of an idea of what they're doing. It also means that if you're on a helpdesk you have to deal with bizzare assertions such as: "the internet's not working", or confounded silence when you ask someone what web browser they're using.
-
The point about the inconsistency between file manager and "open" dialogue interfaces is very apt. In my last job I did a lot of desktop support and found that a lot of people just didn't use or understand the need for something like Windows Explorer, no matter how much gentle chiding I subjected them to. So I'd keep having to explain to them why they shouldn't use the the open command in Word if they just wanted to open any old document... of course this presumes that the person you're talking to understands what a Word document is. Microsoft doesn't help here--if you're accessing files on a network then you almost have to be using shared drives. The problem is that "My Computer" isn't very good at navigating these and they now hide "Windows Explorer" deep within the Start menu, as if they're somehow ashamed of its existence.
-
In GUI applications that use sticky menus, (i.e. anything not made for a pre-MacOS8 Macintosh) if you want to close an open menu, you have to click outside it. In some apps if you click in the wrong place, the program does something that you didn't want it to do. One (completely arbitrary) example of this is Konqueror. If you click outside of a menu in order to close it and the mouse pointer happens to be hovering over a link, or a folder, you end up opening whatever it is you clicked on. So you get around this by having to hunt around the window for a "safe" region to click on. Mozilla, on the other hand, doesn't have this problem.
-
Of course, there's the classic example of UI cruftiness--in order to shut down Windows, you have to go through the Start menu.
I guess it's all a result of things becoming more complicated, as well as software companies wanting to maintain their marketshare without alienating their users. I tend to think that, as far as elegance and simplicity goes, nothing has beaten the Macintosh, circa System 6.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.
Microsoft's Internet Explorer for Windows, while having many interface flaws, sensibly abolished the "Exit" menu item.
Well duh. It never unloads itself from RAM. Even if there was an option all it could do is close the window.
MS explaining benefits of a standardly adopted OS:
Your honor we hold serious the responsibility bestowed upon us due to our monopoly on desktop OS's to prevent dramatic erosion in our nation's GDP by preserving the cruft in our products.
Tablet considerations:
MS pushing its tablet out (and others knee jerk contemplation of jumping on that bandwagon) brings up an interesting consideration.
Is their custom XP OS suited for tablet usage?
Who actually understands at this point the eventual real world tasks that this tablet device will provide a widespread solution for.
These yet unknown tasks (if any) will surely require GUI behavior that is more specific to the task at hand than that which MS (or any other vendor at this point) can presently envision.
It will be interesting to see which of their Tablet specific XP features evolve into cruft as their target market inevitably and substantially shifts from what they presently are guessing.
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.
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.
Well, I have to say I disagree with the author here (by his own description, a 24 year old college student working in a cyber cafe).
1. Why do we make people save their documents manually? Because they don't always want to save their changes. Duh!
2. Why do we "punish" users by making them explicitly quit or exit a program? Um, otherwise all programs they've ever run would always be running, and eventually system resources would be compromised.
3. Why do we still make people use file pickers? Well, it's an alternative to drag and drop. In most apps, you can drag and drop, or use the app's file picker. It's your choice. Drag and drop, while "cool," has disadvantages. Number one is screen real estate. Few people have 1600x1280 (or higher res) screens where thay can actually see the file manager and their other apps at the same time. This means to use drag and drop, you have to flip back and forth, move windows, etc. In the end, it is easier to use a file picker sometimes.
4. Why do subdirectory structures exist? Well, sonny, let's see you organize the 1,000's of files on your hard disk without a subdirectory structure. The idea of using subdirectories is exactly like that in the physical world (filing cabinets, with dividers and folder). It is a system that works quite well for organizing large collections of documents.
The naive te of this article is really astounding!
if the stuff 'isn't being used' are you sure? I recall hearing something about how you can pass date by using so-called 'unused' bits some IP header format. . . The system would 'ignore' these bits. But a virus would look to them and the virus could thus get secret data. . . I remember hearing that this flaw was corrected by actually making sure that the bits were set to some known value (ie fill with zeros). Otherwise the interface had a big hole in it. So . . . my question for you is: are your 'unused fields' really not being used by someone? If they are not needed, they should be removed unless you don't worry about malicious virus writters. just a point, and probably you don't have a problem.
This guy has it backwards.
"I assumed blithely that there were no elves out there in the darkness"
In the Palm OS with power off, the system starts back where the user left off. This is done with persistent memory. I recall a model for a file system that just saved everything is series as it was created. That would involve a lot of file storage. As file storage was developed in the past when it was expensive, this kind of a file system was not desirable. But now with DVD Read/Write soon to be obiquitous, that kind of a file system seems to be less of a rediculous idea. If you are worried that you will loose key-strokes: save everyone to a file. Append to that file every time that you type. But these ideas are not standard. So much was designed in the dinosaur days of small memory space when storage was expensive. The whole UNIX virtual file system is a good example of this. People in control of the industry have a vested interest to keep these dinosaurs alive (service contracts, etc). A lot of us who know how to design next generation system are OUT OF WORK. No one wants us to come in and tell their clients how these large corporations are ripping off the clients. And so we stay out of work. We have new ideas but we are pidgen-holed into deadend work. Our jobs are shipped to Bangalore. And the dinosuars still rule the earth. . . Yes, you can save every keystroke. You can have a file system that saves every version. You would want to specify which files would be in this type of a bin. I think that we should put governmental law making on such a system. Every person accessing the law writting software would need to identify himself. And then any change would be tracked so that we can KNOW who is doing what, who is draining the system. But I think that I am off topic now. So I will stop.
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.
What about OS for people with diabilities? We need to keep working and providing better ways to do things. It has not all been done. We need to do things for those who can't even pick up a mouse or type because they have handicaps. Don't stop thinking, don't stop dreaming.
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.
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
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. :(
creation science book
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.
Thanks Microsoft! I surely did want your bloated junk running all the time or I wouldn't run your OS in the first place!
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.
So, are there any radical GUI and/or OS projects on SourceForge worth looking at that address the author's objections?
.02 worth...
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
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.
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
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.
"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."
/. moderators have this crack habit.
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
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.
Start -> Shutdown :)
HTH. HAND!
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
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.
Actually, Explorer, and the Windows Shell API in general, already has the capability (since '95) of representing multiple files/directories as an "application," or an aggregation of files.
It's just that no one has taken advantage of this capability and written the appropriate extension for this type of shell object.
A few examples of "aggregating" files together to form one shell object exist already though, such as the control panel and the recycle bin.
There are also zip viewer extensions which represent a zip file as if it were just another folder.
So, it can be done under Windows. Why hasn't MS or someone else already done it?
(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
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;}
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.
"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.
Sexist.
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
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...
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.
And here you go: winnapp-patch.zip
Please be gentle to my 256/64Kbps ADSL line, okay? Besides, this is only to get rid of Program Files. Getting rid of "My Documents" (et al) is quite easy once you get the hang on the registry. Perhaps, I'll summarize how to do it when I got more time: I already have a draft lying around (just notes jotted down).
Hope it well help some people.
Seriously, it just saves (or at least, can be configured to save) the whole session (as seperate from any edited files) after so many keystrokes or time of inactivity.
Crash? Power cut? No problem. Bring emacs back up, read the message about recover-session and off you go...
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)
Maybe I'm just being pissy, but that was the dumbest thing I've read all week. And it wasn't the irritating "style".
I like to know when my document has saved. I like to control it. It matters to me what is on the hard drive, because that is what is visible to other processes/users/machines. I like that I can undo a change that I haven't saved without modifying the underlying file (hint - think of a header file that would trigger a major recompilation). Leave me in control!
As for different ways to create a folder in the file picker vs. file manager, I can't speak for macs, but I think it's the same for Windows (you can right click in the file picker dialog).
And having control over what is loaded into memory - is he insane? Why doesn't your computer load every executable into memory on startup? That would save tons of time later on! Does he choose to have the Netscape QuickStart (or whatever they call it) - the one that preloads bloatware for faster launch when you actually want to use it? I don't. Not for Netscape, RealPlayer, whatever. Leave me in control!
And does anyone think that item 4 contradicts (the second) item 1 + (the second) 2? If you can't quit an application that autosaves your document at whim, and you rename the file, what do you expect to happen?
Your favorite
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. :)
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
...nothing ever gets changed:
Microsoft has a monopoly.
As somebody already said, there's no incentive to make things better. You can read the same story with regards to the history of the x86 architecture. Just replace MS with IBM.
What about *nix and Mac's? Making (more) money is paramount to all companies. That means converting users from Windows. That means to promote user-friendliness, the UI of these systems have to be familiar to users who are already familiar with Windows. Certainly, small improvements can come about, but there can be no revolution in this type of environment. Rather, it would seem that everything'll be headed towards the most popular UI.
Then what remedies exist for this problem? Nothing within our lifetimes, short of a gun to a programmer's head and Saddam's voice saying, "Make this better," which may just do the trick, if there are also guns to the users' heads saying, "Use this program."
But it doens't matter. The sun's gonna explode in 6 years anyway.
1) Today applications DON'T take seconds to start. In fact, the bloat in software has kept the pace with advances in hardware, thus making the software today take the same resources (percentage-wise) as the one yesterday. Netscape, Photoshop, Real player, any application not deeply embedded in Windows take forever to start requiring all those nifty "accelerators" ran at login time that use up real memory trying to cope with this problem. Even if it didn't, so long as computers have limited resources (and hardware manufacturers will make sure the prices are never so low for us to afford plenty of ).
2) Same goes for documents. Saving documents in Word, images in Photoshop is never blazingly fast. Let alone that file versioning a la VMS fills the disk space quite quickly and would require an interface to "clean up" the unnecessary revisions lying around.
By the way, Word does by default do incremental saves which a lot of us here seemed to like so much; I hope we still remember the events concerning inadvertent release of information through documents published on the web that were saved using this mechanism. Besides, all the points made about me choosing when to save are valid - I really want to have the choice of when to write my changes.
3) Inodes - just by mentioning that the author proves he has no idea what he is talking about. Unix has had this for a long time - there are hard links which use inodes and there are symbolic links which just point to the path. So Unix offers both, care to check which type is most commonly used ?
For one, hard links are not portable across filesystems (partitions). Also, deleting a hard linked file does not actually release the disk space until all links have been removed. This can cause some serious confusion to the head of the Windows user. Hard links are difficult to back up and restore properly.
Want more ? When an application saves a file it usually creates a new file, writes the data then moves it over the original file (to avoid data loss due to write errors). Guess what happens to the inode number.
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.
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?
even people who have spent their life trying to design the best user interfaces have made mistakes too. take a look at jef raskin's (designer of the mac interface) canon cat as an example. :)
Large print giveth, and the small print taketh away
The idea is that the unused bits were not checked. Thus the IP software didn't have any way of knowing that the header was compromised. And the header was exactly the same as far as the IP software was concerned. If you start to mucky around in the bits and bytes that ARE used by the header, then you have changed the header and the packet will route somewhere else. So, that isn't going to help you if you are a malicious hacking bastard. . .
What this means is that for bits that are routed around the internet, there is never a "Don't Care" bit as there would be with a chip interface. Any bit that is "UNUSED" should be set as either a zero or a one so that it can not be used by hackers. If the bit is USED then if hackers change it, it will reroute the packet and the software will know this. IE: board design with interfaces has this slight difference from design with IP headers.
Another point: With programmable logic chips there really are no "Don't Care" inputs. You must tie the unused gates either HIGH or LOW or else your programmable chip may not work as designed. This is always a good idea for board design in that it prevents oscillation and power burning by unused gates.