Live tweeting from Keynote

A version of this post originally appeared here. It’s now updated with more recent resources!

I recently gave a presentation at FluentConf about Designing for Performance. I set up my presentation using Keynote ahead of time to automatically tweet relevant links and quotes from my Twitter account as I went from slide to slide. This was awesome for a few reasons:

Most of my instructions below come from this video with a few modifications that will allow you to test tweet from your presentation, then learn how to switch to your real Twitter account. NOTE: This does not work with the newest version of Keynote.

1. Set up twurl

  1. In Terminal, type sudo gem i twurl --source http://rubygems.org
  2. Enter your system admin password (your OSX password)

Now you’ve got twurl, which will allow your Mac to tweet. It’s important to use twurl because of the recent changes that Twitter made to their API authentication requirements. Twurl can grant an access token for your Twitter application (next step) and authenticate your tweets.

2. Register a Twitter application

  1. Using your main Twitter account, visit http://dev.twitter.com/apps/new to register a new application so you can tweet.
  2. Name your application with a unique name, and you can use the same for the description field.
  3. For the website, make sure you include “http://” in what you enter.
  4. Agree to the terms, complete the captcha and create your application.
  5. Click “Settings” on the tabs under your application name.
  6. Change “Application Type” to “Read and Write”.
  7. Click “Update this Twitter application’s settings”.

Congrats! You have your own Twitter application that will allow you to tweet from your Mac. Next, we need to set up your Mac to play nicely with it. Keep that application window open in the background.

3. Create your test Twitter account

Because you will want to play around with Keynote and tweeting before you take it to your real live Twitter account, you should create a testing playground. Create a new account and log in (I used a different browser so I could go back and forth between my real one and my test one). I recommend making the account private so you don’t accidentally alert anyone you @ or who follows your hashtag.

4. Connect your application with your test Twitter account

  1. Find your application’s API key and secret key back in your original browser. Edit the following and replace the_api_key and the_secret with that information:twurl authorize --consumer-key the_api_key --consumer-secret the_secret
  2. Copy that line (starting with “twurl…”) and your keys into Terminal, and press return.
  3. Terminal will give you a long web address starting with “https://api…” Copy this entire URL and paste it into your browser where your test Twitter account is logged in.
  4. The browser will give you a pin code, as you’ve just connected your application with your test account. Copy the pin and paste it into Terminal. Hit return.

You now have your Mac working with your test Twitter account. Congratulations!

5. Install Keynote Tweet

  1. Download Keynote Tweet 2.5
  2. Unzip the file and copy Keynote Tweet 2.5 to your applications directory.
  3. Run it and enter any hashtag you wish to use.

6. Test tweeting

  1. In Keynote, put any text you’d like to tweet in between [twitter] and [/twitter] tags within the presenter notes area. When you play that slide in your presentation, it will tweet from your test account.
  2. If you run through the slides too fast, it won’t tweet. Give it a few seconds per slide to tweet before going to the next.
  3. Add all of the text you want, and run through the entire presentation. Make sure that all the tweets go through. If they don’t, check your character length. I found that I needed to count my username’s character length in the total tweet.

7. Switch to your real Twitter account

  1. When you’re ready to switch to your real Twitter account, you’ll need to connect your application to your real Twitter username. Run through the steps in “Connect your application with your test Twitter account” above, but when you copy the “https://api…” link into your browser, make sure it’s the browser where you’re logged in to your real Twitter account.
  2. Next, you’ll need to change the default profile that you tweet with from within twurl. The first time you authorize an application, twurl stores your access token for this Twitter account as the default. To see what user names have been authorized for your application, type twurl accounts in Terminal.
  3. You’ll see your test and real Twitter usernames and the application key for each. Notice that your test username is marked as the default. To change the default type twurl set default YOURREALTWITTERACCOUNT in Terminal, substituting your real Twitter username there.

I highly recommend testing the entire presentation a few times to make sure that your tweets make sense and have a short enough character count (especially if you’re adding a hashtag automatically).

Happy tweeting!

Lara Callender Hogan

I'm an Engineering Director at Etsy and the author of Designing for Performance, Building a device lab, and Demystifying Public Speaking. Follow me on Twitter, read my blog.

I champion performance as a part of the overall user experience, help people get comfortable giving presentations, and believe it's important to celebrate career achievements with donuts.