Print Inspired People-Computing
Personal Computing (PC) was a revolution that empowered an individual.
Print Inspired People-Computing (PIP-C) is a prototypical, philosophical endeavor that seeks to expand the positive impact of computers and their interactions with people, while mitigating their negative impacts.
Introduction
Computers are powerful. Computers communicate in languages that are unspoken. Learning any one of these languages is challenging.
Teaching the concepts shared by these languages should be easy and fun.
Most languages rely on an english volcabulary to describe the meaning that the author and computer both understand across space and time.
These words serve as symbols. On their own, they mean nothing. They require a context to have meaning.
Many contexts in the realm of computing come with eons of nuance and debate. These additional details can be confusing and unnecessary for beginners.
Rock, Paper, Scissors
The context of Print Inspired People-Computing is the assumption that paper is the most universally accessible computer.
In paper context, it is possible to understand more complex computers than paper, such as an instrument. To better understand the instrument-computer, we become a musician-computer. Both musicians and instruments understand sheet music.
People-Computing is an observation that people become primary-computers and computers become assistant-computers for any given human-computer interaction. By solving problems first with paper, we can invent more interesting-computers, like piano-computers!
Music is a language first taught with the ears, then the mouth or hands, then the eyes. Music is a universal language with four total senses offered in a live performance.
Music when stored across space and time is done so on paper. Ink is primarily used to create meaningful symbols in the context of musicianship. A pianist-computer plays a piano-computer of printed music sheet-computer.
Holes may be punched into paper and stored as a piano roll-computer. Piano rolls may be played by a more complex computer, a player piano, also known as, a pianola-computer. A modern invention of the same spirit is the midi-computer.
Computers, Paper, Humans
The relationship between humans, computers, and paper has grown more advanced over time.
- Professionals have used keyboards to punch holes into cards with maximum efficiency.
- Children have used number 2 pencils to fill in sheets of circles for letters A, B, C, D, and E where A is TRUE and B is FALSE.
- Consumers have scanned block-glyph symbols to summon physical products from digital space.
The most advanced paper computers today are these block-glyph symbols known in english as Quick Response (QR) Codes.
The language to program these QR code paper computers should require as little human english as possible, in an attempt to be as universal as music.
For this exercise, let us build a QR code that can summon an immersive performance on the spot. Like, being on the set of a real film, but your eyes are the camera!
ScriptType
A screenplay is a program for people that is run through people and distributed to people across space and time.
ScriptType is a programming language that produces scripts such as screenplays. Learning this progamming language grants the ability to produce screenplays in any language that your computer supports.
By correctly learning the few reserved symbols of ScriptType, the final script of your screenplay will look authentically printed on paper as if from a typewriter!
For advanced learners, ScriptType itself was programmed to be understood. By going into the depths of what makes a programming language actually work you will learn how to create magnificient programs.
ScriptType is designed to be learned first with paper, pencil, and improvisation!
Grab some supplies or scan the QR Code to follow along with interactive examples!
Hello, World
Every program, from a ScriptType screenplay to moon lander's control system, is written line by line using individual symbols, called glyphs or letters.
The first program a student typically learns in a new language is called Hello World. In ScriptType, the ({ Scope) symbol describes how to proceed with processing the next block of the program. Additional properties may be set as key:value pairs in subsequent lines before a line break.
We must communicate our program is a screenplay so the computer may understand our program correctly. The simplest screenplay program for a title page would be.
{ screenplay
title: Hello, World
author: Origin Wildcloak
That's the full program and the output looks like this. Scan the QR code, view it on your phone.
{ – Is a special symbol to communicate the scope of the program to ScriptType. In this case to output a screenplay. In future cases, to output sheetmusic, instruments, cartoons, videogames, or chatrooms.
To create any of those realities, we just need to define volcabularies that people and computers both understand. Let's start with the volcabulary for screenplays.
Screenplay Vocabulary
Every film or television show is written using a screenplay. Any screenplay can be broken down into various scenes and shots comprised of actions, (# addresses), (@ chracters), (” quotes), (( parentheticals), (! information), and (^ effects).
In ScriptType, these special symbols are used to specify special lines. If a new line begins with one of the symbols below, the rest of the will be formatted according to the descriptions below for the screenplay program scope.
Actions
Lines that begin with no special symbol are called an Actions. Screenplays convey the intention of the writer as Actions to the cast and crew of what should be captured during the filmmaking process.
No symbol is required to convey an Action.
Address
Every story takes place somewhere. The Address (#) establishes the shot location and is formatted in all capital letters.
# – our first symbol, the Address symbol.
Character
As the cast reads the script from start to finish, an actor seeing their Character (@) centered on the page is their cue to read.
@ – our second symbol, the Character symbol.
Quote
This is a cue to the actor they are to make a Quote (“) using the spoken word, indented on the screenplay by an inch on both sides.
” – our third symbol, the Quote symbol.
Parenthetical
Subtext for a character may be communicated to their actor by a Parenthetical (() aligned in the center of the page. This is meaning that is expressed through body language or other cues, but not spoken word.
( – our fourth symbol, the Parenthetical symbol.
Important
Important (!) context is used to navigate challenging narrative sections and is written in all capital letters.
! – our fifth symbol, the Important symbol.
Effect
Special circumstances in narrative storytelling might not be able to be captured during live production. Audio and visual cues can only be layered on in a compositional process.
An given effect (^) is added later on in the post-production pipeline.
^ – our sixth symbol, the Effect symbol.
Plugin
The previous six symbols describe everything required of a screenplay. Going one symbol further, what about upgrading the screenplay into a fully fledged video game when run on devices that support it?
For that, we would need a plugin (<). Plugins can do anything the web can do, since they are HyperText tags, the raw power behind QR code computers.
< – a suprise seventh symbol, the plugin symbol.
Plugin Language
Plugin names as understood by ScriptType are HyperText tags. HyperText Attributes may be defined as key:value pairs before a line break.
Plugins are written in the JavaScript programming language, which is what ScriptType itself is written in. There are five words in the plugin vocabulary: teach, when, learn, draw, and flair.
Let's create a mood board plugin to embed visualizations in our script. Module is a function for defining plugins. View the source code to learn how module works.
const MoodBoardPlugin = module('mood-board')
Teach
Plugins by default have no memories. To modify their behavior, we can teach them new memories. For our mood board, we can establish our initial pictures.
MoodBoardPlugin.teach({ pictures: ['example-1.jpg', 'example-2.jpg'] })
When
Interactive plugins communicate across people and computers with events. When these events happen, new memories can be collaboratively created!
MoodBoardPlugin.when('click', 'img', toggleFullScreen)
Learn
As new memories are always forming, it is important to learn constantly to make the most informed decisions!
const { fullScreenPicture } = MoodBoardPlugin.learn()
Draw
When memories change, plugins can draw visualizations on screen up to 60 times every second.
MoodBoardPlugin.draw(() => {
const { pictures, fullScreenPicture } = MoodBoardPlugin.learn()
return fullScreenPicture
? `<img src="${fullScreenPicture}" alt="Full Screen" />
: pictures.map(x => `<img src="${x}" />`).join('')
})
Flair
While memories can be drawn only 60 times per second, additional effects may be processed at higher frequencies. Any additional rulesets for how a plugin should be displayed across space, time, and medium are defined in the flair.
MoodBoardPlugin.flair(`
& { display: block }
&[data-fullscreen="true"] { position: fixed; inset: 0 }
`)
Wrap-Up
We've almost finished defining the plugin entirely with just a few lines of code! The final piece of code we have yet to define is our function to toggle full screen, let's do that now!
function toggleFullScreen(event) {
const parent = event.target.closest(MoodBoardPlugin.selector)
const { src } = event.target
let { fullScreenPicture } = MoodBoardPlugin.learn()
if(src !== fullScreenPicture) {
parent.dataset.fullscreen = true
MoodBoardPlugin.teach({ fullScreenPicture: src })
} else {
delete parent.dataset.fullscreen
MoodBoardPlugin.teach({ fullScreenPicture: null })
}
}
Live Production Engine
Describe client sdk for managing real-time interactions. Native installations support gamepad input.
Demo
Perform guitar hero demonstration for entire native integration through remixability and collaboration.
Conclude
Print Inspired People-Computing begins with the idea of imagination. A blank sheet of paper is no different from a blank new computer. Creating new ideas on paper produces creativity further than that of what our computers are capable of today!
By learning new paradigms and volcabularies, we can write shorthand of future plans until we publish our final draft into the continuum!
In this short presentation, we learned a volcabulary for producing screenplays with symbols to express proper formatting for publication. The single character syntax allows the artist to begin crafting narrative off the computer and outside in an environment more conducive to creativity.
By using this syntax in a physical context and a digital context, we are able to reinforce the pathways of critical thinking that is relevant to both storytelling and computer programming in multiple environments.
While the basic language to create screenplays are six standard symbols, the seventh plugin symbol unlocks a near limitless depth of potential by breaking the fourth and fifth walls.
Going further, we learned another volcabulary for creating plugins. With succinct new words, we can begin to articulate complex interfaces that can blend physical and digital spaces across space time.
Here are the few printed pages of annotated source code to understand the assumptions not covered in this presentation.
Thank you for listening to my research into quantifying the degree to which paper beats rock.
Paper is as powerful as we dream it can be.