Mule a human invention developed to create a strong, placid animal suitable for packing, riding and driving.
The "Mule" Project

Managing a horse show is a lot of work!

Jen's pony club puts on a horse show every year, and she serves as show secretary. This means an enormous amount of paperwork, coordination, and communication to put it all together.

First, there's the show program, a thick booklet listing all the classes offered and the official rules, which she mails to all pony people in the five-state area we target.

Entry FormThen, the entries start rolling in. She has to keep track of which ponies are coming, their pedigrees and health certificates, assign them stalls, calculate fees, and enter them in the various classes in which they'll be showing. All of this information is submitted via the entry form shown here. Note that this is just page 1 of the form. (Click to enlarge.)

Once the show begins, she needs to keep track of last minute adds and drops, and the class results. As most classes are double-judged, this means separate results from each judge.

At the end of the show, there are numerous high-point awards given to the ponies who perform the best in various categories over the course of the entire show.

Finally, she has to tabulate and compile a final report with all of the show information, submitted to the official sanctioning body for the Welsh pony breed shows.

It's an enormous amount of work, ripe for automation with information technology.

The Solution

Silver Sprocket built a system to keep computerized records of all this show data and activity. We set up a wireless network on the fairgrounds, set up various computer workstations, and deployed our mobile devices

We pressed the software into use for a show in August, 2009.

The announcer had a computer into which he would enter class results as they are judged. A front desk was set up where club volunteers took orders from exhibitors to add, drop, swap classes, or otherwise change their entries or ponies.

Kiosk PageA kiosk was set up with a customized report screen showing an always-up-to-date list of ponies, class entries, judging results and current high-point totals (the "leaderboard"). There is also a mobile-friendly leaderboard which spectators and exhibitors can monitor the show progress.

The kiosk has a second purpose, which is to keep the front desk from being inundated with simple questions like "Who's in my class?" and "Who won class 63?" and "Who is the remarkable pony with back-number 341?" Self-service at the kiosk!

Kiosk in Action 1 Kiosk in Action 2
Shown here is a picture of the kiosk setup, along-side a bunch of the show awards.
(Click to enlarge.)

Out in the show arena, our ringmaster and gate-keeper was equipped with an old iPod Touch, which displayed a list of exhibitors in the current class (and future classes, too). This way, she knows how many ponies are expected in the ring, and if somebody is not present, she knows which one to hunt down. This list is automatically synchronized with the front desk, so as exhibitors add and drop classes, the iPod is always up to date.

Ringmaster in Action
Shown here is our ringmaster, swiping on the Touch to see who's entered in this class.
Or, she's playing Angry Birds.

After the show is over, an immense report must be compiled, listing all of the classes and results and points, then submitted to the powers that be. What used to take days to tabulate is now largely done by pushing a button.

Since 2009, Jen has taken this software application to dozens of shows around the country. The unique features and capabilities give her a competitive edge when offering her services against other for-hire show secretaries.


Under the hood

For those wanting to dig deeper into this techno-adventure, here is further information:

Ringmaster iPod ScreenTo see the ringmaster screen, use your iPhone or other mobile device and surf on over to:

To see the kiosk screen, surf on over to:

The system itself is built using the Ruby programming language, with the Rails framework. This language is so cool. We love chaining. We love blocks. We love chaining blocks. They make our inner geek smile. Check out these out:

This shows the names of all of a pony's owners (a pony may have several, you see). The to_sentence method joins all owner names with a comma, except for the last, which is joined with an "and".

Pony.owners.collect { |o| }.to_sentence

Or this monster, a bit inscrutible at first: for the given class @c, give me the back-numbers of the ponies placed into this class by judge 1, sorted in ascending order, each separated by a space: { |f|
  f.judge_flag.to_s[/1/] }.collect {
    |e| e.pony.number
  }.sort.join(' ')

The application runs on a desktop or laptop computer at the show facility, or within a VPS provisioned at a cloud-hosting facility. The databse is SQLite, a lightweight, self-contained, file-based database system. Backups are as easy as a simple file copy command.

The mobile interface is a regular web page, displayed using the device's web browser, built using the IUI layout template.