Weeknotes #223

This week I did:

Stopped and went back

We’ve been prototyping the new product and had been coming up against lots of questions where our discussions revealed very different understanding, so we stop for a day and went back to re-work the wireframes to ensure we all had a shared understanding. Sometimes, stopping and taking a backwards step helps you move forward more quickly.

I had lots of fun using logic statements to describe how content will be displayed based on the ranked order of variables and the combinations of values. It’ll be interesting to see long the final statement is.

I’ve been experimenting with reporting using Microsoft Planner, exporting the current state to a spreadsheet and having formulas to generate a status update report. If I ever get time I’d like to create Google Sheets version of the report for others to use.


This week’s lecture was about statistics. It feels like the most difficult subject we’ve studied in the entire Masters programme. Perhaps because there are lots and lots of new concepts to learn whereas all the other lectures were about one big concept, and perhaps because there is a right answer when it comes to using statistics, which again is different from all the other stuff we’ve learned about.

Build Better Systems Chatbot

I started mapping out the flow for the Build Better Systems chatbot. The chatbot (if I ever finish it) will allow someone to select aspects of a internet business model such as distribution channel and revenue model and then it asks them to decide what to do in situations one of their Twitter followers launching a copy of their business idea, and how many paying customers do they want to reach before they consider their business idea to be validated. Based on the answers they select their business will either succeed or fail. The point is to prompt makers to think about how they construct their business model in the digital age and making it robust to respond to challenges. There are lots of variations in the flows so it’s going to be the most complex chatbot I’ve ever built.

300 Digital Tools

My Digital Tools list has reached 300 and I’ve set myself the target of 500 by the end of the year.

I read:

Innovation in the charity sector

I’ve been collecting research papers as part of the literature review for my dissertation on innovation in the charity sector, including one from 2016 on using Facebook as a fundraising tool (it’s effective depends on how you measure: direct impact on income is low, impact on connecting with supporters (presumably some make donations) is high) and another that looked at the metrics charities use to measure their marketing activities. Aside from these being interesting in their own right, I haven’t yet found anything that relates to my field of study.

Innovation as an emergent product of a value network.

I listen to a talk by Roland Harwood about entrepreneurial activism with lots of interesting ideas about how to use entrepreneurialism in places like South Africa, which has huge wealth inequality, to establish small businesses in deprived areas which kick-start economic growth and make corporate organisations invest in those areas in order to grow the market. He talked us needing a pragmatic vision of the future and mentioned quotes such as “Innovation is a byproduct of networks” from Verne Allee.

Thought about:

The difference between meetings and workshops

Meetings might be led, but often not. Workshops are facilitated.

Meetings are meandering. Workshops are structured.

Meetings are about ‘something’. Workshops are for ‘something’.

Meetings create more meetings. Workshops generate outputs.

Give and tech

If we say that civil society is characterised by individuals choosing to use personal resources for collective gain, from donating time and money to a charity, but often with no gain for themselves (arguable, as there are very different types of value but anyway…). And if tech ethics discussions are around what we and others give up in return for what we and others gain, such as data in a network effects system where the more data we all contribute the more benefits that data can lead to for everyone. Both involve us understanding ourselves as part of a complex system of other people and technology with non-linear effects.

Some some people tweeted:

Heads together

Wayne tweeted: “Thinking of creating a cross sector working group looking at transformation from every angle. Digital. Strategy. Fundraising. NPD. Wellbeing. Etc. Each month we pick a problem, put our heads together and try to solve it. For free. Anyone interested?” This made my think about Nesta’s Collective Intelligence Design Playbook and how some of the techniques in it could be used to record the outputs of all those heads coming together to solve problems in ways that can be used and built upon by more charities, perhaps a bit like Catalyst’s Service Recipes.


Philliteracy tweeted, The Charity Commission’s recent efforts to win friends and influence people <ahem> got me thinking about why we have a stand-alone charity regulator here in the UK.” and went into a really interesting thread about the history of the idea and application of an organisation responsible for charity regulation. How the state introduces and manages controls within the civic space (and market for that matter, given all the talk about regulating the tech industry) is important when thinking about what problem regulation is designed to solve, and who it solves for.

The future hasn’t arrived yet

David Mattin tweeted a thread about “the Four Futures framework, and it’s an amazingly powerful tool for thinking about what comes next“. The thread goes on to explain how, based on the work of professor James Dator, all predictions for the future fall into one of four categories; Growth: the present order continues to develop along its current trajectory, Collapse: our current trajectory comes to a sudden halt; the present order falls apart, Discipline: new restraints are imposed on the present order to prevent collapse, or Transformation: entirely new systems are found; we transcend the present order. The stories will tell ourselves about the future of anything always falls into these narratives.

GiftBot – Our Product Management Training Project

As part of the Product Management training at General Assembly I worked with two other Product Managers to go through the product process of identifying a problem, doing user research to understand and define the problem, identify our riskiest assumptions and run an experiment to test it, create an MVP to test whether we can solve the customers problem, and iterate upon the feedback.

The Problem

Busy people forget or run out of time to buy gifts for friends and family.

Lean canvas

We used a Lean canvas to record our assumptions to help us identify the riskiest for validation.


After undertaking research with 18 people we grouped their responses together to allow us to create personas.


The first version of GiftBot:

This version received an NPS score of 5.9.

GiftBot after user testing received feedback that it wasn’t very friendly and returned too many results. This version scored 7.2.

Final presentation

GiftBot Presentation

BHF Shop Bot

I wanted to build a shopping Chatbot for the British Heart Foundation.

Charity shops run on three engines; stock donations, volunteer helpers, and customers to buy things. So I wanted the bot to be able to offer something for all three aspects

Find a shop

The ‘Find a shop’ flow is about helping the user find a shop nearby to donate unwanted items to.

Ebaybot- Find a shop

The bot asks for the users location and then queries the Google Places API for places that match the preset search term of “British Heart Foundation”. The results are displayed to the user as a set of three cards showing the nearest three BHF shops.

It relies on the information in Google Places being correct, which it isn’t always, and interestingly, the Google Places API only returns results of places that are open, which may work well if you’re looking for a place to eat right now but if you search for charity shops on a Saturday evening you get no results. If I was doing it again I’d want to host the shops location and opening times somewhere like a Google Sheet so that the bot can provide more useful info about which shops are nearby, their opening times and what kinds of things they want to be donated.

Another useful feature might be using Google Maps to show the route from the user to the shop they select.

Search our eBay store

The ‘Search our eBay store’ is about allowing the user to find out if the BHF eBay store has any of what they are looking for, and it was the most complicated and fun to build.

As it is a simple search it relies on the user knowing what they are looking for (which I think most people using eBay do). It doesn’t provide any kind of recommendations.

The eBay API’s are very comprehensive and there are multiple API’s available to accomplish different things. I used the ‘’ API as I could specify that only results for the British Heart Foundation store are returned.

The first part of the flow is about finding out what the user wants to search for and calling the API to return matching items.

Ebaybot - Search for guitar
EbayBot - Found items

The data that comes back includes a count of how many results there are. We can use this later but for now it’s useful to tell the user how many items we’ve got matching the search term to set their expectations about how helpful the next few steps will be in them finding what they are looking for.

Sometimes there are no matches to the search term and so the count is 0. This gives us something specific to filter on and means we can ask the user if they want to search again. If they say no then the flow ends there.

If there five or fewer results then the item name, image, and url on eBay are displayed in a set of cards. I chose to limit the number of cards to five to reduce the amount of sideways scrolling the user has to do. If there are more than five results (and we know this because of the count we used earlier) then the bot asks if the user would like to see more results. If they say yes then another set of five cards is displayed. This is repeated again meaning the maximum number is items that the user sees in the flow is fifteen, but there is no reason it couldn’t be expanded to continue to show as many items as there are in the search results.

Unfortunately the API specifies that only 140px thumbnail images are available, which means they don’t look great when displayed at a larger size (like when using messenger.com on a laptop).

I haven’t looked at the other ebay API’s but maybe the next step is to look at allowing the user to login to their eBay account and bid on an item.

Talk to a person

The ‘Talk to a person’ flow is essentially a simple ‘Contact Us’ form (but I couldn’t call it ‘contact us’ as from the user’s point of view they have already contacted us by engaging with the bot.

Ebaybot- Talk to a person

It asks the user what their query is about, what they’d like to say, and their email address. Using the Freshdesk API, these details are used to create a ticket in Freshdesk.

Asking what the query is about is a way to automate the triaging of the ticket in Freshdesk. It’s a little annoying having to collect the email address when you already have a means of communicating with the user but it’s required for creating a ticket in Freshdesk and gives a way for the customer service agent to reply to the user. I might look into the Freshdesk API a bit more and see if it’s possible to pull the replies into the chat.

As a first iteration it works ok, and it was a good distraction on a Saturday night.

Using location in chatbots

Using location in a chatbot can be really useful in providing information and services, but getting the coordinates into the chatbot isn’t as smooth and easy as perhaps we’d like.

Getting the user’s location starts with gaining permission for the device to send its longitude and latitude coordinates to the chatbot.

Chatbot location

But if location is switched off, Messenger needs to ask for location to be switched on.

Chatbot location

Clicking the button in Messenger triggers the device to seek permission to allow Messenger to access location.

Chatbot location

But that doesn’t always work.

Chatbot location

Once location is switched on Messenger can get the long/lat coordinates.

Chatbot locatiuon

And then Messenger can pass the coordinates to the chatbot.

Chatbot location

Once all those steps have been taken the chatbot can finally use the precise location to provide whatever information or services to the user.

Given how complicated getting that location is for the user we should question whether getting the precise longitude and latitude coordinates is the best option for obtaining the user’s location. If the chatbot only needs to know the region the user is in then simply asking the user could be a better option.