Facebook Live polls are great, here’s how to make one


You’re a dog person, let’s face it, and It’s because you appreciate a pooch that you share a Facebook Live poll asking users to indicate their preference, between cats or dogs, with a heart or a like.

And why not? Facebook is for sharing. Live is the big push, and these polls are interactive, simple enough to produce for news organisations, and have been well received by the general public.

Like any social innovation, there were teething problems when media outlets first picked it up. Polls were lazy, gimmicky and irritatingly ever-present on newsfeeds.

Facebook identified a problem and they were banned. Matt Navarra, head of content for tech site The Next Web reacted:

After some reflection, Facebook disagreed (or bowed to public pressure) and reinstated the technique – with a caveat or two. They include this direction on their branding resources page.

facebook reaction rules


Before you think about making one, consider the guidelines of use outlined above. Make sure your video follows this simple criteria

  1. Don’t just make a poll. Reactions can’t be the ‘most prominent feature’ so add another layer. Stream something important for people to vote on, like a news conference, or report the news first and foremost, using voting to supplement what you’re doing.
  2. Don’t use simple visuals. Add a live video element, or work on what’s shown in the background. The rules aren’t written, but use the medium to its fullest.
  3. No associating reactions irresponsibly. An angry face for one candidate and a heart for another, during a debate? That’s not democracy.

Want to make one yourself?

You should. Here’s a quick guide on getting started – using OBS studio, and an open source tool for creating polls. There are a few caveats though.

  1. Streaming video is intensive. Your computer may suffer and, even with the video settings used in this guide, your machine may splutter a little.
  2. The tool used to make the polls is a shortcut. It’s quick and easy, but customization options are left wanting. The creative freedom to make some more impressive interactives will require a knowledge of the Facebook API and some developing skills.

But this will do. Here are the basic steps. If you want a TLDR click here.

Step 1: Download and prepare your tools.

We’ll be using the following in this guide:

  • OBS studio. Open Broadcast Software will send the video content you create on your desktop to your Facebook live stream and is the command center through which you’ll operate the controls. Download here.
  • Your image creating software of choice. Be it Photoshop, or open-source alternative GIMP, you’ll use this to create any background assets you may wish to include.
  • This online tool for creating Facebook polls. This is an unofficial generator, created by Hayden Ryan, and will connect to our live video.
  • Might also be worth opening Facebook, too. You’ll need to be broadcasting live from a page and not a personal profile.
Step 2: Make your assets

For this guide, let’s add some interactive elements to POTUS’ congressional address. We’ll broadcast the speech (a live replay stream, but could just as well be actually live), add some data visualisation, or statistics, on the side, and ask viewers to vote for their preferred spending priority below the video. A little like this:

mock up of live video

Using Photoshop/GIMP, design your background asset – considering the video player size and ensuring everything is nice and visible. Facebook recommends an aspect ratio of 16 x 9. Here’s one we made earlier. 

first asset: background image

You’ll also need the link to your video, which you can copy into OBS. The broadcast software will let you add multiple assets, so if you wanted to move images around during the stream, add them as different sources.

Step 3: Generate your video and your polls.

Now it’s time to create your video and get your streaming keys. Head over to your Facebook Page and visit ‘publishing tool’. Press the button to post a live video.

where to find live button

You’ll be presented with this window.

getting your stream key

You’ll need to input the Server URL and Stream Key into OBS, so take a note of these. It’s also advisable to take down the number underlined in red in the above image. This is the Video ID and is used to connect the poll to the video.

To make the poll, head to this link and complete the form, making sure to copy and paste the right ID into the first box.

The form is relatively customisation: you can select polls with two, three or six reactions. If you need four options, simply make two different polls of two. Set the background colour to white and OBS will convert to transparent.

polling form for live

When you’re finished tweaking, take a note of the poll ID, copying the address presented so you can add it into OBS.

getting your poll id

Step 4: Prepare OBS and tweak your video settings.

Head over to OBS and start arranging your workspace. The studio version of the software adds some handy tweaks, allowing you to copy transitions to make sure assets are lined up, and the ability to work on a scene privately whilst the broadcast is up and running.

You’ll need to be familiar with two different concepts.

Scenes are your workspaces, where your different video setups will be saved. Sources are your assets, and can be video links, feeds of web pages and still images from your desktop.

Add a new scene and name it as you wish, then click the plus by the source box to add your background image.

opening obs and adding image

adding browser source to obs

Follow the wizard and position the background to fill the video preview. Add your poll through the same steps, selected ‘Browser Source’ instead of image and adding the URL for the poll. Position your poll next to the voting instructions.

arranging scenes in obs

In this example, we’re using a live video feed. For live, use another ‘Browser Source’ and crop the window to fit the video. Fiddle around with the transformation until your scene is to your liking. If it’s not a live video, use ‘Media Source’ and select the local file.

adding the video to our live

If everything’s moving, it’s almost time to go. The final step is to make sure your video settings are right.

Hit ‘settings’ in OBS, head to stream, select ‘Facebook Live’ from the drop-down and add the stream key we saved earlier.

The video settings we use will be dependent on your own computing capacity, and how much your setup can handle. Use this guide from OBS, lower the bitrate and set the CPU usage to ‘ultrafast’ if your machine isn’t so punchy.

Step 5: Start streaming, enjoy democracy.

Once you’re happy with the settings and the look of your stream, hit start streaming and jump back to Facebook. The stream will load and you’re ready to go!

posting the video on facebook

1) Download OBS and load up the poll making tool.
2) Make your assets with photoshop etc.
3) Start a FB live on your FB page, through publishing tools.
4) Make your polls using the online generator, and save the link.
5) Set up OBS, adding the sources we’ve made
6) Get your video settings right, and hit stream.

You can now make a very simple Facebook Live voting interactive. Have a go and tweet @interhacktives with your attempts, we would love to see.

How to improve your social videos to tell compelling stories

As Facebook founder Mark Zuckerberg told investors of his ‘video first’ strategy, content creators are trying to find ways to optimise their video output and attract larger followings.

Social video has been around for many years but is now  considered the dominant vessel for consumption on social media. Last year, Facebook video uploads increased by 95% from the previous year and these numbers look set to rise again in 2017.

Here are a few tips on how you can improve the quality and watchability of your videos on Facebook.

Keep them short and sweet

Even though Mark Zuckerberg himself has expressed an interest in opening up Facebook to longform and episodic videos, he wants to focus on shorter-form content just to start. While you might be excited to produce an expensive Pulitzer-winning documentary, start small. The optimum length for social videos is between 30 – 90 seconds. Don’t worry too much if your video is slightly over. Use your own discretion to figure out what works for you.

Work without sound

Now, you don’t have to go full Buster Keaton when making a video for social, but make sure that your video still makes sense without audio and doesn’t become just a sequence of footage without context. Most viewers who come across your video will do so because it played automatically. If they’re interested enough, they might turn the sound on to find out more. Use captions to let viewers know what the video is about and use subtitles if subjects are talking so people can still ‘hear’ what is being said. The captions should be able to drive the story without breaking the flow of the video.  

Think about your first Impressions

For many people, your social presence will be your first port-of-call, so you want that first impression to stand out. Come up with something succinct that doesn’t give too much away to the viewer. You want them to stay with you to the end of the video but you also don’t want to bore them.

Avoid using still images/stock photos

When I first started making videos for social, I was told to avoid using still images. “If the story can be told with images then tell it with images.” In other words, video should only be used if the story can’t be told in any other way. If you absolutely must use an image for a video, then try to create the illusion of movement with zooms and pans. This is known as the ‘Ken Burns Effect’ and it’s a widely used technique. You will often see it in war documentaries to create the illusion of a battle, for example. You might also need to use photos or screenshots that others have taken to tell your story (we will get to that later on).

Be professional

This might sound obvious but treat your social video exactly the same as you would any news piece: as professional as possible. If your audio isn’t properly synced or you’ve captured all of your footage on your old Nokia then people will be turned off and go to the next item. You don’t need to invest in a lot of equipment to achieve this. All you need to do is take extra care. Make sure that your audio matches what’s being said on screen, remember to adjust focus, and keep your camera steady.

Ask for permission to use other people’s photos/videos

A common problem with social video is that it can be easily downloaded and uploaded on another channel without giving credit to the original author. This is known as ‘freebooting’ and it is heavily frowned upon. If you want to use footage that you’ve found from another source to help tell your story, try and contact the author and they may be happy to let you use it as long as you give them credit in the video. Some people might say no,  so you’ll need to find something similar elsewhere.

Avoid cliches

This. Just this.


How to scrape tweets using R for journalists

What’s a pirate’s favourite programming language and statistical computing environment? Why, it’s R, of course. Jokes aside, R is the language of choice for data miners, scrapers and visualisers – as well as journalists looking to manipulate datasets that Excel just can’t handle.  

R can be used to create stunning and modern interactives, plot cats instead of points in weird feline data visualizations, and it can help journalists scrape data from Twitter.

Twitter data has the potential to inspire important stories. Blogger David Robinson analysed the tweets of President Donald Trump to find that tactful posts sent from an Iphone were composed by his staff, and those angrier messages from Android were typed by Trump himself.

Journalists need a tool to filter tweets and to find trends among them, R helps by grabbing that data and making it usable.

In this guide we’ll be getting set up with Rstudio on Windows, an open-source program for working with R, and we will learn  the basics of twitter scraping. This is a basic how-to, with little assumed knowledge, so should hopefully translate for OSX users too, with a few tweaks. Let’s get started:

Note: If you want this guide distilled into 24 words, head to the TLDR at the bottom of the page and just follow the links to download what you need. If you have the patience, read ahead for more detailed instruction.

Step 1: Prep, downloads and installing R

You’ll firstly need to gather your tools. Head here and download the latest R package, currently R-3.3.2, and install it to your computer. You’ll also need to download Rstudio, the software we’ll be working within.

Your final download: save this script to your computer. R can use scripts (basically text files) to save commands and save you having to type them out every time.

Once you’ve followed the installation wizard, open up Rstudio to be greeted by this nice blank canvas.

Step 2: Open R and load your script

You want your screen to be divided into four sections. On the screenshot above, you can see the console panel on the left: which shows the code that you run, like a timeline of what you’ve done so far. You also have the Environment panel, with your list of elements, databases and variables (currently empty), on the right and, in the bottom right, a simple file manager.

Now, press the folder button under ‘edit’ in the main menu. Alternatively, press Ctrl-O.

Navigate to where you saved the script we downloaded earlier, and open it up in Rstudio. The program will now show  a panel for scripts in the top left.

Your script is loaded, and everything you need to migrate tweets from the internet to a spreadsheet are in the top right of your screen.

Before we start scraping, let’s make sure Twitter lets us in when we knock.

Step 3: Getting your Twitter access.

To do this, we’ll need access codes from Twitter. You’ll need to head to: apps.twitter.com and create your own application (A Twitter application in this sense is just a way of connecting to the API. Hit the ‘create new app’ button and fill in the form. This is purely for personal access to your own twitter credentials, so fill in the fields with your info.

After that’s completed, head to the ‘Keys and Access Tokens’ tab in the menu of your new app, and copy the four codes you find into R.

These are the Consumer Key and the Secret Consumer Key, and the Access Token and Secret Access Token.

Once these four strings of text and numbers have been copied into the R script you downloaded, you’re good to go and can follow each stage of the script until you have the data you need.

Step 4: Running and merging data

There are three stages to the actual process of grabbing data from Twitter. These are:

  1. Loading the packages you need.
  2. Running the code to access Twitter.
  3. Searching tweets and saving them to file.

The first time you attempt this process, however, you’ll need to install the packages you plan to use. On the script you downloaded this is flagged as step 0 and by highlighting this and pressing Ctrl-R, you’ll install everything needed for twitter scraping.


You only need to do this the first time you attempt a twitter scrape, and can jump to step 1 in all subsequent attempts.

Mini-Step 1: Load your packages.

Those shiny new packages you added to your R setup now need to be loaded so that you can use commands associated with them. Run this:


Mini-Step 2: Access Twitter.

With your own personal codes copied into the script, you can run the following few lines. (Don’t forget to save your script so you won’t need to repeat the copy/paste process next time around. Your codes will remain the same unless you generate new ones:)

consumerKey = "INSERT KEY HERE"
consumerSecret = "INSERT SECRET KEY HERE"
accessToken = "INSERT TOKEN HERE"

setup_twitter_oauth(consumer_key = consumerKey, consumer_secret = consumerSecret,
access_token = accessToken, access_secret = accessSecret)

Mini-Step 3: Searching and scraping (the fun part)

The script we’re using gives you the options to search for three different things (parts 3.1, 3.2 and 3.3). You’re able to search for the last 3200 tweets of any individual account. You can search for the last 3200 tweets to use a hashtag of your choosing. Finally, you can search for the last 3200 tweets directed to a certain user aka tweets ‘@ed’ to someone else.

In each instance, add your chosen phrasing to the lines that contain the search terms, and follow it through, updating the variable names as you go.

To best demonstrate this, here are some examples:

To create a list of Barack Obama’s tweets sent whilst he had the POTUS handle. Use this:

obamatweets<- userTimeline("potus44", n = 3200)
obamatweets_df <- tbl_df(map_df(obamatweets, as.data.frame))
write.csv(obamatweets_df, "obamatweets.csv")

The function, “userTimeline”, adds the tweets of a user of your choice to the database. In this instance, the handle is POTUS44 and is written between the speech marks, and the first word on the line is the name of the value where the tweets will go.

The next line sends them to a database, and the final line writes that database to file.

To create a list of tweets containing a certain hashtag, use this: 

yeswecan <- searchTwitter("#yeswecan exclude:retweets", n=3200)
yeswecan_df <- tbl_df(map_df(yeswecan, as.data.frame))
write.csv(yeswecan_df, "yeswecan.csv")

To create a list of tweets sent to a user, use this:

tweetstoobama <- searchTwitter("@potus44 exclude:retweets", n=3200)
tweetstoobama_df <- tbl_df(map_df(tweetstoobama, as.data.frame))
write.csv(futureexwife_df, "tweetstoobama.csv")
Step 5: Your finished sheet and where to go next

Head to the the folder where you saved your CSV file and open her up. Congratulations, you have successfully scraped your desired tweets. What you do next is up to you.

One idea is to count the instances where a word appears. Download this sheet containing a template for totalling some key words, and check out David Robinson’s guide to running a sentiment analysis on your newly collated data.

  1. Download R, Rstudio and this script.
  2. Get your Twitter access by creating an app here.
  3. Open Rstudio and load the script
  4. Follow the instructions

If you try this out for yourself, make sure to let us know. Tweet @Interhacktives (or me, @ryanleewatts) with whatever you find, we would love to see. Happy scraping!

How to use Snapchat as a journalist

As most digital journalists know, Snapchat is a vast and in some ways underutilised tool. Snapchat claims to have over 8 billion users per day – an eye watering number compared to the 2 billion they had only last May.

Snapchat has created the Discover channel on their app. These are the snapchats that show up automatically on everyone’s phones. The channel is only open to partners of snapchat, meaning you have to be invited by Snapchat to join.
Snapchat discover

Discover channel includes big names that are trying to tap into the young audience hooked on the app. The Daily Mail in particular has pioneered the way they use this medium by creating their own distinct voice.

Another big newspaper brand that has thrown their weight behind Snapchat is the Wall Street Journal. This was an exciting step for the social media app because the WSJ is the first broadsheet newspaper to look into the potential of Snapchat and reach a more serious readership.

Currently, the Wall Street Journal have 5 people dedicated to developing  Snapchat stories on a daily basis.

However, Snapchat discover is not an option for most newsrooms, firstly because it is extremely competitive to get a channel and secondly hiring up-to 5 new staff members is an expense that most newspapers cannot afford.

But if you want to brand yourself as an innovator in the newsroom you should consider suggesting how Snapchat stories might be used. Stories is the part of the app where anyone can create an account and use it. This could help reach a younger readership, something desperately needed by newspapers with an ever aging audience. If the newspaper creates a Snapchat account, each journalist can produce short Snapchats to support the stories they are writing.

Interhacktives has created a simple guide below on how to report on an event via Snapchat.


Your first snap is your headline, make it simple and clear what this Snapchat story will cover.


It’s a good idea to have a rough plan. For example, if you’re covering a football match, you might want to capture the atmosphere before, the walk to the stadium, the stadium and then subsequent news, eg goals, red cards, half time and full time.

Half time

Top tip

Keep the screen vertical – jumping from horizontal to vertical ruins the experience for your audience.



Be ready to change the angle of the story if a bigger story emerges. However, remember Snapchat works chronologically so once you have added an extra snap it will be on the timeline.

For example with the football example above, at the Birmingham City Vs QPR match I noticed on the journey to the stadium there was an unusually strong police presence.  The police were jumpy and insisted on escorting the away fans. This worked nicely into my story as I wanted to include the journey to the stadium. When the police became more violent, it was easier to flag it up because I had already mentioned it in my Snapchat story. 

So think about the chronology of your snaps, they are important.

Always conclude

Once one incident is over – in this case, the fight between the fans and police, be sure to explain that the incident is over and that you are returning to the initial main story. Also make sure you round off your overall snapchat story, try linking it to the website or newspaper the story will be published.

Snapchat is such a new platform that there is of course no wrong or right way, so share your tips on successes and failures of using Snapchat in the comments section.

The best video live-streaming apps

By 2019, 80% of all internet traffic will be for video – the online world is far from being only about text and images.

One of the most interesting new strands of this video revolution is live-streaming: it offers a unique level of intimacy and immediacy to users.

But what should you use?


Periscope has a number of benefits. It is owned by Twitter, therefore allowing you to benefit from its social graph and it already has 10 million users (the highest out of the competition). A great aspect of it is the geolocation functionality, allowing you to search a map of Periscope streams up to 24 hours after they have been broadcast. It is the fastest growing of the options, and it now auto-plays of Twitter timelines, giving it a leg up against the competition.


Meerkat was once Periscope’s great competitor, and although it has a smaller number of users, it does offer some unique benefits. You are able to schedule a broadcast and generate a URL before it has happened – meaning you can build interest in a live-stream and possibly even SEO ranking ahead of time. Although it’s not possible to re-watch broadcasts, you can – for now – stream to Facebook, which is a significant advantage.

Facebook Live

Facebook Live, however, is catching up quickly. Lot’s of publishers have begun to experiment with it recently, especially as Facebook have given Live posts a big boost in their algorithm – meaning that more users should see it than others posts, and it also sends a notification to your account when a stream begins. But Facebook Live is very much limited to on-platform only viewing.


Blab is the young upstart in the room, and it could be a game-changer. It allows you to have up to four simultaneous streamers as well as unlimited viewers, lending itself well to discussion-based streams or simply those looking for added dynamism. But Mashable have described it as “Periscope for groups of friends”, and with that potential for huge growth in social usage, it could gain a very engaged user base.

What to keep in mind with Facebook video

Facebook can be a very valuable tool for traffic for many websites, and mastering an online presence on the social platform is often the difference between life and death of a publication.

Recently, Facebook’s algorithm has been modified to promote visual content, such as pictures and videos, over plain text posts.

Data published last November seems to be showing they are on the right track, with close to 8 billion video views per day.

While Youtube remains the uncontested leader in raw video content, it would be a grave mistake to ignore the rapid growth in Facebook videos.

Here are the interhacktives top tips to keep in mind when doing your Facebook video.

Grab their attention

You are fighting against the ever-shortening attention span of the viewer. If you don’t grab your audience in the very first seconds of your video, they simply go elsewhere.

Most of the time viewers will be scrolling through their feed and your video will automatically start playing when they go over it, that leaves you with about three seconds to convince them to stop and stare.

In this video by The Guardian, the viewer is instantly intrigued by this atypical question and answer. It stays no longer than three seconds and does its job well.

Keep it compact

This is in the same vein as our previous tip. The longer the video, the less likely he/she will finish it. Try to aim for something close to a minute or two, any more and you risk boring the viewer.

This video by the BBC has 10 million views at the time of publishing of this article, and it is only 50 seconds long.

Don’t forget visual stimuli

A trap publications might fall into is to treat a Facebook video like a segment in a broadcasting channel. You should not be simply staring at the camera and talking, other channels are better suited for this type of content Facebook videos are not.

If your video makes sense and the viewer can understand what it is about even with the sound turned off, then you are on the right track.

This video by NowThis has no natural sound, yet you can understand what the story and who the major players are just by reading the text. This technique is called a Nut Graf over B-Roll, where you simply take the nut graf of the story and put it over some video sequence.


Adapt your content

Not everything should be made for online video, but a bit of time and effort can turn even dry content into something that can work.

In this video, CNBC only had shots of Mark Cuban talking, but with the clever use of editing and adding text they managed to turn dry content into something you could watch on Facebook.




How to live tweet an event

Why live tweet?

Share: If you’re interested in an event you’re attending, the chances are that others who can’t make it or don’t already know about it will be interested too. Live tweet to give them an insight into the best bits of what’s being said.

Grow: You will gain followers, exposure and skills. You’ll catch people’s attention. And live tweeting is a great exercise for honing that key journalistic talent for filtering what’s most important, then broadcasting it to an audience.

Save time: Writing a report after the event, if you need to, is much easier once you’ve already distilled the best quotes. It can be little more than adding structure, conjunctions, full stops and some context.

What to live tweet?

When I’m listening to speakers and looking for quotes, I have the “so what?” test running in my head. When you hear a short, important phrase you think worthy of a quote, ask “so what?”. If there’s a clear answer why your followers should care about the quote, then go ahead and tweet it.

Direct quotes are best, in “ ” marks:

Paraphrase if you have to:

How to live tweet?

Before On the day of the event – or earlier if it’s hotly anticipated – tweet at regular intervals to let everyone know you’re going to be live-tweeting. Include details – when, from where, and what about, as well as a link to the event. Entice with pictures!

Check if there’s an event hashtag. Make sure you are following all the parties you’ll want to tag: the speakers, the chair, the venue and the organisers.

Gather your equipment. I prefer live tweeting from my iPhone because:

    1. SILENCE: Typing into a phone is silent; typing into a laptop isn’t. Depending on what kind of event you’re at, tapping away at a laptop keyboard can be disruptive and you may draw weird looks from irked audience members next to you. Obviously if it’s a tech conference, you’re absolutely fine, but at the above Frontline Club event on stateless peoples, the rapt audience did not appreciate tap-tap-tap in the corner.
    2. HABIT: Our minds are habituated to typing brief phrases into a phone keyboard, rather than the long sentences we usually write into laptops. Brief phrases suit live-tweeting.

Have your laptop open too – it’s useful for confirming the odd detail or searching Twitter for a tag you need while your tweet box is already open on your phone.

At the event Sit at the back or sides of the room. I find other audience members tend to get irritated by my flipping between phone and laptop, and this in turn distracts me. Live-tweeting takes focus – distractions aren’t welcome!

Don’t worry if you start tweeting a quote, but then the speaker comes up with a far more interesting one you’d rather tweet. Delete your draft so far and go for it.

You will miss quotes – that’s part of the nature of tweeting live. You’re giving your audience the most salient points, not a blow-by-blow documentation of the event.

You’ll find as you type quotes in that most come up over 140 characters. You’ll need to crop sentences all the time. Paraphrase succinctly, using just a very short quoted phrase if that helps. If only one tag will fit in the tweet, I usually put the speaker.

Tag anyone relevant to a specific quote; for instance, when Gonzalo Vargas Llosa mentioned the UNHCR, I tagged them in the tweet. It’s a great way to get your live tweets more exposure.

If you notice typos or misquotes after you’ve published a tweet, I copy the tweet, paste in a new one, delete the original one and republish the correct tweet. Don’t worry about the tweets being out of time sequence. After Remember a concluding tweet so your followers know it’s over. You also might want to post any follow-up links.

New followers, likes and retweets will continue for hours and usually the next couple of days after the event.

Repeat at your next event!

How to create a timeline using Timeline JS

Want to know how to create a timeline like this for your website?

Timeline JS is a useful, easy and open-source tool that enables you to build visually rich, interactive personal timelines.

If you are a beginner, you can create a timeline using a Google spreadsheet.


Get the template sheet from here – you will need a Gmail account. Once you have your Google spreadsheet, click on2at the top left. From here, you can start editing your timeline.

num 1
Credit: Debora Aru


NB: Don’t change the column headers, don’t remove any columns, and don’t leave any blank rows in your spreadsheet – just edit the content.

In the first four columns A-D are the dates of your timeline entry.  Enter the year and/or month and/or day and/or even the time of a particular event. For BC dates, you need to use a negative year, such as -600. 

Credits: Debora Aru

Columns E-H are optional. You have the option to add end dates. Spans of time will display in the bottom portion of the timeline.

Column represents a “display date” over any slide of your timeline. It can be helpful so that TimelineJS knows how to display the date.

Credits: Debora Aru


Columns Jcontain the headline and the body text of your timetable.

You can add your media in column L by entering the link to the media you want to display. TimelineJS supports several sources like Twitter, Instagram, Flickr, Google Maps, DropBox, DocumentCloud, Wikipedia, SoundCloud, Storify, iframes, and videos from major video sites like YouTube or Vimeo. Read the complete list here.

In column M, you can credit the media’s original source, and in column N you can include a short caption.

To set the background of the slide to a specific colour,  enter a CSS hex color value, CSS named color, or the URL to an image in the Background column R.


Once you have finished editing your spreadsheet, you are ready to publish it. Click on “File” at the top left of your Google spreadsheet and select “publish to the web“.

Credits: Timeline JS

Then click the blue “publish” button.

Credits: Timeline JS

In the pop-up window, make sure you are under the Link tab, then make sure that “Automatically republish when changes are made” is checked and that “Entire Document” is selected. Now, copy the URL that appears in the centre of the window.

Credits: Timeline JS


Paste spreadsheet URL into the box in the bottom of this page (make sure you’ve published the spreadsheet),  and check you’re happy with the width, height, language, font etc.

Credits: Timeline JS

Your code has now been generated. You just need to copy this embed code into your website.

Credits: Timeline JS

Easy, isn’t it?


My Excel tips for journalists


 I created this (blog?) for myself so I can keep on top of Excel. I am going to add to it throughout the year when I learn new functions.

Excel might not look like the friendliest of Microsoft programmes but it is important for every journalist to understand.

I think of Excel or Google sheets (the equivalent of Excel on Google drive) as a giant calculator.

  1. Creating formulas

Each cell in Excel can contain a calculation or formula. When entering your formula, start by typing the = (equals) sign then the rest.

You can make simple calculations in Excel like addition, subtraction, division, and multiplication. But you can also calculate averages, medians, and ratios.

If you put in a colon then it will highlight all numbers in between (ex: b2:b7)

To get a percentage then multiply by 100 or use the percentage symbol

Ratios is just the division of two cells. Use when talking about something being x times as big as y

In this example, in my data journalism class, we calculated the ratio of EU claimants by population.
how to do ratios

Averages (or mean) is just adding up all the numbers and dividing the result by how many numbers there are.

To calculate an average type =AVERAGE and then the numbers of the selected lists

For example =AVERAGE(A2:A7)

The same goes for calculating a median: =median(value1:value2)

handy formulas Example
=Average =Average(value1:value2)
=median =median(value1:value2)


  1. Applying the same formula to the same column and paste options

Move mouse over bottom right to right to copy function and apply it to equivalent rows/columns

Use $ to lock one cell while cycling through others

For the same exercise, we used the $ sign to lock the result of EU claimants per UK population


dollar sign


Paste is Excel has different functions:

  • paste special takes the final result of a formula and pastes it somewhere else
  • paste format: replicates the format of something else

Just right click on the cell you want to paste and select Paste Special.

paste functions

  1. Calculating a Percentage point change:

Percentage point change is the unit for the difference of two percentages i.e going from 40% to 44% is a 4 percentage point increase

To calculate a percentage point change in excel we divide the new by the old. This tell us what percentage the new number is of the old one.

Now we need to find out how our new figure compares to 100%. In order to find this out we need to ask ourselves what is 100% minus our new percentage.

In decimal terms, 100% is 1.0, so we type 1- in front of our previous calculation.

Note: Important to put the first bit in brackets so we ensure that it is calculated separately.

If we find a downward change then we will need to calculate the entire thing by (-1) to reflect that change

This is an example we did for my data class:


unemployed population rate
2010 50 100 50.00%
2015 55 100 55.00%
percentage point change 5.00%
percentage change 10%


To practice these Excel basic skills, try one of the Guardian’s (link to name) data sets! http://www.theguardian.com/news/datablog/interactive/2013/jan/14/all-our-datasets-index


How to get started with GitHub for Dummies (Journalists)

GitHub Octocats

Warning: This how-to is for Mac users, since it provides information on installing Mac OS X apps. Windows is quite similar though, you’ll have to google.

What is GitHub?

GitHub is a platform for hosting and collaborating on projects.

Say you want to create a cool handmade visualisation or a webpage template or a scraper (as opposed to using automated but limited tools with user-interface, like Datawrapper, CartoDB, Shorthand). You’ll need to code the whole thing yourself – and you’ll want to store all the code and documentation in one place online. That’s GitHub. Not only does it store your files but it also remembers all the changes you make – it’s called version control – so you can always go back to an earlier stage and correct errors.

GitHub is also cool because it makes your work open source, i.e. free for others to share, use and improve. In return, you’ll be able to use the gems put on GitHub by others. Search for them and, yes, copy (‘fork‘) and reuse (if you can). Or ‘star‘ for later.

Although GitHub is far from being a Content Management System (like WordPress or Adobe CQ), you can host a blog on GitHub, or publish your amazing handmade projects as standalone GitHub Pages. No worries if that seems intimidating, though; thanks to its open source ideology, why not just start by inputting your data into somebody else’s template? It’s a great way to learn.

Blogging via GitHub is geeky.  There is no database where you can access all your posts and make changes in minutes. You’ll need to use some magic to post (see below). But the value for money (it’s free) is great – you can make your blog and its features look however you want. With some extra magic like Heroku, you can publish interactives of any complexity (compare to the limitations of a platform like Wordpress.com). But for a start, you may well choose one of the suggested themes.

Why bother?

You may think, ‘Why should I bother going the hard route if I can’t really code (yet)?’ Makes sense. But maybe, like me, you decided to take up the challenge early instead of postponing it ‘until I finally learn coding’ (=forever). I decided to fight my dev ignorance along the way because it’s much more fun (and better motivation) to learn things when you need them in real projects rather than to start from the very (boring and theoretical) beginning.

My friend Martin Gonzalez taught me how to use GitHub a while ago, and here I have put down the key steps as simply as I could. Follow them and you’ll be fine. Well, there might be a few hitches, but it’s worth a try!

There are only two types of people, a good old dev colleague told me: a developer (everything works) and a tester (everything fails). Test who you are.

Let’s start by setting it up

1. Go to GitHub.com and sign up

As easy as registering for Facebook. Choose a free plan obviously. (Later on, don’t forget to add a nice pic of yourself and some About Me wording).

You’ll arrive at this start page:

Just registered
Just registered

GitHub has very user-friendly guides and help pages. Take 10 mins to read this intro guide on basic activities in GitHub.

2. Create your first repository

To keep your files in order, you’ll store each project in a separate space called a ‘repository’.

Once you’re registered, GitHub will offer to create one. If not, use ‘+ New repository’ button.

Choose these options:


Boom! You’re set.

3. Create your first GitHub Page

If you plan to publish your work with GitHub, remember that a free account allows having one site per GitHub account/organisation and unlimited project sites.

You can generate a one-page project-site automatically by following the simple steps in this guide (choose Project Site -> Generate a site).

Try publishing your CV, for example.

Generate a page
Generate a page
4. Work locally on your computer and sync changes with online

The smart guys say it works best. What you need to do now is to ‘clone’ your repository to your local machine, do whatever work you need and push the changes back online (you will actually need to push every new change – called ‘commit’ – because this allows GitHub to keep versions of your work).

I am sorry, but at this stage you need to do everything in Terminal. Type Terminal in Spotlight and open the app. It looks sweet, doesn’t it?

Terminal is a Unix command line programme – a magic window into the deep dark world of your computer’s internal system. Obviously, it’s here for you to give it commands, and it will obey.

For instance, (always) find a $ sign and type whoami after it. Press enter (always press enter and wait, however long it takes, for something to happen, at least an ERROR).


See, it obeys! I am shveda indeed.

If you have some extra patience, do check this Command Line Crash Course.

There is also a desktop app for managing GitHub but using a command line is honestly more straightforward.

5. Install GitHub Pages and other important packages to your computer

Before you can proceed to using a hipster GitHub, you’ll need to install some development packages on your Mac. It’s not too painful, just do it.


As Wiki explains, Xcode is an integrated development environment containing a suite of software development tools developed by Apple for developing software for OS X and iOS. You’re not going to develop an iPhone app today, but you still need it.

Simply search for Xcode in AppStore and install (or update) it for free. Warning: it’s a large app, so it’ll take ages to install. But you have no choice.

Xcode in AppStore (top left corner)

In case something goes wrong, check this installation guide.


Homebrew is a package manager for Mac OX. Installation is very straightforward – go to Homebrew website, it will tell you to paste this code into the command line of Terminal (just paste and enter):

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

The code should work without your help. In case of an error message, read what it says and google how to solve it. Probably, you’ll need to download an extra package like the ones above. Or if the error says you have no administrator rights, try typing ‘sudo‘ before any other command (sudo prompts the systems to ask for your password as an admin).

GitHub Pages

After the $ sign is back in Terminal, type this command:

gem install github-pages


6. Clone your repository to the computer

Finally, you can clone (make a copy of) your online repository to your computer. Go to the repository page on Github.com and copy its HTTPS clone URL in the bottom right corner of the page.

Clone repository
Clone repository

Go back to Terminal and type this command:

git clone https://github.com/dummy-student/myblog.git

(Use your own URL obviously).

As a result you will find a GitHub folder named after your repository in the Home folder of your Mac (Finder – Go – Home, if you’re lost).

Yay, you can start posting now!



Meanwhile, here are some words of the wise on the value of using GitHub for journalism:

For an alternative to my writing, try this video tutorial on GitHub for beginners.

Let us know how it went or what problems you’ve faced via Twitter!

How to write a data story with bad data

The General Election is the most important media event of the year. Its a chance to earn your stripes as a journalist and get some page leads in your portfolio.

This was the thought I had last week when I was on work experience with the Times’ Redbox supplement. If you’ve heard of Redbox, you’re probably also aware of their strong emphasis on data driven journalism. Redbox receives exclusive polling data from Yougov to keep them ahead of the curve.

I wanted to prove that I could write strong data stories. I had already been working on a feature about young candidates in the election, and thought it could work as a data story. Only problem is, the data on parliamentary candidates themselves is inconsistent as hell.

I used a website called Your Next MP, which had a spreadsheet of every candidate running in the election this year.

The data was pretty bad. There were huge chunks of information missing, no guarantee on the accuracy of the data and another journalist mentioned “crowdsourcing” when the website came up in conversation.

What should you do in this position? Do you give up after days of research and interviewing? Do you try and find a different angle that doesn’t need data?

It might not look exactly how you thought it would from the beginning, but a bad or incomplete dataset doesn’t have to mean the story is dead. there’s lots of ways you can tell a strong, accurate data story that don’t involve perfect data.


Clean it

My battle with the data
My battle with the data

First thing’s first, you can’t do anything with a messy dataset. You should clean what information you do have so you at least know the extent of the problem. To view how much data you have to talk about, right-click on the column you’re looking at (in my case this was “birth date”), select “filter” and select the values you want to keep. Although this is not a definitive list it gave me an large cross-section of young candidates to research and talk about further in my story.

You might find that the data your left with is incomplete but it still paints an interesting picture and backs up what you already know. Equally, you could find that you simply do not have enough information to make your story data-centric. Either way you need to know. Make a note of the change with each stage of the cleaning process so you know how inconsistent your data actually is. Then you can make an informed decision on how important a role the stats will be able to play. You can find out more on how to clean data from this handy guide, or in this video.


Cite your sources.

Crowd-sourcing site Your Next MP
Crowd-sourcing site Your Next MP

You should be doing this anyway, but it’s even more important if you’re worried about the accuracy of your data. Take yournextmp.com as an example. I was fully prepared to analyse information on incumbents on this site for a data story on same-sex marriage. That is until I spoke to Roger Smith at the Press Association:

“The information is gathered through crowdsourcing, which makes it really rather unreliable. There may well be quite a few last-minute withdrawals and so the data’s accuracy can’t be guaranteed.”

This looks like a death sentence for your feature, but it’s actually something you can work with. As long as you know and acknowledge that the dataset you have doesn’t tell the whole story, you still have the basis for an insightful piece that is enhanced by data.



Don’t analyse too deeply


Do not be tempted to over-alter the dataset to find an angle . The chances are that anything you do to the set beyond just cleaning will create further inaccuracies. Abandon any grand ideas you had of merging with polling data or finding average ages. It’s not going to work. Here’s an example of a dataset I had to work with which had the same issues.

Remember that the data will not tell the whole story, but you can look at it and analyse it to get some interesting statistics to illustrate your bigger point.




Avoid misleading visualisations

Here's one I made earlier...
Here’s one I made earlier…

For the same reason that you shouldn’t be analysing the data too deeply, you shouldn’t be putting the information you do have into a graph. Graphs and maps assume that the data is gospel. If you can’t guarantee that then any visualisation is misleading and uninformative.


Focus on people, places and personalities

using candidate data to make contacts
using candidate data to make contacts

Your data is not going to be the hook of a ground-breaking discovery, but it’s actually very rare for data to make front page news. Instead, you should be using your data as a starting point to explore different areas, people and trends. Say your story is about candidates under 20 running in the election, and you can only find 8 people who fit the bill, even though you know there’s more. Use the number of candidates you have found as a contact list rather than the story, and before you know it you have some interesting insights into the political careers of teenagers.


So there you have it. Use this guide any time you have a dataset you feel very uncomfortable using as the basis of a story, or even if you’re new to data journalism and don’t know what to analyse. You don’t have to be a statistician to create great data stories.


VIDEO: How to make an interactive map using CartoDB

CartoDB logo

CartoDB logo

Knowing how to create interactive maps can be a very useful skill for a data journalist, and there is an easy, free online tool that allows you to do just that.

From election results to cycling accidents, CartoDB allows you to make many clean-looking visualisations with your data. Last year, we interviewed Andrew Hill, one of the data scientists from CartoDB, who said: “It is a tool for anyone who wants to create a map. We think everyone has the ability to create interesting visualizations and tell important stories with data.

“We created CartoDB to make it easier, faster, and less expensive.”

Journalists use this tool everyday to portray stories through maps. The Telegraph’s foreign desk, for example,  has used it to map the number of Nobel Prize winners in each country across the world.

The video below will guide you through how to make an interactive CartoDB map using 2015 election forecast data.

Map created during tutorial

How to use statistical functions in Excel

Lies, damn lies, and statistics. At least that’s how the saying goes and how the wider public feel, for some reason people tend to distrust something with numbers backing it more than if it doesn’t. Well that’s just completely wrong, but the problem is that numbers can tell two different stories from the same data.

Statistics might drive people insane, scare them, or not seen relevant.

But in this post I’ll try and explain how to use Excel for some basic statistical analysis and what it can tell us.

Disclaimer: There will be outcomes I don’t explain as they are more advanced, but they may be covered in a later. I will also use very simple data sets for ease of explanation.

Why might a data journalist want to use statistical tools?
Journalists have a lets be honest earned reputation for being scared of numbers and frankly being awful at them. But data journalists and those interested in it are a different breed.

Why we should be interested in statistics is what it tells us about our data, it is a tool to spot patterns, check reliability and ask if all as it seems to be. For a basic story this is probably going a bit far, but when handling complex data sets especially if they are financial it tells us a lot.

If you perform a regression analysis for example and the results seem odd there is a lead to explore, which you would never have found unless by chance or really understanding the subject area. In essence it is a tool that allows you to tell more about stories and find exciting new leads.

So lets get started.

Firstly you need to make sure you have the right tools. For Mac this is:

  1. Download StatPlus:mac LE for free from AnalystSoft, and then use StatPlus:mac LE with Excel 2011.
  2. You can use StatPlus:mac LE to perform many of the functions that were previously available in the Analysis ToolPak, such as regressions, histograms, analysis of variance (ANOVA), and t-tests.
  3. Visit the AnalystSoft website, and then follow the instructions on the download page.
  4. After you have downloaded and installed StatPlus:mac LE, open the workbook that contains the dat that you want to analyze.
  5. Open StatPlus:mac LE. The functions are located on the StatPlus:mac LE menus.

Statistical Functions

To start with, here is a list of the majority of the statistical functions within Excel. We won’t be covering anywhere near all of these but an explanation is provided by each.






Learn about your data

One nice thing about the Data Analysis tool is that it can do several things at once. If you want a quick overview of your data, it will give you a list of descriptives that explain your data. That information can be helpful for other types of analyses.

We shall use the data below. It shall also be used for other topics in the post.


If we wanted to get a quick overview of the variables, we can use the descriptive statistics tool. Go to the basic statistics tab in StatPlus and click on descriptive statistics. Then highlight the column containing the data, if you have checked column 1 as labels make sure to includes it. This looks like a lot. But some of these variables can be helpful. This is useful for journalists because it helps us test the validity of our data and mean we don’t go too far in trying to find a story before realising it isn’t worth our while.


To look at Variable #1 (Quantity sold), if you do a regression, you want the Mean (average) and Median (middle value) to be relatively close together. If your results are good you should be seeing standard deviation to be less than the mean. So in the above table, our Mean and Median are close together. The standard deviation is about 1296 – which means that about 70 percent of the quantity sold was approximately between 5900 and 7100. Not too scary so far right?


Another good overview of your data is what is called a correlation Matrix, which gives you an overview of what variables tend to go up and down together and in what way they are moving. For example say you were looking at data which showed how something changed over time, you could use the matrix to see if the progressions are what you’d expect. This might find you a great story.

It is useful as a first look at what your data is telling you before potentially delving into regression, but to work out whether the data for a story is reliable this would be useful. The correlation is measured by a variable called Pearson’s R, which ranges between -1 (indirect relationship) and 1 (perfect relationship).

Go to the data table and the data analysis tool and choose correlations. Choose the range of all the columns (less headers) that you want to compare. Then you get a table that matches each variable to all other variables. Below you see that the correlation between Column 2 and Column 3 is 0.02156. It would be the same between Column 2 and Column 3.

Correlation provides a general indicator of the what is called the linear relationship between two variables, but it crucially you cannot make progressions. To do that, you need to do what is called linear regression – this will be covered later.


What we can use it for however is checking the outcomes are logical and within a margin of error, if not ask why? If the data set your working on suddenly changes ask questions, see if there isn’t a story. It is a tool to allow you to go beyond the obvious and find interesting stories within your data.

Some characteristics help predict others. For example, people growing up in a lower-income family are more likely to score lower on standardized tests than those from higher-income families.

Regression helps us see that connection and even say about how much characteristics affect another.

Trend Analysis

Trend analysis is a mathematical technique that uses historical results to predict future outcome. This is achieved by tracking variances in cost and schedule performance.

For trend analysis there are three ways it can be done: the equation, forecast, or trend. I will go through these three methods using the simple set. One important term to understand here is R-squared, as it gives a indication of the reliability of your data. But what is R-squared?

R-squared is a statistical measure of how close the data are to the fitted regression line.

The definition of R-squared is here. Or:

R-squared = Explained variation / Total variation
R-squared is always between 0 and 100%:

0% indicates that the model explains none of the variability of the response data around its mean.
100% indicates that the model explains all the variability of the response data around its mean.

It is important to remember R-squared cannot determine whether the coefficient estimates and predictions are biased, which is why it is critical that you must assess the residual plots. R-squared also does not indicate whether a regression model is accurate beyond doubt, it can be low and right or high and wrong.

The equation


Forecast function


Trend function


Why might this be useful?

Well if you are getting large outliers or your R-squared value is out for example it can be an indicator of an unreliable data set. For a jobs data story this could suggest that the government’s claims to a smooth system is not true.

Or if you were doing a story on incidents of piracy it could lead you to exploring avenues about reporting, hotspots, or identify key periods for further investigation. Paradoxically by going deeper into the numbers it can allow you to can further beyond them and ask the really tough questions.

Statistics keeno klaxon

Here are other types of standard trends, which may be touched on in a future article:

  • Polynomial – Approximating a Polynomial function to a power
  • Power – Approximating a power function
  • Logarithmic – Approximating a Logarithmic line
  • Exponential – Approximating an Exponential line


Regression Analysis

Regression analysis is a statistical process for estimating the relationships among variables. It includes many techniques for modelling and analysing variables, where the focus is on the relationship between a dependent variable and one or more independent variables. Not obviously related to journalism? Think about a story about stress levels for a certain group and other factors such as wages, housing or frankly anything. If you can identify this you can then track those changes over time and tell a lot deeper data story, it gives weight to sometimes seemingly obvious answers.

So lets get started:

  1. In StatPlus click on the statistics tab.
  2. Select linear regression and click OK.
  3. Select the Y Range (A1:A8). This is the predictor variable (also called dependent variable).
  4. Select the X Range(B1:C8). These are the explanatory variables (also called independent variables).
  5. These columns must be adjacent to each other.
  6. regression1Check Labels.
  7. Select an Output Range.
  8. Check Residuals.
  9. Click OK.

Excel produces the following Summary Output:


R Square

R Square tells you how much of the change in your dependent variable can be explained by your independent variable. R Square equals 0.962, which is a very good fit. 96% of the variation in Quantity Sold is explained by the independent variables Price and Advertising. The closer to 1, the better the regression line (read on) fits the data.

Significance F and P-values

To check if your results are reliable (statistically significant), look at Significance F (0.001). If this value is less than 0.05, you’re data looks good. If Significance F is greater than 0.05, it’s probably better to stop using this set of independent variables. Delete that rerun the regression until Significance F drops below 0.05. Of course this is not guarantee of success.
Most or all P-values should be below 0.05.


The regression line is: y = Quantity Sold = 8536.214 -835.722 * Price + 0.592 * Advertising. In other words, for each unit increase in price, Quantity Sold decreases with 835.722 units. For each unit increase in Advertising, Quantity Sold increases with 0.592 units. This is valuable information.
You can also use these coefficients to do a forecast. For example, if price equals £4 and Advertising equals £3000, you might be able to achieve a Quantity Sold of 8536.214 -835.722 * 4 + 0.592 * 3000 = 6970.


The residuals show you how far away the actual data points are from the predicted data points (using the equation). For example, the first data point equals 8500. Using the equation, the predicted data point equals 8536.214 -835.722 * 2 + 0.592 * 2800 = 8523.009, giving a residual of 8500 – 8523.009 = -23.009.

Why might this be useful?

See my explanation of regression analysis above! This is probably the most advanced stats covered in this post, but I would say is potentially the most useful as it can be applied to so many types of data and data sets you have created.


I hope this has been a good introductory overview to statistics in Excel, I’ll do another post soon and update this one when I get round to it but I hope this has proved useful.

Video: How to use regex to scrape HTML pages

Regex how to

Ever wanted to scrape something with OutWit Hub but the data you want is tied up in ugly HTML tags that change with each new piece of information?

Regular expressions – known as regex – are often an easy way of getting around them. These are sequences of symbols and characters which express a pattern to be searched for in a piece of text.

This video will show you how to use regex sequences to scrape with OutWit Hub. It covers two individual examples for you to run through.

These will give you the basic components which you can then build on to use your own regex to help you scrape.

A social media style guide for local newspapers

Declining print circulations, traditionalism, internal politics, a small budget. These are problems that don’t just affect local newspapers, but it hits them worse. So why have I written a social media style guide principally aimed at locals? Because, generally, they have fewer resources to invest in their social media channels.

As journalists, we’re still trying to figure out which social platforms work best for news reporting. The most recent questions have been about the journalistic potential of WhatsApp and Snapchat, closed platforms where young people are doing whatever it is young people do. For the time being though, let’s focus on the big two – Facebook and Twitter.

The Times social mediaHere’s how social media is done at The Times and The Sunday Times

I wrote this guide while on work experience last December, so it is influenced heavily by The Times and The Sunday Times‘ social media style guide. I’ve updated it so it can be applied to any local newspaper and indeed any news organisation interested in boosting their social media presence.

Welcome to your social media style guide.

Here’s how to produce the most fun, engaging and informative social content that serves the reader and drives new followers. It is a working document – the social web is always changing and so are your readers.

General points

● Be accurate and consistent
● Tailor content to the platform – Twitter and Facebook are different!
● Show off about your exclusive content
● Correctly attribute images
● Use appropriate hashtags


The average half-life of a tweet is 2.8 hours. So ideally, you should publish one tweet an hour from 7am to 8pm, showing the range of content on the site.


Tweets should be conversational and directed at followers. Make it clear there’s a human behind the account. There’s nothing wrong with an exclamation mark every now and then. Be funny, be smart, and be engaging.


Retweeting followers shows you’re engaging with them on some level (reply to people too!). Retweets don’t necessarily mean endorsement. Please don’t ever manually retweet someone (“There’s a button for that”) unless you have something valuable to add as an extension of his or her tweet.


Use a URL shortener such as bit.ly – it looks much better. Install the bit.ly browser plugin to speed up the process.

Embedded content

Tweets with images attached perform much better than those without. Embed images, whether they may be Twitter cards, charts or photos, wherever possible. Soon you’ll be able to embed video content on Twitter without using a third party app. Embedding short videos will boost your engagement rate.


Vines work really well on Twitter. Vines can also reach hundreds of thousands of people if they get featured on the app, so it’s certainly something to consider. A Vine account could be used to show behind-the-scenes content from the office.


People follow hashtags for news and topics they care about, particularly breaking news stories. We need to reach these types of people – users who are invested in something – so include trending and popular hashtags in tweets wherever possible. You can check if a hashtag is popular by searching for it on Twitter. You know it’s worth including it if tweets are coming in every couple of minutes or seconds.

Live tweeting

When covering a live event in person, embed photos and Vines as much as possible. Try to tweet differently to the crowd – don’t just report what’s happening. Here’s something I wrote about how to live tweet better. Try not to begin a tweet with a full stop and the person’s Twitter handle ‘.@bjacksonuk…’ – it looks ugly (‘full stop before @ reply’ should only be done if you’re replying to someone’s tweet and you want all your followers to see it).


Facebook statuses should be posted sparingly if you don’t currently get much engagement – morning, noon and evening. The best performing content should be given priority here. Take a look at your Facebook page’s furniture, such as the profile picture, cover photo and ‘About’ section. Have these things been updated recently? These things need to look attractive and fresh, communicating your brand just as well as the daily front page is supposed to.


Statuses should be personal and appeal to the reader’s emotions wherever possible – Facebook users are more likely to engage with content framed in emotional terms. It’s good to ask questions, share quotes and use pithy one-liners. Don’t ever just copy and paste the headline into the status. A curiosity gap helps with engagement too…


Statuses shouldn’t be any longer than three lines. Ideally, you shouldn’t use more than five words. Remove the link when the post generates a preview of the article before you hit ‘Post’. When you choose to embed an image, you need to keep the (shortened) link in the status because the image replaces the article preview. Don’t use a colon to point to the link. It’s not cool and the user knows where the link is.

Embedded content

Embed an image if it contributes to the story and makes the status look more attractive. Videos also work well and they play automatically, so they’re more likely to get the user’s attention if it’s any good!

I think that’s a good start, don’t you? If I had to sum up my social media style guide in four words, I’d go with ‘put the user first.’ Put yourself in their shoes. What do they want to see? What stirs them, what makes them tick, what will they share with their friends?

By following this guide in conjunction with studying site metrics and performing experiments, your community of readers will definitely grow in size and loyalty. Everybody wins.

Header image: Scott Jackson/Flickr

How to get started with D3

If you’re interested in dataviz, you’ve probably been hearing a whole bunch about D3. When you stumble across a really creative-looking visualisation, chances are it’ll have been made with D3.

Yes, it’s hyped, and there are a million tutorials out there and it can all feel a little overwhelming. So where to start?

Luckily, your humble Interhacktive test bunny has taken the plunge, and tried out three ways of learning to use D3. Read on, for the pros and cons of each.

What is D3?

It’s a powerful Javascript library developed by Mike Bostock. D3 stands for “data-driven documents”, which basically means that you’re binding the data you want to visualise to DOM elements and manipulating them.

D3 Data-Driven Documents.

All of which sounds really technical, of course. The short answer is that D3 lets you make beautiful custom visualisations, entirely from scratch.

When should I learn it?

You’re getting the hang of out-of-the-box vis tools like Plotly, Datawrapper and CartoDB, and are starting to feel frustrated by their limitations. You want to have more freedom to make visualisations that look exactly the way you want.

I’ve heard it’s insanely complicated. Should I be worried?

The honest answer? Yes – D3 does have a rather steep learning curve. I felt quietly panicked the first time I read through a tutorial, and you may feel a little bit discouraged at first too, depending on your background.

A section of the 250 lines of code I wrote to make a bar chart.
A section of the 250 lines of code it took to make a bar chart.

You will be writing Javascript, and yes, you will be writing hundreds of lines of code. You’ll want to be somewhat familiar with HTML, CSS, SVG and DOM elements (if any of this sounds scary, don’t worry! Start with Codecademy’s HTML and CSS tutorial).

BUT: You hardly need to be a Javascript expert before you can start learning D3. In fact, lots of people have said that D3 is a great way to get a feel for Javascript in the first place.

Okay, I’m in. How do I get started?

There are roughly speaking a bazillion tutorials – just on Mike Bostock’s GitHub page. Where to turn? I’ve trawled through a whole bunch of them and am back to report on the three I found most useful.

Video tutorials

Ah, Youtube. Reliable source of how-to videos from how best to groom your cat to how to dance salsa. Naturally it’s also happy to instruct you on how to visualise your data. I followed user D3Vienno’s 20 video tutorials, and found his explanations of some of D3’s more bizarre functions rather good.

20 videos sounds like a lot to get through, but they’re easy to follow and he’s managed to fit in a lot of information. By the time you get to the 20th, you’ll have covered ground from very introductory principles up to advanced D3 layouts like tree maps and geomapping.


D3Vienno is a journalist, which makes his tutorials particularly useful to fellow hacks.


The tutorials get off to quite a slow start, so if you have any previous experience of Javascript, you may start to feel restless.

Book: Interactive Data Visualisation for The Web

Scott Murray’s book on D3 is a bit of a classic. It’s also surprisingly funny (probably as funny as a book on programming is likely to get).

This hefty tome is intended for absolute beginners and will hold your hand as it guides you from the very basics – like what HTML really is.


Murray’s exercises are easy to follow. And like I said, he’ll make you giggle a bit.


I didn’t feel afterward that I’d got a whole lot of independent skill. When working through the tutorials I thought that I’d got it all, but when I tried my hand at creating my own viz afterward, I drew a blank. I’d suggest combining the book with some video tutorials.

Go to a workshop!

I was lucky enough to attend a D3 workshop in London run by Peter Cook of AnimatedData, where attendees range from visual journalists to Python developers and Javascript beginners (yours truly).

Cook really goes through the fundamentals. If you’re coming expecting to have made some crazily advanced force network by the afternoon, you’ll be disappointed. By hometime, I had created a scatterplot that I could’ve charted in Excel. BUT: More importantly, he’s talked us through the philosophy behind D3.

My rather sad-looking scatterplot.
My rather sad-looking scatterplot.

When simply following tutorials, you’ll often find yourself typing in strange commands like enter() and exit() without really understanding why they’re doing whatever it is they’re doing.

Attending a session with a professional like Cook takes you through the steep initial learning curve with a firm understanding of the fundamentals.

We also deconstructed how breath-taking visualisations like this one by the New York Times were made.

Screenshot: New York Times
Screenshot: New York Times

“This bridges the gap between what you know now and what’s necessary to do these advanced visualisations,” Cook said.

Having a chance to ask any stupid questions really gives you a better grasp of how D3 works.

The cost…(up to £250, to be exact).

So what’s the verdict?

Going to a workshop is fantastic, but has the obvious drawback of being expensive. Still, there really is no good replacement for having someone knowledgeable taking you through it in person. If you’re broke, try to find someone who’ll be your D3 mentor so you can turn to them for questions. Why not join a Meetup?

Is there any reason not to learn D3?

If you really hate coding, maybe give it a rest for now. There are a lot of other cool tools that you can use to make visualisations without writing a line of code.

But if you learn a little bit – even if you can’t do particularly advanced things on your own – you will know enough to have an easier time cooperating with any developers or journocoders you’re working with. That’ll help you know if and when demands that you’re making are unreasonable, and give you an idea of what takes how long. It will make you popular with all the developers and the world a generally happier place.

How to comment online (without being a jerk)

I recently finished a couple weeks’ worth of shifts at The Times, working on the digital team as a community manager. My duties included posting articles to social media and compiling reports on site analytics, but the job that I spent most of my time on (and found the most entertaining by far) was moderating the comments.

We’re all familiar with comments sections on the internet, for better or worse, but my time spent moderating was an interesting look into comments from the other side of the fence.

I went through slightly over 6,000 comments during my time there, and built up a pretty good understanding of how commenters behave online and what sort of comments don’t make it through the moderation process.

I’ve compiled these bits and pieces into a list that should be essential reading for anyone thinking of laying down some opinions in a comments section in the near future.

Comments like this rarely get published, weirdly.
Comments like this rarely get published, weirdly.

Bozoing is a thing

So you’ve just read an article about the latest Taliban attack in Pakistan and you feel like doing a bit of trolling. You write a lengthy diatribe in which you call Islam a ‘death cult’ and demand it be outlawed (yeah, someone actually posted this).

Expecting to get 100 recommendations in five minutes and lots of angry replies from looney lefties, you get nothing. No stars. No replies. No-one seems very bothered about your brave, incisive opinion.

You bottle up your impotent rage and save it for another comment. Either you’re not as clever as you think you are, or you’ve just been bozo’d.

The bozo is a third option for comments, after approve and delete. Basically, to the commenter it looks like their comment has been approved. In fact, no-one else can see it. It’s a way to trash comments without giving trolls the satisfaction of a warning or a ban. It’s something of a trade secret though, so keep it under your hat, yeah?

Sports fans, you’re alright

When I started (at 11PM on a Sunday night, eesh), I presumed the worst comments by far would be about football. I thought I’d have to be like an internet riot cop, clobbering hooligans with a truncheon while dodging flares and molotovs.

I couldn’t have been more wrong. The sports comments are always polite, interesting and friendly. More than any other section, commenters know each other, and chat with each other like they’re talking about last week’s conversation at the pub.

Naturally, things get heated sometimes, but everyone knows it’s just the passion that sport inflames. When even the most innocuous, inoffensive, ‘also in the news’ story can provoke a huge flame war, it’s surprising that arguments about sports are so lovely.


Internet trolls are usually less cute and less annoying than this lil' guy. (Pic: Valerie Everett via Flickr)
Internet trolls are usually less cute and less annoying than this lil’ guy. (Pic: Valerie Everett via Flickr)

If the sports section still isn’t friendly enough, go to the member’s area

For you plebs who don’t have a Times subscription, there’s an area on the site called the Member’s Area. It’s a place for subscribers to share feedback about the latest Times+ offers, like restaurant discounts or free cinema tickets, but it’s mostly used as a place for subscribers to chat about what they’ve been up to.

I’m fairly sure it’s the nicest place on the internet. There’s no flaming, no anger, no 100-comment argument threads. Just people sharing the details of their lovely trip to the pictures, or the tasty meal they just had with their husband.

It’s very peculiar when you see a few of these same users commenting on news stories, spouting unacceptable opinions and insulting other users. If you ever get tired of the Wild West that online political arguments can sometimes be, head to the Member’s Area to recharge your batteries.

Your comment didn’t get trashed because I disagree with you.

Yes, I may be a young, liberal, East London dwelling vegetarian, but that’s not the reason your comment got trashed. We have a list of moderation guidelines that have been tried and tested through a number of revisions and generally work at making the comments section a decent place for debate and discussion to take place.

If your comment still doesn’t appear an hour after you posted it, it’s because you broke the rules, not because the moderators want to silence you or because I’m a member of the left-wing London media elite (although I hope to be one day).

My favourite comment ever - left under a video of a man being eaten by an anaconda.
My favourite comment ever – left under an article where a man describes being eaten alive by an anaconda.

People are generally good

I’m well aware of the bile that comments sections online are often dripping with, and honestly I was expecting my two weeks of moderating to be a fairly harrowing experience.

Fortunately, you guys are alright, really. I don’t know if it’s something to do with the fact that The Times is a paywalled site, but by and large, 95% of you are respectful, rule-abiding, and most importantly, interesting in what you comment.

And even if there is a bit of a fight in a comments section, a quick reminder from me to keep things polite solves the problem pretty much every time.

Moderators are people too, and we need to be loved

I think most commeneters would be surprised to hear there’s actually a human moderator reading all the comments. The process can be automated to an extent, but to ensure the community’s managed properly, you really need a person sat at a desk.

But I’m not your enemy. I spend my time trying to make sure that you can go the comments section and have decent debates with people without getting insulted or derailed or spammed.

I put my jeans on one leg at a time. I work because I need money to pay rent and buy food and beer. My bus is sometimes late.

So please, when I give you a warning because you’ve libelled someone with your comment, relax for a minute and think of me sitting in a lonely office half way through a nightshift and a bit sweaty from my fifth cup of coffee, before you send me a furious email in which you call me a “jumped-up little c***.” Cheers.

Bloggers, site-owners or community managers of the internet, have you got anything to add? Something you wish your commenters would understand a bit better? Sound off in the comments and let us know more.

6 tools to help you get started with programming

So you want to get started with coding, but don’t know where to start.

It can feel like a daunting project, possibly because many of us have the idea of coding being some kind of dark art, with lots of complicated syntax to get right.

Thankfully, the internet is here to help. And here’s the first secret: It’s not all about the details. One of the biggest advantage of the tools below is that they’ll help you wrap your head around the big picture, and understand how computational thinking works.

Make it a game!

A codeacademy lesson in action

Codecademy takes you through the basics of coding languages from HTML to Python painlessly, by gamifying it.

Solve puzzles, earn badges. Get stuck? Ask for a hint!

A badge earned from Codeacademy

If this seems too technical for you, the tools on Code.org and Scratch have an even more gamified approach.

Yes, it’s technically for kids, but heck, it works for adults too.

Play the Frozen game while learning to code

Anyone who doesn’t get excited about coding after helping Anna and Elsa make a winter wonderland is just crazy.

Hit the books

Looking for a more traditional approach to learning? Books that earlier would’ve cost you a fortune are now largely available free online. Why not try Learn Python The Hard Way (which sounds horribly intimidating, but really it’s more like Learn Python By Coding Python…) and you’ll soon be a master scraper.

Do your own thing

Finished your Codecademy course and don’t know where to go next? Every developer says the same thing: The best way to learn programming is to start on your own project.

But if you’re stuck for ideas, here’s a list of 125 project ideas.

And remember: Google is your friend

Make Google, StackOverflow and Github your very best friends.

And remember: whenever you run into an error message that makes you want to ragequit and throw your laptop out the window, just try googling the error first.

Google search "d3.append() not working"

Odds are dozens have already asked and solved that very problem on StackOverflow.

What other issues have you run into when teaching yourself to code? Tweet us @Interhacktives and let us know!

Here’s how to live tweet protests if you want to get all the followers

Get retweets, get paid.

Tweet differently.

Everyone else is tweeting where the march is, where it’s going, how many people there are… Zzzz. Why do you want to be like them? Find your own voice, present things a little differently and maybe you’ll get noticed.


Vine it up.

If you get lucky and Vine decide to feature your clip on the app, your Vine could reach 100,000+ loops. Plus Vines are fun and people like seeing them on Twitter.

This Vine got 120,000 loops and it’s just people walking!


Stick with the troublemakers.

If in doubt, follow the black bloc. If you don’t know what that is, follow the guy with the firework/flare/can of smoke/insert-illegal-item-here to get the best view of the action.

Here’s BuzzFeed’s Siraj Datoo almost getting hit by a firework.

Be funny.

Too many people on too many protests tweet serious things too much of the time. Break the trend and maybe you’ll get trending. Eh! Sorry. PS Russell Brand loved this.



I once overheard a student declare his opposition to free education at a free education demo. People say funny and interesting things all the time so keep your ears peeled.

Tweet fast and accurately.

Just don’t libel anyone, yeah? If there’s no way to confirm something, it’s always best to just not tweet.

It’s easy to not tweet, I’m doing it right now.

Now go tweet this article.

Cat begging photo tumblr_lllvv3wWvc1qfstdz.gif