Speaking of the Charlottetown Transit applications, I’ve updated the route, stop and schedule data should you wish to roll your own applications.
I’ve also released the PHP source for the Asterisk AGI script that drives the automated telephone system; even if you don’t want to create your own Charlottetown Transit Information Line, it might prove a useful (if kludgey) model for creating Asterisk AGI scripts to do other interesting things.
Remember the Charlottetown Bus Schedule by Telephone I hacked together back in November? Well this morning as I stood at the University of PEI waiting for the bus back to the office I spotted a new blue and yellow Charlottetown Transit bus pulling into the parking lot with “The Talking Bus” emblazoned on it. “That’s weird,” I thought to myself, “I wonder how it talks.”

It turns out that it’s me making it talk, as further emblazoned on the side of the bus is the telephone number I set up, 367-3694:

What’s especially weird about this, other than it being a surprise, is that the telephone schedule remains a hack to this day — wired together with the masking tape and baling wire of a $2.50/month Eastlink virtual telephone number gatewayed through [[silverorange]]’s T1 into my own Asterisk server where a custom PHP application talks to the same MySQL database of stops and schedules that thebus.ca does.
Needless to say, it gives me no end of pleasure to see my Working for Free side-projects carved into public infrastructure.
If you’re interested in following along from home, the Charlottetown Transit Telephone Schedule Call Log has an anonymous record of the last 20 calls received.
I’m as cynical as the next guy when it comes to the notion that digital person-to-person marketing will become the dominant force in the economy, but I’m starting to wonder. In the last 24 hours I:
- Bought a a book because Jason Kottke recommended it on his blog.
- Bought another book because of a tweet.
- Bought a share of a boat in Denmark because of a YouTube video.
- Purchased a license for a piece of software because the developer answered a question I tweeted him.
While there’s a lot of infrastructure underlying those “purchase-influencers,” they are all, at their heart, “user generated” by people I trust.
My friend Mehrnoosh who, with his wife Gina, owns [[Casa Mia]], is someone always willing to entertain my crazy ideas, and today’s crazy idea was to shoot a daily video introducing the café’s daily specials. So this morning I showed up at Casa Mia with my trusty [[Nokia N95]] phone-cum-video-camera and we shot the pilot, an actual video for today’s actual daily special, which is Grilled California Chicken Pizza:
The pizza actually is very good, and if you happen to be reading this on April 7, 2009 I encourage you to stop by and have it for lunch: it’s $9.95, and enough to feed two people. Tell them you saw the video.
It took about 20 minutes to shoot the video, with little or no advance planning or discussion. It took me another hour to edit it all together in iMovie back here in the office. I’d welcome any comments you might have about the video and the general idea.
The background music is Millie’s Waltz from the Roy Johnstone-Steve Sharratt album Longshore Drift. You can purchase an MP3 of the track for only 99 cents if it strikes your fancy (or buy the entire album — it’s very good).
My friend Henriette Weber, whose imagination is a true force of nature, has hatched a new plan: PAN 2.0. She’s turning her great-grandparents’ boat into a coworking space:
So those of you who has been following this blog knows that I have had a dream during the last couple of years to turn my great grandparents old LM23 into a danish coworking space placed whereever the boat may be. It looks like a mess - but I am so sure it’s gonna be great. Anyway we are retronizing the boat - which means that we are going to turn it back into the original state
Henriette is making some great videos of the project as she goes along, like this one:
You can buy a share in the endeavour for 500 DKK (about $100 Canadian), which is really something you should do if you ever anticipate the need for a floating coworking space in Denmark (and who among us hasn’t).
There’s a certain sort of “PIN pad” — the gizmo that you type your PIN into when paying with a debit or PIN-enabled credit card — here in Canada that looks like this:

Starting last year many restaurants that use this sort of PIN pad have opted to enable a feature that allows customers to add a tip to the bill by selecting one of three options: nothing, a percentage of the total bill, or a dollar amount. These options are presented on the display as $0, % and $ and you need to press one of the three top buttons to select your choice.
The percentage option is my favourite and so I’m left to press the middle button. But for the longest time, no matter what restaurant I was at, I couldn’t get the middle button to work; I thought the button was broken, but it seemed odd that it would be broken at all restaurants.
It turns out that although the three buttons look the same, they work differently: the right and left buttons are “push in”-style whereas the middle button is a “toggle up or down” button. And if you try to “push in” the middle button, it doesn’t work, and seems like it’s broken.
There’s a subtle indication of this difference in the design of the buttons: the right and left buttons have a white background and the middle button has small “up” and “down” arrows on it. But the indication is so subtle that, especially in a busy restaurant with a line at the cash where you’re not able to study the PIN pad in detail, it’s not enough to signal the difference.
And, indeed, there shouldn’t be a difference: the three buttons to select three equally viable options should operate in the same fashion.
Even though I know about this UI quirk, I still get caught by it most of the time.
I’ve spent the week experimenting with the Minimap Sidebar, a Firefox extension that adds a variety of mapping-related tools to the browser. It’s an amazing piece of work, and almost every “I wonder if it will do this” turns out “wow, it does.”
For example, I was able to grab my “personal landmark collection” from [[Plazes]] by logging into and visiting the KML feed of my Plazes. Because Minimap will import KML files, I then simply imported the KML file and now have a local copy of every place I’ve visited in the last five years. Here’s what it looks like zoomed in to [[Charlottetown]]:

Minimap also allows you to copy and drag addresses from any web page into the sidebar to have the addresses shown on the map and added to your personal collection:

Keen eyes might spot that it’s an OpenStreetMap map displaying there: that’s because Minimap supports all manner of Google Maps as well as OpenStreetMap as the base map. Other cools things that Minimap supports:
- Import of locations from KML and GPX files.
- Export of locations from KML, GPX and CSV files.
- Automatic detection of microformat-represented locations in web pages with option to map.
- Integration with Yahoo’s Fire Eagle web service.
- Tagzania integration.
And because Minimap is just a regular old Firefox extension, the complete JavaScript source code is freely browseable and modifiable (indeed you can grab the source using Subversion). And because the extension is GPL licensed, you can built on it to create and release your own custom browser-based mapping toolkit.
Minimap’s performance when you throw a lot of locations at it degrades somewhat; I’m assuming that this is, in part, because it uses RDF to store locations (my RDF file — it’s flock_maps.rdf in the Firefox profile directory — runs to 13,000 lines long for the 736 locations I have stored). I’ve been in touch with the extension’s author about the possibility of migrating the storage engine to SQLite and he said this is in the works (and, further, pointed me to SpatiaLite, which I didn’t know about and that looks very cool).
All in all a brilliant piece of work and an extension that, if you’re interested in GIS, location, mapping and how they all relate to the web, is worthy of a look.
Back in the depths of winter the folks at Taylor’s Taters at the [[Charlottetown Farmers’ Market]], the official potato, turnip and carrot supplier to our family, announced to us that this would be their last season at the Market as this was the year to retire and sell the farm.
I reminded [[Oliver]] of this fact this morning at the Market and suggested we do something to mark the occasion. Unfortunately this caused Oliver to panic at the thought that he would never again be able to eat potatoes, turnips or carrots and to salve his distress I suggested we could go and talk to the Taylor’s Taters people and seek recommendations for alternative sources of same.
Much to our collective relief we learned, on doing this, that the retirement has been delayed a year, seed for this years crop has been ordered, and Taylor’s Taters will live to see another year.
Oliver, needless to say, was delighted that he’ll have potatoes, turnips and carrots in his diet through at least 2010.