When I recently decided to start a blog, I had to choose a blogging platform. For two reasons, I chose WordPress. First, I could start my blog in minutes through its free hosting service, paying only if I needed extras such as additional storage space. Second, I was attracted to WordPress’s open-source software. If I ever wanted to have greater control over how my blog looked and functioned, it would be easy to set up a site at a domain name of my choosing and continue using the software. I’m not the only one attracted to this no-risk proposition. More than 3.5 million blogs–with hundreds of thousands of posts daily–are hosted on Wordpress.com, which is run by the Web startup Automattic.
Companies offering services like this have pretty much eliminated the need for a blogger to have technical skills. This has made it possible for many more people to maintain blogs, creating a rich online conversational environment (although, of course, one in which anyone looking for quality content has to sort out large numbers of uninteresting or abandoned blogs). In April, Google introduced a preview version of a tool, App Engine, that could do for the writers of Web applications what Automattic and its ilk have done for bloggers.
Web applications are programs, such as word processors or multiplayer games, that run entirely through a user’s Web browser. As such, they change the landscape of software as fundamentally as blogging has changed publishing. Web applications allow a programmer to reach any user, regardless of operating system. Small companies (as Salesforce.com was at first) can use them to take on the giants. Large companies such as Google and Adobe are betting on them to challenge the dominance of Microsoft’s Office suite. A Web application, of course, includes software that does whatever the application is intended to do. But it also includes software and hardware that deal with the traffic of people using it. It may require expensive servers and software that divides the application’s processing and storage tasks, distributing them efficiently across many machines. Developers have to master what amount to two pretty disparate skills. Though a thorough understanding of infrastructure can help with application design, it’s not how most application developers want to spend their time. Yet it’s important to get the infrastructure right. A sudden increase in Web traffic can kill an unprepared startup, as would-be Google challenger Cuil demonstrated earlier this year, when substantial downtime on launch day soured public opinion. On the other hand, a startup that tries to be too prepared can spend hundreds of thousands of dollars on hardware that winds up going unused.
Google App Engine, which leases infrastructure to companies that need it, enters a field dominated by Amazon.com and its Amazon Web Services. Amazon rents out its excess storage and processing power, and customers–including many startups–pay only for what they use.