(warning, this post may contain Windows user interface screen shots some may find offensive)
Safe Softwareâ€™s FME Workbench has the best user interface that I have ever used. Hands down. Every time I have to use something with similar functionality such as Microsoftâ€™s SSIS, or even the time I wasted a whole weekend trying to get an open source ETL tool to do what I wanted it to do, I find myself wishing I could be working in FME instead. It was great when I started using it six years ago, and itâ€™s been getting better with every release.
Although Safe has definitely been busy with FME 2009 (get the whole story on fmepediaâ€™s Whatâ€™s Fine in 2009 page), it almost seems tame compared to some of the major changes in the last couple releases. However, behind the scenes there was a major UI refresh. Three of the new UI features are among the things I think are coolest about this latest release.
First, they created a really intuitive â€œdefault settingsâ€ interface. As far as I can remember, previous releases didnâ€™t even have default settings for transformers, and dataset defaults were set through a dialog box hidden in the configuration UI. It was so much trouble to use that I donâ€™t imagine many people were setting default values unless they had something that REALLY annoyed them:
For 2009, rather than hiding these values deep in a configuration dialog somewhere, they let users set the default as they are working with the data stores and with individual transformers. This is something Iâ€™d love to see more applications do. Hereâ€™s an example:
And another of setting transformer defaults:
Couldnâ€™t be easier. I predict that many users–even ones that didnâ€™t know this functionality was available in previous releases–will be using this. My only suggestion would be the addition of a â€œSave As â€¦â€ option, so we could have two or three sets of default values for each item. For instance, I want to have the values for both my testing and production database configurations available. And I want to have my favourite â€œSmoothingâ€ and â€œThinningâ€ profiles for the Generalizer.
The second feature that I really like about the new UI is Quick Connect. Mark describes this over at the FME Evangelist blog better than I ever could… make sure to watch his cheesy movie for some time-saving tips.
I’ve known that I’ve had one of the problems that this feature solves ever since I’ve been using FME. Basically, it was very hard to connect two transformers that were so far apart that they neither fit on the screen nor were clickable when zoomed-out. I made a feature request for this, but my potential solution was really clunky. With this new feature, connecting two trans-workspace transformers is quick, easy, and intuitive.
The final feature that I really like is the ability to edit source feature attributes. Now normally, source feature attributes don’t change, and even if they do FME provides an effective wizard that allows you to refresh the source feature definitions from their original source without manual intervention. Where this really comes in handy is when you use the optional SELECT Statement parameter to join to a secondary table:
Now, instead of jumping through lots of hoops to have the joined attributes show up in your workspace, you can enable the option that allows you to redefine the source feature’s attributes:
There are many other nice UI changes in this release, and some of the non-UI changes are really great too. Things that I may actually use include new XML features (XQuery and XSLT transformers) and new raster features such as RasterExpressionEvaluator (not quite DOCELL yet, but getting there), support for BigTIFF, and the ability to visualize rasters in the FME Viewer.
I’m sure that there’s something for everyone in the feature list; make sure to check out FME 2009 when you get a chance.
p.s. I had to change my theme as part of my WP 2.7 upgrade, and while I was at it I hacked WordPress so that XMLRPC would work properly with SSL and tried out Windows Live Writer (with a twitter notify plugin). Seems to have worked OK so far…