Everything Else

Slipping Through the Cracks

Forgotten Messages and Sneak Peeks

29 August 2006 — When you read the title of this edition of The Latest Word, one of two interpretations probably springs to your mind. For some people things that "slip through the cracks" are things that were inadvertently forgotten. For others, "slipping through the cracks" is how you sneak in to a place where you wouldn't normally be allowed. If you wanted to get into a baseball game 50 years ago and you didn't have the money, you might try to slip through the cracks in the old wooden fence.

No matter which way you interpret it, the title applies to this material, which was written a few months ago but kept getting pushed aside by other announcements. We've brought it up to date and we offer it now…

What about those Intel-based Macs?

We recently did some testing of our existing Helix Server on the Intel-based Macs. Even though the code is not Universal Binary yet, it runs better than acceptably well under Rosetta, with performance surpassing what can be seen on the G5 platform. We tested two nearly-identical iMacs, one a G5 and one a Core Duo, and the results were staggering, given all we were led to believe about Apple's Rosetta translation technology. We later added a test with a Core Solo-based Mac mini and learned that it is no slouch either.

OK, but where is the macOS native Helix we're waiting for?

As we have mentioned in the past, when Apple originally announced the Intel switch, they said it would start in May, 2006. We thought we'd have time, after shipping Helix Server macOS (December 2005) to do a quick port of Client and Engine in CodeWarrior before dealing with the whole Intel issue.

Then Apple started shipping Intel-based Macs in January, just two weeks after we had shipped Helix Server macOS. When we understood that Apple was accelerating their release schedule, we made the very hard decision to switch to Xcode immediately, even though we knew it would result in a substantial delay before we could ship any more macOS native products. Those eagerly waiting for the rest of Helix to become macOS native would have to wait a bit longer.

We started the port to Xcode and we started an Xcode Transition Page. That page is where we will keep you informed of our progress as events warrant. But we also want to talk about the process a bit here and — in keeping with our past promises — show you pictures.

Xcode: Our New Digs…

Helix's Update Collection as seen in Xcode. The carefully trained eye will notice we are using wxWidgets and that our new code is being written in C++.

Our first project was to build Update Collection in Xcode (see above). Was it easy? Not by a long shot. It took about as long to do Update Collection as we'd hoped it would take to have everything ported. But we learned what we had to learn, and now we are prepared to build all of our macOS products in Xcode.

Progress is slow, but steady, and we are discovering many places in the code where old assumptions must be revised. Because of the vast new expanse of memory — available for the first time in macOS — the size of things inside a running application must be larger. Many of Helix's internal routines assumed a more limited playing field (remember: Helix started life on a machine with 128K of memory!) and Xcode simply doesn't allow for that. It's mostly rote work, but occasionally it requires a trained eye to make the right modifications. It's taking a lot longer than we hoped, but the end result will be a Helix that is free of many of the built-in limitations that have shackled it in the past.

Yes, we could have chosen to continue our work in CodeWarrior, and maybe even put out a macOS "port" of the old Helix by now. We actually did investigate this, but discovered that attempting to debug the Helix user interface code in CodeWarrior was so painful and crash prone that we gave up. Even if we had persisited in that endeavor, we would have then had to turn around and port everything again, this time to Xcode, so we could build Universal Binary versions of those same products. That would have taken longer in total. Time invested up-front at the expense of a short-term easing of the pain of remaining in Classic. We made a tough decision, but we now know it was the right one. For all we know, we might still be fighting CodeWarrior's debugger and not have a macOS Engine/Client even if we had stayed there.

Signs of Life

But that is in the past. We are now actively working in Xcode, converting Helix to run natively in macOS in a way that will enable us to quickly produce Universal Binaries as well.

Login Dialog
The new login dialog, as seen in Helix Engine.

OK, time for another picture! When you open a Helix collection, the first thing you typically do is choose a user and log in. In keeping with that theme, here's the first picture of a Helix product, built with Xcode and running in macOS:

Yes, we are really launching Helix Engine, opening collections, and logging in, all natively in macOS.

The next task is to open a window and actually do some work. We'll hold off on showing you pictures of that until the MLTE work is complete. We don't want to lose the wow factor by showing you something half-complete. Stay tuned.

The race against time (and Apple)

On August 7th, Apple replaced the PowerMac G5 tower with the Mac Pro. Now you can not buy any new, current Mac capable of running any Helix Client, RADE, or Engine. Period. If you need to buy a machine for one of those applications, the only options are used Macs, Apple's Reconditioned Products store, or maybe an independent or mail order dealer that has a few old Macs still on hand. That puts you in an unpleasant position, and we feel the heat. While we don't have any earth-shattering news to give you today, we do want to offer a bit of advice that may help address this situation.

There is a "rule of hardware" that successful Helix developers have long given their clients. If you don't know it, you should: when the budget allows a new machine in your department, buy the most powerful machine you can afford and use it as your new Server. Give the old server to a deserving person as a workstation. it will probably be an upgrade for them and it will give everybody a boost, as your Server just got faster too. If you are in a bind because you need a new workstation, this solution is not only smart, but it saves you the trouble of searching for a reasonable 'old' Mac to purchase.

We've said it a hundred times before…

Making it across the finish line requires money, as always. Before us is our immediate goal: get Helix Engine (and Client) running reliably and ship them to you ASAP. To get there, we have to finish the internal work that proves to our satisfaction that the code is solid. Then comes beta testing. Some problems don't become evident until they are put to use in a wide range of situations. Beta testing cannot be rushed. Your data — indeed, your livelihoods — are at stake.

But then the day arrives when we are confident in our product and we ship it. Upgrade sales start pouring in, and we get a jolt of funding to push us on to (and hopefully through) the next phase in this amazing journey.

When the day finally comes and Helix no longer requires Classic, we believe it will be a moment just like any other moment in Helix history when a new "feature" of Helix made its debut. You take for granted that it will just work. That is our goal and although the road is long, we have that goal fixed clearly in our sights.

Do it now, for the sake of RADE…

In the past four years, we've rewarded those who have helped us reach our goals in various "little" ways: free "next version" upgrades during the 5.x cycle, tiered upgrade pricing, to name a few. We have plans to continue rewarding those who help us get to the end of this race. We don't generally reveal too many specifics because, as you should realize by now, we make a lot of this up as we go along and, seriously, we don't believe in raising expectations unnecessarily. But we are making significant progress and Helix Engine is nearing the moment when we send it out to our beta testers for a wider test before turning it loose on the world.

Now if you're shaking your head and wondering whether to believe any of this or not, consider: in December, 2002 we promised it was going to be a rough ride, and we have certainly fulfilled that promise! This is taking longer than we expected too, but we have been doing work that should have been done years ago. We've made great progress, and we know we can finish the job. As always, we just need your help to get us there.

By now, you already know it. If you're thinking of upgrading, don't think it's simply a matter of charity for QSA ToolWorks. Buying your upgrade to RADE is a necessity if you're ever going to use it. Buying it now speeds its developement and brings the day when we finally can kiss Classic Mode goodbye forever that much closer to today.

So don't forget our standing offer: when we start shipping Helix Engine macOS, every customer who owns a Helix RADE 6.0 license will get a free copy of Helix Engine macOS. When that happens, Helix RADE customers will be able to use their collections in a macOS native Helix. Only Design Mode work will require a trip to Classic Mode. There will be no hidden costs or surprises — if you help us get there by upgrading now.

Find PreviousFind Next