September 2020

We Need To Talk About Operating Systems Or Kevin Or Something…

  • tomsmith 

Or rather we need to talk about “the way we operate”. So much more interesting.

In the 80s, Apple, who nicked a load of ideas from Xerox, and managed to take Xerox’s concepts and develop a product that people would, and could actually buy. They created The Macintosh and they changed the world.

Since then the world has changed, beyond recognition, and if we’re honest, operating systems haven’t kept up.

In a way, web sites took over the role of “the way we do things” — they filled in new gaps in new ways — and because web sites/apps are easier to make than “real” applications, we got an explosion of new possibilities, new tools, new ways of doing things. Amazon/Ebay/Uber etc.

These new ways weren’t merely interface improvements, like, if I drag this with the option key down, but instead, these new ways included entirely new arenas like, I can book myself into someone’s spare bedroom in a city I’ve never been to. This is/was such a monumental shift in the “way we do things” that developers haven’t kept up with it.

The thing is, even though people have frankly, cobbled together fantastic apps and services, sitting there, working away, almost unseen are a collection of fundamental components on which this all sits. An analogy might be that we have discoved pictures, but only know about primary colors.

The Basic Components

What we work in, day in day out, are certain components of a user interface, that we almost don’t see any more.

Things like the cursor, or “a text area” or “a button” or a “scroll bar”. These are all items invented in the 1960s by Doug Englebart et all at Xerox.

There you were thinking your app was “the latest thing”. If you watch the video, and for me it was a mystical experience, like meeting God, you will see, that not only were these basic components described in ancient history, back then, they were better. For example, when have you ever shared a screen with someone and you both have a cursor?

This video presentation inspires and fascinates me because they imagined a new world into existence. You are living in, and working with, the playing out of their imaginations.

But here’s the thing. The basic components that you see in the video have developed in fifty years, but in the main, they are the same.

But Here’s The Thing…

One of the problems with “basic components” or “the way that you do things” is that as soon as people learn how to do things, they don’t want to be hassled with another way to do things, even if the new way is demonstrably better. They would rather plough on, knowing deep in their hearts that they should evolve, but because of the need to “get stuff done” are nervous to risk a new approach.

And one of the problems with the tools is, that, when all you have is WordPress, a godawful tool, then you end up with lots of WordPress-ish content. I “wrote” this article in a fit of pique in Left, but needed to pubish it, and ended up here, in the land of “the way you do things. Dullsville.

TIMTOWTDI

Perl is a computing language that, if you were to make tea from steeped text files, and then drink it, what you threw up would be valid Perl code. TIMTOWTDI stands for “There is more than one way to do it”, an philosophical way of life.

Despite my Perl bashing, the Perl community has a point. There IS/ARE more than one way to do everything, and that includes different and vastly superior approaches on “the way we do anything”. As I said, the internet is proof of that. The internet is not MacOs/Windows/Linux. It is better, in parts.

Over the years, I have been exposed to various “new ways” and have run with them. Hypercard revealled a world of “Programming for the rest of us” and also how empowering coding could be. Prograph CPX, a visual programming tool, showed me what beautiful code should be, and to this day, I make errors that I couldn’t have in Prograph.

90% of making software is bugs.

There Are Other Ways

Over the years, seeing the failure of operating systems to evolve beyond their initial promise, all we ever really got was “more of the same”, and now web sites and services fail to deliver what we want and need in ways we can’t articulate because we are locked into what I’ve termed, “the basic components”.

When you have a limited palette, there are only certain images you can create. In computer terms, we are there. We are living, from a technology perspective, in a screen print world, rather than an oil painting or a photograph. Technology is a 10 colour world defined in the late 60s by a bunch of techno hippies.

I feel a duty to pass the projects that buck this conformist trend. They are shooting star projects for me, in that they shone brightly but faded away. I still not only remember them, but live by their light.

These projects, of course, don’t hold ALL the answers, but because they were novel, well thought out, and revealled in their brilliance what we are lacking right now.

HyperCard

If you don’t know Hypercard, it was given away free with all Macintoshes. It was a tool with which you could make software. And people did, they made tools, and lessons and information “stacks”. Hypercard was the world wide web but on CD-Rom/bulletin board.

You can browse a small sample of the plethora of Hypercard stacks, educational, games, tools that were made here https://archive.org/details/hypercardstacks

If you give people a space to CREATE, they do. Hypercard was beloved by artists and educators because they could, in my words, redefine what was possible, and make new works, interactions, and experiences.

It was killed by Steve Jobs when he returned to Apple because lots of Hypercard apps weren’t well designed, they didn’t meet the brand. But, THAT WAS THE POINT! If you can easily create an app that does what you want, then THAT is “a thing”. That is the goal.

So much of today’s work is about struggling to use systems, and approaches that are badly designed. A “good computer” is one where you make it work they way you want. A “good computer” is one where you say, I have this data, and these events, and I would like this to happen.

Currently, that landscape, of being in control of everything, is in the hands of programmers. You pay them to make a world that matches your expectations, or buy a product that gets close enough.

Hypercard was marketed as “Programming for the rest of us”, as the Mac was “The computer for the rest of us”. It got killed, but that goal is something still worth persuing, that the computer will actually deliver what you want, and not just give you something close enough that you eventually fudge into being what you originally wanter.

LifeStreams

https://www.wired.com/1997/02/lifestreams/

I don’t know where to start with this one. David Gelernter, who incidentally has his hand blown off, and blinded in one eye by the Unabomber, seems to me to be a very deep thinker, and the world simply didn’t get it. I know the feeling, but I lurk in shallower waters.

Gelernter devised the “idea” for an operating system that wasn’t based on files and folders, but instead is based on a time-based stream of what you are working on. So, stuff you have worked on, or accessed recently is handy, and other stuff is less so. I always thought of it as a left to right thing. I may be wrong, but instead of folders, and sub-folders all you have is left-to-right.

Attempts to make LifeStreams into a reality were made, and in many ways, it sounds a bit like the Slack were all used to (albeit vertically) or Twitter. But, part of the problem with LifeStreams, as a concept is that, to simply imagine it, to make a prototype, you have to work against our current paradigm (i,e folders and files). As a “concept”, it was hamstrung by the very “that’s not how it works”. In order to create Lifestreams, under the hood you would probably need to create lots of files and folder to store your data.

The paradigm shapes everything you attempt. A simple text field, needn’t be so. In a notebook I can write a word and then annotate it with a doodle.

LEAP

One of the insanely gifted designers at Apple in the early day was Jef Raskin.

Jef looked at text editing, or rather, the text editing of the 80s on an Apple Mac (the very height of innovation) which as it happens, is almost exactly what we have today, as I said, things haven’t moved on, and he came up with an alternative way of doing things that was realised in a product called the Canon Cat.

https://www.fastcompany.com/90380553/meet-the-canon-cat-the-forgotten-1987-alternate-reality-mac
https://apps.apple.com/app/raskin/id404175816?mt=12&ls=1

In short, my simplistic take on his ideas were:
• A text document can be quickly navigated (LEAPING), interface is everything.
• There are no documents, there are just lumps to LEAP between
•  Documents can have data evaluated live, something similar to small bits of code, or spreadhseet formulas or calculations.

I may have misunderstood it, but how many times have you been writing and you want to “leap” to another doc to check something then type “profit this month()”, knowing that data will be live, or somesuch?

Left

https://github.com/hundredrabbits/Left

All of this leads me here to Left a minimalist text editor by the gods at @hundredrabbits. They make a generative music app called Orca that is trancendential meditation crossed with a spreadsheet.

The Left app doesn’t have LEAP features, doesn’t do “Lifestreams” but it is “just” a Javscript app.

Left interesting to me because :
  a. it is simple and nice
  b. the source code is editable

People have got so used to some very toxic ideas such as”
  a. The way things are is unchangable
  b. They can’t change the way things are
 
 When coding, I use Visual Studio, and I have lots of gripes about it, but for me the killer feature is that people write niche functionality, and I can install that and use it. It is one huge application, but I can add the things I need easily, such that I “feel” like I’m editing the app.
 
 I’m not of course, and to be honest, the Left code is readable, well written and lovely, but it’s not exactly where I would want to be. Not everyone has my ability to make a mess of some perfectly reasonable Javascript.
 
 In the 70s/80s, an environment called SmallTalk would run up, and you would not only create your own work, you would edit the environment itself. They were the same thing. As a concept it’s hard to get over. We have got used to a world in which there are “applications” written by corporations and very clever people, and there is “content”, or what we put into the applications we are given.
 
 It neededn’t be like this, or rather, it shouldn’t be like this. “Our content” is in part, an application. “Content” isn’t just what you can plop in a text box, even though that’s what they might limit you to, what it is is, this medium… digital whatever… it doesn’t have to fit in boxes, be a document, renain the same over time or be black text on white.
 
 I sometimes get the feeling that the world feels like it has solved “digital design” and we are now in a phase of “just getting it done”. But the truth is, the primitive tools we’ve been handed, the text box, and cursor and button aren’t up to the job.
 
Deep down you know this. You think, there has to be a better way. And the truth is, there is. It’s lurking in fringe tools and history. People twenty, thirty years ago had ideas just as good as yours, but didn’t have the frameworks, community and support to realise them that we have now.
 
The thing major missing in the next big digital revolution, which is “the way we do things” is you. Unless you are engaging with technology in a way that assumes you are in contol, can make your imaginings real, you are part of the problem.

The answer needs developers to create more expressive tools, rather than fixed products. We all need tools that adapt to us, not the the other way round.