(I've searched this StackExchange site for posts relating to the use of first-person pronouns, but all I found concerned how to address the user and not the software, e.g. Form instructions/guidance - first person vs third person? and Which grammatical person should I use when writing to the user?).

Should my software (which targets unsophisticated users) refer to itself in the first-person, especially in error messages? (See also Should error messages apologize? )

I noticed that Apple's macOS (and many Apple ecosystem products) sometimes refers to itself in the first-person which personifies the user's computer, whereas the Windows' platform prefers more neutral and emotion-free language (and feel free to insert a joke about the usability of many user-hostile Linux bash command-line error messages).

For example, here are some examples of message text in my application:

  • After searching the user's computer network for available servers:

    • Neutral: "Discovered {0} servers. The first server has been selected."
    • Personal: "I discovered {0} servers in your network and I have pre-selected the first server I found for you."
  • If the search failed:

    • Neutral: "Error: Discovery of servers failed. Reason: {0}."
    • Personal: "I'm sorry but the network search failed due to an error that I cannot resolve myself. Your operating-system tells me the reason was {0}".

I'm concerned that using personal terms and referring to the software in the first-person comes across as condescending and unnecessarily verbose (in fact, I cringe when I read the messages back to myself) - but at the same time this may actually be welcomed by my users.

Has any peer-reviewed research been done to investigate the effects of personal language in software error messages, especially when the software refers to itself in the first-person?

  • 42
    "I'm sorry" may bring up associations with the famous line from 2001: A Space Odyssey's "I'm sorry Dave, I'm afraid I can't do that". That's a point to consider especially if your software may be used for something controversial. Nov 23, 2018 at 10:59
  • 56
    Speaking as a user, I absolutely hate status/error messages that use first-person language (e.g. Windows 10 "we couldn't do ..." or "we have done ... for you"). I find it incredibly patronising/condescending, as though I am too stupid to be able to understand the machine unless it speaks like a person. Nov 23, 2018 at 12:10
  • 52
    Speaking as a developer and someone responsible for maintaining computer systems and working with "regular" users, I find it incredibly frustrating because there is no magical "we" inside your computer that makes everything happen and these kinds of interface trends only make it even harder for users to understand anything technical. In other words, by constantly "talking down" to users by using this kind of language, a generation of users is created that cannot understand anything else. Nov 23, 2018 at 12:11
  • 22
    Some of these messages make me cringe. I want to know what's wrong, I don't want to know how the software feels about it. I do like clear language and grammatical sentences, and it's sometimes useful to know which part of the system the message came from. "I" doesn't help with that. Apologies don't help either. Nov 23, 2018 at 23:19
  • 9
    Installing Windows 10 is a nightmare for anyone who isn't ignorant with computers. Why? Because it pretends to be friendly and tells you nothing you actually want to know. "I'm sorry this is taking so long" doesn't help. Give me a progress bar and a %.
    – insidesin
    Nov 26, 2018 at 4:52

11 Answers 11



Trying to give applications personality is one of those things that's just not well thought out. It definitely seems like it's one of those solutions that developers came up with and never user tested.

In a classic UI UX failure, developers came up with the talking paper clip solution in response to this same issue: https://archive.org/details/g4tv.com-video4080

Computers and applications are tools. There can be personality IN applications but the application itself is not a being.

Also, think of the percentage of applications that are social. All social applications ARE the user. "It's MY instagram, my account, that's me." So when my instagram says "I", who is it referring to?

  • 5
    Reminds me of Dislike of human like robots.
    – Piro
    Nov 23, 2018 at 12:02
  • 8
    I haven't been able to find a good reference for this, but my prof said that the pattern of describing the application in the first person makes users uncomfortable, as they may begin to think of the application as a 'being' and maybe even a hostile or uncooperative one! So "The copy operation has failed because..." is preferable to "ApplicationName failed to copy because..." or "I failed to copy because...", as the first one sets up the actual reason for the failure as the source of your problems, and the others risk indicating that the application itself is the cause of all your woes!
    – Meg
    Nov 23, 2018 at 13:29
  • 3
    Every time my employer's stupid timecard system tells me to "please wait while we get things ready for you" I hate it a little more.
    – 1006a
    Nov 26, 2018 at 6:13
  • 10
    @rexkogitans the use of "cannot" is not clearly first person, it could be second person "[You] cannot stat" or third person "[The program] cannot stat".
    – Thymine
    Nov 26, 2018 at 8:53
  • 3
    A part of me wants to -1 because you mentioned clippy without mentioning bob. en.wikipedia.org/wiki/Microsoft_Bob I think microsoft bob is a much better example of what happens when a UI assumes the user has the mental age of 3. <rant> Apple however does very well assuming the mental age of 10.</rant>
    – UKMonkey
    Nov 26, 2018 at 13:23

You should use simple and direct language to communicate with the users. When writing error messages be polite and provide meaningful actionable messages. Keep the apologies for cases when the mistake is on your part for which you want to apologise. Use a consistent first person language, it is okey to use 'we' when addressing the system.

I assume when you say 'unsophisticated' it is around ability of the users to comprehend complex sentences. Using simple and short messages would help in easy comprehension. You can also consider using visuals and icons to supplement the messages.

Personal: "I'm sorry but the network search failed due to an error that I cannot resolve myself. Your operating-system tells me the reason was {0}".

In your example too much is happening which just add complexity. It sounds like search is blaming or passing the blame on the OS. And there is no actionable block to guide users on what to do about it.

Suggestion: The network search failed due to {--- (in simple language)---}. {-- what can users do like Check your internet connection and try again--}.

Hope you find it helpful. Cheers!!!

  • 3
    I appreciate the points you raise, but you don't really address the pros/cons of singular first-person pronouns ("I did this..."), plural first-person ("We did this...") or impersonal ("This was done...") in software messages.
    – Dai
    Nov 23, 2018 at 10:59
  • 8
    " Check your internet connection and try again" - but try to avoid reinventing the infamous Windows boot-up error message: "Error: keyboard not found. Press F1 to continue."
    – alephzero
    Nov 23, 2018 at 19:28
  • Or directing users to the "any" key... as in hit any key to continue, unless you label one key any...
    – Solar Mike
    Nov 25, 2018 at 10:18
  • 2
    Using "simple and direct language" to communicate information mostly requires using the active voice, and that requires a subject for the sentence. If the subject is not "I", what is it? (I do not think there is a good solution to this dilema)
    – Raedwald
    Nov 26, 2018 at 15:20
  • @Raedwald 'Using "simple and direct language" to communicate information mostly requires using the active voice' How did you reach that conclusion?
    – nasch
    Nov 26, 2018 at 21:12

Generally speaking,


Caveat A: If the folks responsible for messages lack humour and/or empathy -- NO!

Caveat B: If writing skills and communication ability aren't strong, don't even try it.

Caveat C: Huge and/or there's millions of users - then nope, give it a miss.

You seem to not have these problems. And are self critical. Those are good qualities for creating content, which is what this is, so Yes!

Just do it!

//some notes and thoughts on your direct worries

Your concerns about condescension are valid in this case:

Personal: "I'm sorry but the network search failed due to an error that I cannot resolve myself. Your operating-system tells me the reason was {0}".

The primary problem is the 'but'. This is sort of unnecessary blame shifting. The sentence might work better like this:

"I'm sorry. The network search failed. An error I cannot resolve occurred. Your device's operating system tells me the reason was {0}"

This makes for a much more sincere, heartfelt apology, because it's the first thing said, in isolation. A simple, flat, solo "I'm sorry" is one of the most powerful sets of words. Right up there with "I love you" and "I hate you".

The reformatting of the sentence also moves the blaming of the user's operating system to their device's operating system, which is both more accurate and more accepting of the much deeper truth, that the problems of technology are rarely the direct responsibility of the user.

"I discovered {0} servers in your network and I have pre-selected the first server I found for you."

Can be:

For you, I have selected the first of {n} servers found.

Can also be:

I have selected the first of {n} servers found.

Can also be:

Selected first of {n} servers found.

and if you really want to personalise the experience, you can show each of these 2 times, starting from the top, as needed, so you're getting less verbose with your messages each time, for that particular user. I know. So much consideration of the experience is unusual, but imagine how welcome they'll feel.

On the 10th time they use the app/service, you could congratulate them:

It's our 10th anniversary of your using our server connectivity. I feel all warm and fuzzy inside. Thank you!

Writing Thoughts:

Generally speaking, on writing as content, entertainment, marketing and notification, warnings and error messaging in the first person: Be Self Aware, and have fun with it!

If you have more time, write less.

I almost never spend the time, so apologies for the verbose answer....

Write with humour and style you know and enjoy, trust your judgement and self criticality, and don't worry about verbosity. Verbosity should be the very last of concerns for error messages.

Users care about what went wrong because it went wrong for them, and it was something they're trying to do. They have 'skin-in-the-game', so will give time to error messages. This fact is all too often ignored, forgotten or otherwise overlooked in favour of cryptic, needlessly concise garbage.

  • 2
    I don't mean to blame-shift to the OS - the actual blame lies with the user and their network status (e.g. network cable unplugged, Wi-Fi disabled, etc) - the OS is just the messenger in that case. I probably don't want to mention the OS at all but it does need to let the user know that it isn't a problem with the software I wrote.
    – Dai
    Nov 23, 2018 at 0:18
  • 4
    A change of mindset that might result in ideal communication between software and user is this: instead of thinking of them as error messages, consider them assistive, helpful user guides and suggestions. In each case, First part = problem specifics, second part = reasons, third = possible solutions.
    – Confused
    Nov 23, 2018 at 0:23
  • 2
    My program can't be absolutely certain about that, though, for example, a failure due to a TCP timeout could be because the user's home router is broken - or because the remote server is misbehaving.
    – Dai
    Nov 23, 2018 at 0:23
  • 2
    A small correction. Users don't care what went wrong - that's a tech-centric approach which is where too much software falls down. What they want is to know how to fix it. So instead of saying "printer comm errors", the software should say "please check your printer is connected". There's a general UX principle that you don't report any error which the user can't fix.
    – Graham
    Nov 25, 2018 at 1:39
  • 2
    "They have 'skin-in-the-game', so will give time to error messages. " Citation needed. Way too many of our support requests consist of nothing but "Can't use the app" or the equivalent. No description of what the user was trying to do, let alone the error message (or whether there was one), no screen shot, clearly no time spent on the problem.
    – nasch
    Nov 26, 2018 at 21:16

According to Joel on Software (and also my own personal experience), you should stick with whichever error message is shorter. Going by that, in your two examples the neutral language is a clear winner. In particular, the second example is extremely long and tedious with personal language.

Joel has a good example with error messages in his article "Designing for People Who Have Better Things To Do With Their Lives" (although, haha, you'll have to scroll down a couple of pages to get to it--the article is a little lengthy, but worth reading in it's entirety if you're interested in UI design).


Never ever give SW/HW a personality

You never know how much paranoid (security savvy) user will be using your software, thus implication of some overwatch (...I have searched...) is not desirable.

Even worse, sentences like (...we have preselected...) might be perceived as someone decided insted of me, is it a trap?


One thing that definitely deserves a mention for this answer is the writing style guide that should form part of your company/product brand guidelines or standard.

So if you consider the company brand first and then extend it using the product brand guideline, it should give you an idea of whether it is suitable and consistent to do this.

For example, if your brand is all about being 'human' and friendly to the customer, then it probably makes sense to do this because you want interactions to have a personal feel to it. However, the particular product might be for users that want a very professional and no-nonsense experience, so you wouldn't introduce slang or humour into the writing style (or at least do so very carefully).


There is some peer-reviewed research on this:

Personifying Programming Tool Feedback Improves Novice Programmers' Learning by Michael J. Lee and Amy J. Ko (2011)

They find a usability improvement from first person pronouns where the computer blames itself:

Many novice programmers view programming tools as all-knowing, infallible authorities about what is right and wrong about code. This misconception is particularly detrimental to beginners, who may view the cold, terse, and often judgmental errors from compilers as a sign of personal failure. It is possible, however, that attributing this failure to the computer, rather than the learner, may improve learners' motivation to program. [...]

[We found that] those in the experimental condition (with a personable Gidget) completed significantly more levels in a similar amount of time.


This question has already been answered and I am only giving my opinion. personally programs speaking about themselves in first person can cause great confusion

especially in error messages

and during a error the last thing you want to be doing is adding confusion to the blender.

The sketchbook folder no longer exists. Arduino will switch to the default sketchbook location, and create a new sketchbook folder if necessary. Arduino will then stop talking about himself in the third person.

I have found Arduino tends to intermittedly speak about its self when errors that can be rectified by the system occur (eg a folder has been deleted) but directly informs the user it is doing so perhaps you could model around this

and one last thing:

•Personal: "I'm sorry but the network search failed due to an error that I cannot resolve myself. Your operating-system tells me the reason was {0}".

is it just me or does this make it sound like the operating system is at fault, probably best to change this!

like I said this is merely my opinion but I hope it helps somebody. good luck with your program --Leo Cornelius

  • sorry just read through pervious answers and saw that they also mentioned the os at blame issue. sorry to repeat had not seen it! Nov 25, 2018 at 23:06

In general a program should communicate with its user.

What I mean is that the useful information is displayed in an intuitive, informative, and easily used manner.

If something is intuitive, I can just look at it and understand the meaning immediately. Mac OS 7-9 had this down. A picture of the mac with a dead face and a bomb. I don't need words, the computer is in a bad way and something went very wrong. It can't tell me more right now, but its probably not coming back right now.

If something is Informative it presents the information needed to make a decision (if i'm practiced), or find out more (if i'm uncertain). Windows has a good example with unresponsive programs. It will ask a question, "this program ... appears to be unresponsive, you can wait till [and hope it] responds, or force exit now.

Easily used is the elusive part. Unlike most of our tools, computers can calculate right back at us. Nothing shows that more than when a computer suddenly does the unexpected (encounters an extra-ordinary situation) when its business as usual for the user. This alone is evidence of a difference in beliefs, this implies a personality, even if only to the user. So the software should communicate consistently with that personality.

The personality could be quite personable, it might be very fact orientated, it could have or lack any trait you desire. People will respond positively or negatively to it based on their own preferences for who they would work with.

  • Many developer orientated systems have a quirky personality because many developers like to work with quirky personalities.
  • Many business orientated systems have a very fact orientated personality because they are distributed en-mass and have to hit the lowest possible denominator.

How you select the systems personality depends on your audience.

Personally I like software that is considerate. It doesn't have to use I, We, or some other pronoun. It just needs to communicate with me and consider my needs.


A software doesn't have personality, so it shouldn't speak to a user first-person.

However, people who have developed the software do have their personalities. And they can speak to a user through their software first-person (probably plural) if they want to. They may want to do that to show a user that the software was developed by human beings, with their human thoughts and emotions and that everything software does was once invented by some particular human.

We found these new files, let's add them to the project.

Now sure if it's a common case for error messages but it's certaintly possible:

Next time please unmount your device before ejecting it.

(this is not first-person, but personal)

Not a problem if a software speaks on behalf of developer who is absent, sleeping or already dead long ago. This way written letters and books speak first-person all the time.

It must be a voice of developers or invisible human support, not the computer itself! Computer should not lie to a user, see first sentence.


I think that whilst a good idea in theory, adding personality/personal language often means developers will use less technical language.

I think windows 10 is a good example where personality has been chosen over practicality. When it crashes and goes to blue screen of death instead of telling you where the memory fell out of place and giving you rich detailed data, it instead gives you a QR code to (in my experience) the default Microsoft help page with no relevant information and that extremely patronising unhappy smiley face

yay that emoticon sure made me happier about losing 4 hours of work

  • 1
    You're not wrong, but if you lost four hours of work because of a system crash (assuming the system just went down and the disk drive is fine) you were definitely doing something incorrectly. Patronizing face: ;-)
    – nasch
    Nov 26, 2018 at 21:18
  • 1
    It's not supposed to make you happy, it's supposed to reflect your emotion. Basic personal skills. The rich detailed data is easily available if you're technically knowledgeable, and hidden if you're not - what's the problem with that? Is there any good reason beyond "I have to read the documentation again" (ideally while complaining that "users don't read documentation")? :P
    – Luaan
    Nov 27, 2018 at 8:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.