In 2009, the computers got smaller, the databases got bigger, and HTML’s dominance grew. None of these trends are new, and some of these changes are as old as computers themselves, but the magnitudes are greater or smaller than ever before. Here are the winners and losers we spotted on the software development landscape in 2009. For the programmers, alas, many of the year’s ups had downsides.
Winner: Smartphones
Smartphones took over the center of gravity for many consumer applications. The Apple iPhone appears to be the most successful product launch in computing history, and its vibrant app marketplace continues to be the biggest attention sponge for all of us. While many apps are pretty dumb and developers can’t think of enough bad words for Apple’s Vader-esque grip on the marketplace, it’s clear that the pocket-sized computers will be the hottest focus for developers. Google’s Android, Palm’s webOS, and Nokia’s Symbian hope to compete by being a bit more open, but no one knows if this will overcome Apple’s commanding lead. The real secret may lie in WebKit-focused Web applications because the same open source browser implementation is running on many of the best smartphones.
Loser: Desktops
Desktops aren’t gone, but they are certainly forgotten. If it weren’t for their luxurious screen real estate and plus-sized keyboards that allow you to type more than one or two words per hour, no one would use them at all. Game makers are fleeing to the consoles, office applications are turning to the Web, and Google is deciding whether we will spend more of our time with a Google Android smartphone or a Google Chrome OS smartbook. Even bloggers are turning to the thumb-friendly 140-character limit at Twitter. Did we ever use PCs for anything else?
Winner: Web applications
Somewhere there’s a grandfather explaining to a young twerp that in his day, they would “install” software on a computer. Web-based applications are more dominant than ever, and it’s not just for programs that coordinate everyone with a centralized database. Kids are writing their homework in browser-based word processors and turning it in without saving it on that hard disk thing that once destroyed Grandpa’s project two hours before the big presentation for the Jenkins account. The new embedded databases in the browser that serve for local storage make it even less likely that anyone will use the local OS directly. That may be why Google has the chutzpah to call its nifty new Chrome browser a full-fledged “operating system,” even though the only thing that appears after you boot up is the browser itself.
Loser: Desktop metaphor
Remember the icons that looked just like file folders or pieces of paper? Weren’t they the bee’s knees? It turns out that they were just here to help the humans in the next step on our journey to being full cyborgs. Now everyone is happy with some inscrutable five or six random alphanumeric characters stuck after some random domain name registered in Libya (bit.ly) or Montserrat (nyti.ms). Welcome to the future, THX 1138.
Winner: Open source software
No one thought an open source company would ever be worth $1 billion, but now that Sun owns MySQL, it is about to sell itself to Oracle for $7 billion and change. Sure, the server hardware business is nice and Java is a wonderful brand, but everyone assumes that the meat of the deal lies in control of the MySQL copyrights. That’s why the Europeans are so concerned. MySQL’s success with marketing itself by giving away copies is one of the big reasons that open source is now the dominant business model for many companies. Even the most proprietary companies have found ways to emulate most of the openness by creating licenses like “shared source” and “developer’s editions.”
Loser: Open source software
Yes, open source software changed the paradigm for software development, encouraging more sharing and access to the source code. Yes, there are more open source companies than ever. But despite this success, the open source companies are more ruthless and revenue hungry than ever, which should come as no surprise to anyone with enough brains to realize that giving everything away forever is not a great business model.
There seems to be no end of companies that will (1) release the source code to some creaky “community edition” as a sales tool for (2) charging real fees for a more usable version. More and more open source software companies are looking and sounding like the car salesmen who advertise new vehicles at impossible prices just to lure customers who discover that the real cars with real engines cost much more. There may be no better indication that the open source world is falling under the same pull of fiscal gravity that curtails most mortals than the letter to the European Commission that Richard Stallman signed proclaiming that MySQL can’t flourish as a GPL-only product without the support of a commercial version.
Winner: Scripting languages
When Google launched the Google App Engine, it pushed out the Python version first. PHP Web applications like WordPress and Drupal couldn’t be more common. Ruby on Rails continues to be more mature. If it weren’t for the fact that Java’s solid core supports most of JRuby and Jython, many programmers wouldn’t ever use a compiler. And the Java programmers themselves are enamored with Groovy, the slick mechanism that gives Java programmers all of the depth and strength of the fully typed and optimized API with all of the shorthand fun of a scripting language.
Loser: SQL
Every once and a bit, the mob’s opinion turns in a flash. Just as Maximilien Robespierre found himself led to the guillotine a few years after he ousted the monarchy, SQL finds itself on the ropes. Just a few years ago, programmers quit thinking about data structures, knowing that they could just store everything in some database table. “Let the database do the work” became the mantra. Now there are dozens of cutting-edge experiments in databases that proudly wear the acronym “NoSQL.” MongoDB, Cassandra, and CouchDB are just a few, and they all proclaim that the new currency of the Web — Facebook updates and other social network chatter — doesn’t need all of the ACID protections given to the old currency, cold-hard dollars, tallied in the databases of banks. Consistency and crash-survivability don’t scale easily, so let’s just forget about them.
Winner: Cloud hype
Is there a developer who doesn’t want to let someone else worry about backups and scalability? New features and competitors keep coming. Google now lets you program in Java, Amazon helps you stream video, and those are just a few of the dozens of little advances. The arena is very price sensitive, thanks in part to Amazon’s decision to constantly search for the most accurate prices for the services.
Loser: Cloud reality
Bit by bit, byte by byte, everyone is starting to realize that cloud computing today isn’t much different from renting servers from co-location shacks, even as we come to grips with how it needs to be different. In December, Amazon’s EC2 was hit by a botnet, just like the botnets bedeviling every other earthbound network. Guarantees? Read the terms of service and grit your teeth. They might give you your data back — then again, they might not.
Winner: HTML and AJAX
There’s no need to learn about pointers, data structures, and other ancient ideas because AJAX programming coupled with HTML layouts are some of the most fertile playgrounds for creative minds. The plug-in environment for jQuery is filled with hundreds of neat widgets tossed off in a few days. The jQuery collection and the other fertile AJAX environments like Dojo, YUI, and GWT show that all you need is a database running Web services, a few AJAX calls, and some lines to manipulate the DOM tree.
Loser: Programmers
When Grandpa “installed software,” he was the boss of those slivers of silicon the software ran on. He had root. He bought the machine and owned it, both literally and figuratively. This year, everyone bowed before closed platforms. The iPhone won’t run software without a digital signature from Apple’s supreme command center. Facebook is happy to let you write some clever code that will run in its margins. Amazon’s cloud comes with a long agreement that allows the company to terminate you for “no reason.” Welcome to the new plantation.