HyperNerd

I wrote about the idea of hyperlinking information in my last post. Vannevar Bush first described the idea of hypertext in 1945. One of the most accessible and practical pre-World Wide Web applications that drew heavily on the ideas of hypermedia was a program developed by Bill Atkinson at Apple, released on the Macintosh in 1987.

HyperCard, as the name suggests, was based on the idea of stacks of cards, hyperlinked to one another. Think of it as a stack of index cards that you could draw on and annotate with pictures and text. Just like the Memex, you could then use the power of hyperlinks to link cards together so that, for example, clicking on a picture of a dog might bring you to a card with more information and pictures of that dog, with further links to other cards, etc…

I started using HyperCard at a young age, and I remember finding it very frustrating at first. I was used to painting on blank 2D canvases such as the ones in MacPaint. In contrast, when I opened HyperCard for the first times, I found the terminology confusing and foreign. I would get annoyed when, after creating a graphic masterpiece, I would hit a key combination to jump to a new blank card, and see my picture disappear before my eyes.

My world was shaken when I finally got the idea of stacks and cards. It was like all of a sudden, I was able to paint and draw in 3 dimensions rather than 2. At first, I experimented with short stories which would start on the first card, and continue from that card to the next.

The HyperCard 2.0 Home Stack — The home stack was a kind of launch pad into HyperCard. You could start your HyperCard experience through tutorials, by seeing example stacks (such as a phone dialer or address book), or by diving-in to creating your own. There were even customizable tabs, for adding links to your own stacks. Incidentally, this home screen design can be seen in modern products such as the iPhone today. (Image used with kind permission from Robin Silberling)

Shortly after, I discovered that it was possible to make flip-books in HyperCard as well. I would draw a picture on a first card, then make the image on the second card slightly different, and so on. I remember creating countless animations, some of them becoming quite sophisticated, with cut scenes and longer runtimes.

In addition to being able to draw and add text to each card, you could also place a variety of buttons onto each card. In their simplest forms, buttons would skip to another card or play a sound. When I discovered buttons, I started making adventure mini-games. In one game, you started standing outside a house. By clicking on the doorway, you could open the door and step inside the house. Each room had doors leading to other rooms, and so on. All of this was done by drawing pictures of indoor rooms on different cards in a stack, and then using buttons to interlink them.

I experienced another quite profound paradigm shift when I discovered what lay at the heart of buttons: HyperTalk. While Bill Atkinson had written the core of HyperCard (stacks, cards, drawing & painting, etc…), his colleague Dan Winkler had been busy developing a programming language to give stack authors powerful ways of adding extra functionality to their projects. He called this programming language HyperTalk.

The best part about HyperTalk was that it was very intuitive and approachable. Many programming languages tend to look exceedingly cryptic to the uninitiated, but HyperTalk was constructed so that it read mostly in plain English:

on mouseDown
  put "Hard Drive:Documents:Client Contacts" into filePath
  if there is a file filePath then
    open file filePath
    read from file filePath until return
    put it into card field "Client Contacts"
    close file filePath
  end if
end mouseDown

Since HyperCard shipped with a number of demo stacks, I was able to jump in head first, and teach myself HyperTalk very quickly through experimentation and by copying-and-pasting bits of HyperTalk script from other stacks into my own. With every new bit of HyperTalk that I taught myself, I felt like I was pushing my creative boundaries further and further.

Over the next several years, I developed an insatiable thirst for mastering HyperCard. I would rarely do any homework, as generally my bag would get dropped onto the ground with complete disregard as I bee-lined from the front door to my Mac Plus. My experimentation with HyperCard was vast, and the number of stacks I created must have ranged well into the thousands. Among others, I remember creating a Wheel-of-Fortune type game, a trivia game, a maze game, a visual dictionary of wind instruments, a bulletin board system (!!), innumerable Choose-Your-Own-Adventure type games, programs that drew pictures for you, chess puzzles, and the list goes on. And on. And on.

By now, I was fully sold on the merits of HyperCard. Birthday and Christmas gifts would come in the form of new versions of HyperCard or books about advanced programming in HyperTalk. Wanting to evangelize the creative possibilities of this program, I started a computer club at my (primary) school, and (starting in 1995 at age 12) worked for two summers as an instructor in a computer summer camp. There, I met a fellow instructor who was as passionate and savvy with the ‘Card as I was, and we wrote together what I still consider, to this day, my HyperCard Magnum Opus: a battleship program. After the kids had gone home for the day, we’d wire one of the computers to the projector, and we’d take turns programming and reviewing the other person’s work on the projector. By the end, our battleship program became a fierce challenger, with 5 levels of artificial intelligence, each progressively more intelligent than the last. By level 5, the AI would flat-out cheat and look at your board to see your ship positions.

During the day, I taught kids the basics of HyperCard. Some kids chose to make simple flip-books and adventure games, while some of the more advanced learners got into more ambitious projects. I particularly remember working with one boy who was autistic. Stacks and cards were not concepts he was fully able to grasp, but he nevertheless created drawings in HyperCard that showed a lot of talent. The kind of creativity that HyperCard enabled, and which was visible in the kids’ projects constantly surprised me.

From the Memex, to HyperCard, to Wikipedia — the evolution of hypermedia.

By the end of the second summer, I had become a HyperCard guru. By this time, the World Wide Web had come into being in an early form. Not content with simply advocating HyperCard on a local scale, I created a website dedicated to archiving and organizing snippets of HyperTalk code, for the larger community of power users like me. I was the chief contributor.

HyperCard was born in 1987, before the internet and before even colour Macintoshes. By the mid-90′s, HyperCard still didn’t have true internal colour support, and had fallen into disrepair following organizational problems at Apple. In 2000, what little development efforts were being made were ceased, and in 2004, Apple stopped selling HyperCard altogether.

Having learned everything I could about HyperCard, I gradually shifted my focus to other programming languages (like the ones I was using to build the website to promote HyperTalk).

HyperCard was a killer app, and a testament to great software design. The best part about using HyperCard was that it was fun. And yet, it constantly challenged you to explore a little deeper, to try something new. I have not found a single other creative application that was so thoroughly rewarding to use and learn. Sadly, I don’t even remember the last time I used HyperCard. It won’t run on any modern computer, but just in case I get nostalgic someday, I’ve kept my Mac Plus safely stored with a handful of stacks not far away…

TED Talks: Blaise Aguera y Arcas Demos Augmented-Reality Maps (2010)

Blaise Aguera y Arcas is an architect at Microsoft Live Labs, and is a repeat TED Speaker. In 2007, Blaise demonstrated a research project Microsoft was working on called Photosynth. The software demo showed fascinating new ways of presenting graphic information in 3D and infinitely-”deep” 2D spaces.

He spoke again recently at TED2010, about augmented-reality maps. Reality augmentation is the idea that technologies could come and “enhance” our senses, by adding pertinent information about things around us. Using the pioneering work of Photosynth, he demos a Bing Maps application which juxtaposes information and images of all kinds into a 3D map. Truly jaw-dropping!

As We May Learn…

In 1945, Vennevar Bush wrote a paper, published in The Atlantic Monthly, entitled “As We May Think“. In it, he described an imaginary machine of his conception which he called the Memex.

In essence, the Memex was an elaborate microfiche reader. The idea was that many different microfiche could be put together in a kind of portable catalogue, and retrieved and viewed mechanically on the Memex. In abstract terms, it was like a library of books or documents which could be accessed in a single desktop-centred apparatus.

The genius of the Memex came with the idea that in addition to simply viewing microfiche, you should be able to annotate and interlink them. For instance, if you were a biologist studying certain types of tree leaves, you should be able to use the Memex to write your notes on one microfiche, and link that page to other pages talking about photosynthesis — from your notes, or an encyclopaedia, perhaps. Since this was a WWII-era contraption, Bush described the machine in terms of vacuum tubes, projection screens, photocells and dry photography — all technologies dating from a very different computational epoch.

Bush’s essay went on to explore the space around the machine as well, with predictions that academic exchanges would be reinvigorated by the Memex, as trading notes and documents would be a simple matter of mailing microfiche catalogues back-and-forth. Additionally, he predicted (rightly so) that interlinking data would give way to new multidisciplinary views in academic discourse.

The Memex never got built. Not even in a prototypical form. As head of the US Office of Scientific Research and Development (OSRD), it is estimated that Bush, during WWII, had two thirds of American physicists under his direction. So clearly, he was not short of resources.

The Memex? — The Memex was never built, which is a shame because I always pictured it looking like some cool steampunk computer, like the one above by flickr user vonslatt.

The key point of the essay was not to build a machine, however, but a new way of looking at information as sets of interlinked concepts. In content, Bush was suggesting what I would say is an equivalent to modern Wikipedia. And this, roughly half a century before the latter’s inception. In form, Bush had outlined the basis for hypertext, a concept that only re-entered the academic consciousness 20 years later, in 1965, when Ted Nelson coined the term.

The title of the essay, As We May Think, referenced the notion that our tools for organizing information should be designed to work the way we think.

I think an extension to this line of thought is due. Now that we’ve brought Bush’s idea to fruition, what comes next? We need to start thinking about adapting computers to learn as we may learn.

Key to the human process of learning is the use of analogy. In fact, Bush believed the same, saying the brain “operates by association”. Children build up a conception of the world by observation and deduction, and by constructing a repertoire of increasingly-sophisticated concepts which are used to explain further observations and deductions. Wherever we’re able to compare two concepts and understand the similarities and differences, we learn. A particularly illustrative example of this kind of analogous reasoning is seen here:

For some reason, when I was very little, I thought that TV shows “stayed inside the TV” until it was turned on. When we watched TV, the shows were “leaking out.” When I started going to school, I would come home in the afternoon, try to watch “Sesame Street” and find that it wasn’t on. I then asked Mom not to watch TV while I was at school, as it “wasted” “Sesame Street.”

From I Used to Believe – The Childhood Beliefs Site.

Here, the writer, as a child, made the erroneous analogy of TV being like a carton of milk or something similar that he or she might have seen. The child’s conceptual model evolved when it learned how television broadcasts were different. And the impact of learning here was significant and rewarding enough to allow the author to recall the incident many years later.

To enable this kind of learning to take place inside a computer, the notion of hypertext won’t suffice. Text, in any form (hyperlinked, digital or even handwritten), is based on language, which is too nuanced and intricate to be convenient for machine learning. I don’t think we’re quite there yet with natural language technology. Basically, it would be too complicated to build a machine that understands, say, the Wikipedia entry on the Metal umlaut, and be able to learn enough from the text to be able to answer questions posed by an interviewer. But more importantly, we don’t think in language.

A better approach might be to reduce information down to simple concepts; learning can then occur by creating a conceptual map that explains how concepts are interrelated, and more importantly, how they are alike or dissimilar. By giving a computer a conceptual map of information, and the ability to build analogies, real human-like learning can take place inside a machine.

If television broadcasting and milk carton existed as two concepts that a computer knew about, then it could make the same erroneous deduction about the nature of television broadcasting that the above storyteller made — that Sesame Street “leaks out” of the TV when it’s on. If/when the computer made an observation that put into question the conceptual link between television broadcasting and milk carton, it could revise its own conceptual map accordingly, and learn something new.

The appeal of such a system, to me, is the thought that unlike Wikipedia, all data has a place. Wikipedia’s editor community has an ongoing debate between the opposing camps of the inclusionists, who advocate putting as much detail in Wikipedia entries as possible, to make the whole as complete as possible, and the deletionists, who realize that Wikipedia needs to be presentable and accessible, and that there is such a thing as too much. Does an article of little general interest like “List of Canadian female tennis players between 1969 and 1975″ really belong in an encyclopedia, or not?

With a system based on hyperdata (interlinked atomic concepts) instead of hypertext (interlinked human-readable text), every single little bit of information, no matter how mundane, can be part of the system, because now, a machine can selectively show you as much or as little detail as you want. The list of tennis players suggested above could be compiled dynamically by the computer based on what it knows, with no intervention needed by a human editor.

I made reference to this in Keeping Memory. The shopping lists and receipts and mixtapes that you accumulated, that were relevant to you, can fit nicely in their own corner of the hyperdata network, and no one else has to see them if they don’t want to. A receipt, for instance, would be linked to the concept of you, the concept of that In N’ Out Burger on Sunset Boulevard you went to, the concept of November 12th 2009, the concept of a #1 combo, the concept of the Visa card you used to pay for your burger, etc… Each of these concepts are further linked to other concepts — California, Hollywood, the year 2009, the billing address on your Visa card, the batch of mustard used in your order, and so on. Here, finally, we have information embedded in a true context, making the data relevant.

The deductive power of such a system is quite awesome in itself. Suppose the batch of mustard used to make my burger was tainted. By following the web of concepts interlinked in meaning and time, you could find out everyone who ate some of that tainted mustard, in any restaurant, and alert them to seek a doctor’s counsel. No matter how strong the inclusionist argument is, I doubt you’ll ever find the Wikipedia article entitled “List of restaurant patrons who ate products containing mustard batch #878-001″.

An Illustration of How Interlinked Data Looks — Unlike Wikipedia, each link (dotted line) leads to a single concept, and not an encyclopedic entry. Information is reduced down to an atomic form; it can't be reduced any more. Meaning is added through interconnection.

Beyond that, since concepts are separated from language, it would be possible to get the same information in any language. In fact, just as you could use specific words to represent concepts (“C-A-T” represents the concept of a cat in English), you could use any system of representation you can think of. The concept of cat could be represented by a shape and colour, a sound, a song, a smell, a note in a symphony, a move in a chess game, a unique snowflake design; anything, really… These are all just abstract ways of describing concepts, but the concepts themselves do not change.

The Separation of Concepts and Language — The same concept map can be represented in any language, or in completely abstract terms.

As the machine grows its increasingly-sophisticated conception of knowledge, it would further its own ability to categorize and conceptualize new information. By having a wealth of interlinked data already at its disposal, and the ability to observe how concepts are alike or dissimilar, the computer engages in a process of learning.

Clearly, hyperdata is the way forward, as it allows data to live within a context, and allows a separation between concepts and their representations. Hyperdata also provides the foundations for a machine learning system which uses simple analogical reasoning to understand and reinforce its own conceptual map of the world.

The Third & The Seventh (2009)

The Third & The Seventh, presented below, is a 12½-minute long film by indie animator Alex Roman. The entire project was created by a single person using desktop 3D and music composition tools. The result is a lush, cinematic look at architecture, literature, nature and photography, set to a minimal classical score.

The Third & The Seventh — Bear in mind that every single item you see in the film is computer-generated!