Hi all, Thanks to Dana for bringing up those questions: it is always a bonus for programmers when users and other programmers express their ideas on concrete matters like this. In fact, I have been feeling personally in the past year or two that perhaps I lost contact a little too much with the old crowd. This is not necessarily totally bad, because programmers have to face a number of arcane issues on their own and need to develop and introduce new ideas to keep things interesting for themselves and potential users. And much of that has to be done in relative quietness and isolation. Yet, this could be a fascinating opportunity for everyone - users and programmers - to try and evaluate the current situation, their hopes, goals, and even perhaps frustrations. So much is changing so fast in our world, that pausing a bit from time to time to look at the general direction of events is not really a luxury. So what I want to do below, is talk a bit about my own general philosophy of programming, where I think we stand in the general environment of programming/publishing, and summarize what sort of issues I am currently working on. Even if I summarise, this is bound to be a slightly longer message than average, so if you are not interested, please cut along the dotted line below and trash the rest: it's heavy reading! ----------------------------------------------------------------------------------------------------------------------------------------- Django uses a very simple proportional spacing algorithm that works well only part of the time. In fact, it works best as a combination of automatic and manual intervention - by inserting blanks here and there. What seems to be a fairly simple issue, is complicated by a number of factors: the need to space several voices for several instruments, some in notation some in tablature perhaps. The addition of lyrics also complicates the issue quite a bit. The limitations in paper sizes also play a great role: the standard paper size for computer printers is not suited to music printing in general. But for me, the crux of the problem - as almost always - is to find the right balance of automation versus manual intervention. We all hate it when Bill Gates is trying to finish our sentences for us, but we also do not want to have to spend time reformatting every note. So, in a sense the software has to be sensitive to the user in an almost intelligent way, or at least this should be a goal. This is the question of options. Proportional spacing is only one aspect of the more general problem of "preferences". Whenever you satisfy one person, there will be another person who likes it better the other way. Software writers should not be bitter about this - tempting as it may be - because this is perhaps the only and certainly the main advantage of software over traditional publishing: you don't need a xerox machine with scissors to reformat the Poulton for performance if you have a digital copy of the Poulton available. Only a few key strokes and you can end up with a copy in regular notation in any clef you like, in French, Italian, German or yet to be invented tablature system, etc. Again, the discussion of proportional spacing is a perfect example of this: we have talked about various proportional models, and the ideal software would certainly support all of those and more. But as software writers do offer more and more options, using the software also becomes more complicated for the user. Depending on their system, leisure, etc. programmers may or may not address this problem. One of the most common solutions I think is to offer templates that take care of many parameters at the same time. But to be entirely successful, these have to be developed by the users themselves, and not every user wants to have to deal with even that level of complexity. Rightly so in most cases. it's all a question of balance. In the lute world, the most vexing question in that regard is ornaments. No matter what ornaments you offer, the only one that seems to matter is the one that is missing from the toolbox. Remember that unlike regular notation, there is no standard, established set of lute/early music ornaments that a developer can easily depend on. One of my plans in the near future is to expand the ornaments system in Django, but this will again introduce more complexity.
My main point here is that in enriching the software and building more flexibility, the quality of the dialog with the users is really quite important. It is also important in trying to build a rich, flexible software that does not require going through hundreds of pages of help file or take a three-day course to master. Users' intuition matters. From what I have said above, and if you did not know it already, you can see that there is quite a bit of thought and work involved in developing a piece of music software. Increasingly so. As we develop our systems and make the goodies available, people naturally expect more. This is where it seems to me, in the past couple of years, a tendency has grown to consider that small software developers like me, who do it on the side of their real job, cannot possibly offer the same level of quality as the big companies like Finale or Sibelius can, with their full-time large teams of bright ivy-league graduate programmers. As a result of that trend, I think, people have been investing sometimes hundreds of dollars into those software simply because it seems to them that if it costs 800$ it is bound to suit their all needs, when in fact a much cheaper, amateurish piece of software could have done the job better. The fact is that in the past couple of years, the "professionals" in the music software industry have drained much of the resources that could have benefitted smaller developers, and that most of those resources are going towards paying salaries for middle management, a host of MBAs and advertising costs that are completely marginal to the real business of software writing. The fact is also that in spite of all the professional qualities of those softwares, the tablature interface of both Finale and Sibelius until recently was simply appalling. In some respects still, the MIDI import features in Django are still superior to those in Sibelius, and some of the new features I have developed recently - document indexing, management of large collections of documents, integration of digital facsimiles, and a couple of other things, won't be in the planning for Sibelius or Finale for a few years to come. Those softwares have undeniable qualities and strong points of course, but my point is that there has been a drainage of resources that have affected the small guys with the net effect that while the quality and of the work involved in writing software has increased, the basic revenue source has shrunk. I found this the hard way, when after starting work with the French guitar player Pierre Bensusan, he suddenly bailed out to fly to London to take a three-day course on how to use Sibelius instead. Clearly an expensive mistake, because the programmers need to go to the musician's school and not vice versa. Mac users in particular need to understand this phenomenon very well: writing software takes an enormous amount of time and energy, and in the very small niche of lute music you simply cannot expect any substantial return. In other words, you have to be nuts to do it. Personally, I have no idea how to turn my code into a native Mac interface, even though in theory, C++ code can be compiled on any platform. This would not be a minor investment. Make no mistake, even when you are paying for a registration for either Django or Fronimo, you are still paying a highly qualified person for well under a nickel an hour. So, the question is: why even bother to charge? In my case, when someone takes the pains to send in the registration, this gives me a sense of the importance of what I do and I try to take it very seriously. This is less a commercial aspect than a psychological one, and it is very needed each time I sit at the computer instead of spending time with my family, or picking the lute out of the case, for instance. We have a saying in French: Tout travail merite salaire. If work is not worth paying for, it is useless. This does not go against the efforts of freeware people, I think, because in my mind the freeware, code sharing model was developed by programmers for other programmers, who in exchange for the free code donated their expertise for debugging, expanding the code, etc. So I don't think of freeware as totally free. This brings me to my final points: what keeps me going and where do I think Django is going? When you think about it, a lot of what keeps us going is a mixture of unfinished business and accomplishments: there is plenty of unfinished business left to be done in Django: I have mentioned ornaments already, but there are many other aspects - better regular notation, better look, easier handling of instruments, documents, etc. A lot of my work in the past year in fact is in both categories: accomplishments and unfinished, so quasi-acomplished... I want to single out two aspects that I think are particularly important: -Indexing of documents. This allows people to better search through large collections of files, so you don't have to spend hours navigating your pc files to find the one piece that you need. So far, the indexing is relatively basic and I use a combination of programs to accomplish it, some of which are definitely not easy for non-programmers to handle and set-up for themselves. However, the door is open for searching not only by author or title, but for more sophisticated modes of searching: by key, instrument or even chord sequence. -Document clusters: the idea behind this is that a piece of music is really nothing in itself except a cluster of representations in a variety of format. At a simple level, a piece in Italian tablature is also the same thing in French tablature. But you can add to that the idea that it is also a wav format file containing POD's interpretation of it, or a PDF file ready to print, or a facsimile image. And you might want to have all those representations conveniently at hand. So now, Django offers the possibility of linking a particular piece to an HTML link towards a digital image for instance. This allows users to provide not only a transcription and interpretation but also the source she used for the the transcription. it also solves part of the problem I mentioned earlier with respect to preferences: you can distribute a piece of music both for people to reformat if they feel like it, or in its final form for printing as you have it in mind. Being able to integrate a digital image in the program also makes it a lot easier, more reliable and less physically painful to key because you don't have to turn your head every other second. I think these are aspects that are important to lutenists and that as a group, and in spite of our commercially insignificant marginal niche in the market, we still have a lot of vitality, ideas, and energy to offer. In the end, the direction of events is in your hands - much more than you think. Well, there is another thing that keeps my going: playing with the software to create some really bad music... You can check my latest example of this at http://cbsr26.ucr.edu/wlkfiles/Publications/Prelude/Prelude_orch.html - A prelude for archlute, bandoneon, cello, bass and tinkle bells... Cheers, and apologies for being so verbose, Alain Roman Turovsky wrote: >>I also prefer to have spacing. It would be nice to have the possibility of >>changing the grade of it. >>Unfortunately that isn't possible in django and a little bit uncomfortable in >>fronimo at the moment. >> >> >In Django you can have either uniform proportional spacing automatically, or >entirely manually for each bar (my preference). >Fronimo's spacing is easy to achieve, if you know the parameters you are >entereing (1.5 for most durations). >RT > > > >To get on or off this list see list information at >http://www.cs.dartmouth.edu/~wbc/lute-admin/index.html > > >