LeedsHack 2012 – ASCIIPoint

ASCIIPoint demonstration at LeedsHack 2012LeedsHack is the annual gathering of coders, hackers and tinkerers in – you probably guessed – Leeds. Held this year in the Leeds City Museum, the challenge was set to write something given 24 hours and a flakey internet connection. Tom Hudson, a talented PHP coder and collaborator on the Raspberry Pi User Guide, joined me at the event to see what we could come up with.

While many competitors opted to target one or more of the challenge APIs – with the most popular being an SMS gateway API, largely thanks to the promise of a Galaxy Nexus each for the best SMS-related hack – the members of Team And In Last Place decided to do something different.

The result: ASCIIPoint. It’s a PowerPoint-like presentation application, but for terminal users. Written entirely in PHP, aside from a small shell script which handles moving on to the next slide based on a keypress or timer, it’s surprisingly feature-rich:

  • Rectangle drawing capabilities for borders of any size
  • Arbitrary slide sizes: up the font size in your terminal for clear slides, lower it for HIGH RESOLUTION (ish) graphics
  • Full cardinal direction slide animations for all objects
  • WordAsciiArt: given a word, it will transform it into an embiggened ‘font’ constructed from hash symbols
  • JPEG-to-ASCII on-the-fly image conversion, resizing and embedding – with animation if desired
  • Typewriter per-character printing for text objects
  • Customisable-width automatic word-wrapping for text objects
  • Slide advance on keypress or timer

To say the presentation went down well is something of an understatement: ASCIIPoint drew admiring gasps and applause from the audience from the very first slide, with several people promising to use it for their next technical presentation. We also won both the Web 4.0 Award and the Click ‘n Mix Most Fun Hack Award – although we donated the prize of a large delivery of sweets to the under-18 hackers attending the event through Breeze.

The full source code for ASCIIPoint – written in the main by Tom – is available from the ASCIIPoint github repository. It’s open source, so fill your boots – and if you do use it for a presentation, send us photos!