Jesse Barnum of 360Works


FileMaker Plugin Developer: 360Works

Number of Plugins: 9 FileMaker Plugins

When did you first start using FileMaker?

1992. I enjoyed programming as a hobby, and became interested in FileMaker because Lee Hoong was running a FileMaker SIG (Special Interest Group) as part of AMUG ( Atlanta Macintosh User’s Group )

I attended the SIG meetings and learned FileMaker from Lee. We were fortunate to have Andy Lecates and Jay Welshofer living in the Atlanta area at the time (Jay has since moved to CA), and they also presented several times at the SIG meetings.

What made you start making FileMaker Plugins?

We started doing Java development with WebObjects around 1998 / 1999 when it shipped with OS X Server. This was my first introduction to Java, and I really enjoyed it. Over several years of Java programming, I realized that there were so many things that I could do in Java that I couldn’t do in FileMaker. It was also frustrating that we couldn’t use WebObjects with FileMaker, because of problems with the JDBC driver from FileMaker. Our first commercial product was called WooF (WebObjects on FileMaker), and was an adaptor layer that allowed us to access FileMaker data from WebObjects.

This allowed us to create much more powerful FileMaker web applications than we could with CDML. That product is now open source and is still available at http://woof.dev.java.net. After WooF, we decided to create a FileMaker plugin architecture that we internally called JaCK (Java Construction Kit) for building FileMaker plugins in Java. That was a really, really tough project to get right, but once we finished, it became very easy and cost effective for us to develop plugins in FileMaker. Now that we’ve finished the JaCK framework, we get to do the fun stuff, which is writing plugins!

Do you use any plugins created by other people? If so which ones?

Not often – we use the Metadata Magic plugin for converting to FileMaker 7+ from older versions of FileMaker. We also use the Troi File plugin as part of Base Elements.

Which of your own plugins do you feel is your best work?

From a customer popularity standpoint, that would definitely be SuperContainer. It’s not a plugin exactly, it’s an extension to the Web Publishing Engine that you access through a Web Viewer. Although I didn’t write them (my brother Sam did), our Textractor and Difference Engine plugins are also pretty nifty. Some of the really cool stuff that I’m doing is stuff that I can’t talk about yet – hopefully I’ll have a preview ready by DevCon.

Do you think making plugins cross-platform is important?

Absolutely. FileMaker developers take it for granted that FileMaker is cross-platform, and as a plugin vendor, we want developers to think of our plugins as a natural extension of FileMaker itself. If the plugin were to only run on Windows or Mac, then it wouldn’t feel like it’s part of FileMaker. Fortunately for us, Java is cross-platform, and while there was a substantial amount of initial work in the JaCK project to make it cross-platform, the actual plugin development process requires very little extra work to be cross-platform.

What do you think of FileMaker adding features that come from Plugins? Such as Printing to PDF and Script Triggering?

I think it’s great – I’m always excited to see the new stuff coming from FileMaker. Occasionally it will overlap with some of our plugin functionality, but usually the FM implementation is kind of a ‘lite’ version of what you can do with the plugin. For example, now that FileMaker has added the ability to send e-mails from FileMaker Server and the Web Publishing Engine, our Email plugin is no longer needed for plain-text e-mails.

However, you still need a plugin if you want more advanced features like HTML e-mails, multiple attachments, or e-mail download from a POP or IMAP server. In other cases, like script triggers, FileMaker went way beyond what the plugin vendors were able to offer, and that’s great too. In addition to plugin development, we do a lot of custom development in FileMaker, and script triggers have greatly increased the value that we can offer to our customers. In addition, it will help FileMaker’s market share in the database development industry, and that creates a larger potential market for our other plugins.

What do you think the next feature originally come from a plugin FileMaker will add will be?

File operations seems logical, ie. read contents of file, create directory, delete files, etc.

Do you think Free plugins harm companies who sell plugins?

Certainly if their functionality is identical, then I would expect the free plugin to take away market share from the commercial one. However, I think there are so many cool and interesting things that you can do with plugins, that there isn’t that much overlap except in very well-known cases like file manipulation.

We are kind of adopting the Open Source business model for ScriptMaster, where our revenue comes from supporting and customizing the plugin, rather than from selling it outright. Then when we do customizations and enhancements, we include those in the next release of ScriptMaster, so everybody benefits.

What features would make the next version FileMaker perfect?

We’re doing some cool stuff with the XML Database Design Report (DDR). I’d really, really like to see the ability to create a new FileMaker file from a DDR. This could be used, potentially, to make programmatic (instead of manual) changes to the structure of a FileMaker file. Even better would be the ability to ‘patch’ the file format with a fragment of a DDR file. This would make it so that you could do real version control of FileMaker files, just like you can with other programming languages. It would also give you the potential to deploy upgrades to your clients in the form of a DDR patch that they could apply without importing data into clones.

Any tips for people who want to make a FileMaker Plugin themselves?

The first thing I would say is to take a look at our ScriptMaster plugin, or a PHP execution plugin like SmartPill. It’s a whole lot less work to write some custom Java or PHP code and execute it in an existing plugin than it is to create a new plugin from scratch, and it will be cross-platform without doing any extra work. There are, however, some things that can be done in a full-blown plugin that can’t be accomplished with something like ScriptMaster, and in that case just jump in with the examples from FileMaker and start coding!

Of course, I’d also like to mention that we do custom plugin development, so if you just have a need that isn’t currently met and you aren’t thrilled about writing it yourself, give us a call to get an estimate.