At Zapier we're always looking to add little touches that make working with web based software a little less painful: call it a rounding of the edges. All those minor little setbacks and annoyances introduce artificial barriers that turn off users. If you let them accumulate, you end up with a frustrating product even if your users can't articulate why.
We've done our best to remove them, while the list goes on and on forever, here are five of our favorites:
This one is an easy win. Utilizing some off the shelf tools in most web frameworks (Django in our case), we're able to rewrite every zapier.com URL in emails that when clicked will auto-login users. Be very careful about this, as it could be an attack vector if you do it wrong. We limit it to recently generated links, familiar IP addresses and use a prebuilt signing library like itsdangerous to sign login links. Best not to roll your own.
We do email confirmation asynchronous because some people use bogus emails to trial software and we're okay with that. You can bet that I'm guilty of this as well. If you like the product, you'll update your email and confirm it sometime later, but that's no reason to keep you from using our product.
If you want to use "abcd" as your password, fine. Obviously, we'd like you to use secure passwords everywhere but we're not the password police. On the flip side, you can use a 256 character random unicode string, that works too (its all hashed in the end, so what is the point of character restrictions?).
At the very top of every Zapier email is a link: "Stop sending these emails." We know that it is CANSPAM law that you provide a link somewhere, but we've gone out of our way to put it up top, make it obvious, and do it with one click (no confirmation needed). Plus, you'd be surprised at how many companies just break this law.
In Zapier, if you click the "help" button, you'll get a help sidebar which looks like any other help sidebar, but the content it pulls up is algorithmically selected to reflect where in the UI you asked for help. For example, if you click "help" on the plans/pricing page, you'll get information on how pricing and billing works. It's a little touch that helps alot.
We've taken a stand against letting annoyances accumulate in our software, will you? It's easy to overlook one or two, but when the user experiences many in a single session, it can easily frustrate them just enough to "try again later". Most of them never try again.
Do you have your own tips and tricks for cicumventing SaaS pet peeves? Leave them in the comments.