Tyler Vano on xCards
Current Occupation: I'm a computer programmer / web designer. I used to work for a firm, now I run my own business.
Occupation when you last worked on your HyperCard clone
Since I'm still working on it now, I guess [SEE ABOVE]. But I haven't actually done anything with HyperCard itself since I was a student.
How did it all start?
I became very good at HyperCard, and found that other languages made me spend too much time thinking about the language itself, not enough time concentrating on what I was trying to accomplish. I wanted something with the ease and simplicity of HyperCard, but with all the modern trappings of a post-1999 development environment. Since any of the existing alternatives were too expensive, I became obsessed with writing my own.
What was your first job, ever?
I worked at a church in Allen, TX, developing their website and doing their graphic design. At one point, I almost had them convinced to rewrite their service management software in Metacard, but they deemed the project too expensive and bought a packaged solution instead.
What is the most important thing in life for you?
Never watching an entire episode of “Teletubbies.” Seriously.
Which HyperCard clone is it?
jsCard, a currently-in-development sort-of-clone of HyperCard which runs as a dynamic web application.
When, how and by whom did you get introduced to jsCard?
Well, I wrote it. So I guess I introduced myself to it. When I wrote it.
What impressed you most about jsCard?
It actually worked, unlike every single one of my previous endeavors of this nature.
What was your main contribution to jsCard?
The entire thing, being as how I wrote it. Except the chunk expression engine. That was Jonathynne's handiwork, and has been in every HC-clone related project I've worked on.
Please describe jsCard in one sentence
It's like legos for the web.
Is there any particularly clever solution you applied to jsCard that you'd likie to describe in excruciating detail?
Probably the idea of translating HyperTalk into JavaScript, as opposed to writing a HyperTalk interpreter in JavaScript. JavaScript and HyperTalk are quite similar in a lot of ways, so the translation makes a surprising amount of sense. By tapping into JavaScript's abilities, I am able to essentially "remap" HyperTalk commands into their JavaScript equivalents, so I can let the browser do most of the work for me.
If you could add one more feature to your HC clone, what would it be?
Real OOP. That's going to be a while in coming.
When, how and by whom did you get introduced to HyperCard?
I was playing a game which had been written in HyperCard, when I noticed the menus were obviously for some sort of development environment, as they didn't correspond to the pirate-themed game I was playing. As it turns out, the developers had mistakenly included the "real" HyperCard application, instead of HyperCard player. They didn't, however, include any of the support stacks. As it turns out, another disc I had contained a complete "HyperCard demo" with most of the support stacks but running on the player. I copied the support stacks to my hard drive with the real HyperCard app, and everything worked. (Well, sort of. I'm pretty sure the HyperCard app and the support stacks were from different versions. But oh well.) After that, I started writing HyperCard stacks.
What impressed you most about HyperCard?
It was so easy. As soon as I figured out how to open the script editor, everything was sorta self-explanatory. I wrote most of my early stacks without any documentation.
What do you consider your main contribution to HyperCard?
Probably pushing the envelope. My software wasn't the best, or the most elaborate, but it tended to be 'out there,' proving concepts and doing interesting things. I liked to prove that things were possible without going to XCMD's, usually by including a smattering of AppleScript, which I loathe.
Please describe HyperCard in one sentence
HyperCard is like Legos for your computer.
If you could have added one feature to HyperCard, what would it have been?
(Apart from color - we all wanted that)A "serious" IDE, with native controls and support for embedding complex objects such as video, instead of just drawing them on top of the card. Also, serious extensions to the scripting language that would enable it to do more "out of the box."
Do you think there is a new HyperCard today? What is it?
Revolution, as far as I can tell, is the closest thing out there. Or maybe SuperCard.
Do you think there is still a need for a new HyperCard?
HyperCard isn't so much a program or a collection of technologies, as it is a concept. It's the idea of a simple, easy to understand way to program your own computer. And I think we'll always need that. As for the idea of a card/stack metaphor, with an xTalk based scripting language, I think that until someone comes up with something better than that, yes. Normal ten year olds can work with HyperCard, and that's something I don't think I can honestly say about any other system out there. Unless you meant a new HyperCard release from Apple, in which case the answer is a resounding "no." It's out of their hands now; they need to let us take it from here.
What do you think the competing products got right?
A lot of things. Most of them are more feature complete, better written, and more stable than jsCard will be for a long time.
What single thing do you think your app did better than all its competitors?
Just a shot in the dark here, but... web support?
Why did you start writing a HyperCard clone?
I didn't want to get lost in the sea of programming languages out there. I wanted to have my own IDE that's well designed and could be modified to do anything I needed.
Do you think HyperCard clones are/were a good thing?
Yes, they keep the idea of HyperCard alive.
Thank you Tyler, for this very insightful interview.