On Design: Don’t be Paranoid
Let me tell you a little story about a restaurant I love.
The restaurant is Churrasco Villa (beware the audio). I like them because they are fast, the quality is always good, their meals are nutritious, their facility is clean, their staff courteous and I can collect a take out dinner when I need to (usually 3-4 times per month). It’s the kind of neighborhood restaurant that always has people in the take out line and most of their seating capacity is full.
A few weeks ago I was deliriously hungry. You don’t have to spend much time around me to learn I eat every 3-4 hours and the wheels start to fall off if I have to wait much longer than that. So I called up the take out line and ordered.
When I went and picked up my food, I asked if I could sit at an unused table near the door and quickly eat my meal. The take out person said no. I then offered to tip the wait staff even though they would not be serving me – just for the quick use of that area and because I thought that might be the issue. The answer? No. And guess what? Now I’m mad.
As I quietly turned way from the counter I asked myself, “how did I turn so quickly from loving this place to being SO mad at it?” I was so mad I wanted to tell everyone what a dump it was. The trouble was I knew that was untrue…my rational mind still knew I loved the place.
So what happened? Clearly the staff at the take out window have been given some kind of policy that runs something like this: you can’t eat in if you order take out. Fair enough! The trouble is, how often do people really ask to do that? Once a month? Once a quarter? I’m willing to bet I looked awfully hungry when I collected my food, and as a regular customer, could they not cut me a break? Sure they could, the trouble is businesses fear the worst when they open the door to something like this because they fear it will be abused – the reality is they shouldn’t be afraid. Few people abuse your business and your policies and this fact is true of web applications too.
Inevitably when you are designing a web app or a website you will think of a scenario where a user can – in small way – abuse your site or game your system. It might be a really small thing like not entering a valid email address then they sign up. To prevent this you may force them to validate their email address before they can access their account. In theory you convince yourself that you are acting in your own best interest. The truth is you are not.
Trust your users and don’t worry about the small percentage of abusers – they won’t act ethically no matter what you do, so don’t invest your time trying to change them. The fact is very few people will abuse your sign up form, and invariably it takes more time to develop a form so that people can’t “trick” you. Also, designing and developing with a paranoid state of mind almost always adds a barrier to entry (i.e. “I have to check my email to get started? What a pain…forget it.”) that will get in the way of ethical users who want to use your service. These barriers will slow adoption and cost you in the long run.










9:44 am
[...] From the FreshBooks blog: [...]
10:20 am
Most services out there tend to use the email verification system. Are our lives really that busy that we can’t click a link in an email to validate our account?
Maybe we want the instant gratification of gaining access account as soon as we fill out simple or tedious registration forms? If so, let’s compromise….
Give a user access to the site for 24 hours without validatiing. That way, they can get the instant gratification of access to your site, and you can ensure that no one is registering without a valid email. Whenever the user next checks their email, which they probably will do in the next 24 hours, they can simply click the link and their account is validated.
11:30 am
I see where you are coming from AJ, and I chose not to include the fact that this approach is most applicable to a new web app and that once you reach a certain scale, it may not apply.
That said, I’m not crazy about your solution…what’s the benefit of what you are proposing? Knowing me I won’t remember or bother to validate that email unless I am forced to get things done…and I don’t want to be forced if I don’t have to be.
1:58 pm
I wasn’t there so I can speak to your experience at the restaurant. There are a few things that could have factored in (like the experience of the clerk, how full the restaurant was, number of reservations, etc, etc). I believe a manager or owner would have probably given you the table if it was free.
Most restrictions like this seem silly until you realize the logic behind them (like ensuring people eating-in have to wait as little as possible).
I tend to agree with your point, though. Regular users/customers should be given breaks. People should be made to jump through as few hoops as possible. This is a trade-off that has to be balanced.
2:05 pm
One thing I left out of this post (it really warrants a post on its own) is how this applies to the way we do things here at FreshBooks. We basically empower everyone who works here with the ability to do what they see fit with respect to customer care. If something seems like it should be done, or you want to do it, then do it, with the rest of the team’s blessing.
I think this is important – not just for our customers – but for our staff. Everyone at FreshBooks needs to feel like they can make a difference in someone’s experience in using our service – our staff can and do make a difference everyday.
Which reminds we, we are hiring if you know and designers or developers who are looking…I’ll post about the jobs on this blog soon.
11:02 pm
Thanks for this post. I’ve been designing a web app, and every time I get feedback from co workers they point out the flaws. It’s really discouraging. I think what happens a lot of time is they get to where they point out the weaknesses that people could exploit, but that don’t matter at all. Good stuff.