{"id":185,"date":"2003-01-23T09:39:00","date_gmt":"2003-01-23T04:09:00","guid":{"rendered":"http:\/\/sumankumar.com\/blog\/archives\/185"},"modified":"2003-01-23T09:39:00","modified_gmt":"2003-01-23T04:09:00","slug":"software-user-safety-how-your-software-can-ruin-a-users-life","status":"publish","type":"post","link":"https:\/\/sumankumar.com\/blog\/2003\/01\/software-user-safety-how-your-software-can-ruin-a-users-life\/","title":{"rendered":"Software user safety: How your software can ruin a user&#8217;s life"},"content":{"rendered":"<h1>Software user safety: How your software can ruin a<br \/>\nuser&#8217;s life<\/h1>\n<p>I was watching this car commercial on TV. It spoke about how<br \/>\nsturdy and safe the cars were, and showed by a crash test to<br \/>\nreiterate. We are talking automobile driver\/passenger safety.<br \/>\nWhat about software users?<\/p>\n<p>&#8216;What about them?&#8217; you might ask. &#8216;At least<br \/>\ncar drivers have their life to worry about!&#8217; you might<br \/>\nremark. You&#8217;re right. Software users have information to<br \/>\nworry about. Information loss is equally catastrophic, now that<br \/>\ncomputers are mainstream, far from the realms of technologists<br \/>\nand rocket scientists.<\/p>\n<h3>Let&#8217;s define &#8216;unsafe&#8217; software<br \/>\nfirst:<\/h3>\n<p>I chose some of the <a href=\"http:\/\/www.useit.com\/papers\/heuristic\/heuristic_list.html\" title=\"goes to useit.com\">top ten heuristics propounded by Jakob Nielsen.<\/a> Any<br \/>\nsoftware that doesn&#8217;t comply with these (the ten<br \/>\nheuristics) may crash your satellite, result in loss of sensitive<br \/>\ndata, or plain simple make you lose your job.<\/p>\n<p>Now let&#8217;s examine some of the heuristics as against the<br \/>\nperils of software not complying with them.<\/p>\n<h2>User control and freedom (severity =<br \/>\nHigh)<\/h2>\n<p><strong>Jakob Says:<\/strong><\/p>\n<p>&#8220;Users often choose system functions by mistake and will<br \/>\nneed a clearly marked &#8220;emergency exit&#8221; to leave the unwanted<br \/>\nstate without having to go through an extended dialogue. Support<br \/>\nundo and redo.&#8221;<\/p>\n<h3>What it means:<\/h3>\n<p>Software that does not comply with this heuristic is unsafe.<br \/>\nWhy? If you don&#8217;t support &#8216;undo&#8217; (at least for<br \/>\ncrucial tasks) the results could be catastrophic.<\/p>\n<p><b>Don Norman<\/b> in his essay <a href=\"http:\/\/www.jnd.org\/dn.mss\/error_design.html\" title=\"goes to Don Norman's site: jnd.org\">Human Error and the Design of Computer Systems<\/a> says:<\/p>\n<p>&#8220;In 1988, the Soviet Union&#8217;s Phobos 1 satellite was lost<br \/>\non its way to Mars. Why? According to Science magazine, &#8220;not long<br \/>\nafter the launch, a ground controller omitted a single letter in<br \/>\na series of digital commands sent to the spacecraft. And by<br \/>\nmalignant bad luck, that omission caused the code to be<br \/>\nmistranslated in such a way as to trigger the test sequence&#8221; (the<br \/>\ntest sequence was stored in ROM, but was intended to be used only<br \/>\nduring checkout of the spacecraft while on the ground) [7].<br \/>\nPhobos went into a tumble from which it never recovered.<br \/>\n&#8220;<\/p>\n<p>Of course, it was dubbed as of &#8216;malignant bad<br \/>\nluck&#8217; instead of &#8216;bad design&#8217;.<\/p>\n<h2>Recognition rather than recall (severity = high)<\/h2>\n<p><b>Jakob Says:<\/b><\/p>\n<p>Make objects, actions, and options visible. The user should<br \/>\nnot have to remember information from one part of the dialogue to<br \/>\nanother. Instructions for use of the system should be visible or<br \/>\neasily retrievable whenever appropriate.<\/p>\n<h4>What it means:<\/h4>\n<p>How do you open doors in your office campus? How many do you<br \/>\npush to open and how many do you pull to open? Can&#8217;t<br \/>\nremember? Doesn&#8217;t matter even I don&#8217;t know remember,<br \/>\nbut when you get to the door, if you know precisely what to do<br \/>\nthat means the door allows you to recognize what to do, to open.<br \/>\nAnd yea, next time keep an eye out for people who pull when they<br \/>\nhad to push or vice versa. Many doors have been broken because of<br \/>\nthat. Especially glass doors.<\/p>\n<p>You know it&#8217;s an error message the minute you see a<br \/>\n&#8216;X&#8217; encased in a red circle. It is a visual cue. The<br \/>\nred serves as a warning. You just know it the moment you see it<br \/>\nbecause you recognize it. I have come across software that<br \/>\ndon&#8217;t display this graphic.<\/p>\n<p>This is just one example; but a very important one. Imagine,<br \/>\nif you were prompted with an error message without the red circle<br \/>\nwith the &#8216;X&#8217; in it? You&#8217;d click<br \/>\n&#8216;Ok&#8217; nine times out of ten. Phew! I did a short<br \/>\nsurvey on contingency design, I found that 6 out of ten users<br \/>\n(all software programmers ha!) never read the pop-up alerts. They<br \/>\njust clicked &#8216;Ok&#8217;.<\/p>\n<h2>Help users recognize, diagnose, and recover from<br \/>\nerrors (severity =high)<\/h2>\n<p><b>Jakob says:<\/b><\/p>\n<p>&#8220;Error messages should be expressed in plain language<br \/>\n(no codes), precisely indicate the problem, and constructively<br \/>\nsuggest a solution.&#8221;<\/p>\n<p><b><\/b><\/p>\n<h3>What it means:<\/h3>\n<p>&#8216;Java null exception error&#8217; freaks me out. Who is<br \/>\nnull? What is a Java? Let me get out of here before someone sees<br \/>\nme.<\/p>\n<p>That&#8217;s a layperson&#8217;s reaction to cryptic error<br \/>\nmessages. My word processor&#8217;s favorite is<br \/>\n&#8216;Instruction at 000000&#215;1 failed&#8230; dah dah dah&#8217; I<br \/>\nhave been using it for five years now and I still don&#8217;t<br \/>\nknow what it means. But I used to lose data because of that all<br \/>\nright. A software is unsafe if it can&#8217;t tell the users what<br \/>\nwent wrong, what needs to be done.<\/p>\n<h2>Visibility of system status<\/h2>\n<p><b>Jakob says:<\/b><\/p>\n<p>&#8220;The system should always keep users informed about what<br \/>\nis going on, through appropriate feedback within reasonable<br \/>\ntime.&#8221;<\/p>\n<h3>What it means:<\/h3>\n<p>Remember? Those blue progress bars that tell you how much more<br \/>\nto go and how long, when you download stuff from the net? Those<br \/>\nmessages that say &#8216;your request is being processed please<br \/>\nwait&#8217;? That is telling the user what&#8217;s going on.<\/p>\n<p>I wanted to book a domain name, so I went to <a href=\n\"http:\/\/www.net4domains.com\/\" Title=\"goes to net4domains.com\">www.net4domains.com<\/a> I chose the<br \/>\nname I had wanted and I proceeded to payment. I gave my credit<br \/>\ncard details and hit the &#8216;Proceed to payment&#8217; or some<br \/>\nother button meant for finishing the transaction. The first time<br \/>\nI hit it, nothing happened. So I hit it again. It worked. I was<br \/>\nso happy that I got my own domain. It lasted only till I saw my<br \/>\ncredit card statement. I was charged &#8216;TWICE&#8217;. Yea,<br \/>\nbecause I clicked twice. The transaction is in dispute now. What<br \/>\nif I was buying stocks or say, a costly book? I know I wont lose<br \/>\nmoney, but why take away my peace of mind?<\/p>\n<p>Some sites tell the user &#8216;Hit only once&#8217;! but<br \/>\nthat&#8217;s too flimsy. I mean how can I book the same domain<br \/>\nname twice? Shouldn&#8217;t it ask me? In my case ideally the<br \/>\nsite should have told me &#8216;before hand&#8217; &#8216;hit<br \/>\nonce and wait. Sometimes it takes a few moments to fire your<br \/>\nrequest&#8217; Or some thing like that.<\/p>\n<h2>Conclusion:<\/h2>\n<p>I am sure by now you know how &#8216;unsafe&#8217; software<br \/>\ncan get to be. And hopefully, you&#8217;ll agree with me when I<br \/>\nsay, &#8216;software could ruin my life.&#8217; Let&#8217;s hope<br \/>\nsoftware companies realize the potential threats and make<br \/>\nsoftware safer, taking a cue from the car manufacturers.<\/p>\n<\/p>\n<div class=\"blogger-post-footer\">\n<map name=\"google_ad_map_061219083729030123040900\">\n<area shape=\"rect\" href=\"http:\/\/imageads.googleadservices.com\/pagead\/imgclick\/061219083729030123040900?pos=0\" coords=\"1,2,367,28\"\/>\n<area shape=\"rect\" href=\"http:\/\/services.google.com\/feedback\/abg\" coords=\"384,10,453,23\"\/><\/map>\n<p><img decoding=\"async\" usemap=\"#google_ad_map_061219083729030123040900\" border=\"0\" src=\"http:\/\/imageads.googleadservices.com\/pagead\/ads?format=468x30_aff_img&amp;client=ca-pub-1259014363012020&amp;channel=9138153052&amp;output=png&amp;cuid=061219083729030123040900&amp;url=http%3A%2F%2Fuxwatchindia.blogspot.com%2F2003%2F01%2Fsoftware-user-safety-how-your-software.html\"\/><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Software user safety: How your software can ruin a user&#8217;s life I was watching this car commercial on TV. It spoke about how sturdy and safe the cars were, and showed by a crash test to reiterate. We are talking automobile driver\/passenger safety. What about software users? &#8216;What about them?&#8217; you might ask. &#8216;At least [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-185","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_featured_media_url":"","uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"jetpack-portfolio-admin-thumb":false},"uagb_author_info":{"display_name":"Suman Kumar","author_link":"https:\/\/sumankumar.com\/blog\/author\/suman-kumar\/"},"uagb_comment_info":0,"uagb_excerpt":"Software user safety: How your software can ruin a user&#8217;s life I was watching this car commercial on TV. It spoke about how sturdy and safe the cars were, and showed by a crash test to reiterate. We are talking automobile driver\/passenger safety. What about software users? &#8216;What about them?&#8217; you might ask. &#8216;At least&hellip;","jetpack_shortlink":"https:\/\/wp.me\/p2Gbk8-2Z","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":92,"url":"https:\/\/sumankumar.com\/blog\/2005\/10\/top-ten-documentation-heuristics-by-vesa-purho\/","url_meta":{"origin":185,"position":0},"title":"Top Ten Documentation Heuristics by Vesa Purho","author":"Suman Kumar","date":"October 28, 2005","format":false,"excerpt":"\"For example, people working on a rooftop installing some hardware would not necessarily be delighted with nice multimedia CD-ROMs but prefer a laminated quick reference card.\" That statement pretty much sums it up for me. Read on! 1. Match between documentation and the real world The documentation should speak the\u2026","rel":"","context":"In \"Uncategorized\"","block_context":{"text":"Uncategorized","link":"https:\/\/sumankumar.com\/blog\/tag\/uncategorized\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":46,"url":"https:\/\/sumankumar.com\/blog\/2003\/12\/46\/","url_meta":{"origin":185,"position":1},"title":"Usability Testing of Your Documentation\u2026","author":"Suman Kumar","date":"December 21, 2003","format":false,"excerpt":"Usability Testing of Your Documentation Yea, it is possible. Let's say you have created a user-guide. The user-guide is aimed at helping users in performing various tasks on the product. Choose a representative user (anyone, even your mother-in-law is all right). If you can't recruit a user read List-item: Ask\u2026","rel":"","context":"In \"Uncategorized\"","block_context":{"text":"Uncategorized","link":"https:\/\/sumankumar.com\/blog\/tag\/uncategorized\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":232,"url":"https:\/\/sumankumar.com\/blog\/2004\/10\/it-is-ok-dialog-boxes-usability\/","url_meta":{"origin":185,"position":2},"title":"It is OK: Dialog boxes usability","author":"Suman Kumar","date":"October 28, 2004","format":false,"excerpt":"Jakob Nielsen in his recent column on PC security writes: ...spyware and adware that install software on your computer without your informed consent (although some operations might claim to have consent, most people don't know what they're agreeing to when they click \"OK?\" buttons on the Web; for true consent,\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":132,"url":"https:\/\/sumankumar.com\/blog\/2002\/07\/132\/","url_meta":{"origin":185,"position":3},"title":"\"Software Quality Improvement through Usability\"\u2026","author":"Suman Kumar","date":"July 15, 2002","format":false,"excerpt":"\"Software Quality Improvement through Usability\" Seminar Usability for All \u2013 Adapting to Cultural and Physical Needs is a sequel to the \"Software Quality Improvement through Usability\" seminar, which was hold in April. \"Adapting to Cultural and Physical Needs\" was organized by the Information Technology Association (ITA), took place at the\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":126,"url":"https:\/\/sumankumar.com\/blog\/2002\/07\/126\/","url_meta":{"origin":185,"position":4},"title":"Usability is not so much\u2026","author":"Suman Kumar","date":"July 10, 2002","format":false,"excerpt":"Usability is not so much about software code, design or information architecture; they come later. What's most important is the attitude; the willingness to produce products that are easy to use, irrespective of your user being a novice or an expert. Usability is about being objective, unjudgemental (does this word\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":732,"url":"https:\/\/sumankumar.com\/blog\/2005\/05\/winamp-dumps-lama-kicks-itunes-a-for-a-change\/","url_meta":{"origin":185,"position":5},"title":"Winamp dumps Lama. Kicks iTunes a** for a change","author":"Suman Kumar","date":"May 24, 2005","format":false,"excerpt":"From Wired.com: IPod users are raving about a plug-in that makes the Winamp digital jukebox a better way to manage the iPod than Apple's iTunes. The plug-in, called ml_iPod, allows iPod users to bypass iTunes and manage music collections in Winamp instead. The iPod is supposed to work with iTunes\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/sumankumar.com\/blog\/wp-json\/wp\/v2\/posts\/185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sumankumar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sumankumar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sumankumar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sumankumar.com\/blog\/wp-json\/wp\/v2\/comments?post=185"}],"version-history":[{"count":0,"href":"https:\/\/sumankumar.com\/blog\/wp-json\/wp\/v2\/posts\/185\/revisions"}],"wp:attachment":[{"href":"https:\/\/sumankumar.com\/blog\/wp-json\/wp\/v2\/media?parent=185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sumankumar.com\/blog\/wp-json\/wp\/v2\/categories?post=185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sumankumar.com\/blog\/wp-json\/wp\/v2\/tags?post=185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}