Screenshots for people who are asleep
In an office, an unclear screenshot costs a few seconds — someone leans over and asks. Across time zones, the same ambiguity costs a full working day: you post at 17:00, they read it at 09:00 their time, they ask, you answer the next morning, they act the morning after.
The screenshot didn't get worse. The cost of it being incomplete went up by two orders of magnitude.
Optimise for the question you won't be there to answer
Every screenshot carries implicit context that lives in your head. Same-office, that's fine — the context is a question away. Async, every piece of missing context is a potential round trip.
The discipline is to ask, before posting: what would someone need to ask me about this? Then answer it in the image or the caption.
In practice, the recurring gaps are the same handful:
- Which environment. Production, staging, or local. Almost never visible, almost always relevant.
- Which account or role. Admin sees a different screen from a viewer, and half of all "it doesn't work for me" reports are permissions.
- When. Screenshots of dashboards and logs are meaningless without a timestamp. Include the clock or say the time in the caption.
- What you'd already done. The screenshot is a state; the state has a history.
Write the caption as if you're unavailable
A screenshot posted with "see attached" or "any ideas?" assumes a conversation will follow. Async, assume it won't — or that it will cost a day.
The version that works is a caption that stands alone:
Staging, admin account, after saving the billing form twice. The second save returns 200 but the card list still shows the old card. Console is clean. Expected: the new card appears.
That paragraph answers environment, role, reproduction, observed behaviour, and expected behaviour. The reader can start working immediately at 09:00 rather than starting a conversation.
Number things you want discussed
If a screenshot contains three separate issues, the reply will address one of them and you'll spend two more days on the others.
Numbering solves this cheaply. Mark the issues 1, 2, 3 in the image and
list them in the caption. Now the reply can say "1 is expected, 2 is a known
bug, 3 is new to me" — three answers in one message instead of three exchanges.
This is the highest-value annotation habit for distributed teams and it costs almost nothing.
Say what should have happened
An image can show what is. It cannot show what should be, and that gap is where most async confusion lives.
Someone reading your screenshot cold does not necessarily know the total is wrong, or that a field is missing, or that the ordering is inverted. They see a plausible-looking interface.
One sentence of expected behaviour turns a screenshot from an observation into a report.
Prefer stills, but record the hard ones
Recordings are excellent for reproductions and poor for reference. A colleague who wants to check one detail has to scrub a video to find the moment; a still is just there.
A rule that holds up: record to demonstrate, screenshot to reference. If the recipient will look at it once to understand a sequence, record. If they'll come back to it while working, give them a still — or both, with stills for the key frames.
Links beat attachments
Attachments get buried in threads, don't survive being forwarded, and can't be updated. A link to a hosted image can be reopened weeks later from a ticket, and corrected if you got something wrong.
For anything that will be referenced more than once — a bug that will take days, a design under discussion — a stable URL is worth more than the convenience of dragging a file into a chat window.
The test
Before posting, reread it as someone who has been asleep for eight hours, has not read the previous thread, and is now looking at your image alone.
If that person would have to ask you anything before they could start, add it now. It costs thirty seconds and saves a day.