PHP Magic: Building a static countdown clock using PHP and GD

Update (2010-04-20): These Gleeks are crazy. Since being released, the clock has been viewed over 200,000 times. Insane.

If you like Glee, you’ll like this. If you like image processing using PHP, you’ll like this even more.

Using PHP and the GD image library*, it’s pretty easy to create a static, image-based countdown clock, which is useful for situations where javascript cannot be used (think WordPress.com/Blogger). A new image is automatically generated server-side for every minute (assuming a request is made for the clock for that minute), and all images are cached to avoid killing the server processor. Check it out in action on Gleeks United or after the jump.

Don’t have code yet, but I’ll post it when I get a chance.

Continue reading

Mockingbird: wireframing made awesome

Wireframing is awesome!

Using Mockingbird, a recently launched Cappuccino-based wireframing tool, I was able to whip up some quick UI concepts I’ve been thinking of for the next iteration of Edit Flow. Though obviously not as fast as a hand-drawn sketch, it’s far more convenient when you’re working with other people since you don’t have to get cameras and/or scanners involved.

Mockingbird has a fairly intuitive interface, and most functionality you’d expect from a wireframing/diagramming tool. Best part: no Flash! Check out the result below. It’ll be updated as I make changes to the diagram.

Continue reading

WordPress Plugin: Plugin Notes

This is the outcome of a couple of hours of Friday night coding after an open call by Chris Coyier over at Digging into WordPress. Here’s what Chris asked for:

Ever look through your list of plugins and forget just exactly what one of them does? I know they have descriptions next to them, but that doesn’t always speak to exactly what you are using it for and why. This plugin would just put a text field in each plugin field you could type some notes in there, theoretically to keep information about why and how you are using this plugin.

And since I was bored (and thought this was a pretty useful idea), I delivered. Plugin Notes is exactly what it sounds like.

Once you install and activate, the plugin adds a link “Add plugin note” that lets you add in a little note next to each plugin. It’s totally ajaxified and full of cool goodness. (Unfortunately, I was a bad programmer and didn’t make plugin gracefully degrade when javascript is turned off. Sorry, folks. Maybe next time.)

Plugin Notes: adding a note is easier than milking a cow.

Plugin Notes: adding a note is easier than milking a cow.

When a note is added, it shows up inside a little blue box and includes the name of the user that added the note as well as the date and time when the note was added. You also get handy dandy options to “Edit” or “Delete” notes.

WordPress plugin: Plugin Notes - blue boxes make things look pretty.

WordPress plugin: Plugin Notes - blue boxes make things look pretty.

Each plugin can only have one note. I can imagine there would be cases where multiple notes may come in handy, but those would be rare so I’m passing on that functionality.

The plugin is pretty simplistic, and unlikely to see any future feature additions (unless someone really, really wants one). I’ll keep a watch for compatibility with future versions of WordPress though, so rest easy.

Excited, enough? Grab Plugin Notes (from the WordPress Plugin Directory) or download it from within WordPress.

Note: you’ll need PHP5 and a javascript-enabled browser for the plugin to work.

Digital Design Project: theboar.ca

My independent digital design project (DAC 400) completed as part of my Digital Arts Communication specialization explored the push by magazines into the online and technology spaces. The goal of the project was to explore viable technologies to use as a platform for developing an online presence for The Boar, an arts and literary magazine produced by and for the students in the Faculty of Arts at the University of Waterloo. I explored the traditional online website format but looked further by designing a prototype of an up-and-coming Flash-based technology known as the “digital edition.” This “new technology” is being adopted industry-wide like wildfire (see Issuu, Scribd, Zinio, etc.). It takes a traditional PDF and converts it into an interactive magazine-like object on a webpage that can be used and manipulated much like a physical magazine. My prototype (although not entirely functional) took a step further and explored the possibilities of creating greater ties between a magazine’s website and their digital edition via a synchronization of comments, bookmarking, and other social networking type tools.

As supplementary materials, I have attached 3 documents that I completed as part of my project:

  • Technology Research: exploration of various technologies in use by the magazine industry and what movements the trends were indicating.
  • Strategy, Scope & Structure: Documentation outlining requirements for the online presence and drill down into specifics, as well as a high-level architectural diagram.
  • Final Analysis: Analysis of the end result of my project, including rationale for technical and design choices as well as possible enhancements for the future.

Also included is a somewhat-working version of the digital edition prototype.

The website in its current state, which has deviated slightly from the original design, can be found here: http://theboar.ca

User Interface Design: CanTeach Volunteer Handbook

The final result of the group project for class, DAC 300 (Special Topics in Digital Design: User Interfaces). We created a Volunteer Handbook for CanTeach International, a Waterloo-based organization that sends volunteers to Central America to assist Teachers in schools.

The aim of the project was to design, prototype and test an electronic handbook to be used by volunteers new to the CanTeach program. The expectation was for volunteers to use the handbook throughout all phases of their journey (before, during, and after) as a learning and information gathering tool. The handbook was also to act as an electronic scrapbook of sorts, with tools for volunteers to capture their experiences in text.

The final prototype is below along with various supplementary materials related to the project.

CanTeach Volunteer Handbook (~3MB file; requires TK3 Reader)


Note: Since the prototype requires TK3Reader to be installed, I have included sample screenshots of the eBook as well.

eBook - Intro PageeBook - Intro Page eBook - Table of Contents eBook - Chapter Title Page eBook - Internal Content Page


Tools used: TK3 Author, Adobe Photoshop


Supplementary Materials:

Architecture diagrams
CanTeach eBook - Architecture (initial draft)
Initial Draft


CanTeach eBook - Architecture
Final Architecture

Strategy and Scope Document: http://www.scribd.com/full/3088149?access_key=key-2exzroa8srabm4b2nl5d

Presentation: http://www.scribd.com/full/3088089?access_key=key-1ibct2pwtngup105sysb

Web App prototype: eCard Builder

KiwiShake was a prototype Facebook application. The idea was to provide users with the ability to create eCards that could be customized with photos, videos, etc. It’s not even close to completion and it pretty terrible overall, but there’s a lot of potential.

I programmed the interface of the application, which involved lots of JavaScript and some AJAX work.

See a somewhat functioning prototype here: http://digitalize.ca/media/kiwi/kiwi.html


Tools used: JavaScript, Aptana IDE, YouTube API, various JavaScript libraries

Print Design: Personalized Notepad for New Faculty Members

Notepad - Back Page

The above was the final design created by me for the project that I worked on during my first work term. The objective was to create effective resource materials for new faculty at the University of Waterloo. After multiple informational and design interviews with various new faculty members, the result of the project was a personalized stationary pad (design seen above), coupled with an online resource guide.


Tools used: Adobe Photoshop