The future

The freemium business model: giving away pays

I've recently been thinking a lot about the freemium business model. For those unfamiliar with the freemium business model, it was first articulated by venture capitalist Fred Wilson in 2006:

"Give your service away for free, possibly ad supported but maybe not, acquire a lot of customers very efficiently through word of mouth, referral networks, organic search marketing, etc., then offer premium priced value added services or an enhanced version of your service to your customer base."

I've been thinking about the freemium business model because, inspired by Drupal and Open Source, both my companies, Acquia and Mollom, use a freemium business model. (Technically, Acquia uses an Open Source business model which is different from the freemium business model, but there is plenty of overlap and similarities -- pointing out the differences could be a blog post and discussion on its own.)

At Acquia, we currently provide community subscriptions for free -- people that want help with Drupal installation and configuration can get free support from Acquia's Drupal experts. While our free support is limited to certain channels (i.e., forum only), certain support questions (i.e., no module development help and no security best practices) and comes without response time guarantees, we have people on staff whose full-time job is to help you (example customer story). Further, we invest heavily in Drupal and give those contributions away for free.

Similarly, at Mollom, our basic spam filtering service is available for free to sites with limited post volumes. Our free website protection service provides all the features of our commercial Mollom Plus product, but is limited in the number of posts it will protect each day and in its access to our high-availability back-end infrastructure. The great majority of our Mollom clients are using our free filtering service with great success.

There are a number of things that attract me to the freemium business model. The first, and certainly foremost, is the opportunity to do “good” and “well” at the same time. It’s a great thing to help people build quality websites with Drupal, and it’s a great thing to provide Mollom to help deal with spam. Second, I believe a company is better off with a large install base than a small install base, even if the majority of clients ride free. A large install base translates to direct and indirect network effects, including efficient marketing, greater brand awareness, the collective intelligence of your users, and faster product adoption. And, last, I strongly believe that a successful company built on the freemium business model is simply a stronger and more defensible business in the long run.

The freemium business model is relatively new because it didn't become a serious option until the internet gave us a low-cost distribution channel. Ultimately, I can't help but think the freemium business model is the business model of the future for the sole reason that it puts the customer first. With the freemium business model customers only have to pay when they get significant value from the software (i.e. they have reached the limits of the free version). Compare this to the current model where people have to pay to get access to the bits, or where people have to pay before they got enough value from the software (e.g. most shareware software).

That all sounds great but you have to make the freemium business model work first. Getting free users to convert to paying customers is hard. Conversion rates of less than 1% are not uncommon. Free is often “good enough” and only a few people choose to pay for additional features and services. You have to put enough value in the free version to drive adoption (so that you get the scale and the network effects that derive from it), while providing enough incentive for people to pay for premium features or services. The marketing and sales funnel is really wide at the top, and very narrow at the bottom. Plus, you have to make sure that the paying users subsidize all the free users.

Achieving the right balance between free and paid customers is difficult and requires close attention to a number of variables. As a result, I've been trying to answer questions like: how much should we invest to acquire additional free users? How do you estimate the value of a free user? What is the cost of a free user? How long does it take for a free user to convert to a paying customer, and how many will do so? What are the triggers that convince free users to convert?

For example, in Mollom's case, one could argue that we get thousands of dollars worth of value from free users already. We currently have more than 3,000 active users that use Mollom for free. Say each user spends on average 15 minutes a week moderating his site's content and reporting classification errors to Mollom. Mollom learns from this feedback and automatically adjusts its spam filters so that all other Mollom users benefit from it. At a rate of $10 USD/hour, we get $390,000 USD worth of value from free users a year -- 3,000 users x 15 minutes/week x 52 weeks/year x 10 USD/hour = $390,000 USD/year. If these numbers hold up, the value of a free Mollom user could be estimated at $130 USD/year. And that doesn't include the marketing value they add. That said, the value of a free user probably declines as you get more of them and the business becomes stronger.

Both Acquia and Mollom have just opened for business so we have a ton to learn. It will be interesting to look at the different variables and questions a year from now, and to see what we have learned. I hope we can make it work so we can do good and well at the same time ...

Drupal, the semantic web and search

All major search engines, including Google and Yahoo!, are moving aggressively trying to capture structured data. This isn't exactly a surprise because it provides tremendous opportunity. Let's take the example of product search. Imagine the web as a huge database of millions of products, and search engines like Google and Yahoo! giving you a rich set of controls to filter by price, availability, color, shipping cost, user ratings, and more. Wouldn't it be great to be able to search all the world's products from a single page with a single interface? I'd think so too.

It is waiting to happen; we just have to connect the dots. That is, we have to make Drupal emit structured information.

Hundreds of thousands of Drupal sites contain vast amounts of structured data, covering an enormous range of topics, including product information. Unfortunately, that structure is hidden deep in Drupal's database and doesn't surface to the HTML code generated by Drupal. As such, search engines can't pick it up as a product, and they'd fail to include it in their world-wide product database.

I first talked about the semantic web and Drupal in my DrupalCon keynote last year in Boston. In my presentation, I laid down the challenge that we need to put fields in core and make them first class citizens. Once fields are thus empowered, they can be associated with rich, semantic meta-data that Drupal could output in its XHTML as RDFa. For example, say we have an HTML textfield that captures a number, and that we assign it an RDF property of 'price'. Semantic search engines then recognize it as a 'price' field. Add fields for 'shipping cost', 'weight', 'color' (and/or any number of others) and the possibilities become very exciting. I envision a Drupal core CCK with the power to do just that.

Here is another example. Imagine a standard Drupal node-type called 'job'. The fields in the job node-type would have RDF properties associated with them mapping to salary, duration, industry, location, and so on. Creating a new job posting on a Drupal site would generate RDFa that semantic search engines like Yahoo!'s SearchMonkey would pick up and the job would be included in their world-wide job database.

Technologies like this disintermediate so many existing websites and organizations that it makes my head spin. It is too great an opportunity for us to pass up on. By adding semantic technology to Drupal core, I think we can make a notable contribution to the future of the web.

This kind of technology is not limited to global search. On a social networking site built with Drupal, it opens up the possibility to do all sorts of deep social searches - searching by types and levels of relationships while simultaneously filtering by other criteria. I was talking with David Peterson the other day about this, and if Drupal core supported FOAF and SIOC out of the box, you could search within your network of friends or colleagues. This would be a fundamentally new way to take advantage of your network or significantly increase the relevance of certain searches.

I can has semweb in Drupal core?

State of Drupal presentation (August 2008)

Last week at DrupalCon Szeged I gave my traditional state of Drupal presentation. The video of the presentation is provided below, and you can download a copy of my slides (PDF, 11MB) as well.

The presentation discusses the results of the recent survey that I conducted; the survey ran for 30+ days and collected more than 1300 responses so it should provide a good idea of the community's current thinking. I'll provide more color and details about the survey results in a number of follow-up posts.

Drupal in the cloud

It is not always easy to scale Drupal -- not because Drupal sucks, but simply because scaling the LAMP stack (including Drupal) takes no small amount of skill. You need to buy the right hardware, install load balancers, setup MySQL servers in master-slave mode, setup static file servers, setup web servers, get PHP working with an opcode cacher, tie in a distributed memory object caching system like memcached, integrate with a content delivery network, watch security advisories for every component in your system and configure and tune the hell out of everything.

Either you can do all of the above yourself, or you outsource it to a company that knows how to do this for you. Both are non-trivial and I can count the number of truly qualified companies on one hand. Tag1 Consulting is one of the few Drupal companies that excel at this, in case you're wondering.

My experience is that MySQL takes the most skill and effort to scale. While proxy-based solutions like MySQL Proxy look promising, I don't see strong signals about it becoming fundamentally easier for mere mortals to scale MySQL.

It is not unlikely that in the future, scaling a Drupal site is done using a radically different model. Amazon EC2, Google App Engine and even Sun Caroline are examples of the hosting revolution that is ahead of us. What is interesting is how these systems already seem to evolve: Amazon EC2 allows you to launch any number of servers but you are pretty much on your own to take advantage of them. Like, you still have to pick the operating system, install and configure MySQL, Apache, PHP and Drupal. Not to mention the fact that you don't have access to a good persistent storage mechanism. No, Amazon S3 doesn't qualify, and yes, they are working to fix this by adding Elastic IP addresses and Availability Zones. Either way, Amazon doesn't make it easier to scale Drupal. Frankly, all it does is making capacity planning a bit easier ...

Then comes along Amazon SimpleDB, Google App Engine and Sun Caroline. Just like Amazon EC2/S3 they provide instant scalability, only they moved things up the stack a level. They provide a managed application environment on top of a managed hosting environment. Google App Engine provides APIs that allow you to do user management, e-mail communication, persistent storage, etc. You no longer have to worry about server management or all of the scale-out configuration. Sun Caroline seems to be positioned somewhere in the middle -- they provide APIs to provision lower level concepts such as processes, disk, network, etc.

Unfortunately for Drupal, Google App Engine is Python-only, but more importantly, a lot of the concepts and APIs don't map onto Drupal. Also, the more I dabble with tools like Hadoop (MapReduce) and CouchDB, the more excited I get, but the more it feels like everything that we do to scale the LAMP stack is suddenly wrong. I'm trying hard to think beyond the relational database model, but I can't figure out how to map Drupal onto this completely different paradigm.

So while the center of gravity may be shifting, I've decided to keep an eye on Amazon's EC2/S3 and Sun's Caroline as they are "relational database friendly". Tools like Elastra are showing a lot of promise. Elastra claims to be the world's first infinitely scalable solution for running standard relational databases in an on-demand computing cloud. If they deliver what they promise, we can instantly scale Drupal without having to embrace a different computing model and without having to do all of the heavy lifting. Specifically exciting is the fact that Elastra teamed up with EnterpriseDB to make their version of PostgreSQL virtually expand across multiple Amazon EC2 nodes. I've already reached out to Elastra, EnterpriseDB and Sun to keep tabs on what is happening.

Hopefully, companies like Elastra, EnterpriseDB, Amazon and Sun will move fast because I can't wait to see relational databases live in the cloud ...

Spam, OpenID and Mollom

There is an interesting discussion about spam and OpenID going on at Matt Mullenweg's blog. The discussion was triggered by the policy decision of social bookmarking site Magnolia to restrict signups to OpenID users. According to the site, 75% of new accounts were being created at Magnolia by spammers using automated tools (our friends the 'spambots'). They say that by restricting access to OpenID users, the rate of spam-account creation decreased. In the discussion, there is a lot of talk about whether OpenID should be used to fight spam, and whether it could be an effective spam-fighting tool in the long term.

Here are my thoughts. Spammers can create OpenIDs too, and a single sign-on system might be many a spammer's wet dream. It gives them easy access to millions of sites in one fell swoop.

Now, OpenID by itself can't prevent spam. All it does is provide a globally unique identifier for any given user on the planet. This is where a tool like Mollom comes in. At Mollom we're already maintaining an internal reputation for each OpenID account we encounter while assessing submitted content. Combine an identity system (OpenID) with a reputation system (Mollom) and it becomes a lot easier to separate spam users from non-spam users. Simon Willison said it best: "a trust system requires identity first". A globally unique identifier combined with reputation tools give us a powerful weapon to fight website spam. OpenID's attribute exchange might become Mollom's best friend ...

Similarly, Tim Berners-Lee is experimenting with combining FOAF ("friend of a friend") and OpenID to fight spam: you can only comment on Tim's blog if you are no more than a certain number of degrees of friendship away from him. Of course, it is a widely accepted theory that we are only six degrees away from everyone in the world so I do wonder how effective this would really be in the long run.

It is still early days in these debates and experiments, but for now, Mollom can already protect your login and submission forms with an image or audio CAPTCHA.

Either way, it is an interesting discussion that makes you wonder. Where will OpenID be in 3 years? Where do you think the website spam problem will be in 3 years? How will this affect online communities?

I have my own thoughts and predictions and it was one of the principal reasons for co-founding Mollom ...

State of Drupal presentation (March 2008)

Last week at DrupalCon Boston I gave my traditional state of Drupal presentation in front of 850 Drupalistas. The video of the presentation is provided below, and you can download a copy of my slides (PDF, 15 MB) as well. The video is available in alternative encoding formats from archive.org.

Source: archive.org.

Topics I talked about: the Drupal 6 release, the state of our union, the need for a drupal.org redesign, the Drupal 7 killer release, the Drupal 7 development cycle, usability, test-driven development, the future of Drupal and the semantic web, etc. There is a lot of material in this presentation and during the course of the next few weeks, I plan to decompose this presentation in a number of extended blog posts. Stay tuned!

From infinite extensibility to infinite interoperability

Jeff Whatcott, Acquia's VP of marketing, wrote an interesting blog post about the term content management system, Microsoft SharePoint 2007, and Drupal's opportunity to be the poster child for the social software market space.

The funny thing is that I replied to Jeff's post back in 2006. In 2006, I agreed with Jeff -- and I still agree with Jeff today -- that (i) the term 'content management system' under sells what Drupal is capable of, (ii) that content management systems are consolidating to community and collaboration platforms, and (iii) that SharePoint is mind-boggling in more than one way.

From a content management system's point of view, we can summarize the current state of affairs as:

Web 1.0 = content management
Web 2.0 = Web 1.0 + user management + infinite extensibility

Jeff said it best when he wrote: the genius of what the [Drupal] community has done is to reduce all of the aspects of social software to their core DNA: content nodes and membership, and then build a platform that could be infinitely extended to allow the assembly of almost any styles of online social interaction.

But while Jeff rightfully sees a business opportunity for the Drupal community in the social publishing market, I tend to worry more about the fact that Drupal's key differentiator (i.e. bundling a wide variety of functionality into a single platform) becomes a commodity.

I want the Drupal community to stay ahead of the competition. I want to start implementing today what proprietary CMS vendors will implement in 2013. From a content management system's point of view, I believe, that means (and I really hate to use the term 'Web 3.0'):

Web 3.0 = Web 2.0 + infinite interoperability

which roughly translates to:

Web 3.0 = Web 2.0 + data portability + web service APIs

While the short-term business opportunity might be to go after the social publishing market, I strongly believe that the long-term business opportunity lies in the infinite interoperability and that spans well beyond the social software market.

Thanks to Open Source software and companies like Google, the cost of building Web 2.0 applications will approach zero. Contrary to what one might think, this actually creates a lot of business opportunities. Opportunities that are best monetized through web services. But for that to happen, ubiquitous and seamless interoperability is key.

© 1999-2007 Dries Buytaert Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.
Drupal is a Registered Trademark of Dries Buytaert.