By in

Hackerware - Run away!

Hackerware - run away!

G3 Agency CMO Nick McCallan

nick mccallion

consumer leads for small business
Chief Marketing Officer


Hackerware, why do you support it?

As the CMO of a Digital Marketing Agency, I get pitched “disruptive software solutions” all the time. Developers tell me, “This is going to revolutionize (fill in a process)in the (fill in industry or sector) . No one has anything like this.”

I bet that sound familiar to many of you. If the pitch looks like it has merit I’ll sit through the webinar or pitch. About 90% of the time I say “No thank you.” Sometimes I already have software or a service that meets the need, but most of the time it fails my “Bulls Eye Test”. It is a pretty simple test and helps me cut through all of the marketing hype. I wish I could have come up with a list that was some coolio acronym, but I couldn’t. So here is the list of the 5 tests I use when making a buying descion. Is the software:

  1. Accurate
  2. Reliable
  3. Performant
  4. Scalable
  5. Pleasant

Ok well, thanks for your time, and have a good day. No wait, seriously I have more.


What do you mean it has to be accurate? Well if it for example calculates the volume of a 3-dimensional object given the inputs of the bounding coordinates minus wall thickness it has to be able to do the calculation accurately. That might seem like one of those “Duh!” moments but you would be surprised at how many systems fail to pass this first test.


Yep, it has to be able to do its thing 100% of the time. If you tell me I only need to provide the bounding coordinates and wall thickness you had better be able to do your calculation if I ask the system to calculate the volume of a Klein Bottle. Ok, that isn’t fair. Everybody knows a Klein Bottle has no volume. The point here is that so many software developers only consider a very limited number of scenarios when doing testing during development, far fewer use Test-Driven Development[1] and fewer still have a robust Quality Assurance team backing them up. If it works once, it needs to be able to work 100,000 times.


If the system has passed the first two tests we now look at how long it takes to do its thing. If you are going to calculate the volume of an object I don’t want to have to take a nap waiting for the results to return. Now not every software system will pass the “Gold Fish” test. The “Gold Fish” test is based on an urban legend that a Gold Fish only has a long-term memory recall of 3 to 5 seconds. Recent studies[2] show that modern websites lose visitors if the results are not returned in 3 to 5 seconds. Modern software solutions either web or desktop need to be zippy. This isn’t 1997 and we would wait for an entire weekend to re-index our Oracle CRM Database.


With the first three tests checked off let’s throw some volume at this. I think everyone has heard of the catastrophic failure of in 2013[3]. Now I’m not saying you need to be able to calculate the volume of a billion objects and give me ALL the results in 3 to 5 seconds but if you have a planned maximum workload it won’t take long for one of your users to crush your software. Whatever volume you anticipate it probably won’t be enough.


I’m sure there are some eye rolls going on now or a few puzzled faces but just give me a minute. Over the years some of the largest software development companies have created massive amounts of data on what a Pleasant User Experience[4] should be. I have to say nothing surprises me anymore and this is where I get to “Hackerware”. Hackerware isn’t some tool used to hack into secure online assets. Hackerware is software developed with almost no consideration for what it is going to be like to use the software. Sure the developers who created it figured out how to make it do its things but they haven’t given consideration to what hell they are going to put someone through when they are using the software. Specifically, things that are an immediate fail for me are:

  1. Returning a Stack Trace to the User Interface (UI) – I bet you have all seen one. Hundreds of thousands of lines of gibberish you have no idea what to do with. Frankly, many developers can’t read their own stack traces.
  2. Useless Error Messages – a dialog box pops up and the message in the box is “System Error”. Nothing else, no link to Help or Support. Just that nauseating feeling that something really bad has just happened and no one cares.
  3. Broken or Non-Functional UI Elements – I have to say that this has to be the one thing that sets me off. If it doesn’t work, don’t display it!
  4. Silent Failure – Have you ever spent time setting up software to do its things. Everything is hunky-dory. No filed validations have failed, nothing to indicate you have done something wrong. You click on the OK button and wait. Now in all fairness maybe the system needs to wait for data like maybe the closing price of a stock and that is completely fair. But when you return nothing has happened. No results, no error messages, nada.
  5. No Re-Dos – I’ve seen more and more of this lately. You don’t have the ability to go back in and check your inputs. The process is sealed and that’s that.

Wrapping this up

I hope that none of you have to experience any of these failures or shortcomings when you are evaluating software for your company. If you do I would encourage you to provide brutally honest feedback about why you aren’t going to make a purchase. As the consumers of modern software, we need to demand more. Honestly, if a software package can’t cross these five simple hurdles it is a none starter.



[3] Office of Inspector General, CMS management of the federal marketplace: a case study, Available at: [Accessed November 18, 2016].


Business owners across the globe implement digital marketing solutions to increase sales. digital marketing agency