Everything Else

We interrupt our myth-busting for an important announcement

Helix Server in macOS is here now

19 December 2005--Live in the moment.

Surely we’ve heard this advice most of our lives. The past is past. It will not change, no matter how much of our attention is consumed by it. And the future will surely come, with or without any of our energies applied to it. The only opportunity we will ever have to influence tomorrow lies in today.

When a job is confined to a short period, it’s easy to remain focused. The good feeling that comes from knowing you’re doing the right things can sustain you through the project without having to return to the well. But some battles are long and arduous. And this one was the grandest yet.

When we first set out to put things right, we gathered our objectives and went to work. We knew it would not be over quickly. And sometimes, in a long battle like this, it’s easy to lose sight of both your objectives and your motivation. The longer it takes, the more you have to return to that well, to re-evaluate your objectives, making sure they still make sense, and to refresh your spirit to keep it in the fight.

Nothing in life is constant other than change. Some moments in life are, arguably, bigger than others. This moment, is certainly one of the bigger ones.

In case you joined us late, we were promising that the next edition of The Latest Word would find us stripping away a few of the more virulent layers of Helix mythology in an attempt to reveal what is good and true. But as it turns out, today we have something even better to share with you, so please bear with us as we shift gears once again and the stripping away will just have to wait.

Helix 6.0 is here. The big foot of Helix has reached out and put its big toe in the big waters of macOS at last. Today we certainly want you to buy and download Helix 6.0, but we also want to sit here for a moment, in the moment. To examine “what it all means” and where we believe it should go from here.

Great expectations

To those who have sat through this soap opera, and played along at home, Helix 6.0 is already so familiar, they could swear they’ve always had it. To those who have stayed away but kept one eye on us, they know what to expect, but just expect it with a healthy dose of skepticism. To those who have long since given up waiting to see Helix in macOS, we wish you could be here now.

To us, who have built and refined this new version of Helix, we have already left this milestone and moved on. Our focus has shifted to the next valley and the hills beyond. We are bone weary of the task of merely getting here.

We want to get on to what comes after this. This is not to disparage our accomplishment in any way. Having achieved the release of 6.0 is much more than just that. It is a job that should have been started years and years ago. In fact, it was originally begun under the previous owner but that version never came to light. Helix 6.0 is also the culmination of a great effort undertaken at great risk: a commitment that we would not just go part of the way.

A little more than two years ago we began in earnest the job of taking Helix into macOS. One year ago, we delivered the first fruits of that effort in the form of Helix 5.3, bringing a truly functional TCP/IP to our customers much sooner than if we had held it back for release in Helix 6. By then the problems running Helix Server in Classic mode were apparent, so we decided to focus on the Server as the first product we would ship. Six months ago, we began letting it take its first steps.

Now, today, all of a not-so-suddenly, there is new life for Helix. Three short years after the inmates took over the asylum, things may just not be so crazy after all. More than 200 of your fellow Helix users have already taken the plunge. Some of them are even using the product already. Yet while the early returns are quite encouraging, what we’ve created must now be used to pay and pave the way for what comes next. Another shifting of the gears.

At one time, Helix programmers were very happy and successful people. They worked on very large accounts, made lots of money and some were even part of the inner circle at Odesta. But in 1992, Odesta’s ship ran aground, sending a major shockwave through a Helix community then only eight years old and constantly riddled with accusations of iconoclasm and concerns about how it will stay in business. Then came the body blow: Windows. A generation of Mac programmers had to answer the charge from their misguided users that “the Mac isn’t a serious business machine.” As with many unfortunate events in life, perception is often confused with reality and as Helix business ebbed with the fortunes of the Mac, stars faded quickly and “doing Helix” became more of a struggle, nearly a fool’s errand, compared to what it was and how big it could have become.

When I was approached by the third owner of Helix to come work for him, he was offering to pay me about a third of what I was making when Helix business was good. As a long-time and very frustrated Helix user, his plan was to put on the brakes and fix all the bugs in Helix. At the time, there were literally hundreds of them, nearly a thousand. While I totally agreed with his objective, I had two others, so I made him a counter offer. I said I’d take his deal provided that he agree to do two things after the bugs were fixed: expand Helix’s networking capabilities to include TCP/IP and liberate Helix from its Mac-only prison. With those things done, I believed I could get back to doing what I loved: writing Helix applications.

As an Odesta insider, I had personally witnessed Helix’s early foray into “cross-platform” operation. Helix VMX was an ill-conceived and desperate attempt to bring money into a business that was in deep trouble. By the time Odesta was approached by Microsoft in the early 1990’s to bring Helix to Windows, they wanted no part of it. “Once burned twice shy.” "Been there, won’t do that again" was the mantra inside Odesta.

For us, getting Helix to macOS was first envisioned as a necessary step on the way to making it platform independent. We knew it would be a massive undertaking and that that was why previous managements had passed on doing it. But all we had was time and we knew that if we never started, we’d never get there. So off we went...and here we are: Helix is once again a multi-platform tool.

The way to Helix’s future has never been smooth or easy, or even clear in a long-range view. The computer industry is too young and too many things are changing too quickly for us to ever be able to say that we are “carved in stone” with any particular direction. The large milestones of what we want to accomplish remain the same, and we will reiterate them here in case anyone needs the unknowable to be somehow clarified. But unforseeable events like the Intel-based Mac computers can throw a very large monkey wrench into a software project because software projects are by nature not 1-2-3, “quick and dirty” jobs. At least not the ones done here.

We have some infrastructure work to do first

Helix 6.0, like all versions of Helix that have come before it, is a work-in-progress. It is coming from a Pascal code base that was created one human and several computer generations ago. It is almost an oral history of how a product struggled to exist in a hostile environment, because when Helix was born, the Mac operating system was incapable of handling the demands Helix wanted to put on it. So Helix engineers worked “around” the operating system, letting Helix make the decisions a good OS should make for an application that lives in it.

Helix is now 20 years down the road from those debut days and each step forward still seems to be accompanied by the need to dig up the road a bit. And each time we dig up the road, we find something else that was either designed with limited vision or just badly designed. Whenever these bumps in the road have prevented us from moving forward safely, we have stopped to fix them.

Now, Apple has thrown a new requirement at us. And to comply with that requirement, Helix must move from the environment in which it has been developed--CodeWarrior--to Xcode. This “civil engineering” project has already begun. Here’s an idea of what it entails:

Imagine you’re sitting at home minding your own business and a building inspector comes to your house and says, "Hi there! We are going to move you into a new house, in a new (and somewhat classier) neighborhood. We promise that everything will be placed exactly where you had it in your old house, so you won’t have any problem finding the kitchen, etc. But once you have settled in, you’ll find the roads are much better over there and you’ll be able to get to work in half the time it takes now." Sounds great, but could moving ever be that transparent? You just know it is going to take time to settle into the new house. So it is with Helix’s move to Xcode.

This and other smaller yet similar obligations to Helix’s future are not huge projects, certainly not on the scope of what’s just been completed. But they will nonetheless take time (and resources) to complete, and thereby make the arrival of the remaining three Helix applications in macOS take just a bit longer.

Once Apple releases Intel-based Macs we’ll see where our next push has to be. If Apple releases Intel-based Macs starting at the low end of the product line, there’s no need to put any effort into getting Server ported to Intel right away. If they deliver an Intel-based Mac mini, we’d better put our elbows into getting Client ported ASAP. If they deliver an Intel-based Xserve, Client would take a back seat to Server. Bottom line: we just don’t have enough information yet. We have to do the Xcode conversion so that when the time comes, we’ll be ready to move quickly in the right direction.

So what’s next?

Once the infrastructure is prepared, two projects loom immediately ahead. The first is the final break with the Classic environment. This will be accomplished in three stages: the Helix Client, then the Helix Engine and finally, Helix RADE.

For those of you who have seen Helix Server 6.0 already, you can see that we have taken advantage of much of what macOS has to offer. Helix Server 6.0 will not change appreciably in 2006. For those of you who can remember System 7, think back to its debut. At that time, applications were known as System 7-saavy or System 7-compatible. A saavy application took advantage of all of the new technologies. A compatible one just did the basics.

Because we need to be ready for the Intel-based Macs, we’re going to lose valuable time. So the first native macOS versions of Client, Engine and RADE that you see will be compatible, though that compatibility will most likely only be evident in the fact that these appliations won’t have to launch Classic to run. Once we’ve broken free of Classic, we’ll begin to devote energy and resources to upgrading the development tools in RADE to make use of all of what macOS has to offer. For the short term, however, we’re just kissing Classic goodbye.

Then comes “PiHC”

Platform-independent Helix Client. Simply put, a Helix collection will be served on a Macintosh server and visited by Clients running on Mac, Windows, Linux boxes, maybe even PDAs. A real "what’s next" tool.

Are we shifting gears again? What happened to Helix 7, you ask? The Windows RADE? It’s going to have to wait. Rewriting RADE for Windows is still too big a job to see any kind of payoff soon. But a Client that can run in Windows is not only do-able...our information says it might even be preferable..

The architechture for this animal has been done for a while. What’s missing, the part we need to get it going, is--as always--the funding. To begin generating the funds we need, we’re going to start doing a lot of things we’ve had sitting on the back burner for years. And we’re open to any kind of creative suggestions you might have, especially if you’re coming along for the ride.

Find PreviousFind Next