This is well worth reading for any developer once you get past the first page or so. At first the complaints about existing software seem overblown because it's not obvious where the shortcomings are, but once you get into it it's an interesting study in how multiple small flaws can be seriously aggravating to the trained eye...and the dangers of unthinking abstraction that works fine in simple cases but falls apart when applied to more complex problems.
I can barely see the difference even after the explanation; but it's a beautiful thing to watch perfectionists creating a truly great tool, and making it free. They really are making the world a better place.
Since typography relies on human judgement of appearance, people cannot be replaced. However, much of their dull work can be automated: if LilyPond solves most of the common situations correctly, then this will be a huge improvement over existing software. The remaining cases can be tuned by hand.
This is the thing that we so often forget: algorithms can take us a long way, but they can never completely replace judgement. Everybody should read this article, even if they couldn't care less about music notation. (I also particularly enjoyed the section on how not to design software.)
The care for detail here is overwhelming. Even if you care nothing at all about the content, it's a strong example of what can be achieved by striving for perfection.
I also find it interesting they turned to an algorithm similar to Knuth's TeX algorithm. "Minimizing ugliness" is a pretty potent computational metaphor for how detail oriented design work works, it seems.
I have only fired up lilypond a couple of times, but I have to say I am very impressed by this open source project. It obviously aims to be best in category.
One sentence that struck me was "Notation is an intricate symbolic diagramming language for visualizing an often much simpler musical concept."
Now if you remove the word "musical", it's true of notation in general. Any notation should reflect the structure of the thing it is notating; if music notation is typically more complex than the "often much simpler musical concept" then I would say musical notation is broken and should be changed.
Is musical notation broken? I've no idea, I don't know enough about it to say.
From their point of view, it is much more complex than any given musical concept because it has to encode such a wide variety of musical concepts. The musician playing it doesn't (intentionally) pay attention to the complexities that Lilypad is talking about. (I've never noticed stem lengths or stem directions when playing, but they're important to keep things legible.)
It's comparable to fonts: the study of fonts is pretty intricate, regardless of whether you're writing a grocery list or "One Hundred Years Of Solitude".
This reminded me very much of the great effort that Knuth (as a commenter mentioned) put into both his monumental TeX formatting system and MetaFont font generation program in a (imho) successful attempt to enable the preparation of beautiful math documents.
One thing that made TeX so successful is that it was designed to be open, and many packages (e.g., LaTeX) have been written to made it easier to use and more powerful. If LilyPond can be easily extended in the same way (i.e., programed in LilyPond, not C++), it might be similarly influential.
I find it interesting they refer to notes as quarter values or eighths. I can quickly see myself getting confused by that (is that a quaver? Did I do it right?) - does it change if you change the time signature from 4/4 to 3/4? (forgive the slashes)
"Quarter note," "eighth note" etc. are the standard terms in US English. What you call a quaver, we call an eighth note, regardless of time signature. (4/4 time means there are 4 quarter notes in a measure; 3/4 means there are 3 quarter notes.)
I would like to see the usable GUI supporting all semantics from the text interface. Writing Lilypond notation compares to writing software, and we all know why programming is largely done with text and not with GUIs.
Meh, I was writing out scores for a band; when I started using Finale the musicians thanked me profusely for making it readable.
Unless you can afford your own personal copyist, it's sort of irrelevant. The little formatting nits you learn to work around (or just talk the musicians through it with pencils, which you end up doing anyway for musical reasons)
[+] [-] anigbrowl|15 years ago|reply
[+] [-] akadruid|15 years ago|reply
[+] [-] gnurgle|15 years ago|reply
[+] [-] zb|15 years ago|reply
This is the thing that we so often forget: algorithms can take us a long way, but they can never completely replace judgement. Everybody should read this article, even if they couldn't care less about music notation. (I also particularly enjoyed the section on how not to design software.)
[+] [-] tel|15 years ago|reply
I also find it interesting they turned to an algorithm similar to Knuth's TeX algorithm. "Minimizing ugliness" is a pretty potent computational metaphor for how detail oriented design work works, it seems.
[+] [-] alextp|15 years ago|reply
[+] [-] zweiterlinde|15 years ago|reply
That said, I used lilypond a couple of years ago and loved it.
[+] [-] hnote|15 years ago|reply
[+] [-] RK|15 years ago|reply
[+] [-] cabalamat|15 years ago|reply
Now if you remove the word "musical", it's true of notation in general. Any notation should reflect the structure of the thing it is notating; if music notation is typically more complex than the "often much simpler musical concept" then I would say musical notation is broken and should be changed.
Is musical notation broken? I've no idea, I don't know enough about it to say.
[+] [-] cwfreeman|15 years ago|reply
It's comparable to fonts: the study of fonts is pretty intricate, regardless of whether you're writing a grocery list or "One Hundred Years Of Solitude".
[+] [-] mjcohen|15 years ago|reply
One thing that made TeX so successful is that it was designed to be open, and many packages (e.g., LaTeX) have been written to made it easier to use and more powerful. If LilyPond can be easily extended in the same way (i.e., programed in LilyPond, not C++), it might be similarly influential.
[+] [-] socksy|15 years ago|reply
[+] [-] aaronkaplan|15 years ago|reply
[+] [-] ajdecon|15 years ago|reply
[+] [-] ssp|15 years ago|reply
[+] [-] vluft|15 years ago|reply
[+] [-] augustl|15 years ago|reply
[+] [-] danbmil99|15 years ago|reply
Unless you can afford your own personal copyist, it's sort of irrelevant. The little formatting nits you learn to work around (or just talk the musicians through it with pencils, which you end up doing anyway for musical reasons)
[+] [-] BrandonM|15 years ago|reply
[+] [-] jewbacca|15 years ago|reply