Software Freedom in Perspective - Part 2 - The Promising Early Days of the Web, Ruined by Microsoft
Response to The bulshitification of freedom
THIS MORNING'S opening part included Daniel's grudge, which can be crudely summed up as, here we have those people who talk about "freedom" in relation to mundane things and principles while other people starve, struggle to survive, and occasionally contemplate suicide.
This second part is a lot more positive. Daniel recalls the Web in the 90s and just over 20 years ago. Being around his age, I can relate to an extent. As before, I will interject only where I must.
The web
I’m a programmer since the late 90’s, and back then we all knew there was this “linux” thing around but that was for some specialists and shit: real life day-to-day computing here in LATAM was done in DOS and Windows, so we all programmed MS stuff. Also, MS tools were cool: Visual Studio 5 and 6 were light years away from any other programming tool I ever had contact at that moment. It was easy, it was actually a pleasure to use such tools, and we were very productive with them. I made lots of amazing software in Visual Basic, from document managing stuff to online games automation by speech recognition or even full system remote control backdoors. It was fun, engaging, and it gave me a future in the work market that the rest of my family didn’t had -all of them without ever stepping into a campus in their life-. And I could have all of that by sheer force of will: all of it was self-taught using MSDN CDs and free time.
It was also the time internet went online, and I was really into HTML and JavaScript. You see, it was the future: I’m talking about the time where you could buy homepages. With ActiveX I could do amazing web stuff, but I wasn’t so sure about it given that it didn’t worked the same in Netscape, and for cross-browser stuff had to deal with Java plugins, which in turn required better software training and using less productive tools… so I stick to JavaScript. DHTML promised so much! But I was smart, so instead of popular tools like some version of DreamWeaver for web, I used Visual Interdev to learn about the internals of every DOM available object by its fantastic “intellisense”. After a year or so using that, ActiveX and MS web stuff wasn’t that bad at all.
If you take a look at what was the situation in Argentina at the turn of the millenium -when I was 18 years old-, you’d know that we were all really looking for a job here, and I was not the exception. Lots of stories comes to mind about that, but let’s focus on the one that matters here and now: I actually went to get my first non-gag job in the IT industry, as a web programmer. And let me tell you: I felt I knew my shit. I did some web works that were advanced even by today standards. Stuff like an entire desktop alternative to the one Windows offered by the time, using its IE+ActiveX integration to run custom software while rendering a web page as a desktop background taking designs from futuristic videogames with animations and interactions, adding speech synthesis and recognition to it, and some updatable database with stuff I frankly can’t remember anymore but DAMN it was cool and I was so proud of myself: my whole ambition was to make an entire 3D desktop that could load Doom or Quake maps, transforming the concept of “the desktop” into a virtual world with the “windows” being just another thing to interact to, but of course never got that far.
I was so into the web possibilities, that I even had an epiphany once about the web. I realized the way the web was maturing, so fast and so powerful, there would be a time not long into the future when any UI would be possible to be done with only web pages. Basically, just replace your shell with a browser, and that’s it. If that turns out to be possible, then there would be no need for computers to be that powerful anymore as videogames were already demanding, as everything would be processed on remote servers: that would mean very cheaps computers for everyone, everywhere. So I had this plan: I was going to make a new operating system that would directly boot into internet, and a web browser would be its shell. And even pick a name for it: “Internet Operating System”, or “IOS”. So I convinced my family that buy me an assembler book in order to learn how to make an operating system. Didn’t past much longer from a “hello world”, and that was that.
Whatever, eventually the web job interview came, and I was SO confident. And then they gave me a computer to complete an exam, but inside of it had no Visual Interdev or anything Visual Studio related but notepad, and at its side a very fat book instead of MSDN CDs. None of it was a big problem: I really knew my stuff. I was already in the “made with notepad” movement, so not having an editor was normal for me, and the interview tasks were all stuff I already knew how to do: some onclicks, some forms, some styling magic, all the basics. Yet, it had to be cross-browser. And my stuff wasn’t working well in Netscape. I loved Netscape, it was my browser of choice, and usually did my stuff cross-browser, so I was also familiar with it. But from some time to that point I switched to MS stuff in order to do weird dynamic webs like the one I told before, so I was kinda rusty on crossbrowseriness. And so my stuff kept working badly in Netscape. For those who weren’t there: there wasn’t a “javacript console” like the ones we have now. Netscape had a “console” of sorts, but I didn’t understand the messages it told me, and didn’t had much interaction to offer either; and IE didn’t even had anything close to a console without some added plugin not yet invented by that time. No, we debugged web pages by adding lots of alert clauses back then. And I had trouble even with my alerts.
So time passed, minutes turned to hours, and I could not make it work on Netscape. I wasn’t familiar with the usage of the big fat book for documentation, had no proper training in programming so lots of concepts were out of my reach, and so the book made things worse. I even began to panic at some time, which obviously didn’t help. There was extra stuff going on that added stress to the situation, because the Argentina’s economical situation wasn’t the only thing pressing my head and soul to get that job: I needed to get away from my bad family environment so needed the job to pay a rent, I was in love with some girl that also happened to live near that place I was about to get a job, and other details of different nature going on in my life. It was a dream job. At the end of the afternoon I didn’t fully finished the exam, Netscape never worked well with my code, and went home with a broken heart knowing I wasn’t going to get that job.
When I got back home, I took a look at what the actual hell happened. And quickly I was reminded of some nasty detail I forgot during the exam. As part of the browser wars, MS implemented its own broken version of JavaScript, named JScript. It looked the same, but had some “upgrades” and “improvements” that made it “easier to use” and “easier to read” and stuff like that. One of those marvels of software engineering was direct DOM access by naming convention: in JScript, instead of something like “document.getElementById(‘thing1’).property”, I could just do “document.thing1.property”. So much better! So intuitive! And so non-standard at all, by which it silently failed in Netscape or gave hard to understand messages in its console, given that it was syntactically proper JavaScript but pointing to nowhere. I’m not sure if JScript also was case-insensitive, by which I believe was also bitten that time. Whatever the case, had I just stick to proper JavaScript it would have worked out great, and maybe I would have gotten that job.
That was the first time I was angry at Microsoft. It was the first time I felt it was not my friend. Before that, I LOVED Microsoft products. But after that experience, I never EVER again deviated from proper/native/actual/vanilla JavaScript, and actually used Netscape as my testing ground, which in turn got me away from ActiveX and Visual Studio and everything else MS had to offer for the web.
First important note: take a look at how the browser wars impacted on real people’s lives. Not getting a job in times of crisis is no joke, and we’re talking about really serious crisis here: we had 6 presidents in a week, we had riots, looting, people killed in the streets, we had 20%+ unemployment, we had a totally destroyed industry, we had several different currencies in different regions… the country was about to dissolve. Imagine the kind of stuff families were talking about in everybody’s homes: crying and screaming was usual, nobody knew what to do, parents couldn’t guarantee a plate of food for tomorrow or even tonight to their children… I was dealing with a total absence of future and my programming skills were the salvation, then my salvation failed me. Have you any idea of how that feels? The levels of distress, of anguish it involves? The powerlessness? I was 18, and so dealing with lots of emotional stuff just by my age, but no matter if you were 40 or 50 let me tell you: suicide was always on the table. In my case I survived of course, and got away from the 90’s with only alcoholism. But that kind of stuff is absent from the usual browser wars tale: they talk about Microsoft vs Netscape, about who won and who lost and why, about business or even technical stuff, but almost never about what it did to people.
So life went on, and at least on the web I learned my lesson and took a step away from Microsoft embracing standards. I was one of those people loudly fighting against Internet Explorer with nails and teeth: not because of any clear ideology, but because of experience. It can happen again I said, it can happen to you I told other people. Yet that other people didn’t care, and truth is we all kept using Windows. Funny thing: I stayed in Windows 2000, and then used Server 2003, but never XP. XP looked like a fraud to me, as it had little to no difference to w2k (if you disabled its new UI styling), it used more resources, and with no benefit whatsoever. It was already a known issue that version changing for the version changing (since w95) but using more resources: “fatware” was called back in the day. Whatever, IE6 stayed there for a long time, and with everybody using Windows it was a de-facto standard. Also, I knew very well the w2k internals, so was comfortable with it: knew how to tune up to my liking, had my “portable software” in a booteable CD (back then it was just “software”), and felt safe against an already out of control malware scene by not using IE and not installing crap.
I tried a “linux” back in 2001. As the country collapsed, computer sellers couldn’t afford to legally include Windows in the computers, and so computers started to be sold with “linux”. Can’t remember which distros. Tried a redhat CD that came with a magazine. It was kinda cool, having multiple environments to choose from, and having a package manager: I was all about tuning the system and changing the visual environment in Windows. But didn’t had any games nor MS Office, and even if it had Netscape truth is most web required IE already, so the appeal faded fast. Also, it was cool to make work my 14400 bauds modem with “linux”, but I also broke it somehow by triggering some background connect/disconnect infinite loop that didn’t even faded away after a reboot, so went back to w2k.
I kept doing gigs and small -but amazing- programming stuff until I could finally get a formal IT job in 2006. I was so happy! I was already in my first year studying Linguistics, and could pay for a room with my salary, so finally lived my own. And went to linguistics because A) I still was in that “self-taught is enough” mindset regarding programming, B) I wanted to mix programming with narrative -science + arts- to explore my own theories about artificial intelligence -I was the only one I knew with fantasies about that-, and C) I wanted to be with people with a kin mindset, looking for having both friends and sex adventures. So I was a strange guy talking about technology and programming in a place where people was mostly thinking about books and social science, or even a strange guy talking about books and social science where people was talking about technology and programming.
Whatever the case, I was fighting every fight I had the chance to make the web browser-agnostic, and to make it more and more powerful as I knew it could be done. It was the “web 2.0” age, before HTML5. By that time there was Firefox in web, Google already was dominant in search engines and avant-garde in web tech -Google wasn’t a variable during the browser war-, and it explicitly supported Firefox against IE6, so there was some momentum. Yet nothing Google made at the time was as revolutionary for web development as was something else that happened in Firefox’s ecosystem: Firebug. And for those who doesn’t know what I’m talking about: it’s the birth of what we know now as “developer tools” in any current browser. The pressure against IE6 was strong enough that MS had to do something, and that’s how IE7 saw the light. But no matter, we the “web 2.0” fighters did a good fight in order to make the web interoperable -thank you jquery! we still love you!-, big players also had their grudge with Microsoft, and by 2007 the mobile phones were changing dramatically, so stuff like home bankings and goverment agencies started to had their websites compatible with Firefox. Google eventually created Chrome by 2008 IIRC, and it took a while but by that time most of our common stuff could be made through websites somehow. The web, finally, was no longer the future.
The first time I made a Web site it was in Geocities. For those who don't know what Geocities is or don't understand the "old Web", way before Yahoo! and blogs people could open an account online, upload some HTML files and image (graphics) files, then link them together and present (typically) some index.htm(l) with a personal set of pages. There were of course limits/quotas, not (yet) ads, and the functionality was nowhere near what exists today. But it generally worked. I think my first Geocities site was made when I was 15 or 16. I boasted about the address to some mates in school, showed it to my aunt, and I learned more as I went along (also by studying the source of other Geocities sites).
Years later I'd handle a site hosted by a "real" webhost, not via a Web interface like Geocities. FTP was very common back then and I think my first webhost used FreeBSD. Internet Explorer "infestation" had already begun and many people expected that pages should be rendered to work in Windows (with Internet Explorer) and that was just about enough. Thankfully, those days are long gone, but now we have different (but in some ways similar) issues.
Daniel would later complain about the retreat to Gemini and some Utopian visions.
Understandably, Utopian visions can be sort of obnoxious when life gets tough and priorities unavoidably change. █