Interview by Tobias Giesen, February 2005Jari is the webmaster of the Finale Productivity Tips site. He's also a plug-in programmer: creator of Forza! and the JW freeware plug-ins. Here he discusses his views on using Finale as well as his plug-in development efforts.
What is your background as a musician?
I'm a classical violinist. After school, I first worked 3 years in the Gothenburg Symphony Orchestra. However, that experience was so different from what I had expected from a job as a violinist, that I quit playing altogether for 5 years - during which I instead worked as a computer programmer. Eventually, I started playing and practicing the violin again and got a job in the orchestra at the Gothenburg Opera, where I now work.
During the late 1980s, I bought my first music notation program: Doctor T's The Copyist (a DOS program with quite good dot matrix output as well as HP LaserJet and Sonata font support). I used it mostly for the cadenzas I wrote for my violin playing.
Another side is composing, which has always been a big interest of mine. When I was a kid, I used to borrow scores from libraries and tried to study them on my own. I did a couple of compositions (very "traditional" ones) back then and also attempted to do a Beethoven-style symphony, but that project failed...
In the mid-90s, I started composing again (for the first time as an adult). I took a quite different approach, compared to my earlier attempt: I read lots of books, trying to learn as much as possible on all kinds of subjects (ranging from music theory books from different ages and styles to music notation/engraving books, and of course lots of scores) while I at the same time tried to define my own musical personality. In my opinion, this was a more successful approach (leading to output of much higher quality with much less effort). In my opinion, this was a more successful approach, leading to output of much higher quality with much less effort.
And what is your background as a software developer?
I've used computers since the end of the 70s. At the start, I used computers as programming toys only (actually there wasn't much more to do on the first computer models I used, with 1 kb RAM). First I used the BASIC programming language. Later on I did lots of Z80 assembler stuff. And when the IBM PC-compatible computers became available, I also programmed using Turbo Pascal as well as 8088/8086 assembler.
Very soon after I quit playing (about 1991), I got involved as a project manager and main programmer for an "edutainment" project (well, that term didn't really exist back then) for Windows 3.1. For this I used C++. I then started my own company, which was aimed towards games and edutainment for the OS/2 operating system. This resulted in a few very interesting years, leading to being a business partner with IBM, giving seminars to other developers about OS/2 and C++ development, discussing issues with some very talented IBM developers at Boca Raton (one of IBM’s former labs for operating system development, which is now closed down), testing alpha versions of computer and operating systems that never were realized as consumer products, and so on.
However, in about 1995 OS/2 failed miserably and so did my company. I started composing and eventually picked up the violin again. For a couple of years I did no programming whatsoever, until I started developing Finale plug-ins.
Have you developed music-related software before you started creating Finale plug-ins?
Well, the only programming thing that was music-related was to work with the multimedia systems of Windows and OS/2. But that was pretty basic stuff, such as playing MIDI/WAVE/CD media.
When did your Finale Tips web site go online and what was its first contents?
The tips site got online early in 1999. At first it just contained a couple of tips and some frequently asked questions about Finale. This initial information was mainly assembled from stuff I learned from other users on the Finale e-mail list.
The site has expanded a lot since then.
Why does the URL end in .nu and what does that stand for?
The extension .nu stands for Niue, which is a small group of islands in the Pacific Ocean. "Nu" is also the word for "now" in Swedish, which has made it a very popular web extension here in Sweden. (Also, at the time I was registering the finaletips domain name, only Swedish companies were allowed to use the .se extension. That policy has been changed since then.)
What are the main tasks that you use Finale for, as a musician?
Composing and engraving. The reason I started with Finale was that my first composition was going to get published (by Warner/Chappell Scandinavia) and I could get the publisher to release it quicker if I did the engraving work myself. So I basically learned Finale while working on that publication - an approach I would NOT recommend to anyone!
Your plug-ins are divided into two parts. Can you tell us a bit about this history of the free plug-ins which can be downloaded from http://www.jwmusic.nu/freeplugins/index.html?
The main reason I was attracted to Finale was 2 things:
1. Finale didn't have the "straightjacket design" that most other notation programs I reviewed had. (I would never use a notation program that basically says "Excuse me, but we who developed this program believe that you would never need to adjust this notational element in the way you're currently trying to do.")
2. The ability to create plug-ins on a fairly low level.
The reason why I started to develop my own plug-ins was partly because I got "tired" of the disagreements I had with Randy Stokes (the senior developer of Finale) on the Finale e-mail list about the internal Finale design. (In this context, I should point out that Finale in 1999 was a quite different program compared to what it is now.) I thought that if I would know more about how Finale works under the hood, it would give me a better understanding of what Randy was trying to say. One other factor was that you started to develop TGTools, which also got me more curious about the Finale PDK.
The first plug-in I developed was the "JW System Divider" plug-in, which was a very interesting journey. I thought it would be a piece of cake to develop, but I soon discovered I had to take a huge number of technical factors into account. (To be able to calculate the true position of a page text block that is relative to a staff or staff system on the displayed page you have to look at things such as different reduction values/settings, optimization, staff list usage, etc.)
The second plug-in I created was the "JW Space Systems" plug-in. This was a bit easier, because the major work for calculating the displayed system heights and so on was already solved with the System Divider plug-in.
After creating a few plug-ins, I also ported them to the Mac (I borrowed an iMac and tested the plug-ins on a demo version of FinMac).
When did you start with your Forza! plug-in collection? How is it different from the plug-ins that you created before it? What is your long-term goal?
The development of Forza! was started early in 2001. The goal has been to try to provide an "ideal" user interface for a given situation and at the same time give as much power as possible (without cluttering the UI). The big difference to my standalone freeware plug-ins is in scope, ambition and focus - Forza! goes into much more detail in each component than the standalone plug-ins, and the number of lines of code for the user interface alone is huge compared to the standalone plug-ins.
An example: Adding system dividers and spacing systems are just tiny parts of the upcoming Forza! Layout Manager. Yet, the Forza! versions will be easier to use but will at the same time also give the users more power and control.
I've decided to make two versions of Forza! available: A freeware collection called "Forza! Lite" with 6 components (currently available), and a payware plug-in collection called "Forza!" with 5, perhaps more, additional planned components (which gives a total of at least 11 components in the full package). The additional components in the "Forza!" collection also have much higher design ambitions than the ones in the Lite collection.
Is there any information or sound or score sample of the composer Jari Williamsson on the Internet?
Actually, extremely little. Almost all my pieces nowadays are written for particular musicians or ensembles, and after each project is "finished" I just move along to the next.
I would love to put some of my scores on the net, although the current contract with my publisher has made this kind of difficult - but not impossible. (And currently there has also been too much else going on to focus on these things.) There will come a time when I will market myself as a composer on the net, but I'll focus on that later on.
Through plug-in development, have you been able to compensate the "disagreements" that you had with some of the Finale design?
To some extent. I have for example created a couple of small plug-ins (for my own personal use) that creates any of the custom key signatures I would need, which makes it possible to completely avoid the very hard-to-understand "Nonstandard Key Signature" dialog box.
Have you had to change some of your earliest plug-ins in the recent years so that they would still work correctly with a new Finale version?
Absolutely! A couple of feature additions in Finale during the years has forced changes to "JW Space Systems" and "JW System Divider" in particular. This was one of the reasons PDKTools was developed, which is a special-purpose plug-in partly intended for "plug-in extensions" and programming tools (that any plug-in programmer can use) to deal with the technical differences between Finale versions.
Do you have a plan when to finish Forza! 1.0?
Forza! will be completed in steps. I will not release all the components at one time, but gradually. The first 2 components to be released will be the Workplace Manager and the Layout Manager.
Do you have any special hopes how Finale should develop in the near future? Any other related thoughts that you would like to share withus?
On a general level, I think that MakeMusic should put attention to the long-lasting bugs that are still present in Finale (with "bug" I mean feature that doesn't work as the documentation suggests).
I also hope for a constantly increased "user awareness" regarding music notation and the possibilities Finale has (or is lacking). I strongly believe that users with high demands (both on the output and on the general usage of Finale) could really make the program better and easier to use on all levels - so the more users with high demands, the better the product. (Btw, I think one very important factor to constantly improve the skill level, is to remember to never get "seduced" by technology; to be amazed by how "great" your notation looks or sounds - instead always ask yourself what could be better!)
As a user, I of course send in feature requests to MakeMusic, like many other users. The items on my list will probably always get replaced by new wishes, since new features added to Finale will also open up for new possibilities.
As a plug-in developer, I would obviosly have quite different wishes. If plug-ins could be integrated more tightly with Finale's UI (instead of having the Plug-ins menu expanding to infinity), that would make things easier for both users and plug-in developers. One example would be to be able to hook a plug-in directly to the objects/handles that the user currently has selected. Another feature that I think would help in many plug-ins, would be the ability for a plug-in to store its own data in the document.
More developers of publically available plug-ins would also be a nice thing. There are currently quite a number of plug-in developers, but many of the plug-ins are either developed for personal use only or as an in-house project for a specific publisher.
How is your daughter doing? How old is she now and what is her name?
Linnea is doing fine! She's now 16 months old and talks a LOT. Unfortunatelly, most of it is in some Swedish dialect I'm not that familiar with... :-)