Finale Blog: Plug-in Developer Jari Williamsson Talks Tech

Jari Williamsson lives in Göteborg, Sweden, where, just as in Minnesota, laptops and mittens do mix!

Last week we met Jari Williamsson, who, among many other things, is the creator of the Finale Productivity website, a violinist in Sweden’s Gothenburg Opera, a composer, a font designer, and a Finale plug-in developer.

This week we’ll continue our conversation with Jari, and head into a slightly more technical realm.

SY: Where do you get ideas for new plug-ins?

JW: Most of the ideas I get from my own needs. But I also have lots of contact with some arrangers/composers/editors using Finale that give me many good ideas.

SY: Which are your most popular plug-ins?

JW: Historically speaking, it’s JW Space Systems, JW Divider and JW Time Sig. Of the new plug-ins, it seems like JW Rhythm Copy and JW Drop 2nds are the most used.

SY: Last time you talked about some recent changes in your website and your approach to plug-in interface. Can you talk a little bit more about changes in your software development?

JW: My approach to plug-in development has changed quite radically since I first started to create plug-ins about 10 years ago.

The biggest change probably came by encountering the beautiful computer language Ruby. It’s a language that can be used to produce truly beautiful code that can actually feel like a piece of art. In most other computer languages, you tell instructions to the computer – but in Ruby you actually have the possibility to define ideas. (Of course, as with any language, it can also be used to produce terrible code!) Even if I still program my plug-ins in C++, my approach to computer programming is very different since I understand the design of Ruby.

My goal for many years has been to create a plug-in development foundation that makes it possible for me to gain more time using the plug-ins themselves than it takes to create them. I think I now have reached my goal, by designing the PDK Framework.

The design of the PDK Framework is a purely object-oriented (sometimes very Ruby-influenced) design that sometimes is pretty far from how Finale organizes things internally. One benefit of this new design is that the plug-ins themselves become very easy to write and maintain. For some plug-ins it actually takes more time to set up the project and upload the plug-in, than to actually write the code itself. For some of my new plug-ins, the relevant plug-in code is just a few lines of code.

The PDK Framework is also designed to be easy to hook up to a scripting language, but honestly I currently don’t see the need for that. Plug-ins written purely in C++ will run so much faster than a script and since the development time in C++ is now so fast, there probably shouldn’t be any need for scripting support.

Another big change for me is that I now use open source tools for all my plug-in development, simply because I think they’re much better for the task and since they will allow me to use the same C++ compiler on both Windows and Mac. As development IDEs, I use NetBeans in Windows and XCode on the Mac.

Last week I mentioned Michael Johnson, who is MakeMusic’s manager of notation quality assurance. He’s worked closely with Jari on many projects and offered this:

“Jari has also been a great contributor through the years as a beta tester of the software, putting the software through its paces and providing valuable and distinctive feedback, both positive and negative. The public can witness his honesty through his independent reviews of each version of Finale, dating back to Finale 2002.

While he’s always willing to tell us how we might improve, he’s even quicker to praise Finale’s many strengths and help fellow musicians use Finale to accomplish literally anything.

I have often wondering when Jari sleeps – is he on U.S. or European time? Based on the time stamps of his many emails and forum posts, it can be difficult to tell. Perhaps to accomplish all he does he simply does without sleep. In any event, Jari’s enthusiasm for Finale is clear and as Finale users we owe him our gratitude for his help, input, and for the many productivity increases he’s provided.”

I’d like to join Michael in thanking Jari for his fine work, and recommend that you check out his website as well as a new facebook group for his plug-ins.

Have a Jari story, or a question about anything Finale? Share it with us by clicking on “Comments” below.

-->

This website uses cookies to improve your experience. By viewing or browsing our site, you are agreeing to our use of cookies. Read our Privacy Policy for more information.

Accept