Don’t worry about starting with a blank canvas

When starting a new project/product job, I used to worry about starting with a blank canvas. Now I’m more alert to the challenges of established systems.

Earlier in my career, when starting a new project I’d wonder: Where will I begin? How will I set up the right structures, ways of thinking?

In practice I’ve found that generally you inherit structure, process, documentation. And even if you don’t, you will come in to an established culture with a set of expectations and values (which you likely won’t fully understand straight away).

So actually the challenge is generally more about understanding what’s been done already and why, and working out what needs changing.

I’ve come in to organizations and been initially relieved at the structure and scaffolding in place, only later to realise that there might actually be some quite big problems with those cultural norms or established processes.

Did they start with user needs?
Is their conceptual approach to procurement the right one?
Are the governance ventricles predicated on the right foundations?
Are there cultural warning flags associated with some of the ways of working?

Worry less about what is missing and more about what is present but wrong. Your toolkit of techniques will help you build anything that is missing – the bigger challenge is assessing, challenging and changing what’s already there.

10 tweet summary of NFP Tweetup 32 – Getting off to a good start

Here’s a 10 tweet summary of last night’s NFP Tweetup. I wasn’t actually able to attend the event, but that’s no barrier to summarising the best material from twitter 🙂

Innovation and failure – Luke Williams, RNLI

Set up organisation-spanning structures to keep an eye on trends:

Formal approval processes often take longer than tech implementation work:

How to decide whether to jump a trend:

  • Where is this trend in its lifecycle? Has it peaked? Which other organisations have taken part?
  • Can we relate it to our organisation?
  • What time/resources do we need to make it happen?
  • How do we make it authentic to the trend?
  • Does taking part present any risks?

RNLI are using to build a Facebook bot.

Tips for getting buy-in for an idea:

Writing a digital brief – Jonty Sharples, Hactar

Headline structure for a digital brief:
Start with the user need and then think about the product. Not the other way round.

Digital Transformation approaches and language – Joe Freeman, Breast Cancer Now

Some resources on transformation recommended by Joe:

View story at

View story at

Eat Sleep Work Repeat podcast

Transformation but not as you know it…

Digital transformation is mostly about culture and ways of working, not technology

Tactical tip: fundraising events teams are usually very receptive to new ways of working to help them reach their goals:

(This has been my experience too.)

Two tools for measuring how well your organisation is doing digitally:

Digital Maturity Matrix

A spreadsheet to assign jobs to sprints

If you’re following an Agile project management process, and know your development capacity, I’ve made a spreadsheet that automatically assigns a prioritised backlog to sprints, and gives ETAs for each job. You’re welcome to download this semi-automatic-sprint-planning-spreadsheet. (ODS format)

The spreadsheet uses a macro to automatically allocate jobs to sprints.

You need to tell the spreadsheet:

  • How many hours each job requires. (This could be changed to story points if that’s how you work.)
  • Your prioritisation of work – i.e. you need to rank the jobs in descending priority.
  • When your sprints start and finish; and how many hours you have in each sprint. (There’s a separate tab for this)

This spreadsheet could make your life easier by:

  • Saving you time allocating jobs to sprints.
  • Saving you time in updating information when details change (e.g. you add new high priority jobs and want to see how this affects the eta of various pieces of work)

The spreadsheet allows you to answer questions like:

  • When will job X be completed?
  • Is it worth expediting estimation of this small job so that we can fit it in to the next sprint?
  • Why aren’t we working on job Y yet?

If you know the number of hours (or story points) required for a job, and you have an ordered prioritisation, just press the button and jobs will be assigned to sprints.

The basic logic is: For each sprint, start from the top priority job that hasn’t yet been assigned. If there’s room, put this job in this sprint, reduce the number of hours available in the sprint, and write down the estimated delivery date for that job. Then look at the second highest priority job and see if there’s room for it in the sprint. Keep going down until you run out of hours remaining in the sprint.

Then move on to the next sprint, and do the same thing again. Continue until you run out of sprints.

This tool can help when you have a large backlog of development work. The ideal is, of course, to not have a large backlog. A backlog of development work incurs inventory costs: Understandings of requirements fade, developers move to different tasks, internal stakeholders have to be kept updated, motivation and excitement around each job diminishes.

This spreadsheet is shared under the MIT License.

How to view the number of unique visitors to a page, or set of pages, in Google Analytics

You can see the number of unique visitors to your site as a whole in Google Analytics’ Audience report. But if you go to Behavior > Content Drilldown, to view a particular page of set of pages, you can only see “unique page views”.

Unique page views is a different measure to unique visitors. What a nuisance.

So the solution is to create an advanced segment in the Audience > Overview report, which includes the pages you want. (Inspiration taken from this comment by Rendy.S)

Let’s say I’m interested in the information section of the website. All of this content lives inside the /information-support/ section.

So If I wanted to create a segment to look at unique visitors to this part of the site, I’d use a regular expression like this: /information-support.*
The . and the * at the end combine to mean “plus any number of any other characters”. i.e. this will match any URL that starts

regular expression example for a site section segment in google analytics

So if you ever want to view the number of unique visitors to a particular page or pages in your website, create a custom segment and user regular expressions to target the page(s) you’re interested in.

Can I embed tweets in emails? No, because of JavaScript and iframes

A tweet is an individual message posted by someone inside the twitter social media platform. An embeddable tweet is a version of this message that can be copied and used outside twitter. Embedding tweets is a great feature, allowing conversations and ideas to be spread beyond twitter’s walls, and is great for curation and analysis.

But the way that twitter have constructed this feature means that you can’t embed tweets in emails.

Why is this? You can’t display embedded tweets in emails because embedded tweets require:

  1. JavaScript
  2. iframes

Both of these features are blocked by most email clients for very sensible security reasons.

So an embedded tweet that should look something like this:

… ends up looking like this instead:

#ed473 this is really thought-provoking. @anildash on gender privilege & social networks: The Year I Didn't RT Men.

— Bonnie Stewart (@bonstewart) February 13, 2014

This isn’t nearly as useful or pretty.

So what can I do instead if I want to embed a tweet in an email?

Lots of people simply share tweets by taking a screenshot of the message, and then pasting it to wherever is needed – eg into a powerpoint presentation.
This solution could work in the context of sending an email: take a screenshot of the tweet you’re interested in, trim to size, upload somewhere, and add in to your email. For extra credit, make the image a hyperlink to the original tweet.

This solution isn’t ideal – it’s manual, laborious, and cannot be easily automated. The information about the tweet will become outdated as more people share or retweet it, or reply to it. Worse, it’s not possible to actually interact with the tweet in this setting, nor is this option at all accessible (unless you are very diligent with your alt text).

Okay then, come up with something smarter

I haven’t created anything better, I’m afraid, but here’s one idea to investigate:

If our aim is to take the useful features of embedded tweets – aesthetics and functionality – and to get them into email, I think that Twitter’s “Do you know…” emails could help:

a screenshot of an automated email from twitter suggesting some accounts I might want to follow

You could take the inline HTML from these emails (I’ve copied the HTML code here) and use them to style up embedded tweets in an HTML email. You’d need to check in with twitter’s brand policies though, as this may not be within their terms of use.

3 quick points I learned from Google’s Digital Analytics Fundamentals course

Google’s Digital Analytics Fundamentals course started gently, introducing some good overall concepts about measuring objectives, but soon ramped up the difficulty so that experienced users would probably learn something too. Here are three things I’d like to share with my team:

  1. A “bounce” is a session with only one interaction. Bounce visits are assigned a time on page and a visit duration of zero.
  2. Goal conversions can only be counted once per visit. Ecommerce transactions can be counted multiple times per visit
  3. Visitor flow behavior report can show you events as well as page views.

Some user experience information streams I’ve subscribed to today

Today I’ve spent some time reviewing which RSS feeds I subscribe to. I’ve decided that I’m missing out on user experience material. So I’ve been hunting out some streams of UX inspiration and ideas.

I’ve added the following feeds to my RSS subscriptions, and will be reviewing their usefulness over the next couple of months:

  • Smashing Magazine UX design category
    Feed address:
  • UX Magazine
    Feed address: feed://
    I’m slightly wary of this one – will the content just be stripped down teasers for paid material? Will the focus be too long-form and specific for my needs?
  • Gizmodo’s user experience tag
    Feed address:
    This one was a little harder to find the RSS feed for. I didn’t have to do any filtering like I’ve done with other RSS feeds, but I did need to manually work out the URL. I followed this guidance to generate the URL I needed – you just need to put /rss at the end of the tag’s URL.
  • UI Patterns
    Feed address:
    UI design patterns are standard solutions to common design problems. This site discusses them and also collates examples.
  • Elements of design
    Feed address:
    A showcase of different design patterns. The RSS feed itself shows latest additions to the example gallery.

How to embed a flickr tag slideshow on your website

If you have a set of photos uploaded to flickr, all with a certain tag, here’s how to display them in a slideshow on your website:

The steps outlined in the video are:

  1. Head over to flickr.
  2. Go to your photostream, and click on one of your photos that you’ve tagged with the tag you want to display.
  3. Scroll down, then click on the tag you want to display in a slideshow – eg dailycreate.
  4. Manually add “show/” to the end of the URL (without the quotation marks).
    So in my case, the URL I want is:
  5. Go to this link, which will load up a slideshow.
  6. Click on ‘Share’ at the top right, then click on ‘Customise this HTML’.
  7. Specify the width and height options if you want to, then copy and paste your code onto your website.

How to add a twitter feed to your wordpress site

Summary: Get twitter to generate some HTML that you copy-paste to a widget on your WordPress site.

Here are the steps in more detail:

1) Head over to twitter and generate a personalised HTML code

Navigate to twitter, and log in. Then click on the cog at the top right of the screen, then settings, widgets, then ‘create widget’. (As a shortcut, here is the direct link to the twitter widget page)

2) Which widget type should I choose?

Each tweet feed looks very similar, and is embedded into your site in the same way, but they display different information:

  • User timeline – displays your tweets. You can choose whether or not to include replies.
  • Favorites – Displays all the tweets favourited by a chosen account. Doesn’t have to be your own account.
  • A list – Displays all the tweets by members of one of your twitter lists.
  • A search feed – displays tweets matching a search term. This is where you can display hashtags. Eg (remove the quotation marks) “#ds106” or “digital communications”. You can also do fancier searches using boolean terms – eg on my digital storytelling site I have a stream that searches for “martinlugton and #ds106” to highlight my ds106 tweets.

3) Click ‘create widget’, then copy the HTML code to your WordPress page and put it in a widget.

Go to the widgets area of your WordPress admin backend.Grab a widget of the type ‘text’ and drag it to the appropriate widget. (A widget is just an area of your page. Each theme has different widgets, so take a minute to work out where exactly you want to place yours.)The width automatically adjusts to the width of the area (div) you place it in.

4) The result should look something like this:

two examples of a twitter timeline widget

Filtering RSS feeds for a more useful inbound content stream

Noise is the price we pay for volume and diversity of content.
I’m hopeful that we can reap the rewards of the wealth of information around us, while minimising the price way pay having to filter through it to get to the good stuff.

I’m interested in the task of focusing on relevant, helpful material and reducing the mental overhead of filtering out irrelevant material. In this post I look at one way to bring a bit of order and clarity to your RSS feed subscriptions, so that they are more focused and useful.

To do this, we use Yahoo Pipes – an online tool that can manipulate information from around the web, and serve it to you in a range of formats.

You can make  your own pipes, and so create your own processes for gathering and manipulating information and content.

Each pipe takes an input – or a range of inputs – does stuff with it – in some sort of sequence – and then presents an output.

Data flows through pipes, gets processed appropriately at different points, and goes down to the output. You can then do stuff with this output – in our case we want to subscribe to it as an RSS feed.

Let’s look at a couple of examples of how we can use yahoo pipes to filter content:

Filtering the SEOmoz feed, so that I only see Whiteboard Fridays material

One very important area of digital change is SEO.

Watching SEOmoz’s weekly Whiteboard Friday video is a great way to keep up-to-date with best practice, and to see experts figure out the implications of any changes in the search landscape.

I’m not a dedicated SEO professional, though, so I don’t really have time to read all the posts on SEOmoz. But I do want to keep up with Whiteboard Fridays.The SEOmoz RSS feed doesn’t know this, of course, so it just serves me all the content produced on the site.

Ideally I’d be able to filter this RSS feed, so that I just get my weekly delivery of Whiteboard Friday and nothing else. This is super-easy to do with Pipes:

In the Pipe editor, click on the ‘Sources’ heading, then drag ‘Fetch Feed’ into the editing area.

This is where we specify the RSS feed we want to filter. In this case we paste in

Now it’s time to add in a filter, and set it to only let through Whiteboard Fridays posts. Under the ‘Operators’ heading, grab the ‘Filter’ module.

Connect the output of ‘Fetch Feed’ to the this module. (Connect modules by dragging from the circle at the bottom of one (its output) to the circle at the top of another (its input). This creates a pipe. Make sure that the output from your final process is linked up to the output!)

Now it’s time to specify the filter we want. This looks a little intimidating at first, but if you click on the left-hand column Yahoo Pipes makes some suggestions. In this case we want to the filter to only allow through content whose title contains ‘whiteboard friday’.

yahoo pipes being used to filter whiteboard fridays

Have a look at this pipe and make a copy of your own – or remix it!

You can add multiple rules for each filter, which can give you lots of power. You could, for example, filter the NHS Choices Behind the Headlines feed so that you see material about ‘cancer’ or ‘dementia’ but nothing else.

You can filter by more than item.title. You can also filter by item.description, which seems to be the item’s content, or at least an excerpt.

Filtering the Telegraph Comment feed so that it just displays editorial content

I’m a leftie Guardian reader, but I want to make sure that I’m presented with a range of different views so that my ideas aren’t just informed by one way of thinking. It’s good practice to see different sides of an argument, to judge for oneself which is better, lest we fall into sloppy thinking. (I used to be an Economist subscriber, but keeping up with the volume of content it produced was punishing.)

I don’t want to read all the Comment pieces in the Telegraph, though. I’d rather just read the editorial. The naming convention on the Telegraph’s Comment feed seems to be that editorials are written by the author ‘Telegraph View’. So I set up a filter to only let through this content:

yahoo pipes filtering the telegraph comment feed to only display editorial content


Head over to yahoo pipes to see this pipe in action.

Don’t kill the noise

A word of caution: you need noise in your life. Noise is new, unknown, challenging, thought-expanding. Processing it takes effort, and can be uncomfortable, but it has rewards. So don’t filter it out entirely. (Indeed, the whole point of the Telegraph filter is to increase the ideological noise in my life)

But sometimes you know what you want from a given RSS feed, and you don’t want to see anything beyond that. Be in control of the noise – this is the time to filter. Save you brainpower for filtering through the noise in areas where you’d like to expand your knowledge and understanding beyond what you currently think you need to know.