When you're offering infrastructure in the cloud - Cloud SaaS, PaaS, IaaS, or whatever you want to call it - one of the most helpful things you can do is offer amazing customer service.
The basic reason for this is simple. Cloud computing is all about outsourcing critical infrastructure. Because it's oursourced, you're at the mercy of your cloud provider. Because it's critical infrastructure, it has to work, 100% of the time. If your email/servers/phones/storage/video/maps/payments go down, you're in trouble.
In other words: cloud services are a black box, but a very important black box. If something goes wrong, what can you do?
What you can do is contact support. Or check a Status page. Or - if you're lucky - get contacted pre-emtively by support. But that's about it. You're utterly dependent on customer support.
Why awesome support matters
There are at least four benefits to providing amazing support.
1. Sales. Zencoder has converted many - dozens? - of customers based on our customer support. A large customer recently signed up and had a little trouble with an edge case around Apple HTTP Live Streaming and stream validation. We spent two days working with them, and now we have a customer for life.
2. Marketing. Awesome support is rare, and developers are used to bad support. So when people come across good support, they don't forget. And they talk about it - on Twitter, blogs, Hacker News, etc. Awesome support turns users into evangelists.
3. Product. Most of the time, when a customer needs support, something needs fixing. If it's a bug, you should fix it. If something is confusing, you should improve usability or documentation. Engaging and listening to customers lets you build a more reliable, easier-to-use product.
4. Strategy. When you offer good customer support, you'll learn what customers care about. Support yields some of the most valuable information you can find.
How Zencoder handles support
We've spent a lot of time focusing on customer support at Zencoder. The result has been great - we hear things like "This is the best support I have ever received."
Our strategy is fairly simple.
Support is offered by real engineers. We don't have L1 support that doesn't really know what they're talking about, and cranky L2 support that doesn't want to be pulled in. One of our developers has actually converted to a Support Engineer role, and he does a killer job of helping customers, tracking down problems, and fixing bugs.
We're available for chat during business hours at http://zencoder.com/chat. This lets customers find us quickly, and allows for high-bandwidth communication. We even have a handy Zencoder Help Bot in our chat room who says "Hi" when we're not around, and points you towards helpful resources.
We answer support emails quickly and use a ticket tracking system. We use Assistly and have been happy with them, but it doesn't really matter what you use. The key is to have a system that prevents tickets from slipping through the cracks. Customers tend to pack up and leave if they don't hear back for five days.
Finally, whenever we can, we pre-emptively reach out when something goes wrong. When we have a problem - you try to encode a video, but it fails for some unknown reason - we get an alert, investigate, see if we can find a fix, and email the customer. Often, we'll tell a customer that we've fixed a problem before the customer has even seen the problem in the first place. We don't do this all of the time, but when we do, it pays off.
Of course, you have to be smart about customer support. Don't just respond to customers; actually improve things. If 100% of your customers get stuck integrating with your API, it's probably a bad idea to spend most of your time walking customers through this process. Better to improve your API design, documentation, and tooling, until only 1% of your customers get stuck.
If you take that approach, customer support is a win-win. It's not a waste of time - every hour spent supporting a customer is like an hour spent on sales, marketing, product, and research, all in one. What's not to like?