Off the Beat: Bruce Byfield's Blog
Today we have the naming of parts.
Titles come hard to me. I always avoid them until I've finished writing, and, even then, I have to agonize over them to make them even marginally suitable. Maybe that's why I'm fascinated at how projects and applications are named, a topic that has been in the news recently.
What strategies are used for names? What are the dangers in a name? The ideal strategy? These little-discussed questions interest me because I'm constantly dealing with them in my own work.
Because of my own difficulty with titles, I sympathize with those that choose a name that has no obvious connection with the project. Instead of hunting for a name that's both descriptive and memorable, why not just open a dictionary at random?
The trouble is, such names make the name almost useless. For instance, you wouldn't know from the name that Squid is a caching proxy, or Bluefish a coding editor.
Such names may be chosen randomly, or reflect the project founders' interests -- for instance, Python is said to have been borrowed from Monty Python, while Debian was a combination of Ian Murdock's name with his girlfriend's, apparently in an effort to show that he was still thinking of her even while he coded. In that sense, the name might define an ingroup by those who know the reference. However, to outsiders, the names offer no hint of what the software being developed might actually do.
The problem with such names is that you have to be careful about names based on in-jokes. "Burn, Baby, Burn" is inoffensive enough that the K3B burner never receives criticism. But, assuming that the Apache Foundation's name really did come from a description of the original software as "a patchy web server," I sometimes wonder if it ever receives pained notes from First Nations complaining about cultural appropriation.
Much worse was the controversy last year over two Python modules orginally called "Pantyshot" and "Upskirt" (http://www.zdnet.com/blog/violetblue/when-software-offends-the-pantyshot-package-controversy/509). These names would have been offensive at any time, but in an era when the barriers to women's participation in free software are being widely discussed and questioned, the result was a public relations disaster. Even more importantly, the incident was the final straw that caused one coder, a woman for whom English was a second language and who had accepted the name suggestion on trust, to quit her development work in disgust.
That's definitely not the sort of results you want from a name, but it is an object lesson in why names matter. What seems funny to you may be offensive to others. You also have to watch for unintended double-entendres, so you don't embarrass yourself the way that a corporation that will remain nameless did a couple of years of ago by advertising, "Our Facebook Friends Get Benefits."
Names as Marketing
Which brings up another point: Whether software is commerical or community-based, names are often enlisted in marketing.
If nothing else, a name might be chosen to show a relationship between apps. For instance, until a few years ago, The KDE desktop environment once used only names began with a "K," or at least had a "K" somewhere in the them. GNOME did the same, although never to the same extent, which was just as well -- as more than one Kritic Kracked about the KDE naming Konvention, it was just too Kute to Kontinue.
A more enduring tactic is to choose names that suggest the values that might be associated with the project, such as MS Excel or LibreOffice. Although the coiners of such names can spin elaborate explanations of why the name is appropriate, until you feel you are trapped in a seminar for English grad students (for example, the ebook manager Calibre's name used English spelling so that "libre" was part of the name), the basic tactic is simply to create desirable associations that -- with any luck -- will encourage users to install the software.
However, the latest twist is to use the process of choosing names as part of the marketing. Every six months, Ubuntu announces the code name of its next release, descending the alphabet one letter at a time as it chooses the adjective and animal for the name. The decision is announced in a blog under Mark Shuttleworth's name, in which he writes, mildly amusingly, using the next letter as many times as possible before announcing the chosen name. The choice is really non-news, but it never fails to receive extensive coverage and provide free publicity.
Fedora has enjoyed similar success with its own code names. However, since turning the choice of the last release over to community vote produced the name "Beefy Miracle," and far too many opportunities for cheap shots, (and now threatens names like Ketchy Ketchup and Spherical Cow), the Fedora Board is currently facing some unwanted publicity as it asks whether naming practices should continue (http://lwn.net/Articles/493589/)). So far, opinion appears divided between viewing the process as a waste of time that makes the distribution look ridiculous or as harmless fun that gives the Fedora community a sense of involvement.
Choosing an Effective Name
In contrast to all these tactics, I spent last weekend familiarizing myself with the newly released Calligra Suite. Calligra Suite is a fork of KOffice, and, as part of the fork, it has renamed all its applications except for those that have developed a reputation as standalone applications.
Calligra itself is a name presumably chosen to create associations with "calligraphy," although at least one person told me that the name reminded them of "Caligula," the cruel, crazed Roman emperor.
However, the names for its applications have at their best a pleasing simplicity and accuracy: Words for its word processor, Sheets for its spreadsheet, Flow for the flow chart program, Plan for its project manager, and Braindump for its new white board app.
The only new name that falls flat is Stage for the slide show editor, which suggests a performance, but not what kind. The others allow users to both remember them and to immediately identify each application's purpose. The names could be flashier, but they strike me as rare examples of truly well-chosen names.
If only other free software names could be as successful -- but, then, if they were, then the community would be a lot less colorful.
Naming Names - well Said!Great piece, Bruce! I've often wondered what developers were thinking when they named software. When you use things a lot, cutesy names can get 'old' very quickly (recursive acronyms are a whole new level of passe), and obscure combinations of letters can get very confusing when you are a newbie finding your way around a command line. Even as a user looking for a program in a GUI listing, having them buried in a folder with some software company's name can get irritating. Of course, I should remember that EA or GeekySoft or WTFisThisSoft developed my current favorite app.....
Most recently I downloaded a statistics app entitled 'R'. I mean seriously. At least the app and its website is sufficiently google-friendly to hit first spot in Google with only that letter, but really - a single letter as a name? Are you kidding me?
MSBuild is now just another GitHub project as Redmond continues its path to the light.
Malware could pass data and commands between disconnected computers without leaving a trace on the network.
New rules emphasize collegiality in coding.
Upstart lands in the dust bin as a new era begins for Linux.
HP's annual Cyber Risk report offers a bleak look at the state of IT.
But what do the big numbers really mean?
.NET Core execution engine is the basis for cross-platform .NET implementations.
The Xnote trojan hides itself on the target system and will launch a variety of attacks on command.
Spammers go low-volume, and 90% of IE browsers are unpatched.
Adobe scrambles to release patches for vulnerable Flash Player.