My latest Pebble hack came to me in two phases. First, I read about the poetry vending machine. It's a terrifically low tech idea: write out poems, put them in little capsules, put said capsules in a capsule vending machine and put the vending machine in a public place. Enjoy!
Second, it occurred to me last night as I was sitting on the pot without any reading material, that for all the apps I have on my Pebble Watch none of them provide content. A bathroom trip with nothing to read? The horror!
My initial thought was I should find a news app for my watch; that would at least get the latest headlines. But with the poetry idea as a spark, I realized it would be far more valuable to get a random poem on my watch. So that became my mission.
Poetry is a good candidate for displaying on a watch because it can be quite compact. From Twitter Poetry to Haiku, a few words can go a long way. Additionally, many well known poems are in the public domain. Project Gutenberg has a wonderful collection of poetry just waiting to be put to use. This collection looks especially promising.
The problem I ran into though, was I didn't really have the time to parse all this poetry into a nice, clean web service. I wanted poetry on my watch, but I also wanted to have it there within the next 20 minutes. As usual, I turned to Unix to save the day. Specifically to fortune. The fortune command spits out a random a quote or random witty message. It's not exactly T.S. Elliot or Emily Dickinson, but it is *something*.
The first step was to put fortune online so my phone could grab a fresh bit of text. This PHP script does the trick:
<? header("Content-Type: text/plain"); $fortune = shell_exec("/usr/bin/fortune -s"); $fortune = str_replace("\t\t--", " --", $fortune); echo $fortune; ?>
From there, I just needed to create a simple Tasker action that invokes the above script and pushes the output to my watch:
Pebble Fortune (85) A1: HTTP Get [ Server:Port:code.benjisimon.com Path:/fortune.php Attributes: Cookies: User Agent: Timeout:10 Mime Type: Output File: Trust Any Certificate:Off ] A2: AutoPebble Text Screen [ Configuration:Full Screen: false Title: So, yeah... Text: %HTTPD No Prefix if Command: false Do Not Disturb: false Clear History: false Open Phone App: false Save Scren: false Don't Send Screen: false Go Back: false Go Back Multi: false Timeout (Seconds):120 ]
Finally, I added a Auto Pebble task to listen for requests from the watch to show a fortune, and that was pretty much it.
Now, when I want some brilliant inspiration, I need only click a button or two my watch. Here it is in action:
It's not world class poetry, but it will do for now. Next bathroom trip I'll be prepared!