14 Days of UX Writing: A Series (2019)

Prompts courtesy of the Daily UX Writing Challenge

Ashlee Phillips
12 min readNov 28, 2020

--

Photo by JESHOOTS.com from StockSnap

Originally posted as a Medium Series on September 10, 2019

Day 1

Scenario

A traveler is in an airport waiting for the last leg of a flight home when their flight is canceled due to a severe storm at their destination.

Challenge

How does her airline app tell her this and what does it say?

Parameters

Headline: 45 characters max

Body: 175 characters max

Button(s): 25 characters max

Solution

Push notification

Headline

UPDATE: Flight 7876 was canceled

Body

Severe weather in Houston means we can’t get you there safely. Rest assured, we’ll help you find another way to your destination.

CTAs

[secondary] Chat with support

[primary] Book new flight

Process

Full transparency: I worked on this for much longer than the 10-minute window — there were many iterations, like, legions.

After the back-and-forth, I decided on a push notification, for a couple of reasons:

  1. Less chance a user would miss the update. (An in-app modal requires going to the app to see info, right?)
  2. It takes the burden off the user — we’re doing the hard work for them — to change their schedule or talk to support

I had a few concerns about my choices, though.

What if they don’t know their flight number? Is my language too frou-frou — how do I balance getting to the point and calming anxieties?

Ultimately, I settled on “Update” and “canceled” to grab their attention and get to the point quickly: their flight was canceled.

For the body copy — yes, it’s wordy — I used the space to outline the details: their destination (so they know it definitely applies to them even if they don’t know their flight number), the reason the flight was canceled, and next steps.

If they skim, scan, or straight ignore the body copy, the header and CTAs are clear enough to communicate the most vital information.

Day 2

Scenario

A user is a big sports fan amid their favorite college sports season.

Challenge

Write a home screen for a sports app that lets them pick their favorite college sports teams and sends them reminders to watch games, live score updates, and highlight videos after the game.

Parameters

Headline: 45 characters max

Body: 175 characters max

Button(s): 25 characters max

Solution

Home screen for sports ball app

Headline

Who are you rooting for?

Body

Stay in the loop with <sports team> updates:

[checkbox] Game day reminders

[checkbox] Live scores

[checkbox] Highlight reels

CTA

[primary] Save

Process

I was going for punchy, sports jargon since the audience is enthusiasts. It was important to me to have minimal copy to make it easy to scan and give users the option to choose which updates to get for each team they follow.

Things I Googled and waffled on:

  1. Should it be “gameday” or “game day”?
  2. Is it redundant to say “post-game highlights”?
  3. I had way more copy — there was a whole section of explanation copy under “Your favorites.”
  4. From a localization standpoint, I’m worried. Is it too metaphorical?

Day 3

Scenario

The user entered the wrong email address to sign in to their account.

Challenge

Tell the user to enter the right email.

Parameters

40 characters max

Solution

Inline error copy

Inline error copy

Something’s not quite right — try again?

Process

I have an unfettered belief in inline errors.

With an inline error, the user knows where the issue is — in this case, with the email — quickly and in context. Using inline copy allowed me to nix a lot of words and lean on user expectation — signing in is fairly standard behavior, after all.

Still, 40 characters is tricky.

Being human and conversational turns me into a wordy writer, so I had to find a way to tell someone they messed up without wasting their time. It’s not that big of a deal if they typoed.

So I tried to give the copy a breezy, non-patronizing tone — thus ending the line with a question mark, to tilt the inflection up.

Day 4

Scenario

A user is in their favorite supermarket. They open the supermarket’s app on their phone to see what’s on sale and are greeted by a promotion.

Challenge

Write a promotional home screen for a service that delivers coffee to the user once a day, every day for an entire year.

Parameters

Headline: 45 characters max

Body: 175 characters max

Button(s): 25 characters max

Solution

Promo home screen

Headline

Join the caffeinated community

Body

For $30 a month, get your favorite morning pick-me-up delivered straight to your door — every day — for a year

CTAs

[primary] Join

[secondary] No, thanks

Process

The version I almost went with had a much jazzier headline, but after reading “Is UX writing boring” the other day, I decided on a more direct approach.

Knowing people skim and reflexively dismiss modals and promos, I used “Join” in both the headline and the CTA to connect the context.

Day 5

Scenario

While editing a note in a note-taking app, a user’s phone suddenly runs out of power and abruptly turns off. After the phone recharges, the user opens the app.

Challenge

Write a message that the user will read immediately upon opening the app. What do they need to know? What steps (if any) do they need to take to recover their content? What if they can’t recover the content?

Parameters

Headline: 40 characters max

Body: 140 characters max

Button(s): 20 characters max

Solution

Modal/Alert/Dialog: what’s the right word?

Headline

Still editing?

Body

Something unexpected happened (that’s life, right?). No worries, we saved your draft.

CTAs

[secondary] No, Discard

[primary] Edit Note

Process

Since I went with an iOS native dialog, I read through the Human Interface Guidelines. It suggests capitalizing headers and no punctuation for fragments but using sentence-style capitalization for full sentences and appropriate punctuation.

Losing power isn’t the most destructive thing that could happen to users, so I didn’t want to use hardcore, alarmist error messaging.

I also kept it vague enough that the copy could be reused for other errors (not just losing power).

The end.

Day 6

Scenario

It’s a rainy Monday. A user has just gotten into their car to drive to work. They plug their phone into the car and start driving.

Challenge

How would you let the user know there’s a heavy thunderstorm happening near their work? It may prolong their commute, how do you communicate this to them? When? Write it.

Parameters

Headline: 30 characters max

Body: 45 characters max

Solution

Push notification

Headline

Possible commute delay

Body

Heavy storms slowed traffic near Work

Process

I flip-flopped a lot on this one. What info should be front-loaded: the weather or a possible weather-causing commute delay?

Narratively, it makes sense to tell the user there’s bad weather first which is slowing down traffic.

But it’s probably more pertinent to the user that there’s a commute delay.

Yikes.

I decided to lead with the commute delay.

“Work” is shorter than “destination” (my original word), but lowercased “work” looked odd. Plus “work” could be a verb or noun, so I decided to capitalize it. I think it also indicates it’s a saved, oft-visited location.

Day 7

Scenario

A sports fan is at a wedding while his team is playing their arch-rivals. His team makes a touchdown.

Challenge

How would you, quickly, let the sports fan know about the latest play, the current score, and the key players? Write it.

Parameters

Headline: 30 characters max

Body: 45 characters max

Solution

Modal

Headline

Williams 6–4, Andreescu 4–6

Body

Serena’s serve (102 mph) ends the first set

Process

Annnnnnddd… I didn’t pay close enough attention to the scenario — it definitely says “touchdown.”

A modal probably isn’t the quickest way to get game updates to a user either, so I’m 0–0. (That’s a sports metaphor.)

Bonus: I added an extra line of body copy, too.

Day 8

Scenario

The user is an amateur cook and a devoted foodie who follows several food blogs.

Challenge

Tell the user that a cauliflower recipe from their favorite blogger is available in a mobile app.

Parameters

Headline: 30 characters max

Body: 45 characters max

Solution

Push notification (yes, another)

Headline

New! Cauliflower recipe

Body

Try Food Love’s pizza creation — it’s to pie for

Process

Another day, another notification (anotherfication?).

Yet again, I had a hard time deciding what info needed to be prioritized: the blogger (noted as the user’s favorite) or the new recipe.

Decision-making is a big component that I didn’t expect to struggle with as a UX writer, but here we are.

I put the cauliflower recipe content in the headline — along with “New!”, and front-loaded the blogger (Food Love) in the body copy. That was my attempt at having my pizza and eating it, too.

Yes, there’s a pun, but it’s at the end and won’t affect the meaning if a user doesn’t get the joke.

Over halfway there! 🙌

Day 9

Scenario

The user is trying to book a taxi but the credit card they have on file has expired.

Challenge

Write them an error message so that they can correct the problem, and try not to be a dick about it.

Parameters

Headline: 30 characters max

Body: 45 characters max

Solution

One-button alert

Headline

Expired Credit Card

Body

To finish booking, update your card info in Account Settings.

CTA

[primary] OK

Process

With errors, I know it’s important to tell the user three things:

1. What went wrong
(can’t book taxi yet)

2. Why it went sideways
(user’s card is expired)

3. How to fix it
(update card info)

Sometimes, I think it’s less dicky to cut to the chase. No need for hand-wringing — just let ’em know they need to do some in-app housekeeping. No judgments, no cutesy verbiage that could seem condescending.

I am wondering if it’d be better to have a button that takes them directly to “Account Settings” so they don’t have to remember that.

Day 10

Scenario

The user is trying to view a website to help them buy a car. But, the content can’t load without the user’s location. They need to enter their ZIP code and first name.

Challenge

Ask them where they live and who they are without sounding like a creep.

Parameters

Body: 45 characters max

Button(s): 15 characters max

Solution

Form-esque

Headline

Before you find that sweet ride…

Body

We need your location to show you nearby cars

[field label] First name

[field label] Zip code

CTA

[primary] Find a Car

Process

How do I not sound creepy? — that is the question.

I think the answer is in being as straightforward as possible and telling the user why we need this info from them. In this case, we need their zip code, so we can show them nearby cars.

I avoided placeholder text in the fields since that’s bad accessibility practice and decided against being cutesy for the labels (which goes back to not sounding creepy by being straightforward).

Day 11

Scenario

An elderly user is doing a Google search to find an easy way to buy contact lenses online.

Challenge

Write a title and meta description for a website that sells subscription contact lenses delivered to a user every 30 days — convince them to try it.

Parameters

Title: 60 characters max

Meta description: 300 characters max

Solution

Title and meta description

Title

Get contacts delivered to your door every 30 days

Meta description

High prescription? Astigmatism? Multifocal lenses? ContactsXpress has all your vision needs covered and all the brands you trust. Subscribe now — $10/month.

Process

I did a bit of research on best practices for writing titles and meta descriptions.

  1. Use active voice and actionable words
  2. Stick to 155 characters
  3. Focus on specifics and keep your audience in mind
  4. End with a call-to-action

Basically, just be a decent web writer.

As a person with really bad vision, it was easier for me to empathize with a user in search of contacts, so I tapped into the info I’d want to know (even though I’m not my user): do they have contacts for me and my really high prescription that’s normally unavailable? Do they carry Acuvue or Bausch + Lomb? Or is it only shady internet brands that I don’t know and might make my eyes fall out of my head?

As always, I wanted to front-load info, make it clear, and anticipate my users’ questions and needs.

Day 12

Scenario

A user is creating an account. When they come to the step where they are asked to enter their name, they get an error message. A fraud detection software thinks their name is fake — but it’s wrong 5% of the time.

Challenge

Write an error message that prompts them to fix the error without shaming them for having a fake-sounding name.

Parameters

85 characters max

Solution

Create an account: inline error

Inline error copy

Sorry—could you type your name again? (Security’s pretty tight around here.)

Process

I had several versions — “Is that your name?” — but they all felt rude.

It seemed like “Sorry” would soften it a bit, but was this an appropriate time to say it? I’ve read that we should cut down on using it unless it really is our fault. I’d consider this our fault, though.

The parenthetical is meant as the reasoning behind them needing to type their name again that isn’t a rude algorithm (and maybe doubles as a reassurance?).

I had a slightly different version that read, “Didn’t catch that. Could you type your name again? (Security’s pretty tight around here.)” Maybe that one was more human and relatable?

Day 13

Scenario

A user is trying to log into an account but they don’t know the password — they want to recover their password via a secure email sent to an email inbox.

Challenge

Write a password recovery email. Including the subject line, headline, body copy, and call to action. Make sure to get their attention, and outline what steps need to be taken to recover their info.

Parameters

Subject line: 65 characters max

Body: 200 characters max — including headline and body

Button(s): 25 characters max

Solution

Password reset email

Subject line

Reset your password

Headline

Let’s reset

Body

Follow the reset link or copy and paste the address in your browser.

On the website, you’ll be able to create and confirm your new password.

Reset link:

www.resttinglinage.com

— Team DUX

Process

My main concern was front-loading all the pertinent info and using language that’d work on desktop or mobile (“Follow” instead of “Click” — on a mobile device, you tap.)

I wanted to include some messaging like “Didn’t request a password reset? Ignore this email.” But I ran out of characters.

Day 14

Scenario

A user is shopping using a price comparison app that boasts “REAL-TIME” pricing on items. As they are checking the price of eggs, something goes wrong. The problem is unknown.

Challenge

Write a message that informs the user that they cannot access the app right now. You cannot specify “why” the app doesn’t work, you also want them to continue using the app.

Parameters

Headline: 30 characters max

Body: 120 characters max

Button(s): 15 characters max

Solution

404 error

Process

I really wanted to use all of the vegetable puns, but I had to pull back. Instead of writing the puns, I included it in a cute graphic (design credit: SheCanDraw), which lets my copy romaine pun-free and localization-happy.

The user is at the grocery store — the worst place for a grocery app to break. We need them to be able to quickly and easily get back on track.

Phew — made it to the end! 😅

--

--

Ashlee Phillips