Talk to others through a never-ending animated GIF.
Our server accepts requests for GIFs and leaves them open so we can write additional frames. When someone submits the form, we draw and collect the pixel values via canvas (in PhantomJS), encode a new frame, and send it down to the open connections.
To submit a new frame, enter some text into the text area below the GIFSocket and press 'Submit'. You can optionally set the background/foreground (see fillStyle documentation for all options), font size (pixel value), and font family.
This was developed against Firefox so that would be the ideal browser. However, it should work in all browsers (even IE6).
The server uses a fork of gif.js (GIF encoding), PhantomJS (convert text to pixel values), fork of phantomjssmith (PhantomJS library), express (server routing), raw-body (low-level request body parsing), jade (HTML simplified), marked (HTML really simplified), request (communication layer between PhantomJS server and
The website uses jQuery (cross-browser event bindings and XHR made easy), Bootstrap (page styling), Subtle Patterns (background), GitHub ribbons ("Fork me on GitHub" image), filereader.js (drag and drop file reader), grunt (task runner), grunt-zip + grunt-curl + grunt-contrib-copy (asset downloader).
Voting is now closed.
Australian Antarctic Division