Last year I used for the first time a nifty AppleScript that allows you to embed a code in the notes of your Keynote presentation that will trigger a twitter message with the text you want. Sure it is canned, but if you are wanting to trigger a response tied to your talk, or just want to have updates done in case your audience is too lazy to tweet for you, it was perfect. This script no longer works, see below.
Well, until the “oauthpocalypse“, when Twitter changed the way third party apps could use the service. Before, this could be done by sharing your username and twitter password, which of course is a dicey operation if you believe in black helicopters (they do exist, and yes, it was not wise). Twitter shifted to the more secure Oauth method – the thing you see when you connect an outside party to your tiwtter account:
It’s like what many other web apps do- flickr has done it maybe the longest, but you of course have to be logged into your account to grant access by an outside entity, so you are not sharing your passwords with BillyBob’s Twitter Wangdoodle app.
Alas, this killed the Keynote Tweet tool, which used the older basic authentication.
But there is always someone who figures it out. Among the people reporting on the google code site IT DOES NOT WORK was a gem – that brought me to The OAuthpocalypse and Keynote Tweet, and hope for a way out- there is a download for the newest Keynote Tweet tool there or get it directly at http://splatdot.com/wp-content/uploads/Keynote-Tweet-2.zip
There is a new approach, but it does take a littler geekery to get there. Somehow I stumbled through the steps.
The key is that the old app used curl to send the twitter command, and the new way is via a special version of this tool (this is the unixy stuff that is lurks below the shiny mac OS X desktop) called twurl. And the site above had a new version of the AppleScript that should work once some more noodles were added to the substrate.
This gets you into command line land- the key phrase of “In order for the script to work, you’ll need to install and configure twurl.” is not to be taken lightly. Installing is not quite double clickign downloads and “configure twurl” became the obscure step. This is what I did.
1. I downloaded twurl. A bunch of unixy looking stuff. How do I get it in my OS?
2. I find the steps in the obtuse INSTALL file. It says “Install with Rubygems” I dont know what rubygems is, but I try:
sudo gem i twurl --source http://rubygems.org
This got me a warning that I needed a newer version of rubygems.
4. I ran the steps
sudo gem install rubygems-update sudo update_rubygems
Note that these took a few minutes to process, so do not be put off by the blank screen. Go make coffee or walk the cat.
5. The twurl INSTALL file also listed under “Dependencies” a cryptic hint that I would need something else. I did
sudo gem i oauth
which installed something.
6. I then tried the Keyote Tweet 2 app, and it failed; I was not authenticated.
7. I went back to the twurl README, and it mentioned I needed to authenticate my install, kind of like the muliple steps needed to get the WordPress TwitterTools plugin to work. It sounds convoluted, but it worked. You have to go to twitter and register an OAuth app, as if you are making some new tool http://dev.twitter.com/apps/new
It is obscure, and most of the info does not matter, but give your tool a name, make up a description. The key parts are the radio button settings:
The application type is Client and default access is Read & Write.
8. The whole reason for this is to get the key pairs (strings of gibberish text and numbers) that twitter uses to authenticate you, the consumer key and the consumer secret key (for obvious reasons blurred here)
9. You then go back to terminal and use this command
twurl authorize --consumer-key the_key --consumer-secret the_secret
where the_key and the_secret are the strings from the step above.
10. This provides a URL that is about 2 miles long. Copy it and paste into your browser. It will then give you the normal OAuth screen like above, which when you click, will provide you a PIN number. Copy that number.
11. Return to your terminal, paste in the number and press RETURN. You should now be authenticated on your machine.
I did a test in Keynote- you have to wrap your tweets in the speaker notes like
[twitter]stuff to tweet[/twitter]
You open the Keynote Tweet 2 app, than play your presentation, and when you click to the slide with the bit above, the tweet is sent. Here was my test last night:
and you can even see that it lists my app name “CogDog Keynote Tweets” as the publisher tool ;-)
So (a) yes does work now and (b) a bit of geekery is needed to do it but (c) if I can do it, you can.
UPDATE: July 2, 2012 Some of the steps have changed on the set up. Until I can revise this post, please refer to this excellent screencast video created by Adam Bellow
The Geeking the Keynote Tweet by CogDogBlog, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.