First looks at multiple documents and docking windows

Two years ago we created a prototype for a new version of the help authoring tool we used to offer. The main reason for the prototype was to trial writing a new product using test driven development (TDD) techniques. This worked very well, but not so well when it came to adding a user interface.

All our current tools use a standard series of libraries we've developed over the years, and provide vast amounts of common functionality, from settings management, windows and UI components, plug-ins, and a lot more. However, they all work around the principle of a single application window bound to a single document, with a variable amount of custom views that can be hosted in that window.

That approach doesn't really work with something like a help project, where you have the project itself, content topics, and any number of other items that you might want to open side by side. Out of the 7 productivity tools we currently offer, four of them would be more useful if they were MDI and all of them could benefit from better layout management.

At the end of last year, as soon as the Gif Animator alpha was released we started working on rebuilding our application framework from the ground up. This has now been ongoing for the past eight months, writing objects, testing objects, and steadily adding to the required features.

I'm not going to talk about most of this as I suppose the end user doesn't really care about the implementation details that delight us, but I will talk about the UI improvements! And some non-UI features in a future post perhaps.

The image below shows a screenshot of an updated build of Gif Animator using the new library.

At first glance it should seem very familiar to the current build - frames on the left, properties on the right, and so on. But a closer look should show a few new UI clues...

Multiple Documents

The first noticeable difference is the document has it's own tabbed header. You can now open multiple documents and work on them from the same instance of the program.

Although I haven't tried to demonstrate it here, you can group windows horizontally or vertically or float them. You can also switch from the "tabbed MDI" mode to a more classic MDI window mode if needs be.

Window Layouts

The second difference is that the tabs for the old views are now at the bottom of the properties area, and there's pinning icons. These "views" are now proper windows, and can be dragged around, docked to the application window, floated, docked to floating windows, use auto-hide, and a whole lot more!

This allows you to set up your window "just so" and have things where you want them, rather than where we think they should go. Layouts persist across sessions, and there's also a handy "reset" option just in case.

What's next

I now think these features are stable enough to firstly show off as something other than vapour-ware, and also as something that should be appearing sooner rather than later.

Currently our plans are for the Gif Animator to use the new libraries with the next update, and then the Color Palette Editor to follow after that.

The plans are less certain for Spriter and Slicr, as the new framework isn't compatible with the existing library and lot of work will be required in order to utilize the new libraries.

There's also almost certainly bugs in the new code, and possibly feature gaps as well if some esoteric feature one of the other programs relies on isn't present in the new code. But eventually all our productivity tools should be sporting the new features.

We hope you find this sneak peak useful, and as always welcome your comments.

Leave a Comment

While we appreciate comments from our users, please follow our posting guidelines. Have you tried the Cyotek Forums for support from Cyotek and the community?

Styling with Markdown is supported