Smiling Faces

Today is the 15th anniversary of the day I registered my first domain: moshplant.com, which was the kickoff to my career (such as it was or is) as a freelance Director and Flash programmer. I don’t remember picking St. Patrick’s Day for any reason, in fact it wasn’t until I started marking the date on my site after about ten years that I even noticed that it was March 17.

The original moshplant.com ran on a Mac Quadra 630 with an external 200MB hard drive, using StarNine’s WebSTAR suite of server tools, which included a web and mail server. One of the truly cool things about WebSTAR’s web server was the ability to watch the access logs in real time; I felt it gave me a very ground-level view of how things worked.

The whole thing was connected to the Internet via a dedicated phone line with a 14.4 modem connection. I had faster modems, of course, but for those of you made fat and lazy by the inexpensive high-speed access we’ve come to know and love, getting a static IP address even with a slow data rate wasn’t cheap in those early days.

Fifteen years is a long time. Some days it seems even longer. Apropos of nothing, one of my favorite songs:


The few surviving samurai
Survey the battlefield.
Count the arms,
The legs and heads,
And then divide by five.

Drenched in blood,
They move across the screen.
Do I need
To point
Or do you
See the one I mean?

The one in back,
The way he acts,
Is he reminding you of anyone we know?
Isn’t he so
Like certain people I could name?

Halfway through the 30 minutes
Halfway ’round the world.
Here’s the story of
The genocidal overlord.

In her palace
With her epaulettes
Watch her little gestures
As she lights her cigarette.

Look at her you
Must see it too
Is she reminding you of anyone we know?
Isn’t she so
Like certain people I could name?

Disembodied and detached
A voice describes the scene
As a lizard
Stalks a helpless
Creature on TV.

Music underscores
The tragedy.
Eyes with no expression
Watch the unsuspecting prey.

Who is it like?
Doesn’t it strike
You as the very image of someone we know?
Isn’t it so
Like certain people,
How could anybody
Miss the obvious
And the uncanny
And the clear resemblance?
Isn’t it just
Like certain people I could name?

They Might Be Giants, “Certain People I Could Name”, They Got Lost

Miss Director

The last copy of Director I upgraded to was MX 2004 (aka “Director 10”). I haven’t had any Director projects since I was laid off from Reality Engineering nearly three years ago, and the only Director-related project I’ve had was a prototype for an online (Flash) update of a 1994 Director product. MX 2004 wasn’t much use there; I had to switch into Classic OS 9 mode and run Director 6 just to open the DIR files. My role in that project came to an end in February 2008. Upgrading hasn’t exactly been a priority.

I’ve always loved using Director for utilities, though. I’ve built any number of quick-and-dirty text processing tools for myself over the years, including a web log processor for my first server back fifteen years ago. I’ve used it to batch process images from time to time since Director 8. I’ve even just used the JavaScript engine to test functions and processes I put into web pages.

Most recently, as I’ve been working on a poker-related iPhone app, I wrote a poker hand evaluator in Lingo that I used to generate statistics on 500,000 hands for 2-12 players and output the results out as an XML file. Even my old dual 1GHz G4 desktop computer can evaluate 1,000 12-handed hands of poker in less than 4 seconds. You’d think that a faster processor, say one of them Intel thingies, really push through the numbers. My 2GHz Intel Core 2 Duo laptop runs Apple’s Snow Leopard OS 10.6, however, and Director MX 2004 won’t run on it. I still do a lot of my work on my desktop (what with the never having to leave the house for work) but it’s irritating not to be able to whip up something in Director when I want to.

I’m trying Parallels out to run Windows on the laptop, maybe I’ll see about setting up my Windows copy of Director there.

New Year’s Eve 1995

It was New Year’s Eve fourteen years ago when I caught a break that seemed — at least for a while — as if it would be the one that paid off. I’d quit my job to go freelance in August, doing digital prep work for a few clients I’d worked for at color shops, teaching Director — a program I’d trained myself on and with which I had a no real professional project experience — for Portland State University, doing rudimentary Web work (it was all rudimentary back then, and trying to pry some doors open in the world of multimedia by working on the newsletter for the Portland chapter of the International Interactive Communications Society.

Brad Hicks, a designer I’d worked with as a contractor at CKS Partners’ Portland office, and I were renting space from Dale Ott, a established independent designer who worked extensively with Sequent Computers, among others. Dale owned the second floor of a building at NW 14th & Marshall, across the street from Bridgeport Brewing, back before the Pearl District was the Pearl District. Bridgeport was there in 1995, but there was a dogfood factory on the block where the Safeway is now. The first floor of our building was a metal refinishing shop. A hallway on our floor had a door opening into the work area of the shop below, and the vapors could be overwhelming: I remember after working late one night that I could smell my shirt from across the room. Brad rented a room down the hallway; for $100 a month I got a 10’x9′ cubicle in the same room as Dale, his assistant, and a space very occasionally occupied by travel publisher Jim Bigoni.

The cubicle held my Mac workstation, as well as the computer I used as an internet server. I’d set up a Mac in March of ’95 on a 14.4 dialup, registered the moshplant.com domain and been running my own Web, mail, and other services using a piece of software called WebSTAR (one of the few options back in those pre-OS X days). At a time when a lot of other small developers didn’t have their own domains, I had a full access to my own server — slow as it was — and could see each transaction logged in real time.

In the fall, I’d gone to my second Macromedia User Conference. The buzz was over a new technology called Shockwave, but the seminar where they were showing it was limited in the number of attendees for some reason. I seem to recall that it wasn’t held in a regular meeting hall, and I don’t have any idea how I ended up getting in. I was a nobody. Nobody knew who I was. I didn’t know anyone at Macromedia. I don’t even remember how I found out about the seminar, but I was there.

Then I went home to wait. Shockwave for Director (one of many Shockwaves) had been shown, but I wasn’t on the beta. It wasn’t until early December that Macromedia released a public beta of Shockwave for Director. What came out then was an application called Afterburner, which took a Director 4 .dir file and compressed its data — with score and script information up front and assets following — into a .dcr file that could be viewed on in a Web browser (Netscape) with the Shockwave for Director plugin. At least, it could be viewed if you had a Windows machine, because the Mac plugin wasn’t ready for public beta. Coming as I did out of the print graphics and color retouching business, I didn’t have a Windows machine. Only one guy I knew at the time had an internet connection and a Windows machine, as a matter of fact, so in order to see my first Shockwave movie, I had to make a 50-mile round trip to Scappoose, Oregon to get Waldo (who was already working in digital video back in those days) to download the plugin so that I could see my simple animation.

They were primitive times, the mid-’90s. Everyone was scrambling to get a handle on the Web thing, and a lot of it wasn’t very pretty. Macromedia didn’t set up a listserv or a forum or anything of the sort to keep people on the public beta updated or let them pose questions. Someone just whacked together a CGI script and a form, and what we got was pretty much what you have for the comments section of a blog: a form at the bottom of a page with the comments in order of submission. Throughout the month of December, that page grew and grew in length. By the end of the month it was about 200K, which — by the standards of a day when 1K/sec. was the norm on a 14.K modem — was pretty big if you were trying to keep up on things.

Sometime in the evening, well after the hour when I should have knocked off and been thinking of an activity for midnight, I made the long reload. And there on the bottom was a lure that I couldn’t resist. It was a note from David Rogleberg, a recent emigre from a publishing company who had set up shop as Studio B, which was at that time an agency representing writers of computer books. He was looking for someone who could write a book on Shockwave and the publisher was in a hurry. I wrote an email with my name, outlining my writing credits and Director experience.

I never found out the whole story — there were rumors about a book deal that had gone south, some authors who were assigned to a more lucrative project within the company, etc. — but the hurry was a big part of it. Like I mentioned earlier, apart from my teaching gig, I’d never done any paid Director work. My only professional writing credentials were a gag piece published by the official Dungeons & Dragons magazine when I was seventeen and a short technical article written for Step-by-Step Graphics about a newspaper artist using Freehand earlier in the year, with a gap of sixteen years between the two. I’m almost certain that my undergraduate thesis is one of the shortest — if not the shortest — English theses at my alma mater. I’d never even attempted anything book-length. The audacity of thinking I could write an entire book on a barely-documented subset of a program I sort-of-knew in the wild-and-wooly field of the Web (1995 version) is only outmatched by the desperation of people who picked me to do it.

Less than three weeks later I had a contract for what became Shockwave: breathe new life into your web pages (not my choice for a title). The publisher already had a Frankenstein motif chosen for the cover (which carried through to the CD-ROM, executed by Eric Coker). I started trying to figure out what each of the limited set of Shockwave Lingo commands could be used for, what their limits were, and how those could be shown through step-by-step tutorials, something that became one of my specialties. I was able to lean on another local multimedia developer and musician, David Duddleston, for advice on the sound capabilities of that early Shockwave (as well as some sample audio). The whole thing was written and proofed in ten weeks, and it was shipping by May 1996. It looked then like it was going to be the start of a big new thing. It wasn’t, but that’s another story and since New Year’s is about new beginnings I’m going to end there.

Raving ‘Bout Ravi

Darrel Plant and Ravi Singh

I wish I could blame it on time and age, but the truth is my mind has never remembered names or faces well. At least not names and faces of people I should know from having met them in my personal life. Names from history, faces from the past, even useless garbage about characters on television shows I’ve never watched, all that kind of stuff seems to fill the nooks and crannies of my mind like so much methamphetamine crowding the dopamine receptors of a brain.

That’s why it’s both gratifying and embarrassing to have someone come up to me that I totally don’t recognize and ask something like “Aren’t you Darrel Plant?” It’s gratifying, because for a moment there I think “Wow, someone knows who I am from the old days.” Then it’s embarrassing when — as happened on Sunday at iPhoneDevCamp 3 in the Yahoo! cafeteria — it’s someone like Ravi Singh, the man behind the Xtras at Ravware. We hadn’t seen each other for something approaching a decade, but Ravi remembered I wore glasses (although he thought I was thinner now, which I most assuredly am not).

Ravi ‘fessed up that he’d spotted me the first day of the camp but hadn’t been sure it was me. That’s a long step up from the likes of myself, because if Ravi had been in a group of five people — much less the several hundred in attendance at iPDC — I wouldn’t have been able to pick him out as someone I’d ever met. It’s a pretty pathetic way to live your life.

Thankfully, not everyone’s as much of a moron as I am, and Ravi decided to put his suspicion to the test. We had a great final day of the camp, watching a very inspirational (if daunting) talk by Steve Demeter, the guy who invented the iPhone app development gold rush by making a small fortune with Trism; talking about the old days, catching up on people we knew, talking about iPhone development, and briefly discussing the Xtras Publisher Who Shall Not Be Named; and watching the presentations of the Hackathon projects (neither of us were participating). And we discussed some potentially cool things for the future.

Running into Ravi really made the drive down to the Bay Area and back to Portland worthwhile. Tom Higgins last weekend in Vancouver, Ravi this weekend. What does the future hold in store?

The Plan

@RasmusBoserup asked for suggestions on how to publish an indie game. This was my reply:

Wish I’d thought of that six months back.

UPDATE: I haven’t thought about this for a decade. As part of my blog updating plan, I’ve been embedding Tweets in the pages, but I just found out that Rasmus blocked me, presumably for this.

Go East, Not-So-Young Man

Through Ken Durso (the guy who certified me to teach Director back in 1995), we hear MacroMind founder Marc Canter is leaving the Bay Area to go to Ohio and once again do something different.

Not having directly been a part of the San Francisco multimedia axis, I didn’t have much contact with Marc, but I do have a couple of stories.

At the big Q&A session at the 1996 Macromedia User Conference, I was just about to step up to the microphone to ask a question whena rather burly gentleman rushed past me to snag the floor. I can’t remember what he asked, but as it happened I never did get a chance to ask whatever I’d been thinking of. That was my first experience with Marc Canter.

The next year, as the Director 6 beta was winding down and people were lamenting the closure of the discussion list (this was at a time when DIRECT-L had several thousand members and the signal to noise ratio was significant), I started up a mailing list for the ex-beta testers. We started planning a get-together at the 1997 UCON, and somehow Marc heard about it and graciously offered to host it at his house (then on Potrero Hill). In those pre-Mapquest days, though, a number of the attendees didn’t realize quite how far that was from Moscone Center, however, and I still get people complaining about it a dozen years later. There’s even some postage stamp-sized video from the era.

To the App Store!

Bedeviled: The Most Diabolical Sliding Puzzle Game Ever

My first real iPhone/iPod touch game — Bedeviled: The Most Diabolical Sliding Puzzle Game Ever — went live with both a US$0.99 full version and a free, limited version in the iTunes App Store on Friday, 3 July. It’s a combination of a sliding tile puzzle game and ball-in-a-tilting-box labyrinth, derived from a Flash game concept I did more than eight years ago.

Bedeviled was executed in Unity, a 3D game development system which which has a tie to my days as a Macromedia Director programmer, in the person of Unity Product Evangelist Tom Higgins, who was the Director Product Manager back before Macromedia’s sale to Adobe. I wouldn’t say that there’s a lot of similarity between Unity and Director — which was a more general multimedia development tool — but if you did much work in Director’s latter-day subset of Shockwave 3D, there’s definitely some knowledge you have that’s useful. That said, I had a pretty frustrating path to getting my toes wet enough with iPhone development to get Bedeviled from my original concept to where it is now, i.e. selling somewhat less than a copy a day over the past several weeks.

I’d toyed with the idea of programming for the Mac more generally for a long, long time. Long enough to have taken stabs at Metrowerks’ CodeWarrior and earlier versions of Objective-C development environments. But it never really jelled for me. For me, Director was always the crack cocaine of programming — I suppose that would make Flash the methamphetamine — and trying to get things done in C++ and Obj-C just seemed like trying to swim in molasses. Late last October, though, in an attempt to broaden my skillset beyond the two environments I’d been working in for the past fifteen years (one of which nobody seemed to have much interest in any more), I bought a new laptop and an iPod touch. My trusty desktop computer doesn’t have an Intel chip, so it can’t run the version of Apple’s Xcode IDE needed for iPhone development, and neither would the Toshiba Windows laptop whose dead pixel columns were itching for replacement. I also bought a couple of books on iPhone programming: Erica Sadun’s The iPhone Developer’s Cookbook and Dave Mark and Jeff LaMarche’s Beginning iPhone Development, which were about the only iPhone-specific titles available at the time.

I spent several weeks working through tutorials in both books, reading blogs, and generally learning my way around Xcode. Got myself signed up with the Apple iPhone Developer program right away. Had a minor hitch getting my business license information synced up with Apple so that I could be ready for the checks to come rolling in, but managed to work that out with a very nice woman from their business unit. But I’m not ashamed to say the size of the programming portion of the task was rather daunting. There’s was so much in even the iPhone-specific Objective-C libraries that it was difficult to know which way to turn to accomplish a particular task, not to mention learning the idiosyncrasies of Obj-C formatting.

Then, in early December I heard about Unity’s recently-released iPhone publishing system. Tom hooked me up with a demo copy and I started working with it a week or so before Christmas, but a family emergency combined with the most snow Portland had seen in fifty years diverted time and energy for a couple of weeks. I was trying to find as much common ground as I could with my Shockwave 3D knowledge, in an effort to put together a working model of the game’s basic mechanism (something I could do in less than a day in SW3D), but was running into some problems. From an email exchange with Tom, it didn’t sound like what I wanted to do was possible (or at least not recommended) in Unity, and by the time my trial expired I had a paying Flash project that required attention for several weeks.

Of course, by the time I got back to Xcode, I’d forgotten more than I remembered, and I had to refresh myself a bit to get up to the point where I’d left off. I got an idea for a quick, free, gag application that the App Store promptly rejected. It almost took me longer to prep the distribution files and fill out the forms for submission than it did to write the application (and it took me a day to write the app). But, they didn’t reject it because I’d done anything wrong, they just thought that it didn’t have as much user value* as, say, iFart.

So after re-learning some stuff in March, I started work on Bedeviled in earnest, learning my way around UIViews and UIImageViews, and figuring out how to cut up UIImages. And once I’d managed to do all that, I uploaded a development build to my iPod and it ran like a complete dog. Which was, of course, why I’d tested it, but it wasn’t the result I’d been hoping for.

Up to that point, I hadn’t touched OpenGL ES except for some very simple tutorials. I knew that the iPhone had the capability to do what I wanted to do with Bedeviled — after all, there are a number of actual 3D games on the iPhone and what I needed was much simpler, in processing terms — but I was becoming aware that something that implemented OpenGL was going to be necessary.

And so, in mid-April, I was back knocking on Unity’s door and got a second trial of the iPhone publishing tool. This time, nothing intervened, and — after getting past some technical issues — I figured out how to do what I needed. Best of all, when it ran on the iPhone as a build through Xcode, the performance was great. I spent about six weeks (not full-time) working on the game, submitted it to the App Store on 20 June, and Apple approved it yesterday.

Now all I have to do is figure out how to promote a game that came out the first day of a holiday weekend!

INM At 20

Darrel Plant and Vahe Kassardjian at MAX 2003

Anyone who is reading this blog for its now non-existent Director content already knows about Integration New Media (INM). I can’t even remember the first time I learned of their existence, it was such a long time ago, and they’ve been such a vital part of the Director community, with some of the first entries in database and PDF control Xtras.

So even though I haven’t really done anything with Director other than open up a couple of old projects (and, admittedly, do a 1-day Shockwave3D prototype of the iPhone game I’m working on) for a couple of years, I’m more than happy to spread the word about INM’s 20th anniversary. The various folks from INM with whom I met (they threw some nice get-togethers at conferences), talked to, and corresponded over the years were always great to deal with, and I’ve long hoped I’d have a reason to get to Montreal to visit in person.

That’s me and INM president and co-founder Vahe Kassardjian up top, at the 2003 MAX in Salt Lake City. Happy 20th, Vahe and INM!

Darrel Don’t Surf

The music that’s been the background for my best programming runs has always been surf guitar, the type of surf music that came out of the early ’60s and was exemplified by people like Dick Dale and The Ventures, the latter of which lost a member Sunday with the death of guitarist Bob Bogle, who lived just across the river in Vancouver.

The Ventures — who only made it into the Rock and Roll Hall of Fame last year — can be reasonably credited with kicking off the surf music genre with the success of their instrumental “Walk, Don’t Run.” In the last gasp of the instrumental pop hit, they had several, including covers of “Telstar” and the theme song of “Hawaii Five-O.”

Now, I don’t swim all that well, and the closest I lived to the beach growing up was about sixty miles (and that was in an era when surfing on the Oregon coast was pretty much unheard of) but given that The Ventures were formed in Tacoma, actual surfing experience seems to be a prerequisite for neither playing ort appreciating surf music.

I remember liking the songs I heard on the radio as a kid, but my real immersion into surf began in a dark period of the early ’80s in Eugene, when a long-term relationship (for that age, at least) had just broken up and I was starting to find my feet again after having been out of work for most of two years in what was then the most brutal recession this country had seen in some time.

A woman I met through my volunteer disk jockey stint at a radio station invited me to meet up with a friend of hers who (like her) was a musician. The three of us got pretty drunk on cheap wine in the Pioneer Cemetary across the street from MacArthur Court. He was the bassist for a band that played surf music, both covers and originals, and when I saw them at the next opportunity, they were incredibly good. And The Surf Trio got me started on a path that — once I got back into programming in the early ’90s — proved fruitful for some time.

The best of instrumental surf guitar surpasses silence, for me, as ideal programming music. Intricate rhythms, no lyrics to distract me, it’s like spackle filling in the cracks in my concentration and smoothing out my attention, making it easier to work for hours on end without distraction (the cats are another question). For years I was able to crank out material under the influence of surf music, but sometimes I forget the lesson and try to make do with the standard contents of my music library or radio news or podcasts, and everything just falls apart.

So I’m sorry to see Bob Bogle go. He was one of the pioneers of a form I truly appreciate. He’s left a legacy of great material. Hang ten, Bob.