I’ve been a programmer for a very, very long time. (Yes, before sand was invented, even. 🙂  OK, not quite that long.)

I have been watching the standards for software design, implementation, release and after-market support spiral down the rabbit hole for the last 28 years, more or less. (That’s when the “Harvard Biz Types” [not to impugn Harvard, that’s just a handy label here — the mainstream corporate mentality, is really what I mean, but “Harvard Biz Types” is easier to say] came in and started “revamping” how things are done in the computer industry.

I have commented on this elsewhere in these postings; I won’t lean into it now. What I am presenting here is a FIX for this problem, or at least a start at a fix. This is very rough; if this were to actually be implemented, it would need some polishing.

I am suggesting a “Good Housekeeping Seal of Approval” approach. Not by the Good Housekeeping people, though (they’ve become too easy to get a certification through, and I’m looking for specialized, tough and honest approvals here in what is a serious specialty: software), but by serious computer folks in a completely neutral organization, filled with experienced computer engineers, educators, psychologists, neurologists and other serious specialists, who Certify a piece of software as “Fit for Human Use.”

I tentatively call this “Whisper Certification” — as in “The Computer Whisperer has Certified this Software fit for Human Use.” It might also be tagged as “This Software is Fully Trained” (I get very tired of what I sometimes can only describe as half-trained software.)

This product conforms to Level 1 Certification.
The Computer Whisperer has Certified this Software fit for Human Use.

I have broken it up into 3 levels — possibly other levels or sublevels within each. Here is the First Level, the most basic, lowest level of certification. (Levels 2 and 3 are much tougher to meet. I have them also spec’d out first approximation, but I’m not going to post them just yet.)

 

Level 1 Whisper Certification for All Commercial Software
The most basic level for Whisper Certification, the bare minimum for “Fit for Human Use”

  • Support for color blindness (including alternate color palettes, custom colors, high contrast, etc, providing these things when the operating system doesn’t, working with them properly when it does.)
  • Support for “low vision” — that is to say, poor or compromised vision (Windows and OSX / OS11 do a fair job on this now, but tablets and phones are terrible at it). [In the case of tablets and phones, you might find it simpler to simply say “not suitable for all users” and try a little honesty rather than overselling your product.)
  • Support for hearing impairment — where applicable
  • Basic neurological support, to help limit the increasing amount of neurological side-effects from computer displays. Flashing, sudden bright white after a relatively dark screen, animations that can’t be turned off, and several other things that have become very common affect increasing numbers of people in negative ways. Users need to be able to turn off flashing, unnecessary animations (see Duolingo), and such. Even any advertising that comes through an ad portal — if you product qualifies for an ad portal and if the user chooses to leave it on, must adhere to these guidelines. (Yes, this is a very complicated issue; but look up “Pikachu, the rat” and notice that 1000’s of young people experienced seizures, even with no previous known health issues, upon watching this video game. Take responsibility for this!)
  • Support for left handed / right handed / bi-handed / no-handed or voice control. (For example,. see Bethesda’s Skyrim game which totally insulted the [so-called] left-handed player [that is, any who wants to use the mouse with the right hand, instead of the left] by making this impossible, without power-user sorts of remedies. Bad.) What I mean is: don’t make any assumptions or restrictions on how the user “must” interface with the computer. (Bethesda, again [sorry, just a handy example], too often the PC version of one of their products feels like an after thought. It does not properly use the capabilities of PC interface, when it’s the PC, and only the PC [or Apple desktop], that has all the options. Have your game console versions if you must, but stop treating Real Computers as second class citizens. If you’re not serious about the PC or OSX machine, stop supporting it. Otherwise get serious about it.)
  • Support for the user’s language (automatic by locale settings [that is, the operating system already knows what the user’s preferred language is], but also user configurable). Some obvious exceptions will apply here. But it must include ERROR MESSAGES. Too often do I see error messages popup in Chinese — even saw one in Russian once (fun!) — or in English when the main program was using French or German, or something. Not helpful! Stop being unhelpful, dang it!)
  • Support for font and font size of all displays, and screen artifacts, INCLUDING dialog boxes and error messages. See also support for color blindness and low vision items above.
  • Dialog boxes never say just “yes” and “not now” (where they might do such a thing) but must include a “never” as in “never show this again” — where applicable. Otherwise it amounts to embedded advertising, and the user must have the uncontestable right to not be hit with such things. (Possible exceptions apply to software that is “paid for” only by advertising, but such advertising still has to meet other Level 1 guidelines, including neurological guidelines.)
  • Complete documentation, in the user’s language (languages officially supported by the publisher), online or embedded. (This current practice of not documenting at all is unacceptable. The Industry CEO’s and decision makers need to spend time in community computer repair shops listening to the Real World problems that people deal with every day. Trust me: you still need to document even Basic Things.)
  • No known level 1 bugs at time of shipping of the current version (1)(2)
  • Adherence to international “censorship” rules / ratings, where applicable, but allowing (unless that is disallowed by local laws) the ability to completely override such. That is, assume your user is able to make his own decisions about content, and don’t give Mrs Grundy any more power than she has already stolen for herself.
  • One key (or click, or command) equals one function. Not two or three functions irretrievably bound together “based on context.” (e.g., Bethesda’s convoluted crafting command set in Fallout 4: not acceptable)
  • Error messages must include a suggestion of how to fix, remedy or proceed from this point. “Something went wrong” is really not acceptable unless it includes a meaningful “what next” clarification / suggestion. In plain language, not in techno-babble.
  • No hidden agendas under “advanced settings” or such things, during installation or at any other time. (It’s become a typical way to hide “fleas” — additional, probable unwanted software — that will be installed unless the user specifically tells the installer “no.” Not acceptable. Auslogics disk defrag, for instance does this — Predatory.)
  • Tell the Truth at all times. No “marketing rhetoric” abusing the user’s ignorance. (“Best clam chowder on the Coast.” “Stops all Malware” (or even “Stops Malware” which implies “all” — this is always BS, as that is technically impossible) and such statements. Nonsense. If you can’t “market” yourself to the top of the food chain by being honest about your product, then make a better product. I mean… Gee! )
  • Any embedded advertising must be limited only to upgrades of the specific product or related add-ons / companion pieces, or even Tips on how to use the product, which might include a statement along the lines of “and in the upgraded version, this is even better” — but only if it really is better!  Advertising must be relevant, not a waste of the user’s time or attention, in other words. No “Ginsu knives” (unless it’s recipe software!)
  • User option to check for updates upon exiting the software, rather than only on entering(3). In fact, that really should be the industry standard. Stop wasting the user’s time with your own agendas.
  • Message boxes and other windows (main and popups) stay where and at size the user last put them (some exceptions, such as with screen size changes, etc.). Therefore will need also to provide a global reset option on window positions. Again, where applicable.
  • Startup/default directory must be configurable or at least sensitive to where it was started from. (Such as exactly what MSFT Publisher does not do.) Where applicable. For some OS’s (such as phones and tablets) this isn’t a concept, or maybe the software saves no files, so again this wouldn’t apply.
  • Default directory(ies) to save files configurable, and savable/configurable by “project” (where applicable) but default is the same place the document was opened (for save as) or the same place a file was last saved. (But — please! — not as ridiculous as Microsoft Office gets now with that fluffy layer of confusion place Twixt User and the One True File Dialog box — which is seriously out of date  by current software standards, but we don’t control the OS(4). At least make it an option to go directly to file dialog box, instead of making me hit three more clicks before I can what I used to do in 1 click. Gee!!!

And that’s it. Some exceptions where these items don’t apply because, for example, the software issues no sounds, no audio at all, so support at current international “hard of hearing” standards doesn’t apply. Software in beta release (that is, still being worked on, not yet at its “finished state”) can be granted a tentative certification (of any Level) if they can satisfy the certification board that any outstanding issues are being worked on. It would be a “tentative approval” or “Good Work So Far” type of certification.

This and some other items I believe could help to turn the computer industry around and get it out of its downward spiral.

One way or another, though, that downward spiral is temporary. This is a proactive, “save the sinking ship” approach. The other method is to wait until the major players all get replaced by “upstart” companies who remember what Software is actually capable of, instead of focusing on what the Stock Values are capable of.

 

[30]

 


(1) This is per the Olden and Traditional grading of bugs. An “A” level bug stops the program and has no simple work-around; function is broken. “B” level bugs are serious bugs but have work-arounds suitable to the typical user of that product. “C” level bugs are “it would really be nice to fix this.” Level C bugs almost never get addressed; which is pity, actually. Question: Why would a major piece of software, especially after decades of development, have any level 1 or level 2 bugs still in it? If it is serious software, for a serious purpose, put out by a serious company with competent people, it wouldn’t. Especially when it’s also making Serious Money. That’s the problem I am offering a possible solution toward. (Windows, for instance, literally has 1,000’s of serious Bugs in it, after almost 40 years! That’s Incompetence.) Not a complete solution; programmer training is very sub-standard now, and the management food-chain in the computer corporate world has gotten all too used to what passes for “good enough” these days. That’s that “downward spiral” thing.)

(2) Possible exceptions here could still allow a Level 1 Whisper Certification. That would be detailed out some other time and place.

(3) So much of my time is wasted by a piece of software interrupting my train of thought by wanting to do its housekeeping on my time, instead of on its own. When I start up a piece of software, I’m on a mission, I have a need, I have a train of thought or action I am pursuing. That is NOT the time to tell me about an update. Do it on exiting the software, not on entering. At least give me the option!

(4) Just an observation here: it would be nearly impossible to ever grant Microsoft Windows or Microsoft Publisher any level of Whisper Certification. Very tough. Great many fixes would have to be actually be done. A handful of Microsoft products might quality as they currently sit, but not too many. Apple products? Not too bad; actually very close already to basic certification. (That does not include the 10’s of thousands of 3rd party applications available through the Apple Store, which would each need independent certification… unless Apple wanted to resume its own approval process for software.)