Archive for the ‘Commentary’ Category
Why building a free service can be a disservice
Like many others, I don’t think that RSS is dead. It’s my favorite way to keep up with highly valuable content on the Web. So I’m in the market for a replacement for Google Reader, along with millions of others. As I’ve evaluated options, I’ve had to eliminate some of them because I’m not sure they’re serious about what they’re doing. This post is about my thought process and why I think entrepreneurs should challenge themselves to get serious, and signal that intent, by not building free services.
As I’ve looked around, a number of replacement or alternative services exist. Some of them offer a subscription, but also a free (or freemium) model. Some are free-only. As I assess each of these, I am measuring them against some important questions.
First, although the main thing I care about is the product and how it serves my use-case needs, one of my meta-needs is longevity. I don’t want to change things. I want to find things that work, and stick with them. I just don’t have the bandwidth to go through this process all the time. I’ll stick with something old-but-serviceable for a long time after my friends tell me that the new kid on the block is so much better.
So I really want to know that the people behind the product are damn serious about building it into a lasting service, which means a lasting business. I want to know that they’re not in it for a quick flip-to-big-company-that’ll-kill-it, it’s not an acqui-hire-me strategy, it’s not a lifestyle project or a hobby, it’s not something they’ll tire of and go take a job with another company.
Remember Delicious and Magnolia? A bunch of my friends switched from the former to the latter, and then there was a spectacular data loss incident, and they all lost all of their bookmarks. And the guy who ran Magnolia seemed to signal that he wasn’t willing to press on when the going got tough. When it became clear that it’d cost some money and time to recover the corrupt data he hadn’t backed up, even though his users were loyal and willing to help, he shut the service down. Something similar almost happened with Couchsurfing. In both cases, the users/customers felt (and were) set up to be betrayed because the service was never a mutual obligation; it was an offer of something free with no expectations in either direction. Ah, but expectations always exist, and to avoid acknowledging that is tantamount to dishonesty by omission.
When I look for a service or product that I’m going to rely on to do something for me — such as aggregating my chosen Web content — I’m doing it because the value to me is real. It’s a huge time-saver. Time is worth money. I want to see signs that they understand this and insist that I give them money in return for the benefit.
If a service is free, one must speculate. There are a variety of reasons something is free, but usually, when a product is free, YOU are the product. This is the case with Facebook and Google. I’m OK with this when I understand it and I believe that the company knows how to take the product-of-me and build a business on it.
In most cases, however, I want to pay. Not too much, but more than a little.
Paying an appropriate amount of money gives me a lot of assurances. First, it means the company has their act together on a much larger scale than just running the IT and technical stuff. It’s relatively easy to build a product — much harder to build a company. The logistics of assembling the business around the product are pretty large. Second, it means I have a right to expect good service and to complain. Businesses that are trying to drive the cost down send the signal that they’re just paying attention to competitors, not customers. I had a lot of experience with Virtual PBX products a few years ago — they were all charging pennies, and there was no one I could pay a decent chunk of money to. That meant that I was entitled to dropped and misrouted calls and horrible voice quality and poor customer service. It’s frustrating when there isn’t a solid alternative and you can tell that the market is just being gutted by a price race to the bottom. The elephants fighting means the ant gets trampled.
I recently tried to use a service that integrates with Github and provides a really valuable add-on. It’s built up as a free open-source project that is now trying to commercialize. There are several products and companies in this space; I assume Github will eventually acquire one, and the others will become irrelevant. This is unfortunate, because you have to assume the teams behind the products understand this and are angling to be first in line for the acquisition. That sends a strong signal about their real motivations — “not the customer.” I tried Product A, and was able to convince them to take me as a paying alpha user (they mostly offer the product for free.) But they were charging way too much — many times what I pay for Github. It doesn’t make sense to pay several multiples of Github, to add a feature to Github. I negotiated a long-term deal that was in my interests: not too much, not too little, 12-month deal — should have been a no-brainer for them, because as a young company, if you have ambitions, this is what you’re dying to show investors. But after they agreed to the terms, they couldn’t get their invoicing process together. After a while I found another company doing something similar, who were totally on the ball. This other company offered a free trial period to assess the product, but after that you pay or you leave. They’ve done a great job for me and I haven’t had a second thought.
So, back to the point — as an entrepreneur, I think you should get serious, and signal your intention by charging an appropriate amount of money. Don’t copy giant companies who offer things for free. That free (or freemium) strategy only works in very special cases. You should understand what those cases are — if you don’t, get someone business savvy to help with your strategy. The vast, vast majority of businesses are emphatically not right for free/freemium.
Charging also obligates you to what you’re offering. It gives you no easy out, mentally. I think a lot of people may be subconsciously more comfortable with leaving themselves that out: if this gets tough, I don’t have to feel guilty, because it’s not like I owed the users anything. (If you’re thinking about “users” instead of “customers” you’re probably doing it wrong.) Man up and charge your customers, and accept the obligation that comes in return. Now when shit hits the fan, you damn well better stay up all night fixing it. You can’t just go “I’m tired, and it’s Friday night. Screw it. I’ll get back to work on this Monday.” (If you’re scared of being obligated to work all weekend on a few hours of sleep, you’re also probably doing it wrong.)
Building something for free can be a way to avoid risk, avoid complexity, avoid boring/mundane/hard things that don’t feel rewarding. But those things are exactly what make you grow, and you do yourself and your customers (users) a huge disservice if you don’t challenge yourself to grow. Growth comes from risk, and creates risk. That’s what life is about. See, this is the difference between a nerd/coder and an entrepreneur. An entrepreneur puts his/her career on the line and takes the risk.
I want a Google Reader replacement from an entrepreneur.
I want to end by clarifying a few points. 1) This isn’t about Google Reader; it just provided the inspiration. 2) Google Reader is free in a manner of speaking, so it might seem odd that I’m insisting that its replacement be non-free. Google Reader is in a special category because it’s owned by a company that I believe is unlikely to close its doors soon. None of the replacements I’ve seen so far are in that position. 3) I’m not saying that none of the replacements I’m looking at is built by an entrepreneur who’s serious about making a business from it — but some of them are not clearly identifiable as anything more than hobby projects.
What’s the lesson from daily deals sites?
I found myself in a, ahem, lively discussion with someone recently. It started when I said “there was always something wrong about the daily deals businesses (i.e. Groupon), but I’m sure they’ll teach us what’s really needed.” Turns out this person ran a local daily-deals site. Oops.
My feeling is that anytime something doesn’t take root and grow into a lasting business, there’s a lesson to learn. Early social-networking sites weren’t quite a match with needs. More recent ones have gotten something right that the early ones missed. More than one thing needs to be gotten right. In particular, to achieve good user adoption, the value you deliver for the user, what you ask in return, and what the user perceives of both the value and the returned favor are all very delicate balances.
I always felt that these were out of balance in daily-deals businesses because they framed things wrong for the customer. If I get a daily-deals coupon to go try something out, I might be motivated to try it, but my core belief is that if I wasn’t already a customer, I’m not going to become one after my cheapo trial. I think one of the main reasons for that is that the daily-deal coupon sends the signal that the product isn’t worth the usual price. I firmly believe that most people live by “you get what you pay for,” and that this is a two-way street. If you don’t pay a lot, then you don’t think it’s worth a lot.
When I joined Percona, their consulting rate was $200 per hour. Complaints about this high rate were widespread, both externally and internally (consultants thought it was too high also). But something funny was going on: customers wouldn’t keep their appointments with consultants, and they didn’t seem to care. I made it a policy that missed appointments would be billed anyway, and that didn’t change anything. So I experimented with the rates. After trying out various rates for about a month, $300 per hour seemed to be a sweet spot. Serious customers were still willing to pay, we weeded out many bad customers who only caused trouble, and most importantly, a lot fewer appointments were missed.
I experienced something similar in my individual consultancy. I worked on a pro bono basis for a local immigrant health clinic. I had a bad feeling that I was taken for granted, and one day when I was at the clinic early to finish up the project, I stood in the early morning cold for half an hour before I realized that nobody was coming to meet me and let me into the building. After that I stopped doing anything pro bono, and I always had a good feeling that my services were appreciated.
So while arguing about the daily deals sites, I recalled the feeling I always had: that there was something wrong with the business model — that it was undermining what it was supposed to promote. And that vague notion came back to me: the decline of daily deals should teach us what ought to be done instead.
Later, it came to me: A daily-deals offer is like a one-night stand, with no expectation of a long-term relationship. Without this agreement at the foundation of the relationship, the match between the ask and the offer is lopsided, and the “customer” becomes an exploiter, instead of a customer.
And with that, I realized that I had it wrong. Far from being the leading indicator, the daily deals sites were actually behind the times. There have been businesses for many years doing what they should have done. I’ve supported some of them myself. I’m referring to BMG’s music subscription, Omaha Steaks, book-of-the-month clubs, gourmet coffee or wine subscriptions, and so on.
You begin these relationships with several subtly intertwined things, including a good introductory offer, an upfront agreement on the real value of what you’re getting in the trial, and an agreement to be a long-term customer. Oh, sure, you can change your mind and cancel after the introductory offer is up. But agreeing and then canceling is different from never agreeing. There’s probably a lot of psychological research related to what I’m claiming, and I’m sure that some of it contradicts me, but I believe that “buy 10 CDs at $1 each, then we’ll send one per month at full price thereafter, and if you buy X more within a year you get another batch at $1 each” is very different from “you can rip this merchant off by walking out of his store with $1 CDs and no actual or implied obligation.” With BMG’s music subscription service, you opt in and then you have to opt out again (either once-and-for-all, or once every month). And maybe your conscious brain says “I’m going to just cancel after I get my cheap CDs,” but I’m an astute enough observer of myself to know that my subconscious feels differently about the matter. In the back of my mind, I feel like I’m cheating BMG if I cancel before I buy enough CDs at full price to be a profitable customer for them. The conscience gets involved. It never gets involved with a daily deal — there’s no opt-in to opt-out of.
Perhaps what the daily deals sites need to do is bring a platform for this kind of long-term relationship, and managing the logistics, to lots of companies so they don’t have to reinvent it on their own. Perhaps there is a “next time we’ll get this right” for daily deals after all.
On that note, it’s a good thing Gearhart’s Chocolates doesn’t have a BMG-like deal, because you’d have me at “chocolate.” (If you don’t know who they are, it’s a local Charlottesville chocolatier that is easily one of the best in the entire world, and priced to match. I send their variety pack as thank-yous fairly often. Just another perk of living in Charlottesville.)
Model-view-controller considered harmful
In 2001 I created a PHP 4 web application framework from scratch as the backbone of a sophisticated application. Back then frameworks weren’t cool. Smarty templates were the hotness.
My framework had URL routing, templates with a capable templating syntax similar to mustache, loosely coupled and tightly cohesive object-oriented design, an elegant way to access the database without dumbing it down, and nicely separated business logic and presentation layers — among many other nice things you find in good frameworks. As the application grew more and more complex, the framework continued to serve well with only occasional enhancements.
I mention this because it illustrates that I’ve been aware of how to design maintainable systems for a long time. But the so-called MVC paradigm (model, view, controller) has never made sense to me.
The design goals make sense. See above. It’s just that I find MVC itself — the abstraction and implementation of those goals — to be unhelpful at best, on a day I’m being charitable. On a day I’m telling it like it is, I’ll just bluntly say MVC is the most confusing pile of acronym bulls**t I can think of.
Tell me, without knowing what MVC is, what would you guess the model represents? Controller? View? It would be bad enough if these were abstract terms like “node” or “resource,” but they’re not abstract. They hint at meaning, and then you discover that MVC doesn’t align with the hinted-at meaning. Instead, the M, V, and C represent concepts that are vague and hard to understand, and are kind of a stretch to mentally fit with the terms. This is worse than abstract, it’s misleading. It’s like bait-and-switch for someone who’s trying to grasp what it means.
I don’t know where MVC came from and I’m sure I won’t change my mind if I find out. I have a hard time believing that I’m the only one who wishes someone had formed a committee[1] to discuss what kind of names to represent the concepts. Especially since there are so many frameworks that abstract things slightly differently, because MVC apparently doesn’t suit their designers either, and thus it’s necessary to explain the relationship between Framework X’s view of the world, and how that loosely maps to the MVC view of the world. It becomes a sloppy comparison to a sloppy analogy.
Even more fun: some folks try to invent an MVC framework, like the original ASP.NET, and “get it wrong,” to disdainful criticism. Then they have to reinvent it, sometimes several times.
It’s kind of like the OSI 7-layer model, which everyone agrees doesn’t actually represent modern networking technology stacks cleanly, and yet everyone talks about the OSI layers. There’s a clean way to think about networking layers, but the OSI model ain’t it. Or NoSQL — the most unhelpful, undescriptive name for an … amorphous category of technologies or worldviews or design patterns or whatever… ever.
The lesson: great concepts that teach great truths, and could result in great advances in engineering due to a common mental model around which other things can be built, can be sidetracked by slapping an ill-fitting monicker or set of analogies on them. And sometimes we never seem to get another chance. NoSQL believers can’t seem to think of anything better than NoSQL as a name (and neither can I, as much as I deplore the NoSQL name). We’re stuck.
I’m sure my strong opinions on this are a) somewhat ignorant and b) not shared by everyone. Discuss! :-)
[1] Yes, I’m aware that awful things come from committees, like SQL. But I have faith that it would have been better than MVC.


