4 Things Developers Take for Granted That Used to Be Really Hard

Brian Rinaldi - Aug 29 '18 - - Dev Community

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.

shrink-wrapped software
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.

floppy disk installs
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.

Dreamweaver activiation
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!

anti-piracy dongle
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.

Homer hard at work
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.

Geocities
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.

pop up ads
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:

bad version control
Yes, we've all done it.

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 is not quite right
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.

waiting on bug fixes
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 🙂

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .