Concept Overview

As a collaborative effort with a colleague, Katherine Keane, an SMS-based phonebook service was conceived and launched within the ITP community. The service works with Textmarks, a free SMS redirection service that can link text messages with a special keyword to PHP scripts and other web-based pages.

Part 1 – Concept

The challenge in thinking up ideas for SMS based applications is that many applications would simply work better via the web or a mobile device. Why use text? Are there any ideas where being SMS based is a necessity or a strength, versus an inconvenience? Most of the SMS based apps out there that seem to work fall into one of two categories:

1. They app is intended to collect money, via your phone bill (like donating to the victims of the Haiti earthquake)

2. The app is intended for fledgling nations that use SMS rather than web-browsing

Kat and I sought out to create an app for the ITP community, and we didn’t want to take anyone’s money, nor did we want people to stop using web browsers when appropriate.

There has been a need in the ITP community for a centralized phonebook which lists students’ phone numbers. Recently a post to the email list invited people to add their name to a public google spreadsheet with this same intent. However, very few people elected to participate. One reason why is that the information on a spreadsheet is extremely accessible. Its just as easy to look up one number as it would be copy all the numbers. So some people are apprehensive about putting their name into such an open-book format.

Kat and I devised a plan to put this same info into an app that you can text to search for names. Because of the cost and time that it takes to lookup a single number, it is very unlikely that someone would take the time to extract all the numbers. Also, because the data is searched based, it would more difficult to find the names of people you don’t know and aren’t specifically looking for.

Part 2 – Technical Details

The basic technology behind our concept is that when you text a particular keyword (ITP411) to a particular phone number (41411), the message gets forwarded to a php script. This script processes your text and performs a small set of functions like looking up a name, adding a name, or editing a name. Special characters like @ and ! are used to activate these various modes.

We have prototyped this concept and it has been released into the ITP community. Currently there is a 35% adoption rate among students.

Link to the live PHP script. Link to the source code as text.

Project Overview

Artist Beth Anne Cohen King had recently bought the domain name and came to me for assistance in setting up her site and teaching her how to maintain it with updated artworks. We worked together to design a logo, develop custom style sheets, and get her comfortable updating her site with current works.

Link to the LIVE SITE.

Details of the Site Construction

This site was built using indexhibit, a popular Content Management System for visual artists. It is an extremely light-weight database driven CMS that is well suited for image heavy sites. Once installed, users can add additional content through a simple form-based graphical interface. In contrast to WordPress, indexhibit is simpler to use, more dedicated to visual content than just blog entries, and has a nice high-level site map with links to every page. It’s free to use and completely open-source.

Project Demo

Try it yourself, online:

Rhymatron on

Project Overview

What is Rhymatron?

Rhymatron began as an automated script that would take inputted text files, find rhyming words, and output a rhyming poem based on a pre-determined template. It has evolved into an interactive website where users can collaborate with the site to develop their own rhyme templates and write amazing poetry and raps.

How does it work?

Rhymatron has been pre-fed with a giant dictionary of common English words. Each time it runs, the program builds long lists of rhyming words and applies them to the selected rhyme template. The user sees individual words from these lists, but acts as an editor and can shuffle to other similar words as they assemble a poetic creation. Additionally, a user can input their own rhyme template that will determine the rhyme, meter, and style of their next creation.

Video Demonstration

Sample Outputted Poems

“Farm Yard Fencing”

nevertheless raphael upset hens
microscopic floundering gnawing tends
naturally circular against fence

submitted by: Farmer Joe, Branford, Connecticut, 2010-05-27


witchcraft dispatched baths
addressed insects risking trap
amen shadow hats

submitted by: Digital Noah, Brooklyn, New York, 2010-06-07

Technical Details of Rhymatron

Behind the scenes with Python

Within the core of Rhymatron are several Python scripts. First a dictionary is built from all the words found in “Huckleberry Finn,” by Mark Twain. Next each word is broken down into its phonetic sounds by being cross-referenced to Carnegie Mellon’s phonetic dictionary. Finally, a custom dictionary of words is assembled and “pickled” into a quick-loading file for future use. When a user clicks on the “create a rhyme” link, the dictionary gets unpickled and loaded into a second script which then builds lists of words. The script goes through every word in the custom dictionary looking for words that match a group of phonetic keys, placing each matching word into its related list. All of these lists of words get passed from Python into PHP.

Behind the scenes with PHP

Once PHP receives the word lists from Python, it looks up the current rhyme key from its $_POST variable, and figures out which handful of word lists are needed for this particular poem. It then passes just those word lists into a Javascript array.

What the user sees via Javascript

The user then sees a poem on the screen, which is really just a single word showing from each word list. Above and below each word is an arrow that, when clicked, cycles the array forward and backwards to display other words from the same word list. After shuffling through the words until a great poem has been made, the user can then choose to save the poem.

What the user sees via jQuery

A panel emerges with a save form that the user can fill out. This form gets submitted to a database and is stored. All of the stored poems get displayed in the “saved poems” section of the site, fed directly from the database, in order of date created.