You know … sending an image … uploading a file … all this information you’re exchanging. Probably you have not really. At least not to the extent covering the majority of the aspects of the topic.
I would like to make my point by telling you a short story of mine happened back in the late 90’s.
Back in the late 90’s despite the fact that we’ve been working on PCs for quite some years now, the love of the Commodore being planted in us was keeping our interest alive. And suddenly there was a way for us to get an Amiga. So as crazy as it sounds, my dad went all the way to Instanbul to get us an Amiga, that was previously reserved by phone. In three days he was back with the precious box and we jumped to connect it to the TV and enjoy exploring it.
So as crazy as it sounds, my dad went all the way to Instanbul (that's a foreigh country) to get us the Amiga.
-- always grateful me
You know the excitement when you have something you've been waited for so long ... Quickly hoping around for cables, moving furnitute in order to be able to connect the Amiga with the monitor and when we first switched it on and the power led lit up in green - that was a moment of fulfilling joy. But despite our exitement it turned out that we need kickstart diskettes, which we didn't have and were unable to write on the PC. Thankfully there was a guy from France who sent his diskettes being glad he could bring life to another Amiga.
So the only way to expand the Amiga world beyond the kickstart diskettes was the transfer some applications from the PC. The logically we used the RS-232 serial port. Due to the lack of any communcation program we had to write one ourselves. So I quickly wrote an application in Visual Basic (Windows) and a small Basic piece of code on the Amiga to transfer files. So without any checksum tests or anything we made a transfer of our first 32kb text file successfully. And imediatelly after that, we transfered a communication program which handles the zModem protocol and from that time on we were able to transfer anything we wanted from PC to the Amiga. Now I have both computers connected and sharing files which opened the Amiga to the world with hundreds of thousands of applications available over the internet.
So, imagine how much work a transfer of a 32kb file from one PC to Amiga cost us for the purpose of expanding the horizon of the Amiga. Some of you might remember how you tried to squeeze Windows 3.1 installation diskettes, or DOOM game or even a personal archive with text based books using ARJ or ZIP.
It was a time where space was precious. I remember buying a Western Digital hard drive with the size of 210 MB (Megabytes!!!) on the cost of USD 210. You were trying to optimize the size of the files you store no matter what. There was even a compress application which run on the background of your OS, that can expand the storage space of your harddrive up to 100% more than its physical size (by compressing the files you store on that hard drive). Of course it was slowing down everything, but hey … you have twice the size now :)
”...I remember buying a Western Digital hard drive with the size of 210 MB (Megabytes!!!) on the cost of USD 210 !!"
-- 1MB = USD $1
Then slowly space became more accessible. You can have cheaper and cheaper harddrives. ZIP drives, CDs … ReWritable CDs … then DVDs … and so on and so on …
Nowadays, information space is probably one of the cheapest part of your computer system. Same is with the online storage. Have you ever thought back in the days that you will have a 15GB online space just for singing up a form on Gmail? Neither did I, but here we have plenty of options for cheap online storage space. It has become so cheap, that at some point we stopped worrying about the file size of things we store … the only thing we kept an eye on was the speed of using this information.
But let’s get back to the current days and see how are things now … You can think that since everything is cheap now, we shouldn’t worry about the size of the things we exchange. But you would be wrong. Everything has its cost and even the bytes representing the text you’re reading now do. Every picture you see on Instagram, every joke you read on Facebook or every single line on your small talk chat session… Yes they all do.
I can see basically two main expenses interacting with the information:
Everytime I stand on the street on a busy intersection seeing other people waiting for the green light to frantically scroll on their Facebook feed, or waiting in the mall still constantly scrolling with a hope of finding something good in all these useless posts I wonder if these people value what they have in their hands. Imagine if you have to explain Internet to someone who just woke up from a 40 years coma ... and to tell him that having all the knowledge in your hands you're using it to laugh at someones funny cat video? I believe there is way more valuable way to spend your "waiting" time but to scroll the never-ending list of posts. You could
Do all these people know what are the consequences of their voluntarily or not voluntarily actions? I guess not. I guess they just accept it as magic that happens when they tap that virual button, and that's all.
I saw my son the other day sending a dummy blurry image with a text on it posted over on Instagram story and then I thought that most people don’t value the weight of bytes they are sending. Here is a rough flow of the route this image has taken: This photo was first taken from the phone’s camera and stored on the phone’s memory; Then it was sent over the wifi to the router which sent it to the ISP; On its turn the ISP sent it to the bigger network; The continental size operators sent to over a satellite (or an underwater cable) to the data centers in US - that’s half way across the globe; The data centers processed the image (probably backed up the file on several CDN locations); The instagram servers sent the data over to the few followers’s phones as payloads (again this travels across the globe); The followers glazed over the image and said “Nah…” and then deleted the dummy blurry image. So this whole work was for ... nothing really.
This whole traffic and data storage was consuming a lot of energy and it takes its environment toll. You can find reseach articles on that topic or you can listen to IRL (In Real Life) podcast by Mozilla and specifically this episode. There you can get the basic understanding of what carbon footprint your internet behavior has. You will be surprised to know how every single of your actions - from searching to streaming matters to the environment. And it matters a lot.
"... most people don’t value the weight of bytes they are sending."
-- me, watching others playing with their devices
But when you’re a programmer, things stay a little bit differently. You’re obliged to optimize the resources you’re users use. It could be something really small like optimizing the images your application uses, or using gzip when serving your PWA (Progressive Web Application) or predictive prefetching and all the optimization you can do in the name of the good user experience. Nowadays people have become very picky having this choice paralysis and every single small thing that can move your application to a better UX is a thing that you have to do when developing an application.
I will probably write another piece just about optimization but for now I will just close this article with a footer note about the size of the bytes you’re using:
”...Please pay attention on how you use your bytes and if you send stupid things over to someone, or when you download a file you will never use, or when you stream something which you’re not really watching ... If you catch yourself doing this. Stop! ... These bytes don’t worth it."
-- me