Student work: PHP Machine highlights

Here’s a collection of highlights from the Fall 2011 Web2 PHP Machine project. The technical requirement, to build a modest online application capable of inputing, manipulating, and outputting data, is rendered greater than the number of lines of code in the way these projects acknowledge cultural shifts in the way information is perceived. That is, they appropriate, combine, and re-imagine data to make functional or pseudo-utilitarian applications that improve or question the worlds they inhabit.

Robinson, Giftorama

Alvarado, Concert-O-Tron

Snell and Howse (Snewse?) Snigmanteau

Rousseau, Namebot

Sumerall, Bassline


Web apps for learning code online

Here are some web-based interactive code environments for learning markup or programming via tutorials or just practicing or showing examples.

I’ve know about W3Schools’ Tryit Editor ever since I first learned Javascript on their site. Edit code on the left and click to try it on the right.

CssDesk allows you to create, test, and share HTML/CSS markup within an online editor. Good for quick demos.

Codecademy is a full-on interactive “shell” and step-by-step tutorial for learning Javascript. The UI returns results and shows errors, and users can earn badges and points as they move through the tutorials.

The ProcessingJS website offers an IDE for writing and running Processing code within the browser. Great for workshops where installing software is not an option.

While not really focused on teaching, ScraperWiki’s PHP scraper creation environment actually let’s you run server-side code. It even let me run this statement which I thought was rather impressive.

$str = file_get_contents('','');
$arr = explode("\n",$str);
print $arr[100];

ScraperWiki also offers a Ruby and Python tool too. Very cool.

Web2: Your Art Here and Coleman Center redesign project

For our next project we’ll be working directly with two non-profit organizations to create newly designed, database-driven websites for each. We’ll talk with the clients, learning what their needs are, and create architectures, recommendations, and designs to match those needs. Finally, we’ll learn to install WordPress, mark-up the designs as WordPress themes, and transfer their content into the new site(s). Here are the organizations and links to their current websites:

The Coleman Center for the Arts (CCA) is a contemporary arts organization in York, Alabama, that uses art to foster positive social change, answer civic needs, build local pride, and use creativity for community problem solving.

Your Art Here is an Indiana-based non-profit public art organization created to provide local communities with an opportunity to engage in visual, public dialogue through the use of billboards and other public spaces.

The plan

  1. Logistics
    1. Nominate team leader
    2. How will you communicate?
  2. Create a recommendation
    1. Description
      1. Describe what you will be doing for the client
    2. What is possible?
      1. Generate ideas (Post-it notes)
    3. Architecture
      1. Make an outline
    4. Content management?
      1. WordPress
      2. Drupal
    5. Moving content
      1. What issues are there in regard to content?
    6. Design
      1. Notes
    7. XHTML/CSS
    8. Social media and other functionality
  3. Meet with client
  4. Setup WordPress
    1. Begin working with client to understand how content will be organized
    2. Come up with a plan for moving content
    3. Begin moving content
  5. Begin design iteration
    1. Look at really good design
    2. Work on your design
    3. Take a break
    4. Repeat
  6. Code markup
  7. Create WordPress theme
    1. WordPress cheatsheet
  8. Launch!!!
Example sites

WEB_2: PHP Machine highlights

WEB_2: PHP Machine

Our use of the internet is increasingly enhanced by online applications that reenact offline scenarios; sharing a video or photographs with friends, doing research by looking-up terms, keeping a log of your activities. The interaction is not new, only the context.

In this project you will be challenged to recreate a modest online app that mimics a real-world machine or activity. Create a web page or series of pages that mimics the function (or disfunction) of a machine either explicitly or through the use of metaphor. The machine you choose can be as simple or as complex as you like, but should be able to receive input, capable of acting on that input, and showing output or action. The more extraordinary the result the better. You will be graded on form AND function.

Machine Concept

Create an HTML page (linked from your profile page) containing the following information:

  1. Select your machine (or multiple if you like)
    1. Research its history. What can you use about past context(s) to influence your project?
    2. Find related imagery. Seriously, visit a library if you have to.
    3. Be ready to report your object(s) in class
  2. Create a step-by-step drawing of the processes of your machine mash-up
    1. Make notes about design, interface, code, etc.
    2. Present your drawing and research in class
  1. At least three sketches (pencil/photoshop) of machine drawings
  1. Notes and research about the machine you have chosen for the PHP Machine Assignment

Machine Prototype

At this point you should have a functioning prototype of your PHP Machine. Create an HTML page (linked from your profile page) containing the following information:

  1. A link to the original concept
  2. A link to a functioning prototype or separate parts of PHP Machine
  3. Images of preliminary designs for the interface to the PHP Machine
  4. Other notes and research about your project

FINAL: Present Your Machine

The project should:

  1. Use one or more PHP pages as well as web forms that allow users to input data or make selections.
  2. Your page should be elegant and well-considered in its layout. Use images and CSS to define and position type and form elements.
  3. Your page(s) can be as creative as you like. The design and images you use should be related to the concept of your artwork.
  1. Examples
    1. Historical examples and archives of machines
      1. The IBM Archive Inspiring machines from the history of the IBM
      2. search for “machines”
    2. Formal disfunction
      1. Glitches
        1. 404asdfg (careful), and wwwwwwwww by
        2. Form Art by Alexei Shulgin
        3. Choose
        4. Going down (2002) by Claude Closky
        5. scrollbar (2002) by Jan Robert Leegte
        6. untitled scroll #2 (2007) by Chris Collins
        7. Scrollbars (2009) by Andrey Yazev
      2. Viruses
        1. Text SqueezerMisspeller by John Maeda
        2. degenerative by Eugenio Tisselli
        3. Generation Loss by hadto
      3. Bots and automation
        1. theBot (Shockwave plugin required) by Amy Alexander
        2. Eliza
        3. doctor Emacs Terminal psychotherapist
    1. Physical machines
      1. Life Writer by Christa Sommerer and Laurent Mignonneau
      2. Dupage and Department of Rhythmanalysis: On Location by Kevin Hamilton
      3. Alan Storey
      4. Arthur Ganson
    2. Functional online applications
      1. Visualizations and aesthetic representations
        1. Money Counter by John Maeda
        2. Eternal Sunset
        3. String Art Generator by Alexander Henken
        5. Many Eyes
      1. Social networking
        1. I’m a Designer And…
        2. Anycast Thought Stream
      2. Tools
        1. Stickyscreen
        2. Right Now, What Are You Doing?
        3. Internet censorship in China: and Website test
        4. Favicon Maker and Pixel Maker by Shahee Ilyas
      3. Conceptual and one-offs
        1. Subservient Chicken
        2. SurvivaBall by The Yes Men
        3. Augmented Reality Smart Grid and Threadless proposition
    1. Examples by Owen Mundy
      1. Keyword Intervention
      2. You Never Close Your Eyes Anymore
      3. Automata