I make no secret of the fact that I love old computers, and that I think modern computers have lost their way in terms of providing utility to users. To that end, I write about, and think about, computers and the way to move computers forward, without losing site of the fact that computers should serve their users. I grew up with hand-me-down computers, from Atari to Apple to Dell, and in the process I got to experience a sizable portion of computer history very quickly, in my teen years.
This left me with Opinions.
I write about things that are informed by these opinions often. When I talk about building a World Wide Web analog without the internet, about reviving the BBS or when I lament the fact that Gopher was doomed to obscurity by the modern web, it is in response to my experiences with an array of computers from the dawn of the home computer revolution up through to the modern age. There was a time when computers were magical.
I had come, in recent months, to suspect that I might just be an old fuddy-duddy. I'm approaching 30 years old, and I had begun to feel like I was looking at modern computers and modern software through the lens of someone who was being left behind, shouting at the sky, shaking my fists at the kids on my lawn. I was coming to the conclusion that my love of these computers of my childhood, and of ones that I had never had the chance to interact with, was some kind of rose tinted nostalgia.
I had not fully subscribed to this theory, but it seemed more likely that I was romanticizing something that was actually Not Great that it was that nearly every modern software and hardware platform had inexplicably gotten shittier.
I am now prepaired to say, with conviction, that every modern hardware and software platform has gotten shittier, and that it's not inexplicable. I'm going to try to explain how I came to this conclusion, and give some potential explainations.
First, let me lay out a little bit about my technical literacy and my profession, this might help explain some of the assertions that I'm going to make. I started using computers, and the internet, in 1995. Our family computer, my first computer, ran Windows 3.11 (for workgroups). Later, in the late 90s, I was given an Atari 400 and reams of books and magazines on basic, followed shortly by an Apple II GS and dozens of disks of software.
I loved computers. I loved making weird little programs, and silly applications and games. I'd build things in GW Basic or Freebasic, and distribute it to my friends on floppy disks. Even in the latter half of the 00s, I was passing half broken games around on floppy disks (or collections on CD-Rs, when I could talk someone in to buying some for me.) Computers were, by and large, ubiquitous in my life. Nearly everyone had an old one they didn't want, and a new one they didn't understand.
I collected cast offs from neighbors, from thrift stores, from office upgrades. I rebuilt them, installed useful or fun software on them, and sold them or gave them away. All of my friends had computers of their own, because I had access to these machines, and I cared enough to outfit them with the appropriate software.
(It must be said, at this point, that 'useful' and 'appropriate' are relative terms. In 2009 I gave a good friend a computer that had been built for Windows 98. It was running Puppy Linux from a CD, and saving data to a USB flash drive over USB 1.1. It did word processing, email, and basic web browsing. It had a whopping 64MB of RAM, and was covered in glitter, googley eyes, and carpet samples. But it was free, and it wasn't useless, and that was important.)
Some of these shortcomings are legitimate bugs. Some of them are bafflingly short sighted or poorly considered architectural decisions. Just as many are cases of a divergence between the needs of the user and the abilities of a program. Modern programs are often feature incomplete, poorly supported, and difficult or impossible to customize. Modern computers are often slow, and cranky. I'm responsible for handling the fallout of this unfortunate situation.
I've seen how revolutionary a computer can be, if it is designed with the needs of the user in mind, and how disastrous the same can be when it is not. I've seen computers used to empower people, and used to oppress. I've seen computers be Good, and the consequences of when they are not.
So that's who I am, and my experience with computers so far. Those are my credentials, and my qualifications.
Watching the developer of CP/M and DR DOS talk to a mainframe engineer who worked at IBM in the 50s about the future of computers as seen from the 1980s was eye opening.
On the one hand, this show serves as an excellent introduction to, or reminder of, the capabilities of computers 35 years ago. It helps us see how far we've come in terms of miniaturization, while also demonstrating again that, in many ways, there is nothing new under the sun.
Before the advent of the internet, reporters were writing their stories on laptops and sending them in over phone lines, 25 years before the release of the iphone HP released a computer with a touchscreen, three years before microsoft released he first version of windows Apple and Visicorp demontrated GUIs wih features that Windows wouldn't be able to approach for another 9+ years.
And, of course, I'm reminded again of Douglas Engelbart's 1968 "Mother of all Demos", in which he demonstrated the mouse, the GUI, instant messaging, networked gaming, and basically every other important development of the following 50 years.
It took 5 years for Xerox to refine and miniturize Engelbart's ideas to the point that they thought they could market them, and another 10 years before Apple refined and further miniturizaed the same ideas, and brought us the Mac.
Nothing is ever new.
There were others working around the same time on similar ideas, or at least from a similar philosophy. Working to make computers, if not intuitive, at least comprehensible. I think this is a noble goal.
The computer is often thought of as a tool, but it is more like a tool shed, in which we store a collection of tools, a source of power, and a workspace.
That is to say, in the 60s and 70s, computers were weak and slow and computer users were also computer programmers. A small, tight knit circle of developers and computer scientists were responsible for the bulk of the progress made in that time, and the idea of designing tools for non-technical users was never considered.
Computers became more affordable, slowly. Affordable computers became more powerful, quickly. Within 10 years, non-technical users were interacting with computers on a daily basis. It was against the beginnings of this backdrop that the phrase I mentioned earlier was coined. "Human Literate Computers" or "Human Centered Computing."
Ease of Use was the holy grail for a lot of computer companies. A computer that was so easy to use that they could sell it to grandma. But, to me at least, Human Literate and Easy to Use are distinct ideas. Many modern applications are Easy to Use. Netflix is Easy to Use. Facebook is, for all it's faults, pretty easy to use. The iPhone, the iPad, and ChromeOS are super easy to use.
Well, they are easy to use as long as you use them in the prescribed way. As long as you let them tell you what you want to do, instead of the other way around.
That, IMO, is the distinction.
I think that many of the steps towards demystifying the computer of the 80s and 90s did good work, but ultimately, the computer industry left the whole idea behind, in favor of making some tasks Very Easy while making other tasks Practically Impossible, and turning everything into a surveillance device.
When I was a kid I was brought up with computers that showed you how they worked.
You booted in to a command prompt or a programming language, or you could get to one, if you wanted to.
I got to play with GW Basic and qBasic and, a little, with hypercard.
I got to take apart software and put it back together and make things that made people happy.
I often wonder why Hypercard had to die.
It was because Jobs wanted the Computer to be an Appliance. A thing only used in prescribed ways.
Letting people build their own tools means letting people control their own destiny.
If I can make what I want, or if someone else can make what they want, and then I can take it apart and improve it, why would I pay for an upgrade? Why would I pay you to build something that doesn't meet my needs?
Hypercard, if your unfamiliar, is powerpoint + instructions.
Here's a great introduction/example: http://www.loper-os.org/?p=568
The author walks you through building a calculator app in about 5 minutes, step by step.
Warning: There's a bit of ableist language tossed around in the last paragraph. Skip it, there's nothing worth reading there anyway.
You use the same kinds of tools you would use to build a slideshow, but you couple them with links, multimedia, and scripting.
Want a visual interface for your database of client data? Great! slap together a roladex card, and drop in a search function.
Go from concept to presentation ready in an hour or two (or less, if you've done this before!)
@ajroach42 it's also what what Myst was originally built on (as well as Cyan Worlds' previous two things)
@ajroach42 in grad school we used hypercard to mock up AI concepts.
Because you can't pseudocode AI, as you need to know what *really* happens. And this was a way to pseudocode the output.
Obviously it was not ideal but it was a way to see if the problem was in the concept or in some possibility of coding.
@ajroach42 more broadly, if developing small pieces of software to fill specific, humble needs becomes a thing almost anyone can do, then why would we need a software priesthood of overpaid, infantilized coders to hack through the thicket of competing corporate strategies? we'd need a smaller number of dedicated expert systems bridge-builders but nothing like what we have now.
@ajroach42 Back then? Don't know. Those were the days of "take the case off of your 1541 drive and cut the following traces on the PC board to change the device number."
Strictly for the hardcore, as it were.
This is how I learned as well.. back in the C=64 , TI-99/4A, and Apple ][c days..
I hope you are preserving this thread in one place. It is a thoughtful and valuable series of observations.
I am sorry that you felt it was good to remove from public timelines AND I am glad I'm following you so I get to see it.
@Algot I posted unlisted because it's a Lot of posts, and I didn't want to clog the FTL. Feel free to boost.
@Algot I will be posting it as a blog post eventually, once these ideas are a little less raw.
I'll post about that when it's ready.
Much of what you say resonates with my own experiences.
TRS-80 was my beginning point --> Apple II+ --> Mac --> DOS --> Windows --> GNU/Linux --> 3D printing and RPi
I feel like I'm getting back to my beginnings.
Easy to use may actually stand in the way of being a learning tool when understanding the tool itself is the goal.
@ajroach42 I'm kind of sad that one part of that demo never caught on, that being the chording keyboard. Having a one handed chording device makes quite a bit of sense when combined with a mouse in the other hand.
@ajroach42 my sister used to regularly use a brailler which gave me a bit of a bug for the idea at a young age (if you haven't seen one, there are 8 regular keys (for the 6 and 8 dot varieties of braille), a space bar, and on some models a single character advance/backspace keys or else a clutch&slider to move along the line. If you want to type an "r" you simultaneously press keys 1, 2, 3, and 5 to emboss those dots at the current position.)
@ajroach42 with the six dots of English Braille you can type all 26 letters of the alphabet, numbers, punctuation, and several common two and three letter combinations. Numbers are done using a character that says the following is a number and then a-j are reused for the ten digits. Likewise there's a capital sign that says the following letter is a capital. So despite six dots only having 64 combinations, standardized English Braille has around 250 'characters'.
@ajroach42 I started using computers in 1982 and had a similar experience to you. I think your experience is rare among folks who started using computers in '95, but not at all rare in someone who started using them 10-20 years earlier.
@ajroach42 I read what you wrote but have not dug through all the responses, so please forgive me if I say something that's already been mentioned.
I think a lot of the problem is that the nature of the people programming computers has changed. Back in the 60s-80s, nearly everyone writing software was a tinkerer. Nowadays "programmers" are mass produced, and by and large they are neither tinkerers nor engineers; they are laborers.
@ajroach42 So we now have a system for churning out software using laborers. Naturally, the vast majority of tools are built for those laborers.
@ajroach42 The tools are also built *by* laborers. The thing you want would have to be a product of an entirely alien evolutionary line. I think Smalltalk is a pretty good example of a tool like that that is still in active use. But it stays small because if you want to actually work in programming (i.e. be a laborer) or build tools for the laborers, Smalltalk isn't particularly useful for it.
@ajroach42 I've been thinking about the idea of trying to provide something analogous to that experience of booting to the OK prompt on modern hardware without severely restricting functionality, and I think Genode might be on its way to providing a good base for such a thing, because it could run both your "shell" with very little underneath as well as VMs running full-blown OSes that could be started from the shell.
A social network for the 19A0s.