Tales of unsung heros, summer snow and low-hanging fruit

30 June 2008 — Back on May 19th, we took a deep breath and then took the plunge with this announcement: “Helix Server for Intel 6.1 is scheduled to ship on June 30, 2008.”

Call it superstition, or just the fear of reliably repeatable dumb luck, but we have developed a general reluctance to set dates. Obviously, if you never say when something is going to happen until you know for sure, you can never miss a date. We hate missing dates. We also happen to love the concept of repeatable. (Except when it’s bad luck, and we’ve seen enough of that to last a lifetime.) Not too often has our luck been good, but that might be changing. Most recently we breathed a great sigh of relief when Apple’s annual Worldwide Developers Conference (WWDC) came and went with no new blizzards threatening to inundate us.

The path we’ve been on since 2002 has been one of perpetually encountering snowbanks for which there is no way around, only through. You remember the worst of them: the need to make our networking work solidly under TCP/IP, the move to Intel chips, machines that don’t boot in Classic, Leopard. But back on May 19th, we only knew of a couple of small snowdrifts in our way, and we felt confident that we could meet that date.

Is there a doc in the house?

Shortly after we shipped Helix Server for PowerPC 6.1 (on April 4th, in case you forgot) we got a message that made our hearts stop. A user reported that when storing documents internally with Helix Client Classic, they would occasionally get corrupted during the upload process. We have a saying here: “Once is a fluke, twice is a trend,” so when another user reported the same thing, we went on full alert. We scrambled to fix it, but we were unable to reproduce the problem in our lab. What to do?

When you’re faced with one of these issues, finding a repeatable case is key. Without that, virtually nothing short of a miracle will solve the problem. And while some of our “glove saves” may have seemed miraculous, every single snowbank we’ve plowed through has ultimately come down to a repeatable case, found by a real live person. So we started working directly with those two customers, sending them special versions of Helix Client/Server that would hopefully identify the source of the problem.

Helix is currently being beta tested in thirty-five locations around the globe in a wide variety of application-types by a dedicated group of people without whom this would all take much longer. As frustrating as it may seem to users waiting for the next shoe to drop, the beta testers are the ones sparing you from the really discouraging visions. These people do this work without compensation. They are the true heros that keep Helix moving forward and if we haven’t acknowledged their contribution enough already, this is one more hat tip to them for the hard work they do.

13 hours as the clock flies

A popular joke has it that women are like apples: the finest ones are at the tops of the trees, yet many men settle for those closer to the bottom because they either lack the desire to work harder or they prefer the shorter path to gratification. Men, on the other hand, are like wine. Women have to stomp them and mash them until they evolve into something worth having with dinner.

A repeatable case that demonstrates a bug is like that “highest apple.” A repeatable case lets you study the problem in detail, learning much more than just how to fix this specific bug. It is often hard work to find a repeatable case, and the temptation to settle for less is real. In the time since the first report of this bug, we searched — seemingly in vain — for a way to reach that elusive apple. We continued to pick the “low-hanging fruit” but the prize continued to elude us, and we began to wonder if we might miss our June 30th release date. But then, from halfway around the world — 13 hours by clock — in a land where Winter’s grip is just now taking hold, came the solution. Just over a week ago, one of the two users with whom we were working to isolate this bug handed us the key. The hotlines in cyberspace lit up and within 48 hours this latest snowbank was plowed out of the way.

And so… there will be no delay. The promised shipping date has been met. Helix Server for Intel 6.1.1 ships today, along with an update for Helix Server for PowerPC 6.1.1 that also fixes this bug. And along with Helix Client Classic 6.1.1, we are also releasing updated versions of Helix Engine and Helix Client in both PowerPC and Intel-native versions. These are still Preview Releases, but they are far enough along that we’ve stopped calling them 6.1pr4 and are simply calling them version 6.1.1. With this release, all of the current Helix products can be easily identified by a common version number.

A brief glimpse into the evolution of RADE

Part of the delicate balance in what we’re doing is the need to support macOS 10.4 and 10.5 and Classic in this particular stage in Helix’s evolution. And even though RADE remains Classic-only, RADE is central to the optimal functioning of all the other products in macOS.

When we first went to work on moving Helix to macOS, we laid out what would be included and went to work. Early on, as each function was completed, we made it available to you in the Classic iterations. Support for QuickTime, TCP/IP networking and other things we already take for granted were all required for macOS. Helix 5.2 and 5.3 allowed you to use some of those features right away, but we knew that when we made the jump to macOS, there could be no more releases of that nature. Once you switch to macOS, it is all or nothing. But then we hit upon the idea of the “Preview Releases” — releases with specific features turned off so we don’t have to wait for that code to be complete before experiencing the full feature set in macOS. This model has worked quite well and many people are already using their Helix collections in macOS full-time. Others continue to wait while we work to restore full functionality to Helix Client and Helix Engine.

That process has worked so well that it will almost certainly be the model we follow when work on RADE for macOS resumes. We will begin by offering a macOS-native RADE with limitations, followed by regular updates as we complete the feature set. When we start down that road, we will all be able to see clearly what remains to be done until we finally kiss Classic goodbye.

But in the meantime, some of the adjustments required for macOS have lead us to make incremental improvements to Classic RADE, because once you start using your collections natively in macOS, you find yourself wanting to make adjustments. To be sure, some of these fall neatly into the category of the aforementioned “low-hanging fruit,” but they add up to an improved RADE experience.

Typically, a collection designer toils away in RADE’s Design Mode, occasionally flipping into User Mode to see how it looks in that setting. Working with RADE today, you adjust the process slightly, closing the collection in RADE and opening it in Helix Engine for macOS. You already know how things behave in Classic; now you want to know how they work in macOS. And day by day, as your understanding of the difference between Classic and macOS improves, things look better and better. As this video illustrates, RADE can now be used to design collections that can be used in both OS 9 and macOS. The results can be very satisfying in both environments.

All of this is to say (in the tiniest voice possible so as not to upset those who get annoyed every time we do this) that along with the macOS updates we’ve announced, we’re also shipping Helix RADE Classic 6.1.2. This update contains a few more functions that improve the experience of updating Helix collections to run in macOS. If you have already purchased Helix RADE 6.1, it is a free update. If you’re still using Helix RADE 6.0 or earlier, you’re missing out on many improvements designed specifically to lessen the burden of making the macOS transition.

And so, today…

The next stage in the evolution of Helix is here. As always, when finish lines draw near, our tank gets low and we cross the line running on fumes. Now that we have shipped two new product (Helix Server for Intel & Helix Engine for Intel) everybody has something they can upgrade to. (If you’ve jumped on our pre-release announcement and already upgraded, thank you! If you’re looking for more ways to push us forward, there’s always USUs!)

To everybody who is still with us: thanks for all your support and for having the courage to stick with this undesired crusade. For everyone involved, it has gone long past the point of being personal, as much as we try not to think of it in those terms. Smokey Robinson wrote, “Determination is fading fast, inspiration is a thing of the past.”* At times, things get lower than that around here. But the hero who holds the highest apple always lifts us up.

*“Since I Lost My Baby,” The Temptations, 1965, by Smokey Robinson and Pete Moore.