Environmentalists often talk about the "carbon footprint" of individuals, organizations, and projects. A carbon footprint is:
A measure of the total amount of carbon dioxide (CO2) and methane (CH4) emissions of a defined population, system or activity, considering all relevant sources, sinks and storage within the spatial and temporal boundary of the population, system or activity of interest.[ref]Carbon Footprint[/ref]
I find this to be an interesting concept, particularly when applied to other types of "footprints" you and I might leave behind.
Recently, I undertook the task of removing all of my data (files, personal information, and installed applications) from a particular computer so I could pass it to a friend. The sheer amount of data I had to remove had me asking, what exactly does my "digital footprint" look like?
The machine I was cleaning had been my primary computer for 4 years. It had a beefy hard disk when I bought it, so four years of development, writing, and gaming still hadn't filled the system to capacity. On the day I decided to flush everything out, I had just over 100 GB of free space remaining.
After purging all of my data and apps from the system, I had over 340GB of free space.
For all intents and purposes, my footprint on the machine was about 240GB. Considering the first laptop I ever owned only had a 3GB disk, the massive growth in the data I use on a regular basis is incredible!
This is far more than just documents and personal data created by me. It also includes all of the tools (and games) I use on a regular basis. Think of it like a wardrobe or closet taking up extra space in a house - I might not take up much room on my own, but all of the clothing/books/boxes-of-crap I own does.
This is just a representation of the clutter I leave behind on a local system. When I think of the servers and hosted platforms I touch, the potential size of the data belonging to me becomes mind-boggling.
As a developer, seeing the massive size of the applications on my machine is a bit daunting. As I mentioned above, I entered the online world with a 3GB machine. Oddly enough, many of the same apps I used today I also used on that machine - today's versions, however, would not even fit on its harddrive!
Applications that used to fit in a few megabytes now consume a gigabyte - or more - to do essentially the same thing. I find this development a bit disturbing, and mentioned it on Twitter. My friend Chris made a very telling response:
On the one hand, I'm now very conscious of how much I clutter my own environment with digital garbage and cruft. As a developer, I'm curious how much I'm cluttering other people's environments with similar cruft.
As I remove software that's grown from a few MB, to hundreds of MB, to 4GB in size I have to ask, do we really need to store this much information? Or have we really just gotten so lazy that we, as developers, fail to be good stewards of our customers' resources?