Confession of a Composer
Okay, I have a dark, dark secret—if this gets out, my music career is done. You have to promise not to tell anyone what I’m about to confess. Here goes.
I have a software developer for a brother.
There, I said it. Shocking news. While I slave away at Finale and double thirds, my brother spells the world’s end on a computer keyboard.
There is nothing more boring, ugly, or scary in my mind than code—and ironically, there is nothing more dynamic, beautiful, and empowering to a developer than that string of random characters which makes magic happen.
Software developers really know how to use a computer, whether we like their nerdy glasses or not. (Most don’t own a pair.) They know how to be efficient, clean, and organized when creating coded masterpieces (at least if they’re good).
They’re the people who put “Google” in the dictionary.
Meanwhile, you and I feel brilliant when we text a cat emoji. Is it time we composers took a cue from the computer industry and improved our own programs?
What’s Wrong With Notation Software?
Decades have passed since the first music notation software hit the market, and since then, we’ve seen other champions carry the torch—Finale and Sibelius. Then there’s MuseScore, the open source project (developer lingo: a software project anyone can use or contribute to).
There’s plenty of options out there. And there’s plenty of complaints…
“Such-and-such is too stupid to hide my rests when I do multiple voices!”
“Can’t such-and-such figure out that my slurs are overlapping?”
“It’s so cluttered! Too many features!”
“Give me such-and-such a feature and I’ll be happy!”
Sound familiar? I’ve made these kinds of statements regularly, typically after spending three hours trying to diagnose a problem. It’s obvious that there is a disconnect between the user (that’s you!) and computer in most notation softwares—and it may be our fault. But contrary to popular opinion, the answer to a better program is not more features and infinitesimal manual editing.
All these problems are symptoms of one philosophical flaw: we composers don’t know how to use a computer well. And so, we create (and use) softwares that operate from the wrong premise.
Instead, we need to start writing programs and interacting with our computers in a way that is “idiomatic” to our “instrument.”
But to do that, we first need to learn a few things about our electrical workhorses.
Computer Philosophy 101
Let’s go back to the drawing board. What makes a computer program work best for both the user and computer?
Tons of features?
These are all great assets, but the ultimate goal of productivity software should always be efficiency: how can we leverage features, input (how the user gives the computer data), and automation (what the computer does with the data) to speed up workflow?
If efficiency’s the mantra, that leads us to four key premises:
The user-computer workflow is most efficient when:
- The keyboard is the primary input device.
- We restrict ourselves to the creative input, while the computer realizes our data.
- External hardware is not integral to the workflow.
- The workflow is free of distractions and context switches.
Sounds like I pulled those out of thin air, right? Let’s break down the reasoning behind these four ideas.
1. The user-computer workflow is most efficient when the keyboard is the primary input device. Unless you’re composing on your tablet (any StaffPad users?), nibbling-little-mousy is the fastest way to lose your inspiration—and maybe your job too. It’s just too slow. Why not use the 38+ buttons available on your keyboard? Put those fast fingers to good use: the dumb QWERTY keyboard is the best input method for creating data on a computer. (At least for now.)
2. The user-computer workflow is most efficient when we restrict ourselves to the creative input, while the computer realizes our data. How much time do you spend editing things that don’t change the heart of your information? The computer—and notation software logic—has come a long way in correctly handling data to the last nitty-gritty detail, from collisions to chord accidental placement. We need to focus on giving the computer the important information and create a killer program that executes the mundane details pixel-perfectly.
3. The user-computer workflow is most efficient when external hardware is not integral to the workflow. That doesn’t mean there’s anything wrong with MIDI keyboards or numpads, but when we’re on the go we shouldn’t have to lug them around or miss a deadline. (Equals starvation.) A self-sufficient computer program would do wonders in boosting our creativity and productivity, regardless of where we choose to work. Besides, I’ve always wanted to compose on top of Half Dome, and who wants to carry around a Motif and a junky numpad?
4. The user-computer workflow is…
…most efficient when it is free of distractions and context switches. We should be able to perform 99% of the creative process without changing windows or tools (i.e. clicking with a mouse). Also, is there anything more distracting to an artist than a cluttered screen of buttons? Efficient software majors on the content and minors on the tool palette. Because let’s face it, we artists are visually
distracted stimulated, and keyboard shortcuts are a better workflow anyway.
Industries That Get it Right
So we now have an idea of what the perfect program looks like. Are there any programs that make the cut?
I told you earlier that programmers really know how to use a computer, and while I don’t want to scare you away with their programs (check out Vim if you dare), I’d love to show you how different industries have applied the four premises to creative software. (Wait, you mean programmers aren’t creative?)
Modern-day writers rely on the computer for all their creative work. Word processors like Word and Pages are certainly life-savers after having wasted thousands of years worth of feathers, but they still don’t meet the criteria for an efficient program. After all, we spend a lot of our time clicking to italicize or bold phrases (see premise 1); playing with fonts/sizes/colors/layout, which have nothing to do with the pertinent information and get ruined when opened in another platform (2); and biting our fingernails because the distracting UI throws off our concentration (4).
Enter the perfect word processing program: Ulysses.
Looks too simple to be powerful, right? How does this beast work?
Well, most word processors include styling and advanced formatting in the creative process, but Ulysses restricts you to words. Gasp! No fancy buttons to change your font, no click-and-drag method to insert a picture. But of course, we all need basic formatting like bullet lists, headers, and block quotes, so Ulysses uses a language called Markdown. It’s an itty-bitty language that associates certain characters (i.e asterisks or dashes) with basic formatting (i.e. italics or bullet points). And when you’re finished with your document, you can export it to a style of your choice with one click.
It cuts out the inessential edits from the writing process. (And in an immersive way, too!) Which means it’s easy to give the computer “clean data” so that it can handle styling with meticulous precision (i.e. no differently sized bullets and accidental color changes). This program handles all four elements of efficiency elegantly:
- Keyboard-centric, including basic formatting.
- User-computer balance (fewer worries about being locked down to a particular program or operating system).
- Of course, no external hardware. Your workflow on top of Mt. Kilimanjaro is just as efficient as it is in your studio.
- A clean, distraction-free interface that literally puts your content center stage (I write all my blogs, including this one, in Ulysses).
Word processing isn’t the only industry that’s catching on. Some blogging platforms are simplifying the website creation process, like Ghost. Before I switched to this open source service, I used Apple iWeb and WordPress to publish my website—both created visually appealing results, but had complex, manual-heavy UI’s. Ghost operates under a totally different, WYSIWYG aesthetic (What You See Is What You Get).
Like Ulysses, Ghost uses Markdown and a parallel view to transform words and characters into a fully-styled blog. While this platform is hardcore-focused at the blogging community and may not be the best choice for your professional website, it meets all the premises for an efficient program—and is a joy to create with!
Yeah, but what about us?
So what if there was a music notation program that fulfilled the four premises of computer philosophy? What would it look like? What restrictions, or “chains of freedom,” as Stravinsky put it, would it have?
If we want to satisfy the keyboard-centric premise, we need to invent our own language. Don’t worry, it doesn’t have to be rocket science—and in fact, a good program would employ shorthand we musicians are already familiar with.
When I say C4, you recognize it as middle C. Now, why can’t we use that shorthand to “write out” notes, like a word processor? Add a character to represent the duration (8=eighth note, 4=quarter note), and we’ve defined the note completely. Here’s Beethoven’s 9th Symphony, Mov. 4 theme written out this way (bar symbols added for clarity):
| F#44 F#44 G44 A44 | A44 G44 F#44 E44 | | D44 D44 E44 F#44 | F#44 E44 E42 | | F#44 F#44 G44 A44 | A44 G44 F#44 E44 | | D44 D44 E44 F#44 | E44 D44 D42 |
From here we can add other markings—articulations, expressive text, meter changes—that are linked to this string of notes. Here are just a couple ideas below:
(4/4)| F#44 F#44 G44 A44 | A44 G44 F#44 E44 | | *D44 D44 E44 F#44* | F#44 E44 E42 (2/2)| | F#44 F#44 G44 A44 | A44 G44 F#44 E44 | | D44 D44 E44 F#44 | E44 D44 D42 |
Notice I defined the first phrase as 4/4 time, and the second as 2/2. For expressive text, I can insert a little “bubble” (not shown in the example) that expands into its own text field, which keeps the notes in focus. Finally, I used asterisks to represent staccato. (I could have put a staccato behind every note, but I chose instead to surround the four notes with two asterisks to avoid redundancy.)
Obviously, a workflow like this could benefit from syntax highlighting (that’s when the program recognizes special symbols that affect your text and highlights it for easier reading), but can you see the possibilities of a language? And what if it was universally accepted by the notation software industry? I wouldn’t be praying for the death of my computer every time I opened a Finale document in Sibelius (or vice-versa).
This universal language idea also bleeds into the user-computer premise. After all, when we restrict ourselves to characters and let the computer handle the pixel-perfect result, the roles of creativity and automation are properly delegated. The challenge to developers following this premise is that the software’s notation logic must be better than it is right now (i.e. collisions, chord accidental placement) for the workflow to be optimal. And there are people working on just that. But it wouldn’t hurt for the program to allow limited touch-ups on the preview end, because no program is perfect.
The third premise of self-sufficiency may be the hardest for us composers to accept, but can you imagine how freeing it would be to have the same workflow regardless of location? This is a philosophy under which the remote world has thrived.
The fourth premise—a distraction and context-switch free workflow—would remove the tool palettes and icons that clutter up the screen in favor of keyboard shortcuts, and would put our content in focus. The reduction of buttons would reduce workflow interruptions and keep the artist inspired in the moment, though this forces the composer to thoroughly assimilate the language to work fluently. Still, the learning curve would be a fraction of the time it takes to learn today’s Big Boy notation programs.
Are there any notation softwares currently vying to become The Perfect Program? I’m glad you asked.
There is an open source project called LilyPond, which turns your code into an engraved score. The logic that handles the engraving is purty darn good!
LilyPond isn’t all diamonds and flowers—the language is probably more complex than your average composer is willing learn. The built-in UI is not the prettiest, but with some customization you can hook up a pretty text editor (like Atom) and download the package “AtLilyPond” to get syntax highlighting. (I know that made no sense whatsoever…email me and I’ll explain it in English.) Here’s what that looks like:
I’ve been toying around with it a bit, and while it’s not the easiest program to learn, it carries huge potential. I’d encourage you to try it out and see if it’s the dream you were looking for.
Let’s Do This!
All these words (gobble gobble gobble…), and what am I saying? Music notation has come a long way in the digital world, but our click-and-drag workflow doesn’t suit the creative process on a computer.
We need a notation program with a short learning curve that encourages clean data, cross-platform compatibility, and brilliant automation. We need a program that leverages the computer’s greatest strength: its keyboard. We need a program that lets us create and the computer automate. We need a program that works just as well on the road as it does in our home office. We need a program that puts our content first and doesn’t distract us with feature fanfare.
We need a program that is idiomatic.
Phew! We have covered a lot of ground on a scary subject—and just for the record, I’m still afraid of the programming workflow. The only times I’ve touched Terminal, GitHub, or Atom were under the thumb of a developer-brother eager to get me hooked on programming. I’m no coding geek. But I’m no longer afraid to learn lessons from the Dark Side.
And you don’t have to be either.
It’s time we took a cue from the people who really know how to work with a computer.
Remote working allows employees to work wherever they want, and is especially popular in the digital industry. ↩︎