Thanksgiving, after dinner with my extended family drinking coffee and nibbling on the many desserts everyone brought to our house seemed a great respite from the hectic days working for an APM software vendor.
But alas, peace and tranquility was lost as the smart phones, tablets and laptops appeared on the table next to the flour-less chocolate cake and pumpkin pie. Suddenly, we were all shopping for Hanukkah and Christmas presents. And then the phrase recently only associated with healthcare.gov was heard, “That &#%!@ website!!!”
I tried to ignore to, but one-by-one they turned to me and asked “didn’t you say you worked in an APM company? Why is this so slow???” The thoughts started racing through my head, “caching, redundancy, serialization, load balancing, memory leaks, disk IO, heap, garbage collection…oh my”. Finally, I said “ah…I have no idea”. All my credibility with the relatives was lost in that moment. So, I tried to recover by asking “which website?” They told me and I signed with relief, and said “they don’t use us” and had another fork full of chocolate cake. Someone snorted and muttered “that is no help”.
Apparently, one of my nieces was in a brick and mortar store standing on a physical line (imagine someone in my family doing that!) trying to buy a laptop. She had her sister, at my house on a tablet trying to get it at a better price on line. The niece in the store said “get a better deal for me on the Web or when I get to the front of the line, I am buying the one in the store”. Unfortunately, the website she was on attempting to buy the laptop let her get all the way through the order process, selecting the laptop, the accessories, putting in the shipping address and the payment method and then froze with message saying, “please wait”… This went on for 20 minutes and eventually the niece in the store got to the front of the line and purchased the brick and mortar laptop which was an inferior deal compared to the online one.
So, what’s the lesson here other than banning electricity and phone calls in my house next year? The website that failed to “deliver the goods” was a major manufacturer of computers with a lot of money. They certainly could have afforded to test their website to handle the holiday season load. But, they failed…why? To know for sure we would have to know what they tested. Perhaps, they just tested function and not load or concurrent load per function or different transaction mixes. Did they test real-life use cases or scenarios? To be assured you will perform under holiday loads you need test cases that closely emulate what a buyer will do.
But, despite the root-cause of this issue, the biggest annoyance for me was that the website designers didn’t seem to understand what the user’s experience would be of a slow response and how to assure the user those transactions wouldn’t be lost. Instead of a “please wait” message, something like “we captured your order; running slow, rest assured we won’t lose it…please don’t exit”. But, there is a happy ending to this tale…there’s still chocolate cake left.