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.
The Computer Chronicles was a TV show that ran from the early 80s through the early 00s. Over it's nearly 20 year run, The Computer Chronicles covered nearly every facet of the newly developing Computer industry. It was hosted by people with Opinions.
The guests were, frequently, people who were proud of the things they made, or the software they represented.
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!)
My nephew has an ipad.
He asked his dad how to write games. His dad didn't know. His dad asked me how to write games on an iPad. I told him not to bother.
My nephew asked me how to learn to write games.
I gave him a raspberry pi and a copy of pico 8.
Now he writes computer games.
He couldn't do that on his iPad.
In the first episode of computer chronicles (https://www.youtube.com/watch?v=wpXnqBfgvPM) the mainframe guy is real adamant about how mainframes are good and micros are bad.
The host, a microcomputer legend, disagrees pretty strongly.
Later, when they talk about the future of networking, the mainframe guy talks about it as a return to mainframes. The micro guy talks about BBSs, peer to peer networks.
The mainframe guys are winning.
@ajroach42 I want to respond, elaborate, & discuss at length here. I spent about 10 months some years ago immersed in the computing literature around the history of debuggers, during which I went from EDSAC to Visual Studio, but also all the other half-dead ends ends of computing history such as, e.g., Lisp machines.
Naturally, I came out of it a Common Lisper, and also naturally, with Opinions about modern computing.
Up for the discussion? It could get wordy and over a few days. :)
@pnathan for sure.
I haven’t gotten in to lisp machines yet, but I’m always down for discussion.
@ajroach42 @ciaby
OK, so, I'm about a decade older than you, Andrew: I taught myself QBasic in the mid 90s, got online late 90s, never really looked back.
First, I want to say this: older computer systems - considered as systems - were generally more capable.
But to be clear, they were limited in use for those who didn't take an interest in learning them. I'm talking about things that weren't Windows 3.1+.
@ajroach42 @ciaby This was the Great Debate that was largely won by Microsoft. "Everyone can 'use' a computer.". That is to say, everyone can operate the appliance with preinstalled software. *everyone*. Apple pioneered the notion, but it turns out to be the preferred mode for businesses, who really rather don't like having specialized experts.
@ajroach42 @ciaby It is my contention that Windows (& *nix) computer systems are designed to be administrated and managed by sysadmins, and the user experience in this case is great.
When you have sysadmins, there are no driver problems. There are no printer problems. There are no problems, as a matter of fact: it's all been taken care of by the admins.
This is exactly how executives like it.
Apple does the same, with their iPhone.
Apple is the sysadmin, metaphorically.
@ajroach42 @ciaby your users pay you so they don't have to care about sysadmin issues. their world is great!
@ajroach42 @ciaby I'm glossing over the 1% failures to get at the core point: sysadmins are designed into the windows and unix world so users can focus on their core competency.
@Shamar @ajroach42 @ciaby I'll eyeball your work.
people can program. people do program. where there is a will there is a way.
and there are many many ways to program.
arguably most are terrible, and the ones that condesendingly target newbies produce the worst systems overall.
That the #complexity of #programming is not necessarily inherent to the matter.
here is where I disagree.
the complexity of understanding the "web stack" is incidental; the compelxity of understanding the concept of distributed computing and comms protocols is fundamental.
or something as simple as rendering bits to the screen. raster? vector? what abstraction do you choose to execute the display mechanism. now you have a model.
@Shamar @ajroach42 @ciaby ... continuing. Next year, maybe you want a different model, so you break off and redo it a bit. Now you have to figure out how to juggle two incompatible models in your code, and you're on your way to inventing an abstract interface system.
even if you're doing assembly!
here's my claim: software is crystallized thought, with all the complexities, ambiguities, and changing over time of thoughts. we can gut the whole shaky tower of modern computing, and we'll still be confronted with the core problem (even assuming a workable and standard bit of hardware for the engineering problems, themselves non-trivial sometimes)
EWD was probably the most astute prophet of software engineering that has lived to date.
let me challenge you: what is the secret knowledge which, knowing, would unlock the door?
@Shamar @ajroach42 @ciaby ah but that doesn't get anywhere until we start digging.
what is simple? is it the ability to point and click a mouse? is it a keyboard key?
both of those have deep wells of complexity and knowledge to make happen, despite surface simplicity.
or is it a transistor, which accumulation of produces unspeakable complexity?
@Shamar @ciaby @pnathan The web isn't all bad, and it's not all bad technologies, but it isn't all good either.
All I'm asking is that we take a step back and examine our modern software with a more critical eye towards how we could improve it for future generations.
I'm not sure why this has become so controversial.
To the user who wants to display bits on the screen, it shouldn't matter unless/until they want to display bits in a way that one format handles over the other.
I can see how and why it matters to someone building more complex systems, but if all I want to do is have a text input box, why do I need to care about anything else you said?
@Shamar @ajroach42 @ciaby One system that I have been curious about is http://www.ethoberon.ethz.ch/white.html#System Oberon OS. Apparently it was extremely successful but external pressures collapsed it.
@Shamar @pnathan @ciaby I feel like you think this was a clever point, but I don't understand what you mean.
Programming is a specialty, and some people have other specialties. Expecting them to also become expert programmers because our current expert programmers can't be arsed to make extensible and understandable tools is unreasonable.
@Shamar @ciaby @ajroach42 Bold claim: open source or non-open source hardware doesn't matter when deployed at scale.
the essential problems today are, in a sense, all software, mediated by the scale.
@Shamar @ciaby @ajroach42 that said:
we have these *inter-twingled* issues: the hardware is manky, the software is manky, and the incentives to improve are perverse.
http://nymag.com/selectall/2018/04/dan-mccomas-reddit-product-svp-and-imzy-founder-interview.html
My reckoning is that there is a space today for a sort of New System, a Unicorn OS, where the whole thing is largely rebuilt. Does the web have to exist? does tcp/ip? are there better systems?
here we see we make choices and one prioritizes those who take the time to learn the system and one ...doesn't
@Shamar @ciaby @ajroach42 UnicronOS : the magic OS that we're talking about that solves the problem.
with a sparkling dash of rainbow over it, because, you know it's magic. :)(
ah jeeze man, think of the sysadmin needs.
the mail servers fail. the administration is confusing because docs aren't perfect, so it gets misconfigured. the network goes down. baby pukes on server and it fails to boot. server is overloaded by volume of spam.
then the task is outsourced to a guy interested in managing the emails....... whoop whoop we're recentralizing.
@Shamar @ciaby @ajroach42 my Inner Young Geek wants to argue that actual configurable systems are actually not used in the home outside and that mail servers cross that barrier between appliance and administrating-needing machine.
but let's not rabbit trail onto that. ;-)
more my contention and question is: should we expect a member of cyberspace to be knowledgable in minor sysadmin?
I argue yes! we expect people to be able to refill their oil in cars, right?
@pnathan ... no?
There's a whole industry out there of shops that only exist because people don't change their own oil.
@ciaby @ajroach42 @Shamar I agree that backward compatibility has to be nixed for real research and change to occur.
now I have to debug a piece of code that is like the reification of all bad backend possibilities combined.
@Shamar @ajroach42 @ciaby @pnathan
The direction this seems to be heading in is that we need to make a LISP (or Scheme) web browser.
I'm planning on starting soon...
@ixn I'm always down for more browsers.
@ixn @Shamar @ajroach42 @ciaby why should you make a web browser?
why not a gopher system for browsing files?
and for interactive work, why not dig through one of the old remote windowing & data transfer systems, and use *that* approach?
@ixn @Shamar @ajroach42 @ciaby believe me, the modern web is a *windowing* system with *HTTP* calls as data transfer protocol. kill the HTML/JS/etc side of it, and use a stateful connection
@pnathan
Or, why not just use SFTP, with a FUSE filesystem on the server?
You can use a file manager and text editor, and you can have interaction, as well as authentication through SSH.
I think it even supports FIFOs...
@pnathan @ajroach42 @ciaby it’s so bad that many error messages just say “this broke, contact your sysadmin” which isn’t helpful to anyone
@queerhackerwitch @ciaby @pnathan I agree with this a lot.
It's like: I'm the sysadmin, and I don't know why it broke. Now what?
@pnathan @ciaby Except for when it isn't, yeah.