10 tweet summary of NFP Tweetup 33

This NFP Tweetup included sessions on PPC, Oxfam’s digital fundraising work – and app – and Cancer Research UK’s digital transformation. Lots of great ideas were shared – I’ve tried to pull out 10 of the very best tweets to summarise the event.

The Case for Investing in Adwords – Kate Sanger, Head of Communications at Jo’s Cervical Cancer Trust

They worked with a paid search agency, but with the explicit upfront aim of upskilling the in-house team.

The agency audited and restructured their ad copy. Incorporated call out and phone extensions. Refined keyword matching so it wasn’t just ‘broad match’. Set up an information flow between analytics data and PPC performance data. Added ‘do you need adwords?’ question to the comms brief that the digital team receives.

The My Oxfam app and more – Matt Jerwood, Head of Digital Fundraising at Oxfam UK

The Oxfam App displays content for the period during which you’ve been a regular giver. The idea is to show the impact of your donation.
The app displays third party news, to increase credibility.

It shows your gift history, and displays income generated from items you’ve sold in Oxfam charity shops. It lets you manage your direct debit level in-app, moving it up or down.

There isn’t currently a designed journey for people who dial down their direct debit – e.g. prompts or encouragement to increase it after a period of time. Again, the app is very much about the soft cell.

I bet the CRM integration was really complicated. But for the user, the experience is simple. That’s the way it should be.

No firm evidence of success yet, but initial results suggest that it improves retention.

They’ve improved the single donation experience too. They added Apple Pay and PayPal payment options, massively reducing the time needed to make payment

We didn’t get stats on the impact on the donation value or reduction in dropoff at the payment page.

From dinosaurs to digital masters: our mission to change our DNA at CRUK – Kate Simmons, Head of Customer Experiences at Cancer Research UK

Cancer Research UK surveyed people’s experiences of working with the digital team.

People felt that digital was something done to them, rather than something they had control over.

They produced a word cloud and the biggest word was ‘patronising’.

The CRUK team survey relationships with other teams every 2 weeks.

You need to recognise that people go through a change curve. It’ll get emotionally difficult before it gets better. You need to look after your digital team and build their resilience to help them with this element of their work:

Interesting lessons from advanced hub-spoke model: people feeling out of place and leaving

So empower people to make change in their own teams after you’ve upskilled them through cross-team digital working. And if they don’t feel part of the digital team, but don’t feel part of their original team either, help craft a third identity for them.

Cancer Research UK avoid the words: “digital”, “agile” and “ways of working”. They set up a Modern Marketing Academy.

Aside: Cancer Research UK made the case for improving findability on their intranet by working out how much time was being wasted by the poor user experience, and what the resultant cost was.

Some recommended follow-up reading:

Behavioural psychology approaches to service design – Alisan Atvur

Below is a video and summary of a talk by Alisan Atvur at the Camp Digital conference.

Psychology knows that behaviour is seldom rational. So we need to study behaviour.

Create a common design language with “nonviolent communication”

Marshall Rosenberg argued that there were 3 categories of non-violent communication:

  1. 88 human needs
  2. 91 positive feelings we wish to experience
  3. 153 negative feelings we want to avoid

To be non-judgmental, clear and constructive in our use of language, use a “Rosenberg deck” of feelings cards as a conversation prompt.

Map behaviours with “rational emotive behaviourism”.

Albert Ellis, the founder of CBT, argued that Activators trigger Behaviours, which lead to Consequences.

Map out a user journey. Use an Ellis Matrix. Identify the causes of user behaviours. Propose what new Consequences could be, and what new activators and behaviours could be.

Map motivations with “guiding self ideals”

A lot of we do is a result of feelings of inferiority. (See the work of Alfred Adler.)
We seek a “fictional final goal” – if I do [BLANK] I’ll be finished and happy.

So ask ourselves: what would happen to us as an organisation if we never tried to solve this problem?
What would happen to the user if we never tried to solve this problem?

Then ask: What is an aspirational place for us to be? What if we did do this?
Can you clearly indicate what the result would be? – for us and for users

You need to map this out to get an overview of a potential new area of work.

Good leaders and designers empower the team

Lao Tzu quote on leadership, from Tao Te Ching:
“A leader is best when people barely know he exists, not so good when people obey and acclaim him and worse when they despise him. But of a good leader, when his work is done, his aim is fulfilled, they will all say we did it ourselves.”

Cultivating Shared Understanding from Collaborative User Research – summary

I’ve pulled out some of the key points in a discussion about user research, between Jared Spool and Erika Hall on the UI20 podcast. A transcript is available on that page.

What makes for good user research?

Years ago, the approach to reporting on user testing was different. Jared Spool: “You’d come back and you’d assemble the notes into a giant report. You would write the report in passive voice, and then distribute it. Of course, the thicker you made the report, the more of a thump up it made when you dropped it on the table, which was, of course, the most impressive way to do reporting, and then nobody read it. Then you wondered why it was there.”

Of course, the purpose of user research is to inform high-quality decisions. So research must be read and acted upon. This is why user researchers now produce short, easy-to-digest reports.

Erika Hall: “The value in research is not the answer… It’s creating that culture where you’re constantly asking the same question, and you’re in a position to keep asking the question, finding what today’s answer is, and finding a way to respond to that in your work.”

What is the aim and output of research in a team?

The documentation becomes secondary. Erika Hall: “The goal is not to produce a report. The goal is to create this shared understanding so that everybody in the team knows here’s what our goal is, and we’re very clear about our goal. Here’s what our constraints and requirements are. To really think about the assumptions together and develop the shared vocabulary about here’s what we’re betting on, and here’s our evidence that those are good bets.”

Selling research

Erika Hall: ‘[One thing that] sociologists are studying right now is the fact that data doesn’t change minds… People’s minds are very good at shutting out data that they don’t want to hear…That’s a sales moment for research, when you bring a stakeholder in and you’re like, “Watch this, and see the power, and feel the change in your own mind when you see all of your assumptions blown away.” Those are really, really powerful moments.’

Erika Hall: “Research is challenging given ideas, so it’s naturally anti-authoritarian. If you’re in an authoritarian business culture, you have to work very carefully to change that.”

Asking people what they want leads to unhelpful speculation

Erika Hall: “one of the criticisms of research is that you’re asking people what they want. People will speculate, and this is something you have to be really careful of when you do research about people and their actual behaviors and habits. If you ask the question the wrong way, what you’ll hear is what people are speculating about, which might have no connection to how they actually behave.”

If you talk to people about, “Would you use this feature? What do you like? What do you want?” they’ll imagine these scenarios that may have very little relationship to what they actually do, and what they actually need, and the choices that they make if they’re using something in a real-world scenario.

When building digital products, you should test them early to make sure that what you’re building will work

Jared Spool: ‘if we developed bridges the way we develop online products, the way people seem to want to do it, we would build the bridge and then we would send a car across it. We would watch the car inevitably plummet into the depths below, and then we’d go, “Huh. Maybe there’s something wrong with the bridge.’

Erika Hall: ‘you need to know what your overall goal is, that the research is supposed to be helping you with. you say, “OK, what are our major assumptions that we’re betting on, that carry a lot of risk?”…Then you say, “OK, what questions do we need to ask? What are we trying to find out before we get down to work, or as we continuously work, to help us validate our assumptions?”‘

When you work with data, be wary of projecting assumptions and biases onto the data

Jared Spool:
In a study, a panel was interviewing for the position of police chief. There were two flavours of resume: academic-oriented, and street-oriented.
The male name was attached the to academic resume, the female one the street experience resume.
They picked the male candidate. They said “This position requires a real academic approach, so that’s why we chose the male candidate over the female. It wasn’t because they were male. It was because it was academic.”
But then the names were switched, so that the female name was on the academic resume, and the male name on the street resume.
Then the evaluators would say “This job requires someone with real-street smarts, so we chose…but we’re not biased.”‘

But it’s possible to take measures against bias: “they found that if they had the folks rate up front which is more important, street-smarts or academics, and they were to write that down before they looked at the resumes, then they were more likely to choose the person based on the actual criteria they had decided, not based on gender bias.”

Digital Transformation – Charity Comms networking event

“What does it actually mean, and what does it look like for your charity?” This post is a quick summary of the most interesting ideas that came up in discussion at this Heads of Digital networking event, 15 March 2017. The event was held under the Chatham House Rule, so I won’t be sharing anything identifiable.

Upskilling everyone equally might not be as useful as significantly upskilling some key individuals.
Build a community of product owners, train them and empower them through management of their own backlog and budget.

Digital transformation sees digital outgrow its regular home in communications and move into:

  • Service delivery
  • Business transformation
  • Making sure that the organization meets user needs.
  • Foundational business processes and infrastructure.

Don’t be proscriptive with change. Instead, invite teams to let you know where you might be able to help them achieve their goals more effectively with digital tools.

If you start by optimising a small number of key user journeys, this can give you a clear way in.
Follow this thread towards transformation. The necessary changes emerge organically, and it’s easier than getting buy-in upfront.

Management and Leadership of the Agile Organisation

Notes from a talk on Agile management and leadership culture at the Digital Project Managers meetup on 9 March by Chris Davies. Video available.


A large number of the reported causes for failed agile projects are management-related.

ranking of leading causes for agile failure, highlighting cultural factors

This is down to management’s way of thinking.

Why do managers think differently?

Managers still often follow the scientific management principles of Frederick Winslow Taylor:

  1. It is possible to know all you need to know in order to plan what to do.
  2. “Planners” and “doers” should be separated.
  3. There is only one right way to do things.

The harmful divide between “Planners and “Doers”

This distinction between “planners” and “doers” causes an uneven power dynamic.

The powerful (planners) are focused on ambition, politics, mistrust, greed and fear.

The powerless (doers) are focused on resentment and resignation.

This approach is manifested in management creating plans for resources to follow, in milestones, steering groups (the idea that these people set direction and the doers just follow along), progress reports, measuring individual performance, annual budgeting, organisation silos and timesheets.

The split between “planners” and “doers” may have made sense in the early c20th factory system, where you didn’t have an educated workforce. But it doesn’t make sense now that university education is widespread – and it particularly doesn’t make sense for knowledge work, where the “planners” probably won’t be expert in the fast-changing specialist domains of their subordinates.

As Steve Jobs observed:
“It doesn’t make sense to hire smart people and then tell them what to do; we hire smart people so they can tell us what to do”

Why do we tell people how to do their jobs?

We tell people how to do their jobs if the outcomes we want aren’t materialising.

We set objectives, then make plans to meet these objectives, and then carry out the necessary actions.
But we might not get the outcomes we want.

This can happen because of problems in the flow between these steps:

  • Knowledge gap: a difference between what we think we know and what we actually know. Assumptions.
  • Alignment gap: a difference between what we want people to do and the actions people take.
  • Effects gap: a difference between what our effects are and what we want them to achieve.

How does scientific management approach problems?

  • Knowledge gap: give me more detailed information
  • Alignment gap: I need to give you more detailed instructions
  • Effects gap: need more detailed controls

This disempowers people in the organisation.

How else might we approach problems?

Scientific management isn’t the only approach. Prussian General Von Moltke in 1869 advocated a different way.

  • Knowledge gap: “Do not command more than is necessary or plan beyond the circumstances you can foresee”
  • Alignment gap: “Communicate to every unit as much of the higher intent as is necessary to achieve the purpose” Intent more important than how to achieve it in practice.
  • Effects gap: “Everyone retains freedom of decision and action within bounds” everyone decides how to achieve that purpose.

So a superior management approach is to establish alignment on intent and give autonomy on actions.

  • Define and communicate intent
  • Allow each level to define how they will achieve the intent of the next level up and ‘backbrief’
  • Give individuals freedom to adjust their actions in line with intent.

diagram showing how the knowledge, alignment and effects gaps can be resolved


graph showing impact of high and low alignment and autonomy in combination

Some examples of this approach

  • A BA check-in staff member was presented with a gold customer running late for a flight that was taking off in 20 minutes. All the formal rules suggested that nothing could be done, and she couldn’t get in touch with her manager or with customer services. So she took the initiative to hold up the flight and personally escort a gold customer to the gate, allowing him to make his flight. This was against formal rules, but in alignment with the company’s values “To ensure that BA is the customer’s first choice through the delivery of an unbeatable travel experience.”
  • Netflix avoid top-down decision-making. They focus on ‘context, not control’.
  • Submarine Captain David Marquet (author of Turn the ship around) divested control to his subordinates. Instead of giving orders, he’d ask people to tell him what they intended to do. He’d then potentially ask a few questions. He’d then give assent. Subordinates would internalise the required dilligence, and grow in their own competence and professionalism. His focus was on providing clarity of purpose.
  • Buurtzorg – a nursing company predicated on empowered, independent teams of nurses. Teams hire their own people, and decide how to operate. Patients love it because nurses spend more time with them. And yet the need for care is 40% less than it is in other organisations. The US would save $49 billion a year if it had this system.
  • Favi – brass foundry. Legendary for on-time elivery, having not missed a deadline in 28 years. Staff empowered to do what it takes to get results, including delivery by helicopter if that’s what’s needed. This builds trust in delivery and the brand, far beyond the costs.

Changing culture results in bigger gains than changing processes

Simply adopting agile practices will generally give about a 20% benefit.
Adopting an agile culture gives about a 300% benefit. This is much more powerful.

How people rewarded or punished in an organisation determines your values. Management sets boundaries by how it treats failure. Any cultural change needs to address this.

You need to evolve into theory Y management to realise benefits from agile. Change from theory X management to theory Y management.
Put in place supporting structures, processes and practices.
Role model these behaviors by people with moral authority in the organisation.
Recognise that work is accomplished by teams not individuals. Monitor and value groups.
Divest control within teams. Give teams autonomy and boundaries to work unimpeded.
Encourage people to explore and challenge their personal beliefs. They’ll leave if they don’t like it.

Command and and control versus team-based approaches to work:
diagram showing the difference between top-down and team-based approaches to work

Digital Transformation scrapbook

Here are some key insights from articles I’ve read on digital transformation.

The evolution of (Digital) strategy

Discussions on digital: How strategy is evolving—and staying the same—in the hypergrowth digital age

“My view is that the role of strategist, first and foremost, is the mobilizer. People need to understand where the company is going and take autonomous decisions. ”

“the way to manage a company has changed a lot in the last couple of decades, from “top down, the leader knows it all, let’s execute,” to a model that’s more like a federation, where you expect empowered teams to make the right choices and follow in the general direction. So it’s even more important to have a strategy that allows that federation of little teams to do what they have to do and not refer up the chain every time.”

Be wary of taking a narrow conception of what ‘digital transformation’ is

Digital strategy: Understanding the economics of disruption

“what they had wasn’t a digital strategy, it was a list of priorities for digitization. Explicitly, it was how are we going to reduce the cycle time in our end-to-end processes, how are we going to improve the customer experience and build new apps, and so forth. It was about how they digitize. It was not actually the choices they were making about a big disruptive economic force, which is the changes that are made possible by digital technologies.”

“The word ‘strategy’ is used too loosely with digital to mean our priorities for digitization not the choices we’re going to make in terms of where we compete and how we cmopete in the face of a big disruptive force.”

“We found that going back to the fundamentals of economics, trying to understand where there is economic room to be attacked, where your open flank is, or where you could thrust a spearhead, was a much more useful way to approach the problem and simplify the problem and focus on the right priorities.”

“Do not just think digitization. Think digital strategy. How will the economics of my business change in the future? How can I change the economics of other businesses? And, therefore, what should be strategy in the digital age be?”

How companies become digital leaders

“incumbents, particularly laggards and followers, sometimes reflexively try to drive digital marketing and sales. They mistake the world of digital for the world of online-selling success. And that narrow set of levers and aspirations for digital transformation is often unsatisfying and unsuccessful. Because there is a lot of opportunity unlocked by digital: the ability to fundamentally change how productive your assets are, the ability to leverage data and your consumer base in a different way, and the ability to actually develop innovative new propositions that you could never have offered before – the world of universal connectivity and ultracheap and ultrafast processing power. the ability to do these things is often a lot more powerful than trying to get a laser-like focus on pure digital- marketing and -sales performance.”

Thinking digitally can be difficult

Achieving a digital state of mind

“One of the biggest changes digital allows is that what might have been product sales become services. … You may have bought a thermostat, but now you’re buying energy management. You may have bought a TV, but now you’re buying entertainment streaming.”

What ‘digital’ really means
“diverse perspectives [on what digital means] often trip up digital teams”

“digital should be seen less as a thing and more a way of doing things.”

  1. “creating value at the new frontiers”. This could be about developing new businesses in adjacent categories, or identifying and realising value pools in existing sectors.
  2. “creating value in the processes that execute a vision of customer experiences”. Obsessively seek to understand each step of a customer’s purchasing journey, regardless of channel, and think about “how digital capabilities can design and deliver the best possible experience.” e.g. supply chain to give flexibility and deliver the product efficiently and in a way that the customer wants.”
  3. “building foundational capabilities that support the entire structure” “Being digital is about using data to make better and faster decisions, devolving decision making to smaller teams, and developing much more iterative and rapid ways of doing things.” [see below on decision making and oversight] I.T. should be delivered in a two-stream model. Legacy systems that support critical functions should work at a slower pace, and a separate stream supports fast-moving, often customer-facing interactions.

Making the cultural case for change

Digital disruption is impacting every sector, even law firms

“We should not try to convince management of the importance of digital. Instead we should frame the conversation around their pain points and struggles. Every senior management team has certain objectives that they need to reach or barriers they need to overcome. The chances are that digital can help with those and that is how we should position it.”

Customer obsession

Achieving a digital state of mind
“Everybody will say they’re customer oriented, but, as digital leaders would say, they have to be customer obsessed. And that’s something that a lot of organizations still struggle with. So that’s where you should start. Take the customer perspective.”

How to think about building digital services

Digital disruption is impacting every sector, even law firms
Not like creating a building, where you draw up the plans, then build, then do minor maintenance.
It’s more like planting a garden. Start small, then add more elements. Keep pruning, trimming and evaluating as you go.

Design sprints

Preventing the Executive Swoop and Poop with Design Sprints

  • Takes a week
  • Uses a team of participants from different roles and perspectives in the organisation.
  • Define and unpack a problem. Built a shared understanding
  • Generate ideas and decide which ones to pursue for testing
  • Build a prototype of their ideas, and validate assumptions by observing real people using it.

This helps you escape the risk of designing by starting with a list of stakeholder requirements, which may not be correct. “Unfortunately, because there’s usually no validation process built into the conventional design process, it isn’t until late (sometimes as late as when the product ships) that the team learns they went down the wrong rabbit hole.”

“Trying out what seems like a great idea and discovering that you’re wrong is a fantastic way to learn. Doing it quickly and early in the process mitigates the risks associated with heading down the wrong paths, delivering more educational value to your organization at lower cost.”

“When an organization integrates design sprints into projects, they see a dramatic decrease in outside influencer disruptions and an increase in their design quality.”

Continuous optimisation

Optimize Customer Experiences With Online Testing And Continuous Optimization

Improve your online testing through the following continuous optimisation objectiveS:

  1. Learn from every possible customer interaction
  2. Test customer interactions across the entire lifecycle
  3. Align with a customer-centric strategy
  4. Deploy testing within every possible digital channel

Failure and experimentation

Amazon’s 2015 letter to shareholders

“failure and invention are inseparable twins. To invent you have to experiment, and if you know in advance that it’s going to work, it’s not an experiment. Most large organizations embrace the idea of invention, but are not willing to suffer the string of failed experiments necessary to get there. Outsized returns often come from betting against conventional wisdom, and conventional wisdom is usually right. Given a ten percent change of a 100 times payoff, you should take that bet every time. But you’re still going to be wrong nine times out of ten.”

Different types of decision need different types of oversight

Amazon’s 2015 letter to shareholders
“One common pitfall for large organizations – one that hurts speed and inventiveness – is ‘one-size-fits-all’ decision making.”
“tendency to use the heavy-weight Type 1 decision-making process on most decisions, including many Type 2 decisions. the end result of this is slowness, unthoughtful risk aversion, failure to experiment sufficiently, and consequently diminished invention.”

There are actually two types of decision:

  • Type 1: consequential and irreversible or nearly irreversible. “one-way doors”. “these decisions must be made methodically, carefully, slowly, with great deliberation and
    consultation”. A minority of decisions are Type 1.
  • Type 2. Changeable, reversible. “Type 2 decisions can and should be made quickly by high judgment individuals or small groups.”

    Data-enabled decision-making and the role of top management

    An executive’s guide to machine learning
    “Frontline managers, armed with insights from increasingly powerful computers, must learn to make more decisions on their own, with top management setting the overall direction and zeroing in only when exceptions surface.”

    How companies become digital leaders
    “Not doing anything may be the riskiest move of all.”

    Rapid development and measurement

    Achieving a digital state of mind
    “If you’re doing to do a rapid ‘test and learn’ and get those feedback cycles, the whole philosophy has got to be that what we do is measurable.”

How to change the world – Mike Monteiro

Below is a video and summary of a recent talk by Mike Monteiro. A transcript is available. N.B. NSFW language.

The world is bad because we made it this way. “The world is designed to work this way.”

When people talk about changing the world, ask: “How? For who?”
For all the excitement about Uber and AirBnB, the service economy is nothing new. “There’s nothing disruptive about rich people getting richer.”

How to change the world

  1. Get ignorant.
  2. Realise that the world as designed works in our favour. What if that wasn’t the case?
    The Veil of Ignorance is “The single most important political and ethical concept in a designer’s toolbox.”

  3. Look like the world.
  4. “Our diversity is our strength, and we’re idiots for not leveraging it.”
    If people have narrow life experience, you just get “white boys solving problems for white boys”.
    “They’ve never been harrassed, so it doesn’t even occur to them that that’s a problem you have to solve for.”
    Similarly with cabs refusing to stop, or being assaulted,

    “Empathy is not enough – we need inclusion.”
    The point isn’t that any particular experience or classification makes you a better designer. People are just better informed about themselves than they are about others.
    Our teams need to reflect the diversity of who we design for. It’s not just about race or gender, but experiences, needs, thinking, solutions.

  5. Design the right thing
  6. The AK47 is easy to use, easy to manufacture. But design is about more than this.
    “Nothing who’s primary purpose is to kill can be said to be designed well.”
    “Attempting to separate an object from its function, in order to appreciate it for purely aesthetic reasons, or to be impressed by its minimal elegance is a coward’s way of justifying the death they have brought into the world and the money with which they’re lining their pockets.”

    “Design is a trade done for money, but we have a choice about how we make that money.”
    “Your role as a designer is to leave the world in a better state than you found it.”
    “You are responsible for what you make.”

There are big design problems for us to solve

  • Global warming
  • The migrant crisis
  • Guns in the US

We’re lucky people – so we’re responsible for helping others who weren’t as lucky.
Change how we design and who designs.
Use your time on this world in the interest of making others free.

Testing two WordPress Gutenberg prototypes

I carried out three user testing sessions of two prototypes of the new editor for WordPress. Users were confident in their digital skills. Here are the results.

Key observations

  • The overall design approach is successful. The idea of thinking of content in blocks was easy to grasp, and the context-sensitive popup options were intelligible.
  • The function of the up and down arrows to the left of content blocks wasn’t immediately clear.
  • Users quickly worked out what the block-positioning arrows did, and were happy with this approach. To my surprise, no one tried to drag and drop blocks after finding out how to reposition blocks.
  • In 1.0 people weren’t sure what the S means – is it strikethrough or the option to remove a link? Perhaps we can use proximity to make this clearer – associating this options clearly with presentation controls (underline, italics) or functionality controls (hyperlinks).
  • Some users tried to drag and drop images. How will dragging and dropping work – within and between blocks?

Full notes of the testing sessions

First prototype

Tester 1

Prototype: “A beautiful thing about Apple…”

prototype of a new editor for wordpress

Clicks into a block and sees and instantly understands the alignment options.

Clicks on the ¶ symbol but it doesn’t do anything.
Expected it to be interactive as the mouse changed to a hand pointer, suggesting interactivity.

Clicks on the up arrow, but nothing happens. Wasn’t really sure what it would do.

Enters a line return to break up the paragraph of text, but isn’t able to do this.
Thought that the arrows up and down might allow the insertion of a line break.

Highlights text to make it bold and expects to have to use a keyboard shortcut as nothing was previously visible on the screen. But then notices the popup.
Comfortable with the options presented.

Heading and blockquote options don’t behave as expected. (Dismissed as a limitation of the prototype)

Clicks on the image. The up and down buttons don’t do anything.
Tries to click on the image icon but it doesn’t do anything.
“I don’t understand what the symbols are. I expected them to be interactive but they don’t do anything.”

Tester 2

Understands the split between code and visual editors.

Likes the context-specific editing as it keeps the screen more focused.

Tester 3

Understands the concept of HTML and editable preview.

Wonders how valuable constant HTML visibility is to the average content editor. Will they break things?

Second prototype

“1.0 Is The Loneliest Number”

An early prototype of the new wordpress gutenberg editor

Tester 1

Clicks on the heading text block.
Then clicks on the up arrow.
Then clicks down on it. “Ah, that’s interesting. So these up arrows change the order of the boxes”

User expected to be able to insert line breaks. (How do we want to handle line breaks within paragraph blocks? Do we permit them, meaning that we have big text blocks, or do we take line breaks as denoting the start of a new paragraph block? I’d prefer the latter but haven’t thought about all use cases.)

Clicks on the paragraph of text, and then clicks on the ¶ symbol.
Changes to blockquote style from paragraph style.
Understands that this allows him to apply style to the block.

Scrolls down the page and clicks on the plus sign at the bottom.

When asked what this is, says that it’s “a shortcut to functions that you use regularly.”
When asked: what would you expect to happen if you clicked on one of these items?
“It would create a new paragraph, image, heading, quote, etc, which you’d then populate with content.”

Tester 2

Clicks into the block and manipulates alignment options – working as expected.

Clicks down arrow and block responds as expected. Understands that the page is made up of blocks and that these can be repositioned.

Clicks on “+” and explains that this will add a new block. More options than expected: expected just image or text, so the extra options are “a nice surprise”.

Drags and drops an image into the content block. (Is this something we want to design for?)

Clicks on ¶ – and changes the text block type

Tester 3

Clicks into the text block.
“I wonder what the arrow does” Clicks on the down arrow and sees the block move down. Understands it fine.

Looks at alignment options. “Does that do the whole block? It does”

In general, understands the popup text formatting and link options.
Not sure what the popup “S” with strikethrough icon means.

Clicks on image and manipulates text flow options.

Clicks image icon, but “nothing here”. Expects caption controls.

Clicks on the “+” sign, and understands that this is for adding blocks. Wonders how lists will interact with paragraph blocks, and how we could set levels of header.

Easily understood the blocks concept. Wondered how well this would handle more complex page layouts.

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 chatfuel.com 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 Medium.com

View story at Medium.com

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

What I learnt by building a side project

A few years ago I completed Harvard’s CS50x – an online computer science course. My favourite part of the course was the self-directed final project. I’m interested in the question of how we can filter the mass of digital information that we’re confronted with every day, so that we can enjoy the best bits without spending all of our time scanning and processing. In my own life, I’d found that I had less time to keep an eye on Twitter. I really wanted a tool to keep an eye on Twitter activity while I was at work. So I explored this in my final project. I built a tool to monitor Twitter activity for a given list.

What I built was pretty basic – it was running on an old laptop in the corner of my flat, and it just displayed the results on the laptop screen after a specified number of hours had elapsed. A solid final project, but it only ever felt like a proof of concept. I wanted to build this into something I could use, and something that other people could use too.

So over the next few years I built it from the ground up as a full-blown web application that has now been launched as a real business: MySocialSummary.com.

The CS50 class was great, but once you have the foundations of understanding in place, there’s no substitute for the motivation, exploration, imagination and excitement of working on your own idea. Subject to having a reasonable grounding (and I’ve taken a number of computer science classes, not just CS50), I’d definitely recommend taking on a project that excites you, to take your knowledge to the next level.

Going through this process I’ve learnt a lot. I’ve divided this into two lists: one on specific computer science and business insights, the other on more overarching observations.

Specific computer science and business lessons

  • How to embed tweets in emails. (Or, rather, why you can’t embed tweets in emails.)
  • Working with APIs. An API is a tool for communicating between two pieces of software. Manipulation of data from the Twitter API is the foundation of My Social Summary.
  • How to load test your website. If you’ve built a website, you probably want people to visit. You commission your infrastructure with a certain number of visitors in mind. It’s worth testing how your site would behave if an unexpectedly large number of visitors arrive at once. This is called Load Testing. I used a tool called Load Impact to check out the load speed of My Social Summary when you add more users. As you can see, the homepage performs well with 50 visitors loading it at the same time.
    load test of mysocialsummary.com with 50 users
  • Working with code libraries. When you’re programming, you’ll often want to do something that other people have done before. For example, loading a web page, sending an email, or accessing the Twitter API. If you’re trying to solve a common problem, often there’ll be a code library of pre-written code that will help you with this. By using a code library, rather than producing this code from scratch, you can save a lot of effort, and the quality of the code is probably much higher quality than what you’d produce yourself. This frees you up to focus on the problems that no-one else has worked on yet. Not all code libraries are created equal – some are better documented and more fully-featured than others – so picking the right one is an important decision.
  • How to set up login via Twitter. A good example of when a code library can be useful. I’d have definitely struggled to build this authentication myself if I’d had to do so from scratch. Check out this documentation.
  • A diagram of part of the Twitter authentication process

  • How to securely handle user input. If you take any form of user input on your website that ends up interacting with the web server, it’s a security risk. So you need to build your site from the ground up with security in mind. I really enjoyed learning about how you can protect yourself using paramaterised database queries and other security best practices.
  • How to set up a LAMP server. That’s a common infrastructure stack, using Linux, Apache, MySQL and PHP to run a website. I’ve learnt how to manipulate the different parts of the machine (e.g. updating Apache settings) and use the different management tools.
  • The complexities of daylight saving time. When the clocks changed, I noticed that my daily summary emails were arriving an hour early. Fixing this problem for myself was trivial, but solving it for all different users – and possible future users – was harder. I’ve built functionality that checks every evening against the very latest timezone rules, and supports every timezone. (Check out the exhaustive dropdown list on the page where you can sign up for a free trial account)
  • The benefits of refactoring code. If code is a set of instructions, refactoring is rewriting those instructions to be more efficient. Refactoring your code isn’t fun – it’s hard work, and involves trawling through your past self’s logic and trying to improve upon it. But it can make massive performance improvements. In one case I was able to decrease the number of database interactions by a factor of a thousand through batch operations.
  • Are you too busy to improve your process?

  • The importance of good version control and deployment infrastructure. Any halfway competent programmer will tell you that good version control is really important. At the start of this project I was evidently not a halfway competent programmer. If you operate version control you can review the history of your code over time, and quickly track down errors. Your deployment infrastructure is the process from getting your code from a code file on your computer to your web server so that it can start doing real work. Ideally you want this to be as frictionless as possible. In the early days, I had no version control, and my deployment procedure was copying and pasting the contents of one text file into another. I can confirm that this was not a good process.
  • How to work with a front-end framework. Specifically Twitter Bootstrap. My interest in this project has been more in concepts and engineering than in presentation. But any website needs to have a front-end of HTML and CSS. Rather than building all of this from scratch, I used the Bootstrap library to help set up the structure and presentation of the site. This made it quite easy to make the site mobile responsive.
  • How to integrate with a payment provider. Taking money from people online has a few complexities. The main one is passing data from your payment provider to your web server, so that you know who’s paid what. This entailed using Paddle’s Webhooks. Handling all the different types of event that might happen – and doing so securely – was quite a bit of work, but it was very satisfying to get this set up and working correctly, and see money come in to my account.
  • How to use cron jobs. On a Linux machine, you can instruct the computer to automatically carry out tasks at certain times. These are called ‘cron jobs’, and they can be really powerful. I make extensive use of these for My Social Summary, for the management of user accounts, and the sending out of communications to new users.
  • How to satisfy the Twitter brand guidelines – and how to update things when they change…. Before coming up with a name, I carefully checked Twitter’s brand guidelines to make sure that the name was consistent. I felt pretty smug about having thought to do this. However, Twitter changed the goalposts, and later the name I’d chosen was no longer acceptable. So I had to come up with a new name for the service – and then roll out this change to all aspects of the service.
  • How to set up HTTPS security. Privacy and security are important, so I wanted to make sure that the site I was building used HTTPS encryption. Setting this up was quite easy – much of the process was done by my web hosting provider who installed the certificate. Seeing the little padlock next to the domain name for the first time was very satisfying.
  • How to set up email authentication via DKIM. I had no idea what this was. But one day I saw a little question mark when I opened up one of my summary emails, next to the sender name. Gmail said that it wasn’t sure if the sender of the email was actually who they claimed to be. Google had instructions on what to do next if you were the person sending this email, and I didn’t even need to follow all of these – pretty much all I had to do was change a setting with my hosting provider and this was resolved.
  • Example of an image without DKIM

  • How to migrate hosting provider. Part-way in to the project, it became clear that I’d outgrown the infrastructure I’d started on and needed a more robust web server. The process of transitioning from one provider to another is something I’ve overseen before in my day job, but to do all the work myself was useful. Before I started the process, I had to choose a provider with the right infrastructure and an SLA to match my needs. (I chose TSOHost and I’m happy with them.) Then I had to commission a new database within slightly different constraints, migrate the data over, and switch the traffic over to the new site. None of this was massively difficult, but the work took about a day nonetheless.
  • How to register a business in the UK.
  • How to track business finances. Fortunately the costs of a digital business are easy to track, so a simple Google spreadsheet suffices.
  • How to complete the year-end tax process. I haven’t had to do this yet – this is likely to be the real learning curve.
  • How to comply with the EU’s new rules on VAT for digital services. The EU changed its laws for how VAT is charged on digital services. Rather than being charged at the rate of the country of the person selling the service, VAT has to be charged at the rate in the country of the person buying the product. You have to collect evidence to prove this, and you can either make VAT payments to each EU country separately, according to its own processes, or you can submit centralised returns through the UK VAT MOSS service. Both of these processes seemed tedious and onerous, so I opted instead to use a payment provider that would handle VAT on my behalf. This meant switching from Stripe or PayPal (I’d been testing out both) to Paddle. Here’s a blog post on Paddle’s site discussing the changes.
  • How to set up a Content Delivery Network. Your website lives on a web server – a computer probably sitting in a datacentre somewhere. If someone the other side of the world wants to see one of your web pages, the information has to travel all the way to your web server and back. It would be quicker if they were requesting the web page from somewhere closer to home. A CDN is a network of web servers around the world that does this task. A CDN can also help take some of the load off your web server – if people are getting pages from the CDN rather than your web server, the web server doesn’t have to work as hard. I use the Cloudflare CDN. It has a free tier and is easy to set up. It disrupted the site’s HTTPS setup for a few hours while I turned it on, but other than setting up the CDN was easy. Cloudflare CDN usage graph example

Broader lessons

  • Starting with a Minimum Viable Product is the right way to build a digital product. I started off by building the simplest possible tool to meet my needs, and then I successively improved it from there until I had a product that was ready to launch. Had I tried to build everything in one go, I wouldn’t have known how to do it, or what I was trying to build. And I wouldn’t have had the motivation and insights provided by being able to use the tool myself from early on in the process. It would not have even been clear if what I was building was going to useful to anyone until after it had been launched. The Lean Startup methodology, and the Agile Manifesto, tell us that you should start off by building a Minimum Viable Product – the most basic version of your product that is still valuable. I already had an intellectual appreciation of this, but it’s always useful to test theories out in practice.
  • How to build a minimum viable product diagram

  • The power of self-directed learning. This project has been entirely self-directed. This has been thrilling – a chance to follow my interests and try and constantly reassess what I need to do – or learn – next. You learn a lot more, and a lot more broadly, if you’re learning to achieve a personal goal.
  • The power of emergent possibilities and understanding. When I started this project, I didn’t know everything upfront. I didn’t even know what I would need to know. The Agile approach to projects – release early, and iterate based on evidence of real user behavior – is thoroughly vindicated by this. Working on this project has strengthened my understanding of, and commitment to, the Agile and Lean principles of releasing early and improving your product from there.
  • The importance of knowing how you work – and what you need to work. Working on a side project is different to working your day job. I’ve become more sensitive to when I’m in the right headspace to do some work on My Social Summary, and when I just need to take it easy. I also have a better understanding about the conditions I need to get work done outside of my normal job. I tend to work quite well in uninterrupted stretches of at least an hour and a half – especially if I’m programming.
  • The importance of dealing with changing circumstances. The external environment changes. During this project, VAT legislation changed and Twitter’s naming rules changed. You need an approach to building a product that is not only resilient to this, but embraces it. Again, if I hadn’t been following an Agile approach, I’d have been in trouble.
  • To trust in your ability to keep learning and know more than you know now. Taking on a self-directed project builds self-confidence and self-reliance.

I’d love for you to check out what I’ve been working on. My Social Summary has a free one month trial, with no card details needed, so see if it can help you get more from Twitter.

What’s next for me?

  • Spread the word about My Social Summary.
  • Explore how we might overcome the ‘filter bubble’ that seems to be narrowing our political and cultural discourse. This feels like an important design challenge.
  • From a computer science perspective, I’d like to build something in a different, and more modern, technology stack. Probably Node.js / Foundation (for front-end) / PostgreSQL / Heroku.