Everything Else

Helix 7.0.1 Arrives

20 January 2017 — Just one month ago, we held our collective breath and released Helix 7.0 on the world. 2½ years in the making, and we were finally at a place where we thought it was ready for public consumption.

Helix 7 had gone through a lengthy beta testing process, and although we knew there were still a few rough edges to polish, we felt it was solid enough that we shouldn’t deny users of the overwhelming benefits it provides. Besides, we were on the edge of a financial cliff and the ground was starting to crumble underfoot.

As a famous man once said: “oops.”

The first reports we received were from users who couldn’t update their collections to Helix 7.0 at all. Like all elusive bugs, this one would come and go, and persistent users were ultimately able to update their collections. But first impressions are lasting ones and this first impression wasn’t very good.

Working with one of the affected customers, we tracked the problem down to a bug that struck when updating certain types of text to support Unicode. We quickly squashed that bug, and Helix 7.0.1 users should have no trouble updating collections.

Then came reports that performance of Client/Server was (to be charitable) sluggish. Clients on the local network, connected via Ethernet, noticed no problem, but those connected by wifi felt is was a bit slow, and those connecting remotely were really suffering.

This time one of our intrepid beta testers (thanks, Dave!) went back and tested numerous beta releases until he discovered exactly where this slow down began. We then discovered that a change made late in the beta cycle to address another bug had the unintended consequence of severely impacting Client performance compared to 6.2.4, and we didn’t fully realize the scope of the problem until it was too late.

Fortunately, we were able to find another way to address the other bug, and we’re happy to announce that Client/Server performance in Helix 7.0.1 exceeds that of Helix 6.2.4.

Of course, along with these ‘show-stopping’ bugs came reports of other minor, but no less irritating behaviors. And so Helix 7.0.1 contains over 20 bug fixes and improvements to Helix RADE, Engine, and Client/Server. The complete list is found in the Helix 7.0.1 Release Notes.

What’s next?

It was important to get the show-stopping bugs fixed as quickly as possible, and Helix 7.0.1 delivers those fixes in just 31 days, and that includes two major holidays!

For the most part, what remains are minor bugs that we’re already at work on for the inevitable Helix 7.0.2. But one bug that didn’t make the cut deserves special mention, because of its root cause and its performance impact. But first, a bit of background…

Classic Helix was basically a ‘single-threaded’ application, and so no matter what you were doing in Helix, steps proceeded in an orderly manner. When Helix moved to macOS, we took it as an opportunity (a requirement, really) to make Helix much more multi-thread savvy.

As a result, a problem was reported in the early macOS versions of Helix where sequences would go too fast, actually moving on to another step before the previous one was done. For example, a sequence consisting of 1) Find First, 2) Home Field, 3) Copy could actually move on to the Home Field and Copy steps before Find First had retrieved the data, causing the copy command to fail because there was no data (yet) to copy. We addressed this in Helix 6.1.7 and provided a technote that suggested adding a ‘Draw Screen’ command between each sequence step as a safeguard. We also created and published an AppleScript to assist users in this task.

But not everybody has access to their collection’s Design Mode, and many are frightened by the prospect of running an AppleScript, so we sought a better solution. Unfortunately, in Helix 7.0 the pendulum swings too far in the other direction, to the point that sequences can be seen pausing for many seconds before going on to the next step, even when it is clear that there is no need to wait.

The problem is made worse by a bug in wxWidgets that causes the sequence progress dialog (and other progress dialogs) to open behind other windows. The user often has no clue that the sequence is still running and may either start entering data on a form they should not be able to access, or they may conclude that Helix is ‘hung’ and force quit. In reality, all that was needed was a large dose of patience.

Unfortunately, we were unable to fix either of these issues fast enough to get them into Helix 7.0.1. Rest assured that we will put 7.0.2 in your hands as soon as we are satisfied that our fixes for these bugs do not have any unforeseen side effects. In the meantime, you’ll still need a little patience with Helix 7.0.1, just not as much as you needed with 7.0!

Helix 7 Reading Material…

Maybe we didn’t do enough to communicate to everybody how big the upgrade to Helix 7 is. One thing that seemed to be overlooked was the requirement that collections be updated for Helix 7, with no path back to Helix 6. Upgrading to Helix 7 is a ‘one way street.’

Long-time Helix users will acknowledge that the backwards compatibility we maintained for Helix from versions 6.0 to 6.2 was an exception to the normal pattern. That ‘backwards compatibility’ came with the understanding that it blocked our ability to add significant features, which were to take a back seat to getting Helix fully up-to-date and compatible with the latest versions of macOS.

For this and other reasons, we put quite a bit of effort into making the updating process both painless and safe. We gave Helix the ability to make its own backup before updating, and we described the process in a detailed technote. We even made the ‘backup’ option the default behavior to help users make the right choice, as seen in the image on the right.

Imagine our chagrin when we started getting inquiries on reverting to Helix 6. You can make a legitimate case that we had this coming to us, given the performance issues noted above, but far too often when we explained how to retrieve the backup, the reply was “oh, I didn’t make a backup.”

We also learned (again) that most people don’t take time to read technotes, even ones titled ‘Before You Update,’ no less the exhaustive release notes that accompanied this major upgrade. But, just in case you are so inclined, here are links to all of the relevant information on Helix 7.0 and now Helix 7.0.1. Enjoy.

Find Previous