26 ms·
Operant Conditioning by Software Bugs (2012)
- InclinedPlane 11y agoA good piece, though the Microsoft hate is slightly unwarranted. I have been keeping my windows machines running 24/7 since the NT 4 era, and they've universally had uptime of many many months most of the time. Though there's much else that I would criticize Microsoft software for, uptime of the OS isn't in that list.
- eru 11y agoNT is infinitely better in this regard than the old DOS based Windows.
- metasean 11y agoMany years ago, in my first tech support job, I was helping a bright young student submit an online assignment. It was clear very early in the conversation that she was bright, so I –very unconsciously– made some assumptions. After much frustration at my inability to diagnose why she wasn't able to submit her assignment, I broke down and told her to tell me exactly what she was doing, step-by-step. It turned out she was successfully navigating to the webpage and filling out all but one of the text fields by tabbing to the field and typing in her response. But when it came to pasting her essay into the webform (from the word processor), she assumed that by selecting the browser's edit-paste menu, it would put the essay in the essay field. It genuinely would have never occurred to me that a browser's edit-paste functionality would _know_ which textfield to paste text into. Likewise, it genuinely never occurred to her that a copied essay would be pasted into anything other than the only text field large enough for an essay, and the only text field which was labeled "essay".
- vezzy-fnord 11y agoSome keen observations here. I think many of these idiosyncrasies in computer systems that encourage ritualistic user behavior also contribute to subconscious expectations of how systems should behave, and lead to an implicit inference of architecture from observed behavior that may or may not be proper. In turn, programmers propagate these expectations into their own work and continue the cycle. It's not about knowing what you want, it's about wanting what you know. Speaking of frequent rebooting, I always thought the lack of support for orthogonal persistent state, seamless application checkpointing and built-in dynamic software upgrade facilities represented a failure in modern mainstream computing.
- panic 11y agoSpeaking of frequent rebooting, I always thought the lack of support for orthogonal persistent state, seamless application checkpointing and built-in dynamic software upgrade facilities represented a failure in modern mainstream computing. When a system is in a complex, poorly-tested state, problems often occur. Rebooting solves these problems by putting the system back to a simpler, more predictable state. With orthogonal persistent state, the system remains in the complex state across reboots, and these problems become much more difficult to solve. As a user, I agree that persistence is really nice, but I think we need to address the existence of these complex, poorly-tested states before we start transparently persisting them.
- Animats 11y agoThe only reason the Web works with such crappy coding is that the browser/server relationship is almost stateless. As new web technologies maintain more persistent connections, expect advice along the lines of "close the tab for the site and reopen it". Except sometimes you'll have to exit the browser completely (can you do that with IE?) to clear the connection.
- digi_owl 11y agoAnd this is why perhaps the old microcomputers were perhaps more user friendly than the modern PC. This because they were for the most part single task, and usually had a full reboot done before a new task was initiated.
- InclinedPlane 11y agoYour last point is a big reason why mobile/tablet systems have become so popular, and why that technology set will filter back towards desktop computing. Managed apps (package managed installs, one click install/update/uninstall) plus seamless app hibernation and resumption are overall a big win for usability.
- digi_owl 11y agoThe former has exited in one form or another for ages. As for the other, personal experience indicates that it is of questionable value at best. I have seen way too many apps either not come back up, or come back up in some insane state. As such i consider it no better than the autosave on a wordprocessor.
- eru 11y ago> Programmers are notoriously poor at finding their own bugs—especially subtle bugs—partially because of this immunity. That's why I like QuickCheck so much. It'll try all the corner cases, I wouldn't reliably think of.
- shiggerino 11y agoOne big problem is getting people to read error messages. It's hard work trying to write a relevant, helpful and localized message for every conceivable thing that might go wrong, only to have the conditioned users immediately click the X and call and complain that it's "doesn't work"
- eru 11y ago`User blindness' is a problem, but good design can also help. Eg instead of confirmation dialogs make as much undoable as possible. GMail goes so far into that territory (originally by accident) as to introduce a delay before sending your message to give you time to undo.
- tome 11y agoI wonder what bugs I have trained myself to be unaware of in my Linux/Firefox/Emacs/Haskell setup.
- digi_owl 11y agoI seem to recall a claim that it is easier to adapt the human to the interface than the interface to the human. And for some reason i have it mentally attributed to Apple...
- deleted 11y ago[deleted]