Daniel Freedman on xCards

Current Occupation: Software Developer at Bayhoff Software

How did you get into this job?

Ironically, HyperCard was my first exposure to programming. (If you consider HyperTalk scripting to be "programming," that is.) I probably never would have become a software developer had HyperCard never existed.

Did you work with HyperCard before you started working on BayCard?


How is/was working on BayCard

It was rewarding, although sometimes frustrating. Apple's developer frameworks were not really designed for this kind of project. So there were definitely some challenges and obstacles to overcome. Things really started to fall into place once support for the background was finished.

What was your first job, ever?

I entered a bunch of information into an impersonal UNIX machine.

What impressed you the most about BayCard?

BayCard is highly self-contained. Want to add a movie? Just drag it into the stack's window. No external required. Want to add an iTunes-style star rating to the background? Just add one from the toolbar. There's no need to try to fake one with star graphics and some clever scripting. I opted for "it just works" in favor of scripting and externals support.

Please describe BayCard in one sentence

BayCard is a tool for Mac OS X that gives non-programmers the opportunity to bring their own visions to life without the need to write any code.

When, how and by whom did you get introduced to HyperCard?

Oddly enough, I don't remember the first time I opened HyperCard. Back in those days, HyperCard shipped with the system. I probably double-clicked on the stack of cards somewhere in between TeachText and the Font/DA Mover.

What impressed you the most about HyperCard?

Despite no prior programming experience, I could easily create a simple database program. I also found it easy to create several point-and-click games, which was nice.

Please describe HyperCard in one sentence

HyperCard was a tool for the Mac that gave non-programmers the opportunity to bring their own visions to life.

If you could have added one feature to HyperCard, what would it have been?

My answer would have been the same 15 years ago: more interface widgets. HyperCard only had two: buttons and fields.

I remember creating a stack that would store application serial numbers. But rather than create one card for each program, I really wanted to create a table that displayed all of my programs on one card. I think there were four columns: Program, Version, Developer, and Serial Number. There wasn't an easy way to do this, however. So I ended up creating a bunch of fields and then assembled the table cell by cell. For a program that got so many things right and made almost everything so easy, creating a table this way just felt wrong.

Do you think there is a new HyperCard today? What is it?

My answer to this question may surprise you: No. HyperCard was one of those once-in-a-lifetime software packages. Because its magic can never be duplicated, it will never have a true successor/replacement. However, its legacy still lives on through its clones and the web.

Do you think there is still a need for a new HyperCard?

Yes and no. HyperCard 2 was the perfect 90s software development kit for non-developers, especially when it was bundled with the system.

Back then, you needed to learn a low-level programming language (C/C++/Pascal) if you wanted to create something for your Mac. You needed to be a "professional" programmer. HyperCard finally provided entry-level and hobbyist programmers with an option. Things are very different today, however. Hobbyists now have so many options: Ruby, Python, RealBasic, Flash, JavaScript, etc. While I am still not convinced that they are as easy to use as HyperCard was back then, they have rendered a new HyperCard less necessary.

Although the 1996 iteration of me did not share this belief in any way whatsoever, I am not even convinced that HyperCard 3 would have been a "new HyperCard." According to Daring Fireball, HyperCard 3 was going to be built on top of QuickTime. If 3.0 stacks could be used in a browser via the QuickTime plugin, then externals written for earlier versions of HyperCard would not have been useable. Since so many stacks made use of externals, upgrading a stack to the 3.0 format would have been non-trivial, especially when you consider, once again, that most of HyperCard's users were not developers. With all of this in mind, HyperCard 3 was never going to be the "new HyperCard." It was something else.

So when you consider that HyperCard 3 potentially had more in common with Flash than it did with earlier versions of its own self, maybe it really wasn't needed as much as HyperCard fans have traditionally believed.

On the other hand, I am still not convinced that current day options are as easy to use as HyperCard, as many of them still feel more like "programmer tools" than consumer products. So in that sense, we still need something that fills at least some of the unclaimed roles left behind by HyperCard. Since we will never see a new HyperCard from Apple, the clones will need to fill this role.

What do you think the competing products did better than you?

Most of them have a scripting language. BayCard does not feature any kind of scripting. (I actually consider the lack of a scripting language to be a feature, though, as it makes BayCard more accessible and easier to use.)

What single thing did your application do better than the competitors?

I would consider the additional widgets, specifically the table widget, to be the best among the clones.

Why did you start writing a HyperCard clone?

BayCard is the result of my childhood wish list for HyperCard. It contains all of the features that I had desired to see in the next version of HyperCard, a version that seemingly was never meant to be.

Do you think HyperCard clones are/were a good thing?

Yes. As mentioned above, not everyone has the time and/or desire to learn Objective-C and Cocoa. HyperCard clones provide a reasonable alternative for those individuals.

Is there anything else you'd like to say?

Thanks for having me.

Thank you, for taking the time to answer all those questions, and for taking such an end-user-focused approach to HyperCard. :-)