lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Appreciation / Financial support


From: Tim McNamara
Subject: Re: Appreciation / Financial support
Date: Mon, 11 Jun 2012 20:45:24 -0500

On Jun 10, 2012, at 10:00 PM, Ivan Kuznetsov wrote:
> On Mon, May 28, 2012 at 12:21 PM, Tim McNamara <address@hidden> wrote:
> 
>> As great as Lilypond's output is, there is a long way to go in terms
>> of simplification and usability (the syntax needs to be simplified
>> dramatically; a lot of the code users have to write is pretty ugly
>> and is going to scare off potential users).
> 
> 
> I don't understand how this could be possible.  Does anyone talk
> about the need to simplify the syntax of Latex?  Of Perl?

Let me respond as a musician rather than as a programmer, because I am the 
first and I am not the second.  A lot of the syntax of Lilypond makes little 
sense except perhaps to people used to coding.  If you're a musician, the first 
months of trying to use Lilypond can be little more than an exercise in 
frustration.  There are several reasons for this, including:

1.  Inconsistency between what is needed for coding things that need to be on 
the page.  I can put in a barline with \bar and a very descriptive set of 
options ("|:" "||"  ":|" "|." etc.).  There is a simple visual logic to this 
that is excellent.  The use of pitch and duration is likewise very simple and 
understandable such as c1, d2, e4 f8, g16, etc.  It takes seconds to grasp the 
syntax; ditto how chords are written out with something like <c e g b>1 which 
is easily grasped.  OTOH, if I want to put in rehearsal marks like section 
marks, codas, segnos, etc., the syntax is obtuse.  It seems like I should be 
able to just use \coda, \segno, etc.  But that's not the syntax Lilypond uses, 
the syntax is much more verbose and therefore easy to screw up- and one screw 
up kills the whole compilation.  There is another issue there with needing 
simple and comprehensible error reporting to help users find the thing they 
screwed up.  

2.  Then there is the whole dealing with repeats and voltas and getting all the 
parentheses right.  How a score is structured is not intuitive in Lilypond.  It 
is not all that easy to make Lilypond to do things like setting four bars to 
the line (something jazz musicians tend to like). Things like glyphs and such 
are located by time rather than by structure, which is often backwards to how 
composers work on a manuscript- when I start with pen and paper, I usually 
start with sketching out the structure of the song before the melody ever gets 
written down; in Lilypond one cannot really do this.  One result of this is 
that some things end up in funny, unexpected places.  Codas placed at the end 
of a line used to go to the start of the next line if there was a \break; I 
don't recall offhand if that still happens.  Surely someone thought there was a 
good reason for this but it frustrated me to no end when the damn coda didn't 
stay where I put it and ended up in the wrong place- because I use \break in 
every score in order to force four bars to the line- which rendered the chart 
incorrect for the musicians (there is a workaround for this, but IMHO it 
shouldn't be necessary).

3.  There are too many "valid" ways of structuring a .ly file.  A flexible 
syntax can be a good thing, but there are too many ways in which a .ly file can 
be organized and still have it compile correctly.  This makes it hard to learn. 
 There should be a logical flow to the syntax and how it is structured; good 
syntax should be enforced.  Of course, we'd probably all have different ways 
defining "good" syntax.  I am amazed at the variety of what I see when people 
post files, and most of them compile just fine!  I may be seeing a problem 
where where there really isn't one, but it seems to me that in the long run a 
standardized .ly file structure will be easier to learn.

4.  There are hundreds of pages of documentation and it can be very hard to 
find the information one needs in order to accomplish the task at hand.  And 
searching either the web version or the PDF version does not always yield the 
needed information.

Why is it like this?  Because the focus of Lilypond has been, to a great 
degree, to create something that enables users to produce beautiful sheet 
music.  That is the raison d'être of Lilypond.  The main focus has not been on 
user friendliness and easy useability.  As a result, a total of zero of the 
dozen or so musicians/composers I have tried to turn on to Lilypond have taken 
it up.  They downloaded it, saw it is impossibly difficult, and went to 
something else.  BTW, most of these are people with doctorates, medical 
degrees, MBAs, etc.  They are computer savvy and they are not dumb.  The user 
interface (like it or not, the *syntax* is the user interface- the text editor 
chosen by the user is not the user interface for Lilypond) is too 
beginner-unfriendly.  

Now, maybe that's OK- it may not be necessary to reach millions of users; maybe 
it's OK to focus on the users who will persevere through the steep learning 
curve and obscure commands and sometimes difficult syntax.  Maybe it's OK to 
focus first and foremost on great output.  But it might be OK to focus on 
making Lilypond easier to learn and use for non-programmers.  Indeed, I think 
that this is part of what David is talking about working towards.

Tim




reply via email to

[Prev in Thread] Current Thread [Next in Thread]