Post by Uncle Buddy on Jan 20, 2021 5:07:45 GMT -8
Having just switched to Windows 10 from the very functional and seemingly healthy Windows 7, I am compiling a small list of things that should never be done in any GUI--website, web app, standalone app or operating system--these are just plain bad ideas and I don't mind explaining why as long as I get to be sarcastic about it. This doesn't apply to smart phones (or as I call them, stupidphones), because as I see it, smartphones don't actually exist. Especially when it comes to manipulating large amounts of data. If someone wants to adapt Treebard for use on smartphones, more power to them. I won't be doing it in this life. So here are my GUI no-nos:
1. Buttons that only appear when you point at them. Do I have to explain why this is so despicable?
2. Next and Previous buttons (like in a photo viewer) that are on the left and right edges of the page instead of in the middle of the page. You shouldn't have to scroll--even if you've resized the window small--to find the arrow buttons to push for the next picture.
3. Scrollbars that have no sculpturing. I know it's the flavor of the month to not have relief on buttons, but trying to remember which flat color represents the scrollbar's slider and which flat color represents the trough is not fun. Not fun at all. The slider needs to look raised. Designers should remember that the trough, like the slider, is active. When you click in it by accident, something happens. Something bad.
4. Teeny slivery scrollbars. I remember when using a mouse didn't hurt my hand. It was about 30 years ago, when the only thing I did on computers was type.
5. Scrollbars that you have to point to before they will appear or before they're big enough to actually click successfully. I'm holding my breath waiting for this fad to die of natural causes.
6. Big tooltips that cover stuff you were trying to look at. Tooltips aren't supposed to be big. That's why they're called "tips".
7. Tooltips that don't disappear till you click somewhere or press Escape. Tooltips should disappear when you unhover whatever you pointed at that made them appear. Contrary to what I just said, I'm currently designing a combobox substitute in which the dropdown list appears not when you click the entry box but when you hover over it. Then you have to click somewhere to close it. I reserve the right to break my own rules.
8. Mega-tooltips (i.e. complex windows or pop-up windows that appear when you hover over other widgets) with scrollbars and buttons on them. If the mouse strays off the pop-up window while you're trying to scroll, you have to make it show up again to use the target scrollbar or button. And the mouse does stray off the right edge of the pop-up window all the time because that's where the teeny slivery scrollbar is that I'm trying to point at.
9. Resizable columns where they are not needed, or as an alternative to making actual design decisions about how much can fit on a page. This is like an interior decorator who fills the space with too much furniture and puts wheels on all the furniture so the user can constantly push stuff out of the way. Ever open an app to find that nothing on the page is fully readable without banging away at resizable columns with your aching mouse hand?
10. Any unnecessary clicking. My mouse hand has hurt for so long I barely notice the constant dull aching throbbing pain. When the pain first started it took two hands to take a pizza out of the oven. Now if I want pizza, someone else has to cook it for me. In the Philippines where I live, only rich people have ovens.
11. Thumbnails absolutely everywhere including places where they don't provide useful information. They make a line or short paragraph of adjacent text as tall as the thumbnail and then you have to scroll up and down to look at stuff that should be seen all at the same time. I'm down on my knees praying that this fad will consume itself before my scrolling hand breaks off.
12. Employing disfunctional GUI features because they're fashionable. Zombie movies are fashionable too... do I watch them?
13. Teeny things to click. I think they're icons but I'm not sure; I can't see them.
14. Huge buttons. Remember when they replaced MS Word 2003 by redesigning it from scratch? I'm still using it because it was a great program that worked well. What more could I want?
15. Cartoony clip art, especially in genealogy apps since old-timey art/pictures, and clip art, are opposites. If my great-great-grandfather is represented by a blue cartoon and my great-great-grandmother by a pink cartoon, for example, it makes me wonder what's wrong with the people who designed the program. Dudes, is this kindergarten? Sorry but there's nothing cartoonish about family history except the way some of us stay up all night doing it for no practical reason. Now that's worth a cartoon.
16. Icons with more than two colors or gradients that attempt to depict something and fail. We are supposed to memorize what these buttons do, apparently, since the picture is too small to decipher. They all look like smashed goldfish to me. Who stepped on my goldfish?
17. Wordy instructions that never go away. That's what context help is for. Or wordy instruction where simple instructions would suffice. Or instructions where none are needed. Or yik-yak on the screen that instructs not at all. Microsoft and Firefox are doing it, so let's all do it. Hey, how's your day so far?
18. Pseudo-personable instructions in which the computer refers to itself as "I" or "we" or tries to sound cutesy or friendly. Actually, computers should not use personal pronouns at all. It's grotesque and condescending. It's a 1956 science fiction movie come to life. A genealogy program (for example), should be about genealogy, not the PR people standing behind the nerdbots who wrote the program. We screen addicts might be friendless (except for those 500 Facebook friends we've never met), but that doesn't mean we want a machine to pretend to be our only friend. Who needs an only friend anyway? The effort spent making an app's actual functionalities truly great would create a product that sells itself. Scary clowns don't sell programs, they just scare me.
19. Functionalities that have to be explained. The purpose of a GUI is to replace the explanation with an obvious path of action. Visually obvious. Ideally, the Help manual should rarely be needed.
20. Help manuals that are only available online.
21. Help manuals that are not updated when the application changes.
22. Computer programs that only a techy type or computer nerd would be able to use. Applications designed by nerds for nerds. For example, a genealogy program should be usable by 78-year-old little old ladies. Without looking at any instructions. If a GUI functionality is scary-looking, the instructions on how to use it are gonna be scarier.
23. Everyday expected functionalities that we've long grown used to... poof. Somebody decides to be an exception. A perfect case of this is the date field on the ancestry.com search form. If you highlight the date in the field and type over it, the highlighted date should be replaced. But no. Ancestry.com has to waste my time being different. I know these minor annoyances are minor but the problem is, they are annoying.
26. White-on-white scrollbars. I'd like to have a little talk with the genius down at GUIs-R-Us who thought this up. This is the scrollbar slider that makes me wobble my eyestalks around looking for it. It also has another swell feature: while you're moving the slider, it turns dark green so you can finally see it. How pretty. But it would be nice if I could actually see it kinda automatically? Because it's easily visible? Leaving the interface out of Graphical User Interface is like, I mean... doesn't it take two to interface?
27. "Smart" software. Software that's supposed to read my mind is software that's been programmed to make my decisions for me. "Smart" in this case is one of those buzzwords we read about in 1984. Doublespeak. Propaganda. Marketing lies. I never met a smart app that I liked. If smarty-pants software is the wave of the future, I'm going back to reading science fiction in my spare time. Who needs computers anyway? Artifical intelligence is sorta like an honest politician. There isn't any, not on this planet. No really, all ranting aside, the fact is that most times a piece of software tries to guess what I would do and does it before I get a chance to not do it (since I wasn't going to), the software was wrong. By "most times", I mean about 92.54% of the time.
28. Apps that open maximized. I worked with everything maximized for many years, until I discovered the joy of not doing it. Now since I can only get long, short monitors instead of the square ones we used to have, I keep my Windows taskbar to the right and auto-hide it, so that when I'm mouse-diving for a scrollbar on the right and overshoot, the taskbar opens and covers my scrollbar. Hey, I just had a great idea. Why don't I put my Windows taskbar on the left of the screen where there's no scrollbar so maximized apps aren't so annoying?
29. Unnecessary modal dialogs. A dialog opens, and you forgot to get a piece of data from another part of the program before starting this procedure. If the dialog is modal, you can't go find that needed info without closing the dialog. Often dialogs are made modal by default, as if all dialogs should be modal. But not all dialogs should be modal. For anything except a little error message that needs to be read and responded to before proceeding, I try to never make a dialog modal till I've tested it. If a good reason comes up for it to be modal, OK. Otherwise it restricts the user for no reason. It also can bite you, the programmer. I just spent over half a day trying to chase down a mystery bug that was caused by making a dialog modal for no reason. Presumably this bug existed because Tkinter's grab_set() method does some strange magic behind the scenes, which is just the sort of thing I try to avoid. I want to do my own strange magic up front whenever possible. There are also alternatives to dialogs such as tabbed notebooks.
30. Somewhere along the line, someone decided that long lists of items no longer have to be alphabetized. "Just let the user read the whole list," seems to be the motto down at Firefox's bookmarks design department, where the standard practice is to make the bookmarks system worse every year. I can't remember the last time I opened up Firefox's bookmarks and had a pleasant experience. Why not use those bi-weekly updates to make something easier to use instead of making things more fashionable?
31. Scrollbar replacements. Take Firefox's unalphabetized list of bookmark folders, for example. If you hold your mouse pointer at exactly the right place somewhere near the top or bottom of the list, the list will scroll. If you're like me, you just don't use Firefox bookmarks anymore. I know some people can read widget inventors' minds, but I can't. I've created scrollbar replacements too. And a year later, happily replaced them with good old-fashioned scrollbars, when my many adoring fans were not looking. Anyway, who needs bookmarks? Since becoming interested in writing GUIs, I've lost interest in 90% of the topics I used to research anyway. Kinda sad, really.
32. Interfaces that are so full of click-me zones that you can't click anywhere to simply bring the window to the front where you can see it. Developers might be better off drawing the line somewhere and focusing on practical things like the basics, instead of turning every widget on the page into a button that expands and highlights and opens and closes and changes stuff. Something we will never learn from the developers of Windows (for example) is that it's OK to leave well enough alone when something works right. Stop making every square centimeter of screen space do something magical. What if I just want to read?
33. Complicated ways of doing complicated things. The purpose of a GUI is to hide complexity behind simplicity. Not bothering to focus on this when writing software is typical, but that doesn't make it right.
I'll think of more things to complain about and add them to this list later.
1. Buttons that only appear when you point at them. Do I have to explain why this is so despicable?
2. Next and Previous buttons (like in a photo viewer) that are on the left and right edges of the page instead of in the middle of the page. You shouldn't have to scroll--even if you've resized the window small--to find the arrow buttons to push for the next picture.
3. Scrollbars that have no sculpturing. I know it's the flavor of the month to not have relief on buttons, but trying to remember which flat color represents the scrollbar's slider and which flat color represents the trough is not fun. Not fun at all. The slider needs to look raised. Designers should remember that the trough, like the slider, is active. When you click in it by accident, something happens. Something bad.
4. Teeny slivery scrollbars. I remember when using a mouse didn't hurt my hand. It was about 30 years ago, when the only thing I did on computers was type.
5. Scrollbars that you have to point to before they will appear or before they're big enough to actually click successfully. I'm holding my breath waiting for this fad to die of natural causes.
6. Big tooltips that cover stuff you were trying to look at. Tooltips aren't supposed to be big. That's why they're called "tips".
7. Tooltips that don't disappear till you click somewhere or press Escape. Tooltips should disappear when you unhover whatever you pointed at that made them appear. Contrary to what I just said, I'm currently designing a combobox substitute in which the dropdown list appears not when you click the entry box but when you hover over it. Then you have to click somewhere to close it. I reserve the right to break my own rules.
8. Mega-tooltips (i.e. complex windows or pop-up windows that appear when you hover over other widgets) with scrollbars and buttons on them. If the mouse strays off the pop-up window while you're trying to scroll, you have to make it show up again to use the target scrollbar or button. And the mouse does stray off the right edge of the pop-up window all the time because that's where the teeny slivery scrollbar is that I'm trying to point at.
9. Resizable columns where they are not needed, or as an alternative to making actual design decisions about how much can fit on a page. This is like an interior decorator who fills the space with too much furniture and puts wheels on all the furniture so the user can constantly push stuff out of the way. Ever open an app to find that nothing on the page is fully readable without banging away at resizable columns with your aching mouse hand?
10. Any unnecessary clicking. My mouse hand has hurt for so long I barely notice the constant dull aching throbbing pain. When the pain first started it took two hands to take a pizza out of the oven. Now if I want pizza, someone else has to cook it for me. In the Philippines where I live, only rich people have ovens.
11. Thumbnails absolutely everywhere including places where they don't provide useful information. They make a line or short paragraph of adjacent text as tall as the thumbnail and then you have to scroll up and down to look at stuff that should be seen all at the same time. I'm down on my knees praying that this fad will consume itself before my scrolling hand breaks off.
12. Employing disfunctional GUI features because they're fashionable. Zombie movies are fashionable too... do I watch them?
13. Teeny things to click. I think they're icons but I'm not sure; I can't see them.
14. Huge buttons. Remember when they replaced MS Word 2003 by redesigning it from scratch? I'm still using it because it was a great program that worked well. What more could I want?
15. Cartoony clip art, especially in genealogy apps since old-timey art/pictures, and clip art, are opposites. If my great-great-grandfather is represented by a blue cartoon and my great-great-grandmother by a pink cartoon, for example, it makes me wonder what's wrong with the people who designed the program. Dudes, is this kindergarten? Sorry but there's nothing cartoonish about family history except the way some of us stay up all night doing it for no practical reason. Now that's worth a cartoon.
16. Icons with more than two colors or gradients that attempt to depict something and fail. We are supposed to memorize what these buttons do, apparently, since the picture is too small to decipher. They all look like smashed goldfish to me. Who stepped on my goldfish?
17. Wordy instructions that never go away. That's what context help is for. Or wordy instruction where simple instructions would suffice. Or instructions where none are needed. Or yik-yak on the screen that instructs not at all. Microsoft and Firefox are doing it, so let's all do it. Hey, how's your day so far?
18. Pseudo-personable instructions in which the computer refers to itself as "I" or "we" or tries to sound cutesy or friendly. Actually, computers should not use personal pronouns at all. It's grotesque and condescending. It's a 1956 science fiction movie come to life. A genealogy program (for example), should be about genealogy, not the PR people standing behind the nerdbots who wrote the program. We screen addicts might be friendless (except for those 500 Facebook friends we've never met), but that doesn't mean we want a machine to pretend to be our only friend. Who needs an only friend anyway? The effort spent making an app's actual functionalities truly great would create a product that sells itself. Scary clowns don't sell programs, they just scare me.
19. Functionalities that have to be explained. The purpose of a GUI is to replace the explanation with an obvious path of action. Visually obvious. Ideally, the Help manual should rarely be needed.
20. Help manuals that are only available online.
21. Help manuals that are not updated when the application changes.
22. Computer programs that only a techy type or computer nerd would be able to use. Applications designed by nerds for nerds. For example, a genealogy program should be usable by 78-year-old little old ladies. Without looking at any instructions. If a GUI functionality is scary-looking, the instructions on how to use it are gonna be scarier.
23. Everyday expected functionalities that we've long grown used to... poof. Somebody decides to be an exception. A perfect case of this is the date field on the ancestry.com search form. If you highlight the date in the field and type over it, the highlighted date should be replaced. But no. Ancestry.com has to waste my time being different. I know these minor annoyances are minor but the problem is, they are annoying.
26. White-on-white scrollbars. I'd like to have a little talk with the genius down at GUIs-R-Us who thought this up. This is the scrollbar slider that makes me wobble my eyestalks around looking for it. It also has another swell feature: while you're moving the slider, it turns dark green so you can finally see it. How pretty. But it would be nice if I could actually see it kinda automatically? Because it's easily visible? Leaving the interface out of Graphical User Interface is like, I mean... doesn't it take two to interface?
27. "Smart" software. Software that's supposed to read my mind is software that's been programmed to make my decisions for me. "Smart" in this case is one of those buzzwords we read about in 1984. Doublespeak. Propaganda. Marketing lies. I never met a smart app that I liked. If smarty-pants software is the wave of the future, I'm going back to reading science fiction in my spare time. Who needs computers anyway? Artifical intelligence is sorta like an honest politician. There isn't any, not on this planet. No really, all ranting aside, the fact is that most times a piece of software tries to guess what I would do and does it before I get a chance to not do it (since I wasn't going to), the software was wrong. By "most times", I mean about 92.54% of the time.
28. Apps that open maximized. I worked with everything maximized for many years, until I discovered the joy of not doing it. Now since I can only get long, short monitors instead of the square ones we used to have, I keep my Windows taskbar to the right and auto-hide it, so that when I'm mouse-diving for a scrollbar on the right and overshoot, the taskbar opens and covers my scrollbar. Hey, I just had a great idea. Why don't I put my Windows taskbar on the left of the screen where there's no scrollbar so maximized apps aren't so annoying?
29. Unnecessary modal dialogs. A dialog opens, and you forgot to get a piece of data from another part of the program before starting this procedure. If the dialog is modal, you can't go find that needed info without closing the dialog. Often dialogs are made modal by default, as if all dialogs should be modal. But not all dialogs should be modal. For anything except a little error message that needs to be read and responded to before proceeding, I try to never make a dialog modal till I've tested it. If a good reason comes up for it to be modal, OK. Otherwise it restricts the user for no reason. It also can bite you, the programmer. I just spent over half a day trying to chase down a mystery bug that was caused by making a dialog modal for no reason. Presumably this bug existed because Tkinter's grab_set() method does some strange magic behind the scenes, which is just the sort of thing I try to avoid. I want to do my own strange magic up front whenever possible. There are also alternatives to dialogs such as tabbed notebooks.
30. Somewhere along the line, someone decided that long lists of items no longer have to be alphabetized. "Just let the user read the whole list," seems to be the motto down at Firefox's bookmarks design department, where the standard practice is to make the bookmarks system worse every year. I can't remember the last time I opened up Firefox's bookmarks and had a pleasant experience. Why not use those bi-weekly updates to make something easier to use instead of making things more fashionable?
31. Scrollbar replacements. Take Firefox's unalphabetized list of bookmark folders, for example. If you hold your mouse pointer at exactly the right place somewhere near the top or bottom of the list, the list will scroll. If you're like me, you just don't use Firefox bookmarks anymore. I know some people can read widget inventors' minds, but I can't. I've created scrollbar replacements too. And a year later, happily replaced them with good old-fashioned scrollbars, when my many adoring fans were not looking. Anyway, who needs bookmarks? Since becoming interested in writing GUIs, I've lost interest in 90% of the topics I used to research anyway. Kinda sad, really.
32. Interfaces that are so full of click-me zones that you can't click anywhere to simply bring the window to the front where you can see it. Developers might be better off drawing the line somewhere and focusing on practical things like the basics, instead of turning every widget on the page into a button that expands and highlights and opens and closes and changes stuff. Something we will never learn from the developers of Windows (for example) is that it's OK to leave well enough alone when something works right. Stop making every square centimeter of screen space do something magical. What if I just want to read?
33. Complicated ways of doing complicated things. The purpose of a GUI is to hide complexity behind simplicity. Not bothering to focus on this when writing software is typical, but that doesn't make it right.
I'll think of more things to complain about and add them to this list later.