The other day,
Paul is a pretty consistent source of interesting stuff and good ideas, so I was delighted to take his new jalopy out for a spin. After logging in, I get this screen:
A bit of random clicking reveals that there's a fair bit of documentation about the APIs (more on those in a bit), but not much description of what this service actually does.
The “text message” bit seems fairly straightforward; I plonk in my mobile number and a message, click “send”, and a few seconds later my phone buzzes on my desk and half scares me to death. “Hello world” it says. Just what I typed.
Now “phone call”. Phone call?
I can see only one obvious interpretation, so I plonk in my work number, my home number, and click “make call”. A few seconds later, my phones ring and I'm connected to myself (by way of BT, I assume; not the most efficient way to connect two phones on the same desk on this side of the pond, but it worked).
I have no rational explanation for why this made me laugh gleefully for several minutes while Pinky and the Brain drifted through my mind. World domination by way of web service? It's not astonishingly new technology. There are teleconference bridges that will call out. You can even get the W3C's bridge to do it via IRC.
So I don't know why it made me laugh, but it did.
By itself, a web page that lets you send SMS messages or make phone
calls isn't really all that exciting. What makes the Mojo stuff cool is
that it's all accessible with
APIs. If you can drive an
http: connection, you can send
messages and make calls.
That's a pretty interesting bit of infrastructure. And because it's all open, there's the real possibility of some unexpected applications. Good on BT!
One of the things you can do with your login is create your own “gadget”. So here's the obvious one for me to make, an XProc Gadget Pipeline.
Using this pipeline, I can send an SMS like this:
<px:mojo-sms xmlns:px="http://xproc.org/ns/xproc/ex" username="ndw" to="+15555551234" text="My message" secret="my-secret-mojo-key"/>
The pipeline I originally posted didn't work, in fact wasn't valid, but I've updated it (19 Oct 2007) and now it actually works! I'm laughing gleefully again, but the explanation is pretty obvious!
Pretty cool stuff, I think. And it feels pretty cool to be writing
pipelines that actually do something new.
We'll ignore the fact that this one required three
px:url-form-encode. No, not ignore, it's a productive
Thanks, Paul! And good luck with your mojo!