The web feels magical. Whether you’re browsing through Facebook pictures of that high school friend whom you never talk to, pinning Corgi pictures on Pinterest, or tweeting about how much you love espresso on Twitter, you are constantly viewing, manipulating, and creating data.
However, for all the magic that we feel when we get a new Twitter follower (somebody loves me!), ultimately the Web is really a series of database applications. Our interactions with websites are restricted by the inherent limitations of databases, as each byte has to be stored in what could be described as a colossal spreadsheet. Whether it’s tweets or Facebook pictures, all this information is stored in a cell contained in a table in what is most likely a mySQL or PostgreSQL database.
The Web of Today
Web architecture is dominated by these database applications with basic CRUD functionality: Create, Read, Update and Delete. Think of yourself creating an email about how much you love this column, storing it as a draft and reading it later, editing and updating it so it’s worded just right, and ultimately deleting it because you can’t figure out if you want to send it to ten people or a hundred.
How about that Rapportive widget to the right of your Gmail? It’s also a database application. The only difference is that it uses an API to access LinkedIn’s database, allowing it to display a contacts’ LinkedIn data. At the end of the day, there is still a database lurking at the other end.
The list of web sites that are, fundamentally, database applications is endless: Foursquare, Twitter, Facebook, Gmail, Youtube, Google, Groupon, Flickr, Reddit, StumbleUpon, Wikipedia, Gilt, Pinterest, Instagram, WordPress, Tumblr, etc. What’s striking is not the depth of database application proliferation, but rather that it is a basic assumption of the Internet.
There are obvious exceptions, with communication tools and peer-to-peer (P2P) being the most noteworthy. Skype is not a true database application, but rather a tool to communicate by sending data back-and-forth that is captured, stored, and delivered on the Skype platform. However, the overwhelming majority of new applications are still database applications.
The Shackles of the Database
Databases are the functional muscle of the web, so it’s not surprising that their limitations have molded the thought paradigms of web developers. In a sense, web innovation has descended to thinking about new ways to view, input, and manipulate a giant spreadsheet. The dominance of the database has limited how we think about new web products, worrying more about apps that store and retrieve information than apps that connect us in real time.
Technology exists that is making it easier to break down this paradigm. Skype and Dropbox (both P2P applications) are not merely database-backed applications, but rather tools to communicate information back and forth between computers. New web languages and frameworks such as node.js are increasing the speed of innovation by building tools specifically for this type of open computer-to-computer communication. By making it easier to develop technology that connects us, we will see an increase in innovation of real time communications and connections.
Obstacles to innovation should be shattered. Thankfully, the technology exists for us to break out of the database application paradigm, for us to think about ways of connecting people rather than merely store information and show it asynchronously later. But it’s harder to shatter obstacles that exist within our minds. Technologists and consumers have to stop constantly trying to imagine new ways to store and show information, but rather new ways to connect people, places, and information in real time—because real innovation comes by moving the offline world to the online.