4 Things Developers Take for Granted That Used to Be Really Hard
Brian Rinaldi
Aug 29
with TJ VanToll
As software developers we love to complain. Spend a few hours in a development office and youβre bound to hear shouts of bad documentation, horrible error handling, and the how the previous developer was the worst.
And even though these are real problems, every once in a while itβs good to take a step back and consider how far weβve come. Because, although the issues we deal with today seem hard, these annoyances feel quaint given the perspective of time.
This article is a nostalgia-laden guide through some advances in the last 20 years of software development that youβve forgotten about or never lived through. Your authors for this journey are Brian Rinaldi, who is old enough to remember when IE6 was considered awesome (because it replaced Netscape 4.5.2), and TJ VanToll, whose career started helping others add background music to Geocities sites. Youβre in good hands.
NOTE: Youβre absolutely welcome (encouraged!) to contribute your own stories in the comments, especially if you have, ahem, more experience than your authors.
Thing #1: Actually Getting Software
Back in our day, if you wanted software, you had to get into a car, drive to a store and buy it off the shelf.

We used to get excited to buy this stuff
Source: cogdogblog [CC0], via Wikimedia Commons
If you are really old, like Brian, you remember the days when software came on sets of floppy disks. You had to install the software by loading each disk in the proper order.

Half of the quest was getting this thing to install
Source: http://retrothrifter.com/product/kings-quest-6-vi-adventure-retro-game-ibm-5-25-floppy-disk-big-box-1992/#&gid=1&pid=1
Or perhaps you are lucky enough to only recall when that software came on CDs or, heaven forbid, DVDs.
Software was expensive too! The full boxed version of Dreamweaver Ultradev in 2002 cost $599. Flash MX in 2004 was also $599.
The high cost of software and ease of sharing physical disks meant that anti-piracy measures were often incredibly burdensome.

I donβt even know where to start here
Source: https://helpx.adobe.com/x-productkb/policy-pricing/macromedia-legacy-activation-error.html
As if activating by phone wasn't enough, software such as QuarkXPress actually required you to have a physical hardware dongle attached to your computer to function. Yes, young people, you read that right!

Bonus points if you know which port those top two dongles needed
Source: https://www.planetquark.com/2017/06/14/is-a-subscription-basically-a-dongle/#.W4BiJZNKh-U
Nowadays itβs hard to find software that you canβt find on the internet one way or another.
So, sure, today you are often stuck with perpetual software subscriptions, but we've still come a long way.
Thing #2: Web Site Hosting
The biggest problem with web hosting back in the day was that it was insanely expensive. Just basic hosting might cost you anywhere from $30-50 a month. Want a database? Well, a SQL Server or MySQL database may double the price. Want SSL? Thatβs another monthly fee, plus youβll need to buy a certificate. Oh, you want to install that certificate? Youβll need a Ph.D. in cryptography to accomplish that.

Actual footage of Brian reading Apacheβs documentation on installing an SSL cert in 2003
Sites like Geocities and Angelfire were wildly successful in their day because they provided free web hosting, which was unheard of at the time, and which allowed developers to share their <font> tags, <table> layouts, and amazing designs with the world.

Imagine how good this felt in IE 5 with auto-playing Doom music.
Source: The Internet Archive: https://web.archive.org/web/*/http://www.geocities.com:80/Hollywood/2979/
Of course, thereβs no such thing as a free lunch. And Geocitiesβ auto-injected ads, verbose URLs, and rampant popups (remember those) ensured that anyone developing professional sites would need to dump their money into more a more expensive solution.

Thatβs right kids, websites used to open whole windows that you had to close manually, like an animal
Source: https://www.engadget.com/2014/08/14/the-creator-of-the-pop-up-ad-says-sorry/
Nowadays basic free web hosting is a given. With GitHub Pages you can get a site off the ground in minutes, and services like Netlify even offer free SSL certs that you donβt have to install yourself. And speaking of GitHub, thereβs one other massive change to the way we build software we have to discuss.
Thing #3: Version Control
If you wrote software in the late 90s or early 2000s, thereβs a 100% chance you can tell a story about some horrible proprietary version control software you used. Or, perhaps, like many of us, you didnβt even use version control.
For example, if youβre like TJ, you recall using an external hard drive as βversion controlβ, and prayed to your deity of choice that the hard drive would never be needed. Brian, on the other hand, recalls the βofficialβ version control at several previous roles involved renaming files with β.oldβ or _oldβ in the filename. It might look like something along the lines of the example in this presentation by Gwen Lofman:
Needless to say, these methods were less than ideal. The thing is that legitimate version control, until fairly recently, might be free but not easy (things like CVS, SVN) or both not free AND not easy (Visual SourceSafe).
Learning to use these tools often took quite a lot of effort. Poor merge conflict handling might end up making your code look something like:

Something isn't quite right here
Source: https://redfin.engineering/visualize-merge-history-with-git-log-graph-first-parent-and-no-merges-c6a9b5ff109c
Heck, even in the early days of Git, it had a steep learning curve.
The advent of GitHub (and other solutions like BitBucket and GitLab, for example) really changed everything. They took a lot of the initial pain of setting up a version control repository and made it a no-brainer.
Thing #4: Open Source
In todayβs age, itβs hard to remember that just 10β20 years ago the majority of code developers used were closed source. This wasnβt limited to things like your your operating system, application server, database or desktop applications. Want a message board for your site? Take out your wallet. Want a simple CMS? Be prepared to pony up. Want a simple rich text editor for your form? Thatβs gonna cost you.
This impacted more than just the cost of the software. For instance, hit an issue? Maybe there was a place you could report the bug online. Maybe you just cross your fingers that the bug will be fixed in the next yearβs version.

Source: https://devrant.com/rants/1314645/bring-the-funny
The other thing that is hard to imagine today is that many people were thoroughly skeptical of open source. For exampleβ¦
In fact FOSS is often a recipe for half-baked freebies that displace good software because they are free, but which then go on to soak up everybodyβs time by being full of bugs that require βsupportβ (i.e. your time or money) to heal.
Dr Mark Tarver, The Problems of Open Source
And companies, with Microsoft often at the forefront, fought open source intensely. Todayβs Microsoft is one of the largest corporate contributors to open source and even owns GitHub. In fact, open source is so thoroughly ubiquitous in developersβ workflows that developers often tend to take a liberal open source license for granted (and, yes, this is a bad idea). Yes, I think that means open source has won.
Wrapping Up
Whether itβs open source, version control, web hosting, or the way we actually acquire software, a lot has changed for the better in the last 20 years. In this article we looked at a few of the changes your authors have appreciated, but of course weβre only scratching the surface of advances in the technology world.
If youβd like to contribute your own item to this list let us know in the comments π
Evergreen skills to use throughout your career?
What are the skills that'd last throughout your career?
153
58
What I Learned from a Year of Running Free Developer Events
What Developers Should Know from Microsoft Build
Trending on dev.to
My New Kickass Portfolio Website
Bad Habits Developers Should Fix
Golang jobs: where can you search for open positions
Who is developing enterprise solution?
A Year in Professional Software Development
Code price-tag
Breaking up with JavaScript
Engineering whiteboard interviews: yay or nay?

Instead of a software key, many old games required you to own the docs and would reference them in game as a way to ensure you hadn't stolen the game. Ie, go to page X line Y and type in the word.
Yep - don't miss that at all.
Oh yes. This brings back memories.
And sometimes docs were printed with light green ink on dark green background to make them impossible to photocopy.
This was, of course, before the wide spread of scanners and cheap color copiers.
Although to be fair, some of the stuff you got in games in the old days were incredible, especially Infocom.
Omg. I forgot about that! Yes.
I remember this in Prince of Persia on a Macintosh LCII in middle School. Not having the instructions, we'd guess. Occasionally we'd get it right.
You've just taken me 25 years back!
Paging through the documentation to find the right word (and probably copied the documentation too...)
I literally laughed out loud at some of this..the memories. I had windows 95 on about 50+ diskettes it wouldn't install even on a 486 after getting up to number 31. I could have cried that day if I wasn't so battle hardened.
I spent a lot of time on angelfire, Geocities, homestead and begging Dev friends if I could take some space on their web servers. Countless times my site would go offline due to providers going bust and I remember spending plenty of time adding scripts to remove forced adverts and branding all the free hosting providers put on your pages
<mode nitpicking="on">
FWIW, Win95 came on 26 1.44β floppies (or 13 double-density if your floppy drive supported it.)
Proof link.
</mode>
Wow you are 100% right haha I actually fumbled through some old disks to check and I have win95 and office 97 mixed together.
FWIW, neither installed.
I remember getting the original "Master of Orion." It came on, if I recall correctly, 10 1.44" floppies. Me and my buddies at the time where aghast and all we could think was "What in the world would require any game to need THAT MUCH DATA?!?!?" Times have changed for sure. These days I have a glorified text editor (Eclipse) sitting on my hard drive and sucking up 68GB...
I remembered playing Monkey Island 2 on Amiga (no hard drive and like 10 floppies). In one scene you needed to switch disks when a character spits, and you needed to switch back the disks when the flying spit lands on your face. It was so hard to keep it going without a HD.
Geocities was the reason I found out about CSS :D. z-index FTW!
First I needed to rollback the tape when a game loading stage failed.
I still remember helping my father installing Windows 95 from 13 floppy disks on 10 PCs at a school laboratory, and I had fun!
Now I do
docker runand I can have any OS or software in a few minutes. Amazing.Thing #5: learning resources
From books to courses, from slack to stackoverflow, we now got it easy and free.
Thing #6: Browser dev tools and HTML5 standards in all browsers
Specific to web devs, but nowdays is very easy to start with front end development. Although it is the most difficult job to master I would say.
Agree on both!
Hey there, we see you aren't signed in. (Yes you, the reader. This is a fake comment.)
Please consider creating an account on dev.to. It literally takes a few seconds and we'd appreciate the support so much. β€οΈ
Plus, no fake comments when you're signed in. π
Code reviews. Even when using version control 10+ years ago the code review would be you sitting at another devs desk as they walk you through the diffs.
Continuous Integration. Remember having to commit your changes in the morning so the noon build would get them? And because the build takes 2 hours and the first set of regression tests takes another hour you only have a few hours to fix any issues that happen before the 6pm build?
Yeah, I don't miss that.
Why arenβt your code reviews like that now?! Absolutely the most effective way to perform a code review, in my opinion. In fact, itβs so effective that my team does it continuously...
I believe that there are pros and cons for both types of code reviews, which I will refer to as sync and async. Depending on your situation one may work better than the other for you.
sync
Pros:
Cons:
What we've experienced from async
Pros:
Cons:
I donβt recall ever working at a place with that high a degree of build integration. Maybe one place but that was mid-to-late 2000s
That example WAS from the mid 2000s :)
Sadly, I recall too many times when "continuous integration" was just Ctrl-S, since there wasn't anything other than the live site. And QA was just reloading the website.
Yes. Agree on both.
It's depressing how much of that I remember first-hand (roughly all of it). And OMG, hardware dongles. I completely forgot, or maybe suppressed the memory of, hardware dongles.
Great article and a serious blast of nostalgia along with my coffee this morning. Thanks for sharing!
Somehow I feel like intellisense (and maybe even Google? π) belongs on this list. Prior to that we had to buy, store, dig and sift through very large reference books in search of functions and their signatures. ππ
I still have a shelf in my basement filled with the βInside Macintoshβ volumes. There are literally like 20 books. The legendary one was Vol. 6... Iβve seen smaller sets of encyclopedias!
LOL! I have a similar problem, still have lots of old books from the 80s and 90s. I have to just force myself to accept that they're just never going to be interesting to my kids and they'll never have any meaningful historical value, despite how hard I want either of those to be true. ππ
If you're really old (or started playing with computers as a kid), you remember some software (games, mostly) coming printed in magazines and having to transcribe it to your pre-PC (Trash-80, Apple ][, Commodore, etc) and then save it out to casette if you didn't want to have to type it all back in again. And you still clearly remember having to cue the tape up to just before the screaching so that when you ran the load command, it would actually be able to read data before the load-command timed out. :p
I still remember the pure joy, in 1989, when a college friend pointed me at the most wonderful tool I'd encountered up to that point,
rcs. And, in the non-UNIX wastelands of 8.3, you weren't couldn't even engage in:Though, before the advent of SysV- and then Windows-based systems, things were amazingly open. I still remember the shock of when they upgraded our Sun lab from SunOS 4 to Solaris and, suddenly,
ccwas something you needed to request access to (because they suddenly needed to buy compilers).P.s. I'm old, apparently (and starting my computer journey at age 7 has made that journey even longer than just the span of my career).
Hm, I just used CVS and then switched to SVN, which was the hot new stuff.
I switched to Linux full-time when Windows XP came out in 2001 and had been using it before that in various dual-boot setups. By 1996 all parts of the LAMP stack already existed, so in the early 2000s (which is almost 20 years ago) all the message boards, blogging tools etc. I used were FOSS already.
Anyone, one thing people nowadays will find hard to imagine is having to make custom DOS boot disks for different games/applications so you had enough memory available (so we meet again after all this these years,
HIMEM.SYS).In 2003 Linux was good for running a headless server and, maybe a desktop workstation w/out a GUI, but forget trying to get it running on a laptop. WiFi? Lulz. Y u no have hardline noobz? Hope thatβs not an NVidia accelerator in there!
I seriously think people have forgotten just how bad *nix distro s were back then.
Are you trying to tell me what I used Linux for in 2003? A bit presumptuous, donβt you think?
I ran it as my main desktop OS, including a GUI. And yes, also on a laptop. Was it comfortable? Not always. Did I spend way too much time on getting things running? Definitely. But it was not impossible like youβre making it sound.
And no, I have definitely not forgotten how bad distros were back then, I was a developer at one (Gentoo) from 2004 to 2006.
I remember pulling out a book and having to use it to help with writing the Fortran software to make the Hangman game, then save it to cassette. The old Classic99 games* were a huge upgrade from that, and floppy disks were something I wouldn't have until sometime later on.
The worst? Wanting to play music with the cassette player and hearing the software you wrote play.
*mainbyte.com/ti99/howto/classic99....
I feel really old, now.
Thanks Brian for giving us perspective from back then. Now we have come a far way from back then, documentations are just a google search away, OSS just a github search, an awesome shared knowledge-base is at stack-overflow, to name a few. This is awesome time.
At the same time I see a lot of people have become complacent with abundance of these resources, which a cause of concern.
I was a student when CDs and Floppies were still in circulation, we would get programmes and games on CDs and use floppies for data needs. I was confused when I saw a thumb-drive for first time, how can it be so small and still have a huge data capacity compared the 3 1/2 " floppy.
We got bored of printer-port dongles at university and user a manual printer switch.
I remember cracking a game I bought because it was missing the manual and the copy protection was of the kind where you had to enter word such-and-such from page
nof the manual.These efforts were easier than going the "legit" route. Copy protection back in those days was arduous.
OMG this is amazing! lol. I did use both 5 1/4 and 3 1/2 disks! - i think the first game i installed on my own was california games or maybe prince of persia... lol i was precocious!. Totally loved being part of the generation that saw new things like internet and mobile phones. I can definitely say back then nobody imagined we would get this far.
Setting up environments.
Today we have VMs which are quick and easy to spin up and then put software on. Or even better, containers that already have the software you need and cannot be changed!
I remember having to use ghost software to re-image machines every morning to make sure that my environment was clean before installing last night's build. And those machines would be physically in my cubical, with a KVM switch to control them! Spinning up a VM and rdp/ssh into it? Way better.
OMG yes! I remember the days when not only was every dev's local environment was different, but dev was different from QA was different from prod. Made for some eventful deploys!
Exactly!
"Works on my machine" hasn't been fully killed off, particularly for client apps. But for a lot of cases it is as dead as the dodo.
@Brain Great article! That Doom part made me feel 13 again. IT is amazing how much the day to day life of the average web/app developer has changed in 20 years. It is hard to think of any other industry that has been as transformative and transformed as much. What a time to be alive :D.
I installed Win 3.0 probably over a hundred times! I think it was ~13 diskettes. I did that for a ton of family and friends too! Most of my life was spent fixing corrupt machines and reinstalling everything.
Followed by Windows 3.1, Windows 3.11, Windows for Workgroups, Windows 95 (which was 21 disks I think).
License dongles are, unfortunately, still a very real thing in 2018. Still common in embedded software development.
microchip.com/DevelopmentTools/Pro...
TI apparently only recently ended the practice for their compiler.
(Those are PS/2 ports btw. #GetOffMyLawn)
TL;DR: Tech evolved.
Also on the news: Water is wet!
π
Just kidding! Even though I'm too young to say "I lived that" I still witnessed some of these changes... and that's kinda scary to see not only how much things have changed but also how quick!
Even since I got interested in computing (about 10 years ago) I can see that a lot has changed and that we know take for granted a lot of things... the way web dev exploded is a good example (even though not as shocking as yours!).
Makes me wonder what things will be like in the same amount of time in the future.
On getting software, particularly development software, its amazingly about even. Sure, I had to shuffle through a lot of floppies to install early versions of VC++ or VB. But, today, I find myself waiting, and waiting, for NPM or NuGet packages/updates to download every time I load a solution.
Has it really improved? I'm not sure. I'm now using command line tools a lot again, something I thought I had left behind after Windows 95.
I agree source control is a lot better now.
Open source is great now but there were some good free or low cost tools back in the olden days. You just needed to know where to get them.
How about changing CSS without browser's console?
You should mention what coding was like before Google and StackOverflow, i.e., crack open a book. Also the cost of said computer books...
Quark dongle: ADB, Apple Desktop Bus
I remember 10 years ago we used no version control system even though svn was here. AND at the same time I had no troubles finding a RichText editor for the web. I even had to CHOOSE!
So raise your hand if you know what a handshake sounds like.
You should follow up with the following;
Antivirus
MP3's
P2P file sharing
BBS's