(2015-11-14) Falcone The Origin Of Hypercard In The Breakdown Of The Bicycle For The Mind

Justin Falcone: The Origin of HyperCard in the Breakdown of the Bicycle for the Mind. This is a transcript of a recently discovered talk presented at ManhattanBBS, a NYC tech meetup, in November of 1990. (That's the joke/setup.) What is it that we like about computers?

For all of us, the computer is a land of pure imagination, where we can let our ideas take form without physical constraint.

How do we think thoughts that are too big for other people’s programs?

I love programming.

But getting from there to making your idea real? Frankly, it sucks.

The crux of the issue is that we pretend that there’s only two kinds of people out there — users and programmers — but there’s a vast range of human experience between these categories, and we do nothing for them.

There are culprits on both sides of this equation: first, there are the commercial software companies. A lot of them see their power users as an audience too small to matter; the overhead of making their tools pluggable or scriptable is not worthwhile. But the other side of this, the community of programmers — we’re also responsible. There’s a part of our culture that wants programming to be hard.

But it doesn’t have to be this way. There are software paradigms that have something for people all across the spectrum, from user to programmer and everyone in between. The one I’m going to be talking about today is called hypermedia.

People can build interactive presentations, databases, and even simple games without writing any code whatsoever; its all done with linked pages. But when you do hit the limitations of the paradigm, its a surprisingly good substrate for integrating traditional programming.

The germ of the idea goes at least as far back as the dawn of computers, and there have been quite a few implementations, but until fairly recently they’ve been limited to research labs and massively-expensive workstations. All this changed with HyperCard.

It’s a safe bet that computers in 25 years will be vastly more powerful, and that the internet will be vastly more widespread, but we need a little more vision to imagine a world without barriers between users and programmers

So I’ll try to answer two questions: how will people across different levels of expertise work together? And: what role will programmers, as we understand them today, play in 2015?

Let’s call the category of people between users and programmers “authors.”

One of the first challenges people come up against when they’re building hypermedia is abstraction — how do I have cards share something like a layout but have different content on each one?

Hypercard stacks....content in the foreground can refer to fields in the background,

A more generalized version of this is called transclusion.

It allows for much more granular separations of content and layout than just foreground and background layers

it provides a basis for collaboration: transclusions can be used for annotations

Another common pain point for non-programmers is version control. As of today, you can’t even run a hypercard stack from a file server without locking it; version control would allow authors to edit independently and then merge their changes.

One of the things people wonder about with links and transclusion is if they refer to a document at a particular snapshot in time or whatever the current version is. Well, in a version-control aware system, that can be up to you.

You’re probably starting to get an idea what you can do with hypermedia, but its still a fundamentally limited paradigm for writing software. HyperCard extends the paradigm with the HyperTalk language, a very user-friendly, Smalltalk-influenced environment.

But no matter how “user-friendly” a programming language is, its never friendly enough for all people; all code is, at some level, a necessary evil

So we must fight our instinct as programmers to expose a programmatic API and call it a day — we need to think about extensibility at different levels — from configuration to plugins to scripting — and build software with affordances at each tier.

One of the ways that this extensibility can be made accessible to hypermedia authors is through widgets. By “widget” I mean a block of interactive content that you can transclude into a document without having to concern yourself with its implementation details

Ideally, widgets aren’t just black boxes

In A Pattern Language, Christopher Alexander frequently discusses the role of customization in architecture, and he repeatedly argues that the process of customizing and modifying buildings over time

We also see this work out in the tools we use. Emacs has already been around for fifteen years and could very well be around in a hundred, and for a large part this is because its so focused on customizability — it wants to be customized. Likewise, HyperCard encourages a similar pattern of ownership

Ecosystem

Where do widgets come from? At first, a lot of them are going to be built in.

But there’s also a small community of third-party widget makers, some selling them commercially but many distributing them as freeware

This becomes its own kind of collaboration, as people who have never met nevertheless become interdependent on each others code.

Its important to note that this ecosystem, like all the ideas I’m discussing, will need to work at both ends for people with a wide range of abilities.

Workflows & Frameworks

The unit of abstraction in this ecosystem won’t always be widgets; common workflows and widget collections will aggregate into frameworks.

we can see the cultures around frameworks as a means to bring people into the community as a whole; we can see frameworks as places for patterns and idioms to mature.

If a framework allows people to be productive even when they barely understand how to program, then the system works! If some people are content remaining at that level of expertise, that’s their prerogative. And if they outgrow the framework — well, that doesn’t mean that the framework was bad, its just not for them anymore.

Conclusions

Hypermedia is the product of futurists and philosophers as much as it is of engineers and scientists

As We May Think was written during the end and immediate aftermath of the Second World War, and the desire to turn the eye of science and technology away from war

1990 is a much different world than 1945, but the premise is the same: I’m responding to the unease I feel about how we’re using technology. The home computer industry has sprung up from basically nothing in just over ten years, and has absolutely made computers easier to use and more accessible, but there’s no higher purpose towards enriching humanity; its just a side effect of making money.

And I see a worrying trend — as the balance of computer users shifts from nerdy hobbyists to “regular people”, we’ve focused on making software as “appliance-like” as possible, at the expense of user empowerment.

Including HyperCard. While the current version comes for free with every Mac, Apple thinks they can monetize it, so next years version is going to be paid software, with a crippled “player” version available for free. When I say I’m more interested in the ideas in HyperCard than the program itself, I mean that I don’t think it has a future.

And at a higher level, I’m troubled that while our world is becoming increasingly dependent on software, the creation of that software isn’t being democratized.

There’s a metaphor that Apple uses to talk about the personal computer — the bicycle for the mind.

Not only is a bicycle a tool that increases human ability, but its a relatively cheap one, too. You can sink a lot of money into a nice bike, but even a cheap single-speed Huffy will get you around.

The computers we have today are not bicycles. Instead we’ve got something more like a car for the mind. Which, you know, does get you around and is easier and more comfortable than a bike. But at what cost? When we decided that America would be a place for cars, we signed ourselves up for urban sprawl, air pollution, car crashes, and oil wars. (automobile)

Some people look at this through a conspiracy lens. They think the reason Apple started charging money for HyperCard is because the commercial software publishers were afraid

But no conspiracy is necessary to support the status quo, only apathy.

And HyperCard — well, the bean counters know that they can make some money right now if they sell it as “pro software” — who cares what impact down the road they’re throwing away — and this is entirely consistent with them marketing the Mac as a luxury good for wealthy dilletantes.

Technological inequality doesn’t require a conspiracy against free software

I can imagine a world in which computers are a thousand times more powerful than they are today, and nearly everyone has the equipment to create hypermedia-powered software that we couldn’t even imagine now, but the tools are so arcane that next to nobody has the ability to use them. And in my darkest moments, I can imagine a 2015 in which everyone is constantly connected to a global network of computers, but the whole system is designed to show us ads and spy on us. (surveillance capitalism)

These are products of the system as much as they are causes, because technology is an open feedback loop. If we want the power of computing to benefit all of humanity — if we want to make a true bicycle for the mind — we can’t just assume things will work out that way on their own; we need to make this a conscious goal of every decision we make.

I’ve presented you two visions of 2015 — one in which we use a global hypermedia system to increase human understanding, and one in which we use it to shackle ourselves to the commercial software industry. The basic technology is the same; all the difference lies in how we choose to use it.


Edited:    |       |    Search Twitter for discussion