So you finally started working on the awesome idea you had for a GNOME app, designed a great interface for it and want to start building it. You open Gitlab in order to create a new repository… and oh no!, it wants a name.
Existential dread sets in. Naming things is hard, and naming user-facing things even more so. App names are read, pronounced, heard of and remembered by lots of people. A name is, along with an icon, the most important identifier for your project. This tutorial will help you find a great name for your app–or, at least, make it a bit easier.
As the GNOME Human Interface Guidelines puts it:
“An application’s name is vital. It is what users will be first exposed to, and will help them decide whether they want to use an application or not. It is a major part of your application’s public face.”
A good name is hard to find, but putting in a bit of effort up-front is worth it, since renaming the app afterwards is much harder (and messier). A good name should consist of one or two simple nouns; be related to the app’s domain (e.g. Celluloid for a video app); be short (less than 15 characters) and easy to pronounce. It should also make it easy to come up with a good icon (e.g., reference an object that could be turned into an icon), and use title case (e.g. Icon Preview instead of iconPreview).
On the other hand, a good name should probably avoid using trademarks or names of other projects (e.g. GNOME MPV); having a “G” prefix (e.g. GParted); being overly complicated, whether a name or an acronym (e.g. GIMP, GNU Image Manipulation Program); relying on puns and inside jokes (e.g. D-Feet), using non-standard punctuation and whitespace (e.g. UberWriter) or made-up words and word combinations (e.g. Inkscape).
Having been involved in naming a lot of projects, I now have a process which consistently produces pretty good results: I write down all the words related to the app’s domain I can think of; do a thesaurus search of some of those words, find even more related words and, when I have about 15, I pick out the best-sounding ones, and ask myself: Are they too long? Are they easy to pronounce? Could they have negative connotations? I do a quick check to see if the names are already taken and, among those not taken, choose my favorite one.
Naming an app which is part of GNOME is slightly different, because apps have completely generic names describing their function or type content (e.g. Files, Image Viewer, Fonts, Music). Since this is much simpler–and unusual–in this tutorial we’ll focus on independent, third-party app naming only. Let’s start with a real-world example: a few months ago I was involved in renaming an internet radio app called Gradio–a bad name for many of the above-mentioned reasons. We wanted a nicer name for the new, completely rewritten version of the app.
So, Internet radio. What immediately comes to mind? Well, let’s say Radio, Transmission and Stations. But these are pretty generic terms, so let’s branch out a bit. As with most digital technologies, it’s hard to find nice metaphors, but we can use their analog predecessors (i.e. analog radio).
Are there any related physical objects we can use? Maybe Receiver, Headphones and, say, Antenna? Maybe also something related to analog radio technology, such as Transistor or Frequencies? We also considered the names of people who worked on the technology, like Marconi and Hertz.
Now that we have a few words to start with, let’s plug them into a thesaurus (or a similar site, like relatedwords.org) and see if there are any good related words. and see if there are any good related words. This is usually pretty hit or miss, as most related words will neither be relevant to the domain, nor make sense as names. But I always find a few good options that I didn’t think of before.
A few additional words from a thesaurus search were Transmission, Shortwave, Wireless and Decibel. We also had a brainstorming session on Matrix with a group of people from the community, which gave us Longwave, Shortrange, Hzzzzz, Spectrum and Waves.
We had about 20 words, so we stopped brainstorming and started looking for the ones that would make good names. This is not a scientific process: just take each word and imagine it as the app’s name, paying attention to its length, ease of pronunciation, and whether it sounds nice.
My favorites were Transistor, Hertz, Spectrum and Shortwave. They’re all relatively short, easy to pronounce, and sound good as app names. We now need to know if we can use them.
I usually start off by searching directly on Github to see if any other FOSS projects are already using a name. If I don’t find anything there, I search for the name on Duckduckgo, adding “app” or “open source”. You’ll often find something somewhere using the name already; not necessarily a problem, if it’s an app/project/company from a different domain–but it’s better to avoid large projects and companies.
It turned out Transistor is already a radio app for Android. Since our app does something very similar, people might think it is affiliated with that project, which we want to avoid; and Hertz is the name of a car rental service. It’s a big company, so best to stay away from that as well. Spectrum is already the name of a forum software (which looks really cool, by the way). The potential for confusion is low here, but the project is well-established, with 6000+ stars on Github, so also not a great option. Finally, Shortwave is used by a bookmarking app; some search results are related to actual analog radio software, but nothing looks too problematic, and it seems viable.
So, the process is always the same: a quick search to check what’s out there and determine the potential for confusion or trademark problems. Since you’re working on a free software app, you’re probably not going to get into legal trouble, but you may have to change the name later on.
You probably know which name you want by now, so go ahead and make it official. In our case Shortwave won. It is good because it is short, distinct-sounding, related to the domain, a pronounceable English word that is not taken by any major projects or companies.
And if all your favorites are taken, go back and do some more brainstorming: the perfect name for your app is out there, and you will find it!
Here are some examples of well-named third party apps in the GNOME ecosystem, and what makes their names great:
Fragments, a torrent app. The name is great because it is unique among torrent app names (which usually reference water, e.g. Deluge), yet clearly connected to its domain, since BitTorrent splits files into lots of tiny parts and sends them in random order.
Peek is a GIF screen-recorder with a very appropriate name: it makes short recordings of small parts of the screen and feels small, quick, and frictionless–all of which the name perfectly encapsulates.
Teleport sends files across the local network. The idea behind it is to make sending the file seem effortless when compared to other methods, such as using web services or USB drives. The Sci-Fi metaphor is perfect for that.
That’s it for now–I hope you enjoyed this tutorial, and if you feel like reading the full version, you can find it here.
Purism believes building the Librem 5 is just one step on the road to launching a digital rights movement, where we—the people—stand up for our digital rights, where we place the control of your data and your family’s data back where it belongs: in your own hands.