Ivan Sutherland invented the Graphical User Interface in 1963. Prior to this, you only interacted with a computer via switches or a keyboard. The sketchpad interface featured switches, dials, an output display and a lightpen that could draw directly on it. A user pressed switches while drawing. One switch allowed touching the screen with the lightpen to draw a line from the previous position on screen. Another switch drew circles. Another drew arcs. Etc. This allowed a user to draw directly on screen without having to specify position in code commands. There were also capabilities for duplicating, moving, scaling and rotating shapes on screen.
Sketchpad was a new way of working and contained constraints that shaped what could be created with the software. In the 80s as home desktop computers spread, Adobe Photoshop, Illustrator and InDesign became standard tools for manipulating photos and print design. These powerful tools have become standardized within creative industries. In the past few years they have added in scripting capabilities to extend the available tools within these software systems.
Try playing the original Apple II Kid Pix - emulated in browser.
EXTRA CREDIT:
An array is a list of similar objects, usually in a row or column.
Arrays have length. The length equals the total number of values in the array.
var students = ['Tasha', 'Ariel', 'Shona', 'Nat', 'Jerome'];
The length of students is 5 since there are 5 entries. The first element is at index 0.
print(students[0]); // 'Tasha'
Counting up from 0, we can see that the last element in the array is the 4th.
print(students[4]); //'Jerome'
Extrapolating from here, this tells us that the last element in any array is length - 1.
print(students[length-1]);
Choose a random student from an array
var pickAStudent = int(random(students.length-1));
single line of rects with a single for loop
for (let x=0;x<width;x+=20){
rect(x,height/2,20,20);
}
nested for loops
For the next few weeks we’ll talk about a few contemporary interactive media artists whose work lives on or dialogues with the Internet and whose work is built in code.
Today we’ll examine the work of:
Chapter 11 - Arrays
Pick someone else’s software. Make a remix that alters the functionality in a meaningful way. This could be an augmentation that adds some new functionality, the addition of new backgrounds, changing painting options, or modifying the interface (switching from keypresses to buttons to click for example).
Start by copying (duplicating) the code. Go through the code. Format it to make it easier to read. Go line by line and review the comments. Can you figure out how it functions? Could the code be cleaned up? Do some tests (using print) to make sure you understand how the code functions. Does it need parts to be broken into smaller functions? Save your edits.
Now start a second sketch. Build the new functionality now, testing it on its own in this second sketch. Does it look good and function as you’ve intended it?
Go back to the original software and review its draw function. Where will you integrate your new functionality? Where does the button get added? Where do you put any additional drawing or brush functions? Add in your new functionality. You may have to separate your second program into different components and add them to the software you’re remixing in different areas.