14 Days of UX Writing: A Series (2019)
Prompts courtesy of the Daily UX Writing Challenge
--
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
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:
- Less chance a user would miss the update. (An in-app modal requires going to the app to see info, right?)
- 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
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:
- Should it be “gameday” or “game day”?
- Is it redundant to say “post-game highlights”?
- I had way more copy — there was a whole section of explanation copy under “Your favorites.”
- 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
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
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
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
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
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
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
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
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
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.
- Use active voice and actionable words
- Stick to 155 characters
- Focus on specifics and keep your audience in mind
- 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
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
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:
— 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
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! 😅