Eating from the tree of the knowledge of good and evil
The year is 2013, and computers are faster and more ubiquitous. All aspects of education - and life - are being revolutionized. With the increases in computing power and bandwidth and decreases in cost and size, computers are becoming increasingly reliant upon servers, software-as-a-service, and "The Cloud" (a buzzword I use with mild disdain). This trend requires that we trust the companies and organizations providing the services to us to A) continue to provide the functionality for as long as we, the consumers, need it and to B) take adequate steps to protect our privacy and the security of our information.
On 1 April 2004, Google launched Gmail, a webmail service that offered the unheard of storage capacity of 1 GB. It was originally an invite-only service, and I was an early adopter (sometime in June 2004). I began to use Gmail almost exclusively, and this marked the beginning of my reliance on software as a service. Having been around computers since my early childhood, I understood the dangers of relying on third parties to provide tools that I use, and I experimented with running my own servers (for mail, web, and IRC). Despite my beliefs about the dangers of software as a service, I became lazy and complacent. My vigilance waned.
Canary in the coalmine
In May 2009, Google announced Wave, a service that was hoped to revolutionize the way people communicated and collaborated online. Briefly, the core idea was that standard email and chat systems rely on old Web 1.0 paradigms and that with the ubiquity of high-speed internet and computing that these paradigms could be challenged. As with Gmail, I was an early adopter of Wave. It turned out, however, that everyone that used Wave was an early adopter (in that there wasn't a deluge of people that began to use it after us).
In August 2010, Google announced that Wave was being discontinued, and by April 2012 the system was officially offline. While I hadn't used Wave in any substantial capacity (mostly using it for brainstorming and collaborating on small projects for school), I saw the potential in Wave and saw its place in my life. I was on a trajectory for slowly but steadily increasing my use and reliance upon Google's incarnation of Wave.
Wave perished but did not die. The core technologies live on in two forms: the rebirth of Google Docs (and later Google Drive) and Apache Wave. The former is another cloud service that resembles parts of Google Wave. The latter is the true successor to Google Wave with the goal of continuing work on the software and protocol with the eventual goal of making it so that there can be private Wave servers that are able to communicate with each other (e.g. I could run my own Wave server on my terms but still derive the benefits of a community of users - similar to how the Diaspora project is approaching social networking).
Google is famous for many reasons, among them a spirit of innovation and a willingness to try new ideas (e.g. Wave). Not all of them are as successful as they would like, and to ostensibly keep their focus on core products strong, began discontinuing products and services that were not widely used or had been superseded by other technologies. The first round of spring cleaning was in 2011, and it has occurred several times, the most recent being in March 2013. In this latest round, they announced the demise of Google Reader, a web-based RSS reader.
The writing has been on the wall. In 2011, the community features were removed from Reader coinciding with Google's expansion into other social networking ventures (i.e. Buzz and Plus). I didn't use the social features much, so I didn't much care. ("First they came...") With the total discontinuation of Google Reader (due to a declining user base), a product I use daily, I am starting to see the naivete in my reliance on Google's services. Many have argued for the value of Google Reader, and many have argued that it was past its time. Petitions were started (this change.org petition has over 125,000 signatures at the time of posting - one of them mine), and competitors offered seamless transitions. It seems today that Google will continue with the discontinuation despite the outcry.
This has two key consequences. First, one must always anticipate that software as a service will be discontinued in time, even by colossal companies like Google. When someone else controls the systems, you don't. Period. Secondly, niche groups may suffer more than others. In the end, when Google Reader dies I'll find an alternative. I may use Google's services less in the future, but being an American I have a plethora of options. For many Iranians, Google Reader is the only reasonable option. Google Reader is accessible as google.com/reader with an encrypted connection. The easiest way to block Google Reader for the Iranian censors would be to block the entirety of Google - a move that incited outrage when exactly this happened in September 2012. While Iran is very crafty at censoring the internet, Google Reader remains one option for accessing censored parts of the web for Iranians. (Of course, Iran is preparing a halal domestic internet that will result in blocking all western sites - including Google - so this may be a moot point.)
The state of affairs
I'm glad that Google broke my trust with Google Reader. It shattered the illusion I had about their benevolence and will force me to confront my reliance upon an organization that does not have my best interests in mind. Google exists to make a profit, not for the betterment of Doug-kind. As I type this, I have five different Google websites as pinned tabs in Google Chrome. I use an Android phone. My email is through Google. My phone number is controlled by Google. Google's seamless integration across services is wonderful, and I can't imagine it any other way.
Or, I couldn't until last week. Henceforth, every piece of technology I use will need an exit strategy. I always have had a vague notion of the alternatives for various programs and websites that I use, but vague notions are simply not good enough. An explicit exit strategy is required.
There is, of course, a spectrum of reliance. On one end is software as a service. Gmail, Google Reader, Microsoft Office 365, EA's Always-on DRM used in games such as Diablo III and SimCity 5, and countless other pieces of software and websites are entirely reliant upon both the internet and a company maintaining the servers on the other end of the line to operate. If this is no longer in their best (financial) interest, then the software or service will cease to work. Using software as a service may make sense at times, provided the limitations are understood.
On the other end of the spectrum is software that one develops personally, entirely from scratch (and on hardware that one has built from scratch). This is almost certainly not feasible in a pure form. Developing an entire computer system - hardware and software - from scratch is a pipe dream, and would preclude the rest of one's activities for several lifetimes. (As Carl Sagan said, "If you wish to make an apple pie from scratch, you must first invent the universe.")
I perceive a spectrum of control over one's computing, from most to least control (not exhaustive, with appropriate nuance and gradation):
- Inventing the entirety of the hardware and software that one uses
- Using strictly open source software and open hardware (Richard Stallman does this)
- Using strictly open source software on readily available - but closed - hardware (gNewSense is one Linux distro that is 100% Free Software)
- Using software and hardware that is run entirely from computer systems under one's control (i.e. no reliance on any computers - even on the internet - that one does not have absolute authority over)
- Using software and and hardware that one can make backups of and install without an internet connection (i.e. now allowing reliance on the internet for some functions, though not mission-critical - using an Android phone as a computer might fall into this category as one doesn't necessarily need to use it as a phone)
- Using software that requires an internet connection to a fixed set of servers not under one's control (e.g. activation servers needed for things like Microsoft Windows and Office)
- Using software that requires a constant internet connection to use, even software that could otherwise operate without the internet (e.g. single-player video games that require a constant internet connection)
- Using some software that is hosted entirely remotely (i.e. true software as a service)
- Using entirely software as a service (i.e. computing 100% in The Cloud)
- Using entirely software as a service on borrowed, proprietary hardware (e.g. a leased or borrowed computing platform that interfaces entirely with the internet with no local software or storage)
Right now, 1, 2, 9, and 10 are unreasonable for many people and organizations. Most people will be in the 3-8 range, depending on their specific needs (both for capabilities and finances). Right now, with my reliance upon Google's Gmail, Voice, Calendar, etc., I think I fall into the 8 range. I'd like to be able to get down to the 5 range for all possible things (recognizing that I will still rely on the vague concept of 'The Internet' to exist and facilitate things such as email and other network services). Even if I don't operate at level 5 and continue to operate at level 8, I want to have a technology exit strategy that will allow me to rapidly and without much loss of functionality and simplicity transition to level 5. This involves identifying alternative ways of doing whatever computing is necessary and understanding ways of transitioning one's data into them. (e.g. Google Takeout is a service - out of the benevolence of Google - that allows one to export one's data from Google's services and this could be used to transition data, but alternate strategies should also be found.)
Identifying alternatives and their limitations is no small task. I don't expect that I will achieve this overnight, but I hope that I will be able to find offline, open-source alternatives for (nearly) everything I use. If not, I will accept the limitation and plan accordingly. Some things may rely in principle upon running my own servers (e.g. hosting this website and email servers from my own computers). This may be practically unreasonable, but is technically possible. (Of course, I still need to rely on external DNS servers for the domain name to resolve...)
If Microsoft stops developing software, I can continue to use Windows 7 and Microsoft Office on my laptop indefinitely. I'm okay with having physical copies of software that is functional today, even if it is no longer developed and irrelevant in the future. (I could still install Word Perfect on DOS and use it to its full potential. Not practical, but could be useful in some nightmare scenario.) In the near future I'll do my best to identify where I rely on other companies and services and what alternatives exist. When I do, I'll post them. For now though, I just need to internalize the fact that The Cloud will not always be there, and that reliance upon it is a recipe for disaster. This may seem obvious, but it really hits home when services that one uses cease to be. (This is like backing up data. Go backup your data! Don't wait to lose it all!)