Why great software shouldn’t be too “magical”

“Any sufficiently advanced technology is indistinguishable from magic”

  --Arthur C. Clark's Third Law

There’s much talk about software that is “magical” and “just works”. But in a world of privacy violations, security breaches, and blatant misuse of user data, software that is too magical can sometimes leave users with a sense of suspicion about how the magic happened. If software claims that it “just works” and tells its users that they need not sweat the details of how it works, they’ll start asking the question: “What cost did I pay for this seamlessness?”

Consider Google Now, a feature on Android smartphones. If I have a flight back to San Francisco today, it displays a notification of my flight status without me having to even ask for it. 

That’s pretty magical. 

But had I not explicitly given Google Now permission to scrape my email inbox for the sole purpose of letting me know my flight statuses, it would also be very scary to me as a user. Suddenly, this would be black magic to me.

If this is true for consumer mobile apps, then it is especially true for software that is providing some sort of business-critical service. Yes, it’s important for software to be seamless, but it’s just as important in today's world to tell the user exactly what’s going on behind the scenes. 

In my opinion, the ideal “magical” software experience goes something like this:

1) Tell the user what you will do and how you will do it.

2) Do it.

3) Tell the user what you did and confirm how you did it.

Does it take away from the magical user experience? Maybe a little. But it also reassures users that you’re taking their information seriously and being good stewards of their data.

This is especially true if they are using your software for the first time and beginning to build trust. Remember that trust is earned over time, through repeatedly delivering on promises, and not given by default.

At ZenPayroll, we do lots of “auto-magical” things on behalf of the companies we run payroll for, including paying their payroll taxes to the IRS and filing quarterly and yearly forms such as the form 941form DE-9 and new hire reports like form DE-34.

We could simply tell the business owner: "Don't worry, we'll take care of everything for you" and leave it at that. With their business and employees' livelihood depending on what we do, the stakes are too high to rely on magic. They start thinking: "What does everything mean exactly?" or "How do I know you haven't forgotten anything?", especially if they've just switched to ZenPayroll and are used to doing everything themselves.

Our strategy is to keep them appraised every step of the way. We'll say things like: "We'll be filing the 941 and DE-9 for you this quarter. Take a look at the form we will file and let us know if you see anything wrong with it. If it looks good, you don't have to do a thing. We'll automatically take care of it all for you by sending it to the IRS." After we actually file the form for our users, we'll let them know through an email and remind them again of what we've done. 

Repetitive? Yes. Reassuring? Hell yes.

Technology enables us software developers to do magical things for our users. Just make sure that you, the magician, reveal your sleight of hand to your users.