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
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: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.
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.
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.
What mpt is referring to is a document centric rather than a program centric environment. Most existing operating systems are program centric. You start a program, instruct the program to create a document, tell the program to do something with a document, tell the program to quit. In a document centric environment, you create documents, you edit documents, etc. Stuff like file dialogs, opening and closing applications, etc. does not fit in with this paradigm.
Of course you need to have some means to identify a document. As mpt points out, pathnames are an extremely lousy way of doing so. Rather you want an inode with some associated metainformation which may or may not include a name. The whole concept of a name plus a three letter extension is flawed.
Each type of document has a number of useful metainformation items associated. Obvious ones are date of creation, last date of editing, user that created it. In the case of a bitmap, a small thumbnail might be handy. Of course users should be able to add descriptions and short names as meta info.
Most of this meta information can be generated automatically. There is no need to bother the user with this.
Take for example mp3 files. A major problem with these files is that they must have a filename and that they may also have meta information (which more often than not does not match either the filename or the contents of the file). You would want this the other way around. An mp3 file has meta information (like artist, title, tracknr, etc.). Based on this info, programs like filemanagers may query the metainfo to generate a small name (e.g. artist - album - track -title) that is displayed on the screen. There is no need for this generated string to be the unique identifier for the file!
Beos actually got this right. Every file in the beos filesystem could have an arbitrary number of meta attributes associated with it. Programs like mp3 players, mail readers etc. actually used this to organize data in the beos filesystem.
You are right that is a huge undertaking to fix this since this would require reengineering a lot of applications and operating systems. That was the whole point of mpt's article. Existing programs are a cumulation of decades of fundamental design errors. Many severe usability issues can be traced to these design errors from the seventies and eighties. Many programmers are unaware of this and have actually duplicated the errors in efforts to improve usability. Their workarounds are symptoms of rather than solutions for the problems.
--
Jilles
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: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!
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.
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.
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: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: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: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%.
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: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.
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: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:Better Answer Out on SourceForge?
by
MCRocker
·
· Score: 2, Informative
I've not had this problem except with Windows -- mainly because the apps that suffer most from the "I did something that required CPU cycles, therefore I will tell you about it in a popup" disease seem to be Windows apps. So I'll tell you the Windows solution:
Go to microsoft.com. Find wherever they've hidden TweakUI this month. Download it. (If necessary, download the whole "power tools" thingy that it's a part of.) Install it. (Install the "open cmd.exe at this directory" power tool too, while you're at it.)
Go to the [Out-Of-]Control Panel, fire up TweakUI, and disallow applications to grab focus. There's even a "what should they do instead" selection that lets you make them blink.
Disadvantage: some programs fire off a splash screen, then bring it down and replace it with the real program. Window focus doesn't traverse like that now, so the real program won't start off with focus, even though you the last thing you did was to double-click its startup icon. Minor annoyance only.
-- You cannot apply a technological solution to a sociological problem. (Edwards' Law)
But you can always go for google:
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!
See http://info.astrian.net/jargon/terms/c/crufty.html
Hey! That's my sig you're smoking there!
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."
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
Even worse, many of the special directory names used by Windows change depending upon the language.
"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.
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.
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!
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.
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.
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.
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.
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.
The environment variable %ProgramFiles% is also available to script writers., along with the better known %systemroot% and %os%.
Gamingmuseum.com: Give your 3D accelerator a rest.
MenuShowDelay under
HKEY_CURRENT_USER\Control Panel\Desktop
Set it to 0. First thing I do after a new install...
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.
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!
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.
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...)
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)