This blog post is based on Nik’s talk given at NSConference 2013
When I started at Realmac back in October 2007, there were just the four of us. As the company’s grown (there’s soon to be 11 of us), we’re always working to ensure that all the smaller details in our apps are as polished as they can be - and the larger team means that we can take the time to hit things that previously might have been a lower priority. One area of personal interest is the copy that we use in our apps, and at NSConference I spoke about how “Copywriting is Design”. Here’s how I described the talk:
For all the focus on UX, we're still pretty terrible at communicating with our customers. As developers and designers, we're in a unique position to make seemingly small changes that make a huge difference to how people interact with your apps.
In this talk, we'll explore some common communication patterns that our industry typically falls into, how we can avoid them, and most importantly build our own (great) patterns to ensure that the copy in your app is communicating clearly from 1.0.
Today I thought I’d share a few of the points from my talk, and explore how we write interface copy in the Realmac apps.
Our Medium and the Expectation of Knowledge
In the last few years, we’ve seen the perception of what we build change dramatically - previously what would have been known as “software” or “suites” or “applications” has taken a more colloquial term: apps.

This change is important. The informality of the term “app” reflects how approachable the concept is to the average user. “Software”, on the other hand, is more formal a term and perhaps something that you’d be given by your employer.
This approachable name, and the incredible ease of access to apps, means that more people than ever are using our products. As a result, the expectation of knowledge is something we have to consider when we’re writing copy to go into our apps.
Terminology, abstract concepts, implementation details and bad translations are all things that need careful consideration. Understanding your audience is key - for example, an app built for developers might reveal more implementation details as they’re more technically literate. But would you intentionally use the term API in a consumer app?
White Lies
Talking of terminology and details, we spend a fair bit of time figuring out the right level of detail that an app should go into - be it error reporting or state reporting.

One example of what we call “White Lies” is found in Analog. When the user shares a photo to an online service, we obviously have to prepare the image that’ll be uploaded. But given that Analog is a very consumer-focused app, we questioned the need to say “Exporting Image” - for the target audience we felt this was an implementation detail that didn’t need to be disclosed. Instead, we simply say “Uploading”, and once we start the actual upload, the progress bar appears.
Disclosure
With iOS 6, Apple built in much-improved (and much-needed) options to safeguard your personal data - developers out there should watch WWDC 2012 Session 710. As part of these disclosure steps, developers can specify a (localisable!) string that is shown as part of the system alert asking for permission to access your Contacts, Current Location etc. Very few apps actually seem to make use of this - and those that do often use broken sentences or state they “need” access.

When defining our own style guide (which I’ll talk about in a future blog post) we decided to avoid stating that our apps “need” access to offer a feature. Instead, we always try to follow this conversation:
Alert Title: “Your App” would like to access your Current Location Ask yourself: OK, how does “Your App” use my current location? Alert Description: “{App Name} uses your location to show the local weather forecast.”
Don’t Be Lazy
Whenever I use an app, I find myself getting annoyed at generic alerts that state, for example, “Your iPhone or iPod Touch isn’t connected to the internet”.
Firstly: it’s always iPod touch (Apple has a style guide - make abundant use of it)! Secondly, it’s actually pretty simple (and App Store-safe) to check the type of device you’re running on.
As a result, we require that our developers take the time to ensure that the device type is always accurate - iPhone, iPad, iPod touch or Mac. In case of being unable to determine the type of device, we fall back to simply “device”. There’s one particular situation that springs to mind where this is pleasantly surprising - iPhone-only apps, running on an iPad, mentioning the correct device name (iPad) in alerts - but maybe that’s just me!

These are just a couple of topics from the talk that I’ve taken from our work - and in future blog posts, I’ll be talking a little more about the style guides that we use to ensure we’re consistent in how we communicate.
In the meantime, if you’ve got any questions feel free to give me a shout on Twitter - you can also pick up the video of my talk as part of the NSConference 5 video pack which has just gone on sale.





