How to create review apps in Heroku from Gitlab

A review app is a temporary application created to help you review in-progress code changes. You’ll use a review app because you’re working on a code branch and want to see what the changes will be like in a production-like environment, or because you’re reviewing a pull or merge request from someone else.

Gitlab doesn’t explicitly outline how to setup review apps with Heroku, but the Heroku API is well-documented, and it’s quite straightforward to get this up and running. You’ll need to set up a few environment variables. And make sure that the length of your branch name and your project name is no greater than 29 characters (heroku has an app name length limit).

To create a review app:

  1. The interesting things happen inside (Inside start_review_scripts.bash)
  2. Create a new app with a URL derived from the name of the code branch
  3. Get the right git branch, then push it to heroku.

YAML section on creating a review app in heroku via its API

To delete the review app:

  1. Delete the app

code snippet to stop review app. Use the hyperlink to access the full snippet

View this build pipeline in full.

Camp Digital 2018

A summary of the talks I attended at Camp Digital 2018 at the Royal Exchange Theatre, Manchester.

Ending It. Emotionally, Responsibly, With Your Business Intact – Joe Macleod

With death becoming less visible in society, we expect perpetual heavenly consumption.

Consumer narrative structures are unusual in that they don’t have endings.

Consumer packaging often avoids recognising the real end of a product. So people generally aren’t aware of the fact that they can recycle old electronics.

Designing for endings and multiple engagement is a good idea:

  • Permitting no fault divorce reduces suicide.
  • Even the best gyms have 30% of people leaving per year. So design a good ending experience to get people back later on if they’re a serial gym-leaver.
  • 50% of new financial product consumers leave within 90 days.
  • 71% of app users stop within 90 days.
  • GDPR and the right to be forgotten empower people to initiate endings. How might you make it easier for that person to come back? (GDPR is generally thought of as about privacy and data. But it’s also an opportunity to design for endings, and tidying things up.)

Designing from the perspective of novelty is bad:

  • The promise of novelty:  New process, materials, products -> an improved life.
  • Not sustainable.
  • Fails to provide individual reflection about consomption. Doesn’t acknowledge scarcity.

Designing from the perspective of endings is better:

  • Design something from the perspective of the end of its use.
  • Plan for recycling and for repeat use.
  • Reclaim resources
  • Reflect on consumption
  • Develop and design new things.

What does a good closure experience look like?

Consciously connected to the rest of the experience through emotional triggers that are actionable by the user in a timely manner.

Some well-designed ending experiences:

  • Epson’s PaperLab gives a visible ending and rebirth as it devours old paper and makes new paper.
  • Marie Kondo’s Tidying Technique includes a thankful, meaningful goodbye to things that we have consumed.
  • Fair phone lets users access their phone’s insides and update it.
  • Kia cars plan for death in 7 years. This opens up the chance for them to sell more.Increase in market share from  1.3 to 3.5% due to the 7-year warranty.  No change in design or price point.

Navigating the ethical minefield of digital design – Per Axbom

We’re hearing a call for ethics because people are being harmed by digital.

Some examples of design hurting people:

One terminally ill person shared their prognosis on Facebook, but Facebook didn’t show this update to their friends. Their friends had no idea they were ill. They probably died thinking that no-one cared.

Grindr exposing HIV status to other companies.

Of people who are getting hurt by design, mostly it’s happening unknowingly.

Can you map out the 1st, 2nd and 3rd order effects of your work?
Eating chocolate is good in the moment, but has negative 2nd and 3rd order effects. Exercising is the reverse. How do you prioritise between them?

Good Inclusive Design is changing how we deliver public services – Katy Arnold, Head of User Research, Home Office

How to do it:

  • Hire people with access needs
    Diverse teams are more likely to design well for diversity.
  • Dedicated people and time
    Even if you don’t have budget. You might need to do it on top of the day job. Build networks with different organisations and groups to help you recruit users with different accessibility needs. As soon as you can, dedicate money and people to design.
  • Set a high bar
    e.g. “include 1 person with an access need in each round of user research”. This has helped push contextual research, as you want to test in context with a user’s own devices and setup, not just in a lab environment. It also makes you think about ethics, consent and data protection. So the Home Office team joined the Market Research Society and got their researchers tested.
  • Support innovation
    e.g. Home Office sharing posters with accessibility tips.
  • Leadership
    Provide cover for good work. Set expectations . Reinforce the approach. Give practical support.

Building a new digital culture – Eve Critchley, Gareth John

The team wanted to move “From helpdesk to strategic partner”, and to encourage people away from tactically chasing individual pots of funding.

The team asked “What’s the biggest problem we need to solve?”
Mind is good at information provision. But next steps for information-seekers to take aren’t always clear. This is the most important problem to solve.

3 goals:

  1. empowering information at all touchpoints
  2. marketing and income generation
  3. using digital to improve the way the organisation works

Some tips on getting colleagues on board with change:

  • 1:1 at the start of the transformation process helped understand pain points and desires. This seeded future conversations making the case for change.
  • These champions were cultivated over time.
  • Competitor research, including out of sector. But you don’t want to go too far with this because each charity serves a different set of user needs.
  • Opportunity cost and ROI are useful frameworks to build shared understanding.
  • Some pieces of collateral or public decision-making act as boundary objects.  They render the project visible and intelligible to people on the outside and help them feel involved.
  • Build buy-in incrementally.
  • Storytelling helps.

Tech, polyphony and power – Ella Fitzsimmons

“You can’t control the story anymore, but you can choose what to emphasize”

https://twitter.com/AmyMcNichol/status/991691656025034755

Stories are political

CIA sponsored abstract expressionism, to boost American soft power, combating USSR’s Soviet Realism.
Abstraction was interpreted as about being a space for free, Western individuals. Societ realism showed lots of people working joyfully together, implicitly focusing on social confirmity.

The Iowa Writers’ workshop was also sponsored by the CIA. Individualistic, senses-driven, narrow, quirky, materialist, warm stories. Not about systems, ideas, injustices or castles in the sky, which was more the USSR style.

Most of the stories we tell today are about heroes

In the hero’s journey narrative, tech startup garages are the liminal or otherworldly space.

The heroes journey narrative for tech sector is:

  • kind of an outsider (A bit of a lie – rich and well-educated)
  • uniquely gifted (See above)
  • moments of doubt
  • perseveres
  • returns with the elixir

What happens when a heroic CEO is the centre of the company’s vision and what it builds?

It encourages certain kinds of personalities and behaviours, and the centralisation of power. It bleeds into the rest of your work – e.g. your software. It also leaves the organisation vulnerable, and shapes unrealistic expectations of a single person.

What can we do to change this?

  • Change the stories, bring new people in.
  • Amplify different voices.
  • Show individuality without setting people up as heroes.
  • Start to tell stories about many people.
  • Facilitate other people telling stories.
  • Shine Theory.  Amplify the ideas of other people to start raising expectations.
  • Who is quoted matters. Don’t just quote heterosexual cisgendered white men.
  • “Attribution is a revolutionary activity”. Show the community of people that you are part of. Disrupts the idea of lone genuises.

Scenius – the genius of the scene. Jobs: “Great things in business are never done by one person. They’re done by a team of people.”

  • Show what people do, not just what they look like.
  • Ask, ask again, and offer support.
  • Talk about money, both with people who are like you, and with people who aren’t
  • Mix up who works on important projects
  • Ask someone new to do the boring work.
  • Give people time to prepare for presentations

How to add MIDI drums to a Cubase track

A quick guide to adding MIDI drums to a track in Cubase. Works with or without an external MIDI controller.

Add an Instrument track, and select HALion Sonic SE.

Choose a drum kit using the dropdown in the first channel.

Close this window.

If you’re using a MIDI controller, make sure that it’s plugged in and that the input is set to your MIDI input, if you’re using one. (e.g. an AKAI LDP8 in my case)

(If you’re not using a MIDI input you can still record drums, either with the on-screen keyboard or by drawing/writing the notes: create a blank track using the pencil, and then click on it to open up the note editor. But do that after you’ve set up a drum map, to make your life easier.)

Now set a drum map on the left-hand panel – GM Map.

This replaces the generic MIDI piano roll with named parts of the drum kit – much more useful. It also shows which MIDI note they correspond to.

Before setting a drum map:

After:

Open the HALion Sonic window up again.

Add the same drum instrument in channel 10 of the HALion Sonic
If you don’t do this you won’t get any sound after adding the drum map. (I have no idea why.)

Now you can either record live through your MIDI input, or you can program some percussion via your mouse.)

Bonus – change which notes your external MIDI device sends to Cubase

The following instructions are for my AKAI LPD8 but are probably quite generic.

Open the LPD8 Editor (a separate programme).

Create a new preset with the notes you’re interested in from the drum map.

Then save it and press ‘Commit – Upload’.

It’ll now be on your LPD8, ready to use in Cubase.

Designs of the Year, and Print in the Digital Age

Here are my highlights from the Designs of the Year exhibition at the London Design Museum.

Warka Water

A 12-metre tall bamboo tower that gathers water rom the air. About 100 litres of clean drinking water per day. Inspired by lotus leaves and spider’s webs,
The project is named after the Warka tree, an Ethipian fig.

Refugee Text

A text chat-bot to give refugees trustworthy information on their phone.    

Refugee Nation Flag

Being stateless makes it hard to access rights, and being away from home makes identity and belonging more difficult. But creating a nation through a flag gives some identity, coherence and hope.

Mrs Fan’s Plug-in House

Designed as an upgrade to the historic hutong districts of Beijing, this pre-fabricated house slots in to the existing courtyard structure. It should be affordable so that existing residents can stay living there.

The renovated Sala Beckett Theatre

The building was previously Barcelona’s Peace and Justice Cooperative Building. Some of what was there what been retained – the bare plaster walls, exposed timber and rose windows – but many things have been added.
I enjoyed the playful sense of remixing the past, of function and style shifting  over time. In its confusion it feels alive with possibility.

There were some interesting items here – but I did wonder if the exhibition should shift its focus towards designed things that go beyond the physical. Refugee Text was an example this year (and GOV.UK in the past) – but what about great services, concepts or algorithms?

Print in the Digital age – redesigning the Guardian newspaper

The concise popup on the Guardian’s new tabloid format was worth a quick visit.

I’d assumed that the new tabloid format was primarily about saving money on printing costs. But it was also an opportunity to re-design the approach to preesenting printed information. Digital content design has now influenced print desig. Writing and formatting is intended to facilitate scanning, with fewer blocks of text. Infographics are used more too.

Compare the two ways of presenting a single article in the images below:

 

 

Sources of insight and inspiration used by GOV.UK Product Managers

A list that came out of a GOV.UK Product Manager community hour I facilitated recently.

Blogs

Putting people first

Inside Intercom

Nielsen Norman

Mountain Goat software

John Cutler

Melissa Perri

DEV

Mind the Product

Product Hunt (also, the Product Hunt browser extension)

GoSquared

Silicon Valley Product Group

Pivot Product Hits

Books

About Face – the principles of interaction design

The Little Black Book

Step Up Club

The Design of Everyday Things

Podcasts

Aurelius Lab

This is Product Management

99 Percent Invisible

Intercom

Video

Product School video AMAs

Reading lists

Simon Cross’s PM essential reading list

Attack with Numbers

Ross Ferguson’s PM reading list

Exhibitions

Design Museum’s Designs of the Year

Royal College of Arts, Show of the Year

Events

Product Tank Events

Lectures, e.g. psychology

Formal guidance on the PM role and product lifecycle

DDaT skills they need – different levels of PM

GDS Service Standard

Service manual

Braun – 10 principles of good design

People to speak to

Other Product Managers

Other teams through internal show and tells

Other Product Managers on a shared task, e.g. working through 52 weeks of UX together.

Other organisations’ open roadmaps

Trello

Monzo

Newsletters

Exponential View

What is Service Design?

A service is a thing to help users to achieve a goal. It’s a series of touchpoints to achieve an outcome. e.g. ‘start a business’, ‘learn to drive a car’.

A service starts with a need and an idea of the outcome, but no clear idea of how this will be achieved.

Service design is the process of designing this set of touchpoints to meet the given goal.


(Image credit: Lou Downe. See Lou’s great post on sevice design)

https://twitter.com/Martin_Jordan/status/954321821796618240

Currently there’s a disconnect between a user’s experience of a service and the government’s stated policy intent.

Often senior management will make a pronouncement like “We need a portal so that applicants can upload bank statements”

But your responsibility is to challenge this proscriptive approach, and instead understand the problem and goals before even thinking about building anything.

So ask questions like:

  • Who are the users?
  • What are they trying to do?
  • Why now?
  • What is our motivation?
  • What outcomes do we want?
  • How does it relate to a wider service?
  • What are the key metrics?
  • How will it help users?

To frame your problem statement, focus on the organisation’s desired outcome, and on what the users are trying to do.

That keeps you focused on what you’re trying to achieve, leaving you free to explore how best to achieve those ends.

As you start building, it’s useful to cycle between optimising the big picture of the service (and, as the policy process becomes more amenable, the policy behind it) and the closer detail of a given task. Oscillate between the meta and the matter.

In the future, services will shape government, not the other way round.

One vehicle for achieving this transition is a service community.
Government is made up of disconnected units, but the user shouldn’t need to know how to navigate this complexity. A service community is a group of people whose touchpoints form part of a wider service. Newly-formed service communities include “Start a business”, “Employ someone” and “Import/Export”. They start by mapping out the current service, and then identify opportunities for improvement.

When designing a service, be mindful of:
The end-to-end service (from the user’s first step towards meet their goal, through to a successful outcome)
The front-to-back service (so make sure to include all back-office and technical functions)
Different channels (not just digital!)

The two most important things to do when designing a service:
Understand user needs
Prototype and iterate

Check out IDEO’s Design Kit for service design techniques you can use. (And read about the design project I worked on if you’re intersted.)

To improve an existing service, this flow of activities is useful:

  • Service walkthrough
  • User journey map + service blueprint
  • How might we’ questions
  • Prototype and iterate

https://twitter.com/mariecheungsays/status/954422063669837825

https://twitter.com/Martin_Jordan/status/954697550581387264

How to record electric guitar using a Steinberg UR12 and Cubase AI

A quick guide to recording guitar through a Steinberg UR12 in the Cubase AI DAW. I produced this to help other people, and to remind myself in case I ever forget, because the Cubase software is not very intuitive.

I’llassume that you’ve plugged and installed in the Steinberg, installed the Cubase AI Software, and opened up Cubase AI.

Go to the ‘Devices’ menu dropdown at the top of the screen, then select ‘VST Connections’.

Go to the ‘Inputs’ tab and create a mono input using “Yamaha Steinberg USB ASIO” and “UR12 Input 2”.Cubase AI VST Connections controls - Input tab

Keep output as default on “Yamaha Steinberg USB ASIO” – i.e. Stereo speakers and Device Ports “UR12 Output L” and “UR12 Output R”.

Steinberg UR-12 with guitar lead and headphones plugged in

Plug your lead into the “Hi Z” input on the UR 12. (This is “Input 2”. The other one is for microphones.) Plug your headphones into the “Phones” socket on the right. (If you’re using 3.5mm headphones you’ll need a 3.5mm to 6.35mm adapter, as pictured above.)

Turn the Input 2 gain knob up to about 1/4 of the max.

Strum a bit, and you should see the Cubase Monitor show the input levels increase as you strum. If it’s flat-lining like in the below picture, check that you’re plugged in and that you’ve set up the input correctly. Play some low, loud palm-muted chords, and turn up the Input 2 gain until you get a red square appear above the blue input monitor. Click on the red square to make it disappear, and turn down the Input 2 gain a little. Your goal is to have it as high as possible without clipping.

Cubase AI monitor showing no input

Now left click in the audio panel, and select “Add audio track”

menu for adding new tracks in Cubase AI

A popup with a load of options will appear. Ignore them and add the track.

Click on the speaker symbol next to this track. This will allow you to hear the input as you play. It’ll turn orange to show that the “Monitor” option is enabled.

Audio track with Monitor option selected

Make sure to turn the ‘Output’ knob on the UR12 up a bit so you can actually hear it. At this point you should be able to play something on your guitar and hear it through your headphones from the UR-12.

If you’d like to add some amplifiers or other effects, go to “Inserts” on the left-hand “Inspector” and choose one. There are loads of free VST amplifiers and effects available.

Now let’s record something. To record audio from a track (e.g. “Audio 01” in the above image) you need to make sure that the record icon for that track is red. Cubase has a concept of an audio track being enabled or not enabled to record, and it just ignores it if it isn’t enabled.

Before you start recording, turn off the orange “Monitor” option. It’s useful for experimenting with a tone, but adds latency when recording so can mess up your timing. Use the “Direct Monitor” button on the front of the UR-12 box to send a dry (non-processed) signal back to you as you play.

To start recording, click on the recording circle near the top of the screen.

Bonus – fixing audio distortion in Windows 10

There’s a bug with Windows 10 whereby you hear horribly distorted output.
The two most useful threads on the topic (first and second) suggest that it’s been an issue for a couple of years. The fix is downgrading from 1.96 to 1.95 of a key driver. To do this, uninstall “Yamaha Steinberg USB Driver” via Add/Remove Programs (not via Device Manager – it won’t fully get removed if you try this route.), then install version 1.95 of the driver.

Bonus – gain screen space by removing VST Instruments and Media Bay

I don’t know what these do, so I’ve hidden them.  To do this, click on the button of three rectangles, just under the “File” menu. Then uncheck “racks”.

 

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.

What are the next frontiers in interaction design?

Voice assistants – such as Siri and Alexa – are becoming viable because the accuracy of speech recognition has increased significantly through machine learning.

I’m concerned about the political ramifications of the technical underpinnings of voice interfaces. Voice recognition has advanced through access to lots of data, and machine learning. This means that for people to use this interaction medium, they need to be using tools provided by big providers like Apple, Amazon and Google. How easily will people be able to create their own voice interfaces without relying on a corporate provider? How easily will you be able to identify the thing that you’re interacting with, the logic it’s driven by, and who ultimately owns and controls the means of interaction? What is the product, and what generates value and to/for who?

Voice as a interaction medium has limitations. Voice requires (quiet) private space, and for you to be able to speak in an understood language. And so far voice interactions have focused on information or commerce transactions.

It’s worth reflecting on what problems we’re trying to solve when we pioneer a new interaction paradigm. What value are we trying to realise? Are transactions the big challenge we need to solve? (Would interaction approaches based around critically managing and engaging with information flows, or social connectedness, be different?)

The dominant method of interacting with computers so far has been mechanical, with feedback and state communicated visually by the computer.  Thinking more broadly, the interaction channels we use to interact with computers could be mechanical or oral, and each of our senses could be a channel for the computer to feed back information. And we could design for more than one type of input and feedback at one time. This Smashing Magazine piece on multi-modal interfaces outlines interfaces that take visual and audio elements:

“When​ we’re ​designing​ an ​interface,​ ​if​ ​we​ ​know​ ​the​ ​context​, ​we​ ​can​ ​remove​ ​friction.​ Will​ ​the​ ​product be used​ ​in​ ​the​ ​kitchen​ ​when​ ​the​ ​user’s​ ​hands​ ​are​ ​full?​ ​Use​ ​voice​ ​control;​ ​it’s​ ​easier​ ​than​ ​a touch​​screen.​ ​Will ​they​ ​use​ ​it​ ​on​ ​a​ ​crowded​ train?​ Then ​touch​​ing a screen​ would ​feel ​far​ ​less awkward​ ​than​ ​talking​ ​to​ ​a​ ​voice​ ​assistant​.​ ​Will ​they​ ​need​ ​a​ ​simple​ ​answer to​ ​a​ ​simple​ ​question?​ ​Use​ a ​conversational​ ​interface.​ Will​ ​they​ ​have​ ​to​ ​see​ ​images​ ​or understand​ ​complex​ ​data?​ ​Put​ ​it​ ​on​ ​a​ ​screen”

So rather than just focusing on voice input, it might make sense to think about how to structure our data to be agnostically accessible. Agnostic interaction channels don’t privilege one way of perceiving or interacting with the world.  Now that more of the population is computer-literate, we might be able to relax skeuomorphic baggage. Skeuomorphic design’s visual language helped communicate but also constrained the behaviours and interactions we could design, because they had to be intelligible as physical metaphor. Old metaphors or expectations, like “saving” files by clicking on a floppy disk icon, could be seen as blockers to thinking more broadly about interaction.

Perhaps the next paradigm of interaction design is to transcend interaction – to read and service our intent directly. This feels a way off, but here’s an early proof of concept

If we remove friction and translation from our interactions, what are we left with? Our own unmediated desires. Friction in transmitting intent can be a good thing – a chance to reflect and exercise deliberate control, rather than being driven just by desires. The task of cultivating deliberate intention, and making conscious decisions, rather than acting on impulse, is a design problem and a spiritual one.

 

Public Service Design – Cross Government Design Meetup 22

Today I attended a Cross Government Design Meetup at the Design Museum in London. Here are some of the highlights I took away.

Introduction – Lou Downe

“Bad service design is one of the biggest costs to government”

In the future, “Services will shape government, not the other way round.” “Transformation will never be done” so focus on helping change to happen sustainably.

Dan Hill, Associate Director, Arup – Design and the public

The contrasting experience of two social housing projects shows the need for service design:

Wohnpark Alt-Erlaa, Viennna; image by Thomas Ledl – Own work, CC BY-SA 3.0, Link
Alterlaa Kunstwerk.jpg
By Thomas Ledl – Own work, CC BY-SA 3.0, Link

 

The Robin Hood Estate; image by stevecadman – Flickrtik hartua, CC BY-SA 2.0, Link

 

Hill argues that the key difference between the success of the former, and the demolition of the latter is the ongoing maintenance, service and engagement.

Design needs a service blueprint. You aren’t just designing a one-off object – you’re building for life and for ongoing use. You need to design a service.
This is what was missing in the Robin Hood Estate.

There’s been a steep decline in the percentage of architects employed in the public sector. In 1970, 50% of architects were employed in the public sector; today only 0.7% of architects are.

Hill presents this as an opportunity. Digital has an opportunity to build design intelligence back into government. And we can build in this view of service design, making things better than before.

Prepare for the future by preparing to transition smoothly

It’s hard to know what the future will be like. So “The best focus for people is to make the transitions as effective and painless as possible as opposed to worrying about what the end point is.” – Michael Spence

The public sector needs to set out a vision for the future, otherwise the private sector will do it, leeching value out of a city and sending it to California.

Jean-Louis Missika, deputy mayor of Paris:
“We should announce, before 2020, that in Paris, no private owned AV will be allowed it will be only mobility as as service; not mobility as ownership”

Research in Zurich, Singapore and New York suggests that 80% of car use could be replaced by shared autonomous shuttle fleets.

DVLA – John Hewson

90% of DVLA interactions are now digital, up from about 9% in 2007. But that’s still 23 million paper applications per year, 5 million pieces of casework.

DVLA have made big changes to the user experience, but they haven’t yet made improvements to their internal systems.
Redesigning internal systems is another challenge, requiring slightly different expertise to building user-facing websites. These users often value efficiency over user-friendliness. One key piece of software is from 1990 and doesn’t even support a mouse, so this is a quite a challenge.

But the core discipline of prototyping, using best practices from the Service Manual, and testing iteratively will always work.

Panel discussion

https://twitter.com/Martin_Jordan/status/909797152427270144

The discussion reinforced the importance of applying service design to business models and procurement process – not just external user journeys. Take a service design approach to problem solving right through organisations.

Similarly, design for failure. Don’t just design for the perfect digital frontend – plan the whole service, and for all aspects of that service.

Design for the gaps between different nodes in someone’s experiences – e.g. a journey through healthcare. Each node can have its own effective risk register, but things can get lost in the cracks because there’s not always a holistic view.