Archive for the ‘Miscellany’ Category

It Was As Though Millions Of Style Guides Cried Out At Once And Were Suddenly Updated

Thursday, December 7th, 2017 by The Director

Walmart changes name, dropping ‘stores’ and hyphen, as it underscores online image:

What’s in a name? For Walmart, it will soon be a little less.

The company, which became the largest retailer in the world with a huge chain of stores, is changing its name to reflect its increasing emphasis on e-commerce.

As of Feb. 1, it will no longer be “Wal-Mart Stores” and will get rid of the hyphen and drop “stores” from its legal name.

Just kidding; please continue with the normal mishmash of capitalization when referring to corporations, especially our own clients.

Walmart has brought some confusion upon itself, with signage and logos that do not include the hyphen but the corporate name and formal documents probably did.

Ideally, internal communications would use the proper branding so that the habits built into the copy writers, designers, and other communicators would automatically use it whenever they do their jobs, but too often the shorthand name for a company works its way into the copy or iconography. Which just looks sloppy.

Nothing explains the purple Comic Sans, though. Why does the CEO do that in his emails?

A Smart Aleck and Slack

Thursday, October 12th, 2017 by The Director

When signing up for yet another Slack (and adding to the possibility that you’ll end up saying something to the wrong client or team), one sees this message regarding passwords:

However, its denial to the contrary, Slack thinks
password, 123456 or abcdef.
is a great password.

You don’t have to be a complete smart aleck to work in this industry, but you do need to be a complete smart aleck to thrive.

You Would Think I’d Agree With This Thesis, But….

Friday, October 6th, 2017 by The Director

The Atlantic Monthly has a piece entitled “The Coming Software Apocalypse” that starts out with some examples of computer problems akin to what I post here:

There were six hours during the night of April 10, 2014, when the entire population of Washington State had no 911 service. People who called for help got a busy signal. One Seattle woman dialed 911 at least 37 times while a stranger was trying to break into her house. When he finally crawled into her living room through a window, she picked up a kitchen knife. The man fled.

The 911 outage, at the time the largest ever reported, was traced to software running on a server in Englewood, Colorado. Operated by a systems provider named Intrado, the server kept a running counter of how many calls it had routed to 911 dispatchers around the country. Intrado programmers had set a threshold for how high the counter could go. They picked a number in the millions.

Shortly before midnight on April 10, the counter exceeded that number, resulting in chaos. Because the counter was used to generating a unique identifier for each call, new calls were rejected. And because the programmers hadn’t anticipated the problem, they hadn’t created alarms to call attention to it. Nobody knew what was happening. Dispatch centers in Washington, California, Florida, the Carolinas, and Minnesota, serving 11 million Americans, struggled to make sense of reports that callers were getting busy signals. It took until morning to realize that Intrado’s software in Englewood was responsible, and that the fix was to change a single number.

Not long ago, emergency calls were handled locally. Outages were small and easily diagnosed and fixed. The rise of cellphones and the promise of new capabilities—what if you could text 911? or send videos to the dispatcher?—drove the development of a more complex system that relied on the internet. For the first time, there could be such a thing as a national 911 outage. There have now been four in as many years.

It’s been said that software is “eating the world.” More and more, critical systems that were once controlled mechanically, or by people, are coming to depend on code. This was perhaps never clearer than in the summer of 2015, when on a single day, United Airlines grounded its fleet because of a problem with its departure-management system; trading was suspended on the New York Stock Exchange after an upgrade; the front page of The Wall Street Journal’s website crashed; and Seattle’s 911 system went down again, this time because a different router failed. The simultaneous failure of so many software systems smelled at first of a coordinated cyberattack. Almost more frightening was the realization, late in the day, that it was just a coincidence.

Okay, I agree with a lot of the premise of the article. But I know that the author is not a computer expert of any stripe when we get to this passage:

Since the 1980s, the way programmers work and the tools they use have changed remarkably little.

Well, that’s a remarkably daft statement. I wrote a bit of code in the 1980s (for pay once, but I was young and I needed the money). What has changed since then?

  • IDEs.
  • Object-oriented programming.
  • Never mind, let’s go back to functional programming again.
  • Client-server architecture.
  • Web-based software.
  • IDEs and other scaffolding mechanism building a bunch of code you don’t understand or need automatically.
  • Inserting open-source libraries and dependencies in your code for everything.
  • Distributed architectures where different machines handle different bits of your code.
  • Cutting and pasting from Stack Overflow.

And so on and so on.

The rest of the article seems to be a white paper for business object-based development. Which is totally a new thing that will change everything. Except that it’s not new; it’s as old at least as Versata, a company I invested in around the turn of the century and that was founded in 1989.

You know why this never takes off? Because the code making the pretty replacement for the code is code itself and an abstraction of the type that this article claims is the problem.

You know what the real problem is?

Computer programming rarely, and even rarelier now, gets to a mature and proven technology. If you’ve been in the business for any number of years, you’ve seen technology stacks come and go along with the various frameworks, architectures, programming languages, and development methodologies. Every couple of years, they rise and fall, and projects, products, and features get started, kludged on using, or completely rebuilt in the new languages and frameworks. Then, a couple years later, something else comes up and something gets started anew.

I know this reads a little bit like Old Man Yells At The Cloud, but there’s a lot of institutional knowledge lost when these ebbs and flows occur. Nobody’s gotten node.js right yet, but don’t worry, there’ll be something new in two years to take its place, and all of our defects can be washed clean and rebuilt in the new hotness.

The article compares software architecture to old timey physical engineering, but it draws the wrong lessons. Instead of trying to make programming more visual like things in the physical world are, we need to ensure that the ‘best practices’ are learned and applied as universally as possible, and to slow down so we can learn what they are and to work with them and with mature technologies to create things that work.

Instead, companies will continue to chase the newest technologies and languages and minimum viable products as fast as they can with the result that computer science is less like science and more like Dungeons and Dragons Wild Magick rules.

Old School QA Slang That I Just Made Up

Thursday, September 28th, 2017 by The Director

Snakeskin (n)
Evidence of a defect that is not the defect itself.

Have you ever seen something that you know is wrong, but you’re not sure what made it wrong so you’re a little hesitant to log it (but you log it anyway because, hey, someone else might see it, and it’s best to know something is wrong)? That’s a snakeskin.

If you’re in the southern United States, feel free to call this a cicada shell.

Words of the Master

Monday, September 11th, 2017 by The Director

“It is only the (truly) virtuous man, who can love, or who can hate, others.” –Confucius

You better believe that’s going on my resume in the Awards and Achievements section: Truly virtuous, awarded by the Chinese sage. Although anyone familiar with Confucius reading my resume would instantly throw it into the discard pile, because he or she would know Confucius did not think of himself as particularly sagacious.

Does Not Do What A Spider Can

Wednesday, July 26th, 2017 by The Director

When preparing to check my brand engagement this morning (that is, check my Twitter feed, but to be a consultant, you have to have a brand and you have to continually propose to companies, as I understand it), I encountered an unfortunate problem:

A Spidey protocol error.

I blame Venom.

What I Like To See On My Public Forms

Wednesday, July 19th, 2017 by The Director

A control that says (Internal Use):

What do you suppose that means? I, a member of the concert-ticket-buying public, should not choose it?

Yer dang right I wrote in that office use only spot.

Fortunately for me, the tickets did arrive in the mail.

Mind your application’s labels, brothers and sisters, and ensure they contain relevant, helpful information for the user.

Where Will Your Tab Stops Take You Today?

Tuesday, July 18th, 2017 by The Director

As some of you might know, I’m particularly lazy. When my hands are on the keyboard, I don’t like to reach all the way over to that mouse to do something, so I pay especial attention to hot keys and tab stops. And apparently, I am one of the few people to do so.

If I have a couple minutes and want to vex the developers, I start checking the tab stops in the applications I test.

Here’s what I like to check:

  • Navigational elements (links and headings that expand divs) have tab stops as do the form controls (buttons, check boxes, radio buttons, text areas, and the like.
  • Make sure when navigational elements and controls appear, such as if the user expands a form or chooses an option that displays dependent controls, that the new items have tab stops.
  • The tabs stop order makes sense. Sometimes IDEs assign tab stops as the controls are added to a designer. Sometimes, developers add controls after the initial form design that don’t get tab stops or get tab stops at the end of the tab order instead of in the place where the form displays on the page.
  • Ensure hidden controls do not appear in the tab order. Just this morning, I found a tab stop for a hidden button and, using the space bar to click the button, I triggered an inappropriate action.
  • Controls have visible focus indicators. Although I’m savvy enough to look to the status bar to see if focus is set to a link, your users are not super users, so make sure your application gives them a hand by showing them where the focus is. And note the effects of the focus indicator: make sure it’s not resizing the control with focus and bumping everything else.
  • Tab order is reversed if you go backwards. SHIFT+TAB should take you in reverse order. Make sure it does.
  • Tabbing doesn’t get trapped in third-party controls. Things like calendar date pickers and stuff might come from outside your organization. Make sure when your developers use them that the keyboard user does not get stuck in the controls with no way out.

Remember the tab stop and keep it wholly for my benefit.

When Your Alphabet Increments

Monday, July 17th, 2017 by The Director

After century of dispute, the German alphabet just got a new character:

Have you ever been typing in German in a blaze of BLOCK CAPITAL anger, but been stopped short by the inability to write the next letter of the word SCHEI…? Help is finally at hand.

At the end of June, the German Spelling Council decided to add a capital ß (Eszett) to the language, bringing to an end a debate that had raged on in the world of German orthography since the 19th century.

Now, instead of using SS to capitalize the Eszett, Germans should use ẞ.

Oh, boy, what will this do to your legacy data?

On the other hand, it will render this old test obsolete.

(Link via.)

I Would Have Logged It Without Blushing

Tuesday, July 11th, 2017 by The Director

Say, doesn’t the icon for Private/Incognito browsing sort of look like a bra?

As I once said:

Yeah, QA, in the meetings and in the defects, you have to go there. Remember, the Internet is place full of miscreants, miscontents, and people who will, in fact, go there.

Hopefully, your co-workers will recognize that you’re just being professional. So just be professional about it, but do bring these sorts of things up.

It’s Not My Experience, But It Rings True

Saturday, July 8th, 2017 by The Director

WELCOME TO OUR STARTUP WHERE EVERYONE IS 23 YEARS OLD BECAUSE WE BELIEVE OLD PEOPLE ARE VISUALLY DISPLEASING AND OUT OF IDEAS:

As you can probably tell by looking around, every employee at our startup is 23 years old. On the morning of your 24th birthday, the barcode on your employee ID stops working and you can no longer enter our building. We do this to ensure our company has a ceaseless, youthful energy. We believe old people are displeasing to look at and also, bad at ideas.

The startups I’ve worked at and with have been started by people over 30.

But I’ve talked with a number of places where I wondered if my, erm, years of experience might not have been dissuasive.

Have You, Sir, Ever Had Improper Use of Test Data?

Wednesday, July 5th, 2017 by The Director

Data glitch sets tech company stock prices at $123.47

A stock market data error this evening set an undetermined number of companies listed on the Nasdaq exchange to a share price of $123.47, sending some tech companies’ stock prices crashing and others’ soaring. In a statement obtained by the Financial Times, Nasdaq said the culprit was “improper use of test data” that was picked up by third party financial data providers. The exchange said it was “working with third party vendors to resolve this matter.”

I hope none of you gentle readers turned in resignation letters based on sudden ephemeral wealth.

And I hope you work with your devops guys to help make sure they scrub test data appropriately before promoting to production. Although they might rankle at it, your scrutinizing gaze upon their procedures and processes can sometimes help to find problems or to spot places to improve. Bloody heck, in the olden days, testers worked on Extract/Transform/Load, data warehouse, and conversions between expensive software packages. Just because your company does the same thing every week or every night doesn’t mean QA involvement should be less.

“Lie to me,” the computer said.

Tuesday, June 13th, 2017 by The Director

I wonder if I could do nothing but posts about CAPTCHAs and what they can teach us; after all, this is my second one recently (see also.)

But here’s another one.

You see, it says Select all squares with street signs, but there are no street signs in the image.

Which made me think of all the forms that ask us to put something into edit boxes other than what the labels describe.

Do your labels all give proper patterns for data entry? Ask for the right thing? Are your end users doing strange workarounds and using data elements to contain different things than expected?

Is your application or your customer support team telling the user to lie to it to make the application work right?

That’s a problem, you know.

Of course you know. But make sure everyone else knows, too.

I Don’t Envy The Embedded Software Guys

Friday, May 12th, 2017 by The Director

It’s hard enough to try to cover all the combinations in desktop and mobile software, or at least the few combinations you can think of that are deemed worthy of testing before shoving it out the door. I can’t even imagine what it’s like on industrial or embedded applications.

So I feel for the guys who didn’t find this:

Fiat Chrysler Automobiles NV said Friday it would recall more than 1.25 million pickup trucks worldwide to address a software error linked to reports of one crash death and two injuries.

The error code could temporarily disable the side air bag and seat belt pretensioner deployment during a vehicle rollover spurred by a significant underbody impact, such as striking onroad debris or driving off-road, the Italian-American automaker said.

Unless there are no testers or someone said, “Who’s going to have a rollover spurred by underbody impact? What is this, Tremors? DEFECT REJECTED!”

In which case I only feel for the users and the former users.

Only One Computer Program On This List? We Can Do Better!

Thursday, April 13th, 2017 by The Director

The 5 Most Disastrous Typos In Human History

Fortunately, the interconnected world of Internet of Things and the electronificiation and softwarization of everything will make this list look quite different in ten years, I expect.

Live Action Test Playing

Thursday, March 30th, 2017 by The Director

Apparently, Amazon is having trouble with its Go store:

Amazon Go is a no go so far.

Amazon postponed the grand opening of its Amazon Go store due to technical difficulties.

Scheduled to debut in early 2017, the small convenience store concept eliminates checkout lines by allowing shoppers with an Amazon Go app to grab what they want from the store and walk out.

The Wall Street Journal says Amazon is having trouble tracking more than 20 customers at a time and keeping tabs on merchandise moved from store shelves.

The store is currently only open to Amazon workers who have been shopping as beta testers before the general public can give it a shot.

Man, I would love to get involved in a project like that. If testing computer stuff is like a tabletop role-playing game, testing that sort of thing would be like a full-scale mock battle at a Society for Creative Anachronism meet-up.

Think of all the crazy things you’d have to try. Juggling the produce before putting it in your cart. Passing the same item among multiple people. Putting the things back in the wrong place and having someone pick them up. And the shoplifting.

Here is a couple things you’d have to consider.

An In Depth Look At Browser Scrolling

Friday, March 17th, 2017 by The Director

Over at the Microsoft Edge blog, Nolan Lawson has an in-depth look of the simple scroll:

Scrolling is one of the oldest interactions on the web. Long before we had pull-to-refresh or infinite-loading lists, the humble scrollbar solved the web’s original scaling problem: how can we interact with content that’s stretched beyond the available viewport?

Today, scrolling is still the most fundamental interaction on the web, and perhaps the most misunderstood. For instance, do you know the difference between the following scenarios?

  • User scrolls with two fingers on a touch pad
  • User scrolls with one finger on a touch screen
  • User scrolls with a mouse wheel on a physical mouse
  • User clicks the sidebar and drags it up and down
  • User presses up, down, PageUp, PageDown, or spacebar keys on a keyboard

As you might recall, I onct wrote a song about it: “There Must Be Fifty Ways To Scroll Your Window“.

The piece on the Edge blog goes into greater detail that your developers might find interesting.

If You Don’t Do It Because Jim Holmes and I Told You To….

Thursday, March 16th, 2017 by The Director

Use the serial/Oxford comma because the Maine courts say you should:

If you have ever doubted the importance of the humble Oxford comma, let this supremely persnickety Maine labor dispute set you straight.

. . . .

This is what the law says about activities that do NOT merit overtime pay. Pay attention to the first sentence:

The canning, processing, preserving, freezing, drying, marketing, storing, packing for shipment or distribution of:
(1) Agricultural produce;
(2) Meat and fish products; and
(3) Perishable foods.

Of course, the Oxford comma gets all the credit, but note the parallel construction also makes it clear which verbs apply: Canning, processing, preserving, freezing, drying, marketing, storing, packing are gerunds. Shipment and distribution are not. If they were to be included as equivalent, they would be shipping and distributing.

So take the advice of your humble Director: Use the serial comma and parallel construction–verbs ending in -ing, infinitives, gerunds (which are verbs ending in -ing that act as nouns as in the above example), and so on–to clearly express items that are the same in the purpose of the sentence.

Writing and to express oneself clearly are incorrect and confusing.

What’s The Craziest Test You Always Perform?

Tuesday, March 14th, 2017 by The Director

In my back pocket, where normal people carry pictures of their families, I have a list of common things I test every time I encounter a new application. It includes old favorites like the Hamlet test and new favorites like assorted comment strings, but nestled amongst the almost indistinguishable lines of random text, I have a set of SQL keywords:

SELECT FROM WHERE GROUP BY HAVING ORDER BY INSERT UPDATE WHERE MERGE DELETE BEGIN WORK START TRANSACTION COMMIT ROLLBACK CREATE DROP TRUNCATE ALTER

I added this back when I was doing a lot of testing for a company that used an offshore development team for much of its development work, and the offshore team was prone to making the same coding mistakes from project to project. I discovered at one point that they were preventing SQL injection attacks by barring users from entering SQL keywords in edit boxes. So I added the line to the list of tests lo, those many years ago, and I’ve included it in my basic test checklist ever since.

It’s taken me thirty seconds or a minute to run the test every time I’ve encountered a new form in many, many different projects for many, many different clients.

But I found another issue that the string triggered in a recent project, which validated my running the test perpetually, kind of like keeping every little gimcrack and doodad I’ve ever encountered in my closet or garage is validated whenever I need something like it and I don’t have to run to the hardware store to spend a buck to buy a new one.

So what’s the craziest test you always run, and why do you run it?

And He Wants To Sign Up For Your Web Site

Thursday, March 2nd, 2017 by The Director

Meet the Man Who Claimed to Have the World’s Longest Last Name.

His name was Adolph Blaine Charles David Earl Frederick Gerald Hubert Irvin John Kenneth Lloyd Martin Nero Oliver Paul Quincy Randolph Sherman Thomas Uncas Victor William Xerxes Yancy Zeus Wolfe­schlegel­stein­hausen­berger­dorff­welche­vor­altern­waren­gewissen­haft­schafers­wessen­schafe­waren­wohl­gepflege­und­sorg­faltig­keit­be­schutzen­vor­an­greifen­durch­ihr­raub­gierig­feinde­welche­vor­altern­zwolf­hundert­tausend­jah­res­voran­die­er­scheinen­von­der­erste­erde­mensch­der­raum­schiff­genacht­mit­tung­stein­und­sieben­iridium­elek­trisch­motors­ge­brauch­licht­als­sein­ur­sprung­von­kraft­ge­start­sein­lange­fahrt­hin­zwischen­stern­artig­raum­auf­der­suchen­nach­bar­schaft­der­stern­welche­ge­habt­be­wohn­bar­planeten­kreise­drehen­sich­und­wo­hin­der­neue­rasse­von­ver­stand­ig­mensch­lich­keit­konnte­fort­pflanzen­und­sicher­freuen­an­lebens­lang­lich­freude­und­ru­he­mit­nicht­ein­furcht­vor­an­greifen­vor­anderer­intelligent­ge­schopfs­von­hin­zwischen­stern­art­ig­raum, Senior.

Which is shorter than many names in my address book of test data.

Bonus good points for the long unbroken last name which is good for testing wrapping and truncation.


wordpress visitors