Saving old software from extinction in the age of cloud computing (original) (raw)
Will cloud-dependent software leave anything behind for future historians?
This never happened. Hopefully we will leave enough evidence behind so future historians know that. Credit: http://www.boomerang.nl
This never happened. Hopefully we will leave enough evidence behind so future historians know that. Credit: http://www.boomerang.nl
We live in the golden age of cloud computing. Storing user data and preferences on the Internet makes our multi-device lives easier than ever before. Data input on one device is often seamlessly available on every other device, making it a snap to jump from desktop to laptop to smartphone. Some software has come to depend so completely on these cloud servers, though, that we are starting to create a software ecosystem that will be historically untraceable.
That's an issue, because software we use today will eventually be an important part of history. Computers are one of mankind's most significant achievements, and the devices have enabled an era of change that is more rapid than any other time in history. Historical record is a vital, precious thing. We've kept records of just about everything since before written language. Cloud computing has no time for the past, though. Many apps depend on server support to function, but that support is based on usage numbers and profitability, not on nostalgia or trying to maintain a record. Software that doesn't get used has support cut off, and—if there is even a local client left behind at all—it becomes a broken, empty husk.
It's about time we started asking ourselves: what are we leaving behind for future generations? When our descendants look back on the computer revolution, what will they still have access to?
During the age of local software, they'll have tons of software that still works, either on an ancient piece of hardware or via emulation. If you wanted to see the first version of Microsoft Word, that's as easy as getting a copy of the software and installing it on the appropriate computer. What if you move forward a few years, though, and you want to take a look at the first version of Google Docs? You can't. It was entirely hosted on a Google server, and that server has been shut down. Does the launch version of Google Docs even exist anymore? The only entity able to preserve something like that would be Google—the company hosting the Web app.
One of the benefits of Web apps is that they are always up to date, but cloud computing is also systematically throwing our software history down a memory hole. When future historians look back at cloud computing, there will be nothing but a big, black hole. The few scraps of client-side code they have will not work without authentication and data from a long-dead server, and that's if they're lucky.
All of this means the current crisis of record keeping is unlike any other time in history. Books leave paper, movies leave film, and software on physical media is so resilient that it can be buried, dug up decades later, and still have a chance of working. The tenets of cloud computing make software completely dependent on a single point of failure in the cloud, and we have no mechanism in place for preserving this software when we are done with it.
While it's easy to think this is some far-off problem that only future generations will have to deal with, the accelerated pace of computing means this "cloud rot" is something we are dealing with right now. The fact that some of the very first Web apps, like the original versions of Gmail and Google Docs, are most likely lost to the ages is a crime.
Android 1.0's Market says I have an "unknown" account, Gmail claims there is no Internet connection, and Street View just displays error tiles.
Android 1.0's Market says I have an "unknown" account, Gmail claims there is no Internet connection, and Street View just displays error tiles.
It's not just Web apps, either. While making The History of Android, we ran into tons of examples of broken, orphaned software thanks to their dependence on the cloud. Some clients were disabled mere weeks after we took screenshots. It even happens to games. The saddest example is MMORPGs, where entire worlds are deleted when the games go offline. Imagine if the original Super Mario Bros. was erased because the server it was hosted on was shut down or it was "upgraded" to Super Mario Bros. 2.
How can we preserve cloud software?
A precious few organizations have taken up the mantle of Internet data preservation, most notably the Internet Archive, which saves copies of websites at regular intervals. While this works great for static webpages, Internet Archive can't do anything for Web apps and cloud servers. The only entities holding the all-important server code for software like this is the company that created it, and that code is almost never released for competitive, copyright, or security-related reasons.
MMORPGs were one of the first examples of cloud-dependent software. Understandably, online worlds inspire a little more passion in their user-base than productivity software does, so online gaming turns out to be one of our best real-world examples of users preserving a cloud app. The absolute best way, of course, is to just get the server software! This might seem like a rare occurrence, but the software for Ragnarok Online's server, "AEGIS," is infamous for repeatedly being leaked online. In this case, users have direct access to the software needed to make their cloud app run, and preservation of the game is ensured as long as copies of the client and server exist.
The only problem is that this is copyrighted software, making distribution of the server files illegal. To work around the copyright issues of cloud server software, emulation projects often spring up for popular MMORPGS. Ragnarok, World of Warcraft, and EverQuest all have open-source server emulation projects that allow players to run the game without needing the original servers. Some players use these projects to skirt the usual subscription fees, but private servers also allow players to preserve the game at certain points in time and ensure the game will still be accessible long after the official servers have shut down.
MMORPGs are the best-case scenario for preserving cloud software, though. They have extensive clients that contain most of the data for the game, and they only rely on servers for things like world persistence, NPC behavior, and connecting players. Web apps have no client-side software and are probably the hardest to preserve. Without cooperation from the company running the Web app, there is probably no chance of saving these applications from being lost to history.
While reading about a piece of software is never the same as using it, all future historians will have for many cloud apps are the descriptions we leave behind. The easiest and most universal way to preserve cloud-dependent software is to document it. Take pictures and video, explain how it works, and treat all cloud software like the ephemeral thing that it is. Tech news websites are usually the best source of documentation, but this is most often done in an "in-the-moment" format that highlights the bullet pointed feature list and little else. Sites will often cover what some new thing does, but rarely do they go over how it does it. A good, detailed review is a big help, but most articles don't dig in as much as they should and only review things they think would be popular at that moment in time—for instance, try to find a detailed account of the second version of Gmail. It's historically significant, but kind of boring in the break-neck pace of online publishing.
You have to write these preservation-focused articles now, because by the time this software transitions from "new" to "old" to "historic," it will be gone. It will be too late to preserve it—there is no such thing as old cloud software. While future generations may not be able to experience our version of cloud computing, it is our job to ensure there will at least be some record of it other than a thousand useless, broken clients.
Ron is the Reviews Editor at Ars Technica, where he specializes in Android OS and Google products. He is always on the hunt for a new gadget and loves to rip things apart to see how they work. He loves to tinker and always seems to be working on a new project.