Consumer Internet Services
In the last issue I wrote about the role that domain expertise plays in product management, and I alluded to deeper differences in types of products. For more traditional types of products, such as Enterprise Software, these differences are fairly well-known. But for consumer internet services, this is new enough that I thought I’d share some of the most important lessons that I’ve learned from doing large-scale internet services at Netscape, AOL and eBay, and working with clients at several other major internet service companies.
I should say up front that I love building very large-scale consumer services. Creating products that are used and appreciated by millions of people around the world is an amazing thing. And unlike most types of products, there’s nothing between you and your customer – no sales force or distribution channels to work through – you can reach your user base easily and instantly, and try ideas out in near real-time. You know right away if people love or hate your new ideas.
But it’s also very hard.
Sometimes the hardest problems of all come when you actually manage to create a great product and people love it and word starts to spread – I call this situation “surviving success.” eBay came very close to collapsing in 1999; far closer than most people realized. More recently, Friendster got off to a great start but has stumbled badly and it’s not clear if they’ll recover or not (I hope they do, I think they have the ingredients for a great service).
Below is a list of ten techniques that are especially important for large-scale consumer internet service companies. It’s a general list, meant to apply to many types of services including e-commerce, social networks, search engines, and games, as just a few examples.
1. Usability – In my opinion, most companies give far too little attention to this in every type of product (especially enterprise software!) but with a consumer internet service there simply is no getting around that it’s really all about the user experience, and if you can’t find a way to make your service something that the target user can figure out how to use and why they should use it, then you’re going nowhere fast. Also remember that performance is a key factor in usability. If a page takes to long to load, people will think it’s broken or just go elsewhere because the experience is bad.
2. User Profiling – When you have millions of users, there is no “user” but rather you have at least several important types of users. It’s critical that you segment your users into the most important profiles and consider each one separately. When you create a feature, you need to examine how each user profile will value and respond to that feature.
3. Scalability – Weird things happen to products once millions of users start using them. Databases break, performance bottlenecks pop up all over, user interfaces become unusable. You can do some amount of load testing during QA, but I’ve found this only finds the easy problems. I guarantee you that you’ll have surprises, and not pleasant ones. Managing the scalability needs takes a collaboration of product management, design, engineering, and operations. It also takes a proactive management team that allocates a significant amount of engineering and operations resources on an ongoing basis (I generally advise 20-30%) to scaling the product and infrastructure. If you get to the point where everything breaks and the engineering team is telling you that the “house of cards has collapsed” you’re in big trouble. The only way I know to avoid that is to “pay your taxes” by working on scale continuously from day one, and don’t let yourself get to the brink.
4. Availability – Very quickly you find that there really is no time of the day or week or month or year that your service doesn’t need to be running. I don’t know of anyone that has achieved 100% availability, but I know outages are painful to everyone. The life of a consumer internet service provider is not for everyone. Things happen at all hours, weekday and weekends, and everyone I know in the business has their stories. You need to design in high-availability to all of your thinking just as you need to do with scalability.
5. Customer Support – One of the biggest (and least fun) surprises that most consumer service companies run into is customer support. Traditional models of customer support can quickly bankrupt even the best services companies. This is oversimplifying a complicated topic, but you have no alternative but to design and build the product to absolutely minimize customer support costs, especially if you charge a fee for your service. Yet always remember that it is not about controlling customer support costs, it is about ensuring a great customer experience.
6. Privacy and Data Protection – Consumer internet service companies can very quickly end up with far more personal information than they ever imagined. You may be collecting this data for purely innocent purposes, such as to provide a personalized user experience. But today customer data like e-mail addresses and credit card numbers is a very sensitive asset, and you don’t want the press and possible penalties and especially customer anger that results if that data gets into the wrong hands. You need to put the protections in place early to absolutely ensure that you are protecting the information that your customers entrusted you with. And as the recent AOL criminal case illustrates, you also need to protect the actual user data from your own employees.
7. Viral Marketing – If your product is good, your users will want to share that experience with their friends, family and co-workers. That’s absolutely what you want, but it’s surprising to me how few companies actually do anything to facilitate this most powerful form of marketing. Consider what you can do in your product to enable users to invite their friends to try it. Also, work the numbers. Most companies are willing to pay a certain amount per new user (customer acquisition cost, usually for marketing and advertising). Maybe you can funnel some of that money to your users instead? But even without financial incentives, find ways to make “sharing the love” easy.
8. Globalization – If you have a good service, you’ll find that it will quickly spread beyond your country’s borders, first to other countries that speak the same language, then to the rest of the major internet-connected countries. It is far less expensive – and overall faster to market – to design a product that can easily be localized than it is to try and take a product for one country/currency/language/culture and rewrite it for another. You don’t have to localize initially for all the countries, but as your business spreads you can much more rapidly and economically meet your new users’ needs.
9. Gentle Deployment – When millions of people are using your service, any change is a big deal, and every change needs to be considered carefully. I’ve written elsewhere on “Gentle Deployment Strategies” but suffice it to say here that changes need to be deployed intelligently. This doesn’t just mean great QA. It also means deploying gradually, and giving your users time to switch when they have the time to learn about the changes, not when you happen to roll it out. In many cases, this means deploying the new version alongside the old so that people can switch over a period of time. Also, do everything you can to eliminate gratuitous changes. It’s hard enough for your community to absorb features that they know they want and need.
10. Community Management – Every company is dependent on its customers, but for consumer internet service companies, this community of users takes on even more powerful importance. They can make you or break you. It has never been easier for them to communicate how much they love your product – or how badly you just treated them. If your users value your product, they will want to be loyal, and they will want to be a part of the great community you are creating, but they also want to be appreciated and recognized, and not just with lip-service. There are many ways to reach out to your community – to learn from them and understand where they want to see your product go. There are also many ways to show your gratitude to the community and to recognize those that make especially valuable contributions. Do this, and make community awareness a top priority for everyone in your company, from the CEO on down.
If you can keep these 10 techniques in mind as you create your consumer internet services, you’ll save yourself a lot of grief. But as I said above, these are great products to work on, and it’s easy to become hooked on these types of businesses.