JavaScript Is Good, Actually
published: 2021-02-04
Before you crucify me on the altar of the Church of Alt-Tech for being a stupid "DOOMER ZOOMER PEEPEEPOOPOOMER", hear me out: JavaScript and the web applications it has made possible maybe didn't come straight from hell.
Let's go back to my borderline-fascistic local high school for a few moments. I have talked here on this website ad nauseam about the school's insistence on sucking Google's cock for every single possible part of the school's infrastructure they could unload. Every teacher required that I use Classroom to access assignments and Docs to collaborate with fellow students and Gmail to read announcements from teachers (although, admittedly, I almost never opened my inbox, and I still managed to graduate).
The last day I used Windows bare-metal on any personal computer of mine was April 27, 2018. The only reason I remember this exact date was because it was when Avengers: Infinity War was released nationwide in the USA; I was pissed at my Marvel-bootlicking parents for forcing me and my brothers to sit through the entire credits, and I knew my dad simped hard for Microsoft, so I deleted my Windows partition in a fit of rage in another effort of mine to emotionally distance myself from him.
But because everything (relevant) Google makes has a web version (they have to, since Chromebooks are a thing, and it would be awkward if they didn't support their own devices), I was able to do my schoolwork without ever having to install anything. I didn't have to mess with WINE or try to pirate a copy of Windows and get it working in VirtualBox or go back to dual-booting with Windows. I just opened my web browser, same as every other student, and suffered all the same.
This would not have been- would not be- possible without JavaScript.
This current semester of college, I am stuck with an English teacher who is incredibly anal about the format our papers are submitted in. Everything has to be in "WORD" (one would think she would know to call it "Word", since it's neither an acronym nor yelled...) format with specific custom line spacing that definitely isn't just double with cheese on top, with plaintext headings (no bold), with all sources at the end of the paper instead of how I did them at my previous college (inline numbering with footnotes at the bottom of each page). Any other format, even if readable in Word, is an automatic zero for the assignment.
I almost had the compulsion to withdraw completely from the college right then and there when she sent me a "guide" to installing Microsoft Office in Linux. "Guide" in quotes because it was for... Office 2003... in WINE... on an old version of Ubuntu.
A college degree is not a marker of intelligence.
If I am forced by my college or place of work to use a certain program, and there is a web version of said program, I am going to use the web program every time. "Desktop apps" are almost always written with exclusively Windows and Mac in mind, and if Linux is ever an afterthought, it's a standalone Ubuntu .deb
with no auto-updates. Desktop and Android apps, even when using the tightest sandboxing that the operating system itself provides, still have a terrifying amount of access to my personal data to do whatever they please with and are a fantastic vector for installing corporate spyware. In the browser, however, they are reasonably sandboxed. Webcam and microphone access can be reliably disabled with a simple setting. And when the end of the semester comes and I no longer have that teacher, or I (for whatever reason) switch jobs and don't have to parley in that corporate ecosystem anymore, "uninstalling" is as simple as clearing cookies and cache. Uninstalling a desktop app, since these are never (in my experience) in the official repositories and rarely have a coherent uninstaller, means hours of tracking down files and residual daemons and essentially bleaching my system to be free of whatever the program shat onto my system. (Or deleting the VirtualBox VM, but then again, to put things in there to begin with requires a vastly disproportionate amount of disk space and computing resources and doesn't always work...)
"But locally I have control over the code running on my machine!" Yes, if it's open-source. If the code is proprietary, then it doesn't matter if it's in your browser or local; you still don't have control over what it does. And if you don't have control, wouldn't you want to put as many layers between it and your system as possible?
"But what about advertisements?" Yes, these are a blight on humanity, and most of the blame for the commercialization of the internet lies on JavaScript's shoulders. But you don't have to run JavaScript on a page if you don't want to. You can blanket-disable it in your browser, or use an extension like NoScript for more granular control, or use a text-based browser (or a graphical one that never developed a JavaScript interpreter). And while forms can technically be sent without JavaScript using HTTP POST, a more humane experience for people with disabilities requires features like autosave, spellcheck, and remembering saved data for future use so one doesn't have to manually enter the same data over and over and over. (And while most browsers implement these already in the browsers themselves, that assumes the user only uses that particular device.)
And, if my "freetardism" isn't enough, consider: some people are too economically and socially constrained to acquire any computer other than a Chromebook. While I personally feel Chromebooks shouldn't have to exist, we unfortunately live in the timeline where they do. While a browser application shouldn't be the end-all be-all for computing, having it as a fallback option does assuage my anxiety a bit. (It also means that, whenever my ThinkPad's current charger decides to kick the bucket as always has and inevitably will, I can just switch to my phone's desktop mode until a new one comes in the mail. Samsung DeX is a godsend.)
May Goddess forgive me for this, but I will now proceed to quote from a Hacker News comment with more concise wording than my own (emphasis mine):
I see a lot of comments expressing that all we need is markdown plus this or that little bit. I think that's unreasonable. It might suit Joe developer just fine for reading blogs and news, but the world benefits enormously from the ability to build complex software applications at low cost. Imagine the alternative: Welcome to Mario's Pizza - you can order right from your own computer after we mail a disc* to your house (*requires Windows 8 or newer)!
I have no interest in trading the modern web - warts and all - for some spartan plaintext utopia.
I have no interest in trading the ability to keep the corporate sphere as far away from my device as possible for a world in which js;dr
sites don't exist but I must surrender control of my device to whatever institution I find myself depending on for subsistence. Advocate for a separation of the "document web" and the "application web" if you insist. Hell, I hate js;dr
sites as much as you do. But I would rather these be muddled together than the "application web" not existing at all.
CC BY-NC-SA 4.0 © Vane Vander