Skip to content
This repository

Multiuser web application for Processing workshops

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 public
Octocat-spinner-32 views
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 db.js
Octocat-spinner-32 package.json
Octocat-spinner-32 server.js
README.md

Processing Workshop Tool

Screenshot: https://github.com/hamoid/Processing-Workshop-Tool/wiki

This tool was written as an experiment to be used in a four day creative programming workshop with up to 10 students. It runs on my laptop and all users must be connected to the same wireless network.

It allows each student to view the code written by the teacher and by the other students almost in real time. It includes a simple chat, allows running the code written by any of the participants using processing.js, and has a question mark button to call the attention of the teacher (like calling for the flight attendant in airplanes).

There is no registration or security of any kind. I wanted it to work just by opening a URL.

Everything was done in three days, from watching tutorials about node.js, socket.io, jade, etc., to downloading node.js and npm, compiling it all and writing the programs. If something is totally wrong, you know why :)

Tested on Ubuntu 13.10, Firefox 26, Chromium 31, Node v0.10.24 and npm 1.3.21.

Install

  • Download and compile a recent version of node.js: http://nodejs.org/#download and
  • Download and install a recent version of npm: http://npmjs.org/ (maybe automatically installed with node.js)
  • git clone git://github.com/hamoid/Processing-Workshop-Tool.git
  • cd Processing-Workshop-Tool/
  • npm install

Run

  • cd Processing-Workshop-Tool/
  • node server.js
  • Open http://localhost:3000 in your browser.
  • Open http://{your IP}:3000 in other computers or smartphones in your network.
  • Click the green window title bar to set your name.
  • Type Processing code in your green window.
  • Click run to execute code.
  • Click the question mark if you want to ask something to the teacher.
  • Chat.

Ideas

  • Use backbone.js to make the code easier to work with.
  • Show line numbers in the editor.
  • Double click any keyword to open Processing documentation.
  • Block interface while running code.
  • Are there memory leaks when running code multiple times? Not tested.
  • Collapse editor windows when too many users.
  • Allow pausing real time updates to make it easy to copy code from others. It's hard to select and copy code being edited.
  • Short-cut for running code.
  • Currently data is all in memory. If you stop node, it's all gone. Save to a database.
  • Is there a way to send key presses on real time instead of sending the whole code once per second? Is it worth it?
  • Add a new associative array to keep track of connected users. Notify clients when users are gone to hide their editors.
  • Let users mark when code is in a runnable state.

Links

MIT licensed. Copyright (c) 2012 Abe Pazos - http://hamoid.com

Something went wrong with that request. Please try again.