MerlinOne Developer Chris Carr Discusses the Technology Behind MerlinX

At the Henry Stewart DAM LA show in December 2013, MerlinOne announced MerlinX, our new browser-based digital asset management product. As we prepare to deploy MerlinX to both new and existing customers, we thought we would talk to Chris Carr, the lead developer for MerlinX.

Chris joined MerlinOne’s software development team in 1998 and is currently a Senior Software Designer. He has worked on a number of Merlin components including the Merlin client and MIO. Chris attended Ohio University where he earned his Master’s in Visual Communication, where he was a pioneer in the use of digital image files in publishing.

Chris lives in the Seattle, WA, area and when he isn’t working on software, he can be found enjoying the outdoors, hiking, bicycling and traveling.

MerlinOne MerlinX product image of search feature
MerlinX features drag & drop palettes and easy to understand informational tools.

What is MerlinX?

MerlinX is a fifth generation product, the result of 20 years of lessons learned in the handling of digital objects. One specific goal for MerlinX was extreme flexibility for the end user: to empower them to make MerlinX look and feel exactly the way they want to get their job done in the best possible way. That means it has to be modular, and so easy to configure by expanding and shrinking parts of the screen until you have it just the way you like to work. Another goal was to be sure to maintain Merlin’s legendary extreme speed so the user is never kept waiting. We also wanted to make it easy and obvious to use for new users, while keeping all the capabilities to make a power user smile. Another major goal was to not just be a DAM, but to be a true workflow tool: able to support people in smoothly putting their digital objects to use without requiring lots of extra steps.

What makes it so fast?

Browser-based applications traditionally request pages from a web server and the browser renders the entire page. In the traditional model, a page contains not only the data the user is interested in viewing, but also the page layout and all the buttons, images, style definitions and scripts needed to present the page to the user. If the user takes some action that requires changing the data displayed on the page, the browser gets the entire page back and has to render the new page. Quite often, a large portion of the new page is exactly the same as it was on the previous page. This redundant loading and rendering is wasteful and takes time.MerlinX is a single page application, meaning it loads a full page immediately after login, but uses several techniques to minimize network data transfers after that. The result is a much more responsive user experience.Of course, the MerlinX team also put a lot of effort into tuning the back end server code and we’re seeing some significant performance improvements there as well.

What benefits are there for users?

We already talked about speed. Beyond that, the user experience is completely revamped and updated. Drag and drop, keyboard navigation, fast object selection and a highly configurable workspace are new or improved in MerlinX.Users will appreciate the benefits of techniques we used to intelligently defer loading of metadata and thumbnail images until they’re scrolled into view. This helps searches and other result sets appear very quickly. It also allowed us to eliminate page selectors when displaying large search result sets. With MerlinX you can continuously scroll through thousands of hits without paging to next and previous pages.We also think users will like the new visual design. All user interface elements are rendered from vector graphics instead of bitmaps. This helped us create a much more dynamic user experience. It also looks great on Retina® or other high-resolution displays.

Why will IT or administrators like MX?

Improved control over the features and entitlements assigned to individual user groups are a big advantage. We also think administrators will appreciate the improved design of the Administration module’s user interface.

You describe MerlinX as being Modular, what exactly does that mean?

Nearly every feature, toolbar buttons, palettes, workflows and search result presentations, print views, etc., are implemented as plug-ins. Adding a new palette (which currently includes things like tools for Advanced Search, management of Collections and Workflows), for example, involves adding a new plug-in into a user group profile. The next time any user assigned to that group logs in the new feature appears automatically. Similarly, features can be removed for a user group or an entire organization by turning off individual plug-ins. This makes it incredibly easy for an administrator to add or remove features from a group, without a lot of complex and risky configuration changes.Many customers require special features tailored to their specific workflows, and often workgroups within an organization may have differing needs for standard or custom features.  The MerlinX plug-in architecture is the perfect platform on which to build these custom features. The feature set can be tailored for individual workgroups by assigning a specific set of features to each user group.

How are the UIs so flexible?

From its core, MerlinX is designed to allow users to tailor their workspace to suit their needs and preferences. Palettes can be rearranged, hidden and collapsed. More or less space can be given to content by dragging splitters or showing and hiding palette docks on either side of the window. Metadata displays can be rearranged and fields can be shown or hidden on the fly. MX even includes a theme engine which allows administrators or individual users, if desired, to change the colors, fonts and other aspects of the application’s visual presentation. As a result MerlinX lets you “have it your way”.

Can it do things like batch edit, or multiple downloads?

Yes, batch edit and multiple simultaneous downloads are standard features. Additionally, it’s now possible to perform multiple simultaneous uploads while the user continues to work on other things. Uploads occur in the background and a pop-up display is available at any time to show the status and progress of uploads.

What about support for audio and video?

Working with audio and video has been improved in MerlinX by leveraging streaming media capabilities of modern browsers. No browser plug-ins need to be installed to work with time-based media in MerlinX and iOS and Android devices work with video and audio files.

How easy is it to add new features?

With MerlinX our aim was to build a platform as well as a complete application. We recognize customers have wide-ranging workflows and other requirements. The MerlinX platform is designed to support continued expansion of our standard feature set as well as helping us address the specific requirements of any organization.

Anything else you would like to add?

The MerlinX team started with the mandate to build an extensible, high performance platform and a modern application running on top of that platform. The result is MerlinX and I am happy to say it is that and more. I look forward to continuing to work with the team on improving MerlinX and to helping tailor our platform to individual customer workflows.

Leave a Reply