Comic-Salon Komplett… On to Frankfurt

At 12:20 in the morning, having indicated to British Airways baggage handling that, “Why yes, getting our trade show display in time for the trade show was… important”. A tired-looking delivery guy in a Deutsche Post van (!) showed up outside my hotel with the missing trade show display. The show would indeed go on.

Rudi Brandl, a customer of ours, had agreed to help us out at the show, and as the one really good German-speaker (he’s German, after all!), he was a lifesaver. Thanks *very* much for all your help!

When he’s not being Shanghaied into comic software-selling duties, Rudi runs a sign shop, and had actually made up a sign for us to post at our booth. In German, it said, “Our German is catastrophic. Our English is not so good. We speak pretty good American. But our software is terrific.” It was a very cool sign, and it got more than a few laughs (and knowing looks). Murphy’s law being fully in effect, My colleague Joe and I would inevitably wind up in long, stumbling discussions with folks at the show who spoke only German; as soon as we’d tag off booth duties with Rudi, he’d get corralled into a discussion with folks who spoke only English. It was a struggle at times, but we somehow muddled through. For what it’s worth, my German on the last day of the convention was considerably improved from the first day.

I hope to post pictures from the show later when I return (I didn’t bring a USB cable or card reader for my camera, unfortunately). In the meantime, I’m now typing this from a hotel room in Frankfurt. Joe went home today, but I’ve got a couple of days before my flight home. I’m hoping to see the city a little, visit a few comic stores, and maybe even take in a play while I’m here.

Comic-Salon Sighted. Booth Paid for. Bags Still Lost.

After an amazing breakfast (German cuisine seems at times to consist primarily of fresh bread, fantastic meats and cheeses, milk, beer, and chocolate–it’s like they invented a whole country just for me!) — I set out to (a) Charge up my “burner” cell phone (“Handy”) so that people could reach me, (b) Find out where the heck the Comic-Salon actually was, (c) Change a couple thousand dollars I was forced to bring with me to pay for our booth, and (d) Find out where my missing trade show display went.

The progress report went something like this:

Quest A: Charge up Phone
———————

Asked hotel clerk if he knew how to accomplish this. He suggested I go downtown (bis Zentrum) to find a place with Vodafone stuff. Walked around Erlangen in strange concentric circles buying first (a) A Cola Light (German for “Diet Coke”), (b) A Skype headset I saw at a computer store I walked into, (c) Another Cola light. and (d) A strange variation on a Kit Kat bar (with peanut butter!) that I was curious about next to the register. Without having said a word to the cashier, I apparently got clocked as an American as he said “THANK YOU!” to me he handed me the change.

Potentially overbroad insight: I’ve noticed that I can struggle my way through long conversations in German with government-types, bankers, and travel agents all day long, and they won’t say a word about it, and seem happy to nod, smile, and apparently never notice that I’m missing every fifth word they’re saying in rapid-fire German. Shopkeepers, on the other hand, are near-psychic when it comes to guessing your nationality (and you know you’ve been “made” when they try switching part of a conversation or greeting to you in English. If I were ever playing the male, German, version Eliza Doolittle, it wouldn’t be the embassy ball where I’d fear not being able to “pass” — it’d be the corner Fleischer (butcher).

Eventually, I stumbled across a huge shopping center, which led me to a Vodafone store, where a stylishly dressed clerk topped up my phone for me. QUEST COMPLETE!

Quest B: Find out where the convention actually is:
—————————————-
Asked stylishly dressed cashier where the Comic-Salon was. Mumbled too much. “Comicland?” he asked out loud. “Nein! Comic-Salon!” corrected a bystander. Bystander pointed me out the door and down a block from where I was standing. There, huge banners, a line of cars carrying comic books, and… Beer trucks(!)… announced that I’d found the right place. QUEST COMPLETE!

Quest C: Change money, pay for show
——————————
(Background: The Erlangen Comic-Salon is put on by, or at least in conjunction with the city of Erlangen. Which means that–unlike any comic show I’ve ever been to–it’s a government thing. And governments don’t believe in Visa. Or PayPal. Or, as it turns out, any form of currency transfer I could use from the States. This left bank wire transfer–or at least it would have, had the Erlangen bank code not been done in such a way that left my bank unable to wire money to it. So I brought cash. Lots of it.)

Double-checked that the show needed Euros, not Dollars, and was pointed to a street with a lot of banks on it. The third of these was able to accommodate the conversion of Dollars, albeit with a 5-Euro fee, and a conversion rate that would make Steve Forbes cry (.62 Euros/Dollar). Still, it was a darn sight better than the .57 Euros/Dollar and 5% fee they wanted at the Airport). Discovered that Germans do not say “Wire transfer” — they say “Bank Transfer”. Wondered why Americans don’t say “Bank Transfer”. Got money. Walked three blocks back to Comic-Salon without being mugged. Paid for show. QUEST COMPLETE!

Quest D: Find Missing Bags
———————-

Here, I discovered that in life, like so many adventure games, it matters which order you do your quests in. For, having promised me that my bags were no doubt delayed only by an hour or so, and would undoubtedly arrive the previous night by courier, I got the following update from the airline: They didn’t really know where the bags were, but they were probably at the airport. In Customs. Or perhaps at lost baggage. But probably in Customs. The British Airways web site was more blunt: “No information available.”

Pressing the matter through repeated phone calls (I got a chance to work out both my cell phone minutes and that new Skype headset!), I learned the terribly interesting cultural fact that Thursday (tomorrow) is not just the start of Comic-Salon, but also a German national holiday: Fronleichnam, or the Feast of Corpus Christi. Unfortunately, according to the grumpy-sounding German lady on the phone at the British Airways lost baggage call center, this also meant that my bags wouldn’t be delivered until Friday morning, “or perhaps evening.” “But the show, which I’ve just paid for, starts tomorrow. I’ll be out thousands of dollars if I don’t get those bags tonight!” I protested. Grumpy German Lady (GGL) suggested that they might have more information in 90 minutes or so, and the call ended on a defeatist note.

After re-checking Google Earth and confirming that yes, Erlangen was halfway across Germany from Frankfurt, I still felt that if my choice was either to spend several hours and $150 or so on trains today in order to get my bags and set up for the show, or miss out on 2 days’ exhibiting time at this increasingly expensive show, that the Smart, Resourceful Guy I hope to be most days would be getting on a train to Frankfurt. (Defeatist Weasel Guy (DWG) appeared briefly and encouraged me to go back to Comic-Salon, beg for my money back, then catch the first plane back home). But SRG decided to call the airline again.

“OK, I understand that the bags are in Frankfurt, in Customs (or maybe Lost Baggage). Can you tell me: If I go halfway across Germany by train to pick them up, are they definitely going to be there? And when does Lost Baggage close up for the day?” Happy Italian Lady (HIL) on the phone was very sad that my bags had been lost, and wasn’t Terminal Five at Heathrow just the worst, and that she would check for me if I would just hold for a while. After which, Happy Italian Lady was less happy. “So very sorry, ” she said, “but I don’t know the hours of the lost baggage…err…and the baggage may not be there right now. But we’ll definitely have it there for you by Friday night.”

Words expressing my great concern and displeasure were said. Promises to call me back were made. But two hours later, my phone had not yet rung.

Finally, I called once more. “Look,” I said, “I’m getting ready to head down to the train station, and I’m going to be super-unhappy if i travel all that way and don’t get my bags. Are they definitely–no fooling around, definitely in Lost Luggage?” “Oh absolutely!” was the reply. Followed by a “Let me check on that” to my question to when Lost Luggage closed. The phone went silent for a very long time. “Oh!” said German Lady to Whom I Could No Longer Ascribe a Particular Temperament (GLTWICNLAPT), “It seems the bags aren’t there anymore. They’re with the courier. But he won’t be delivering them until Friday because tomorrow is a holiday…”

“So I can’t even pick them up myself?” I asked, incredulous.

“That’s right.”

“But the courier won’t deliver them until two days into the trade show?” I asked.

“Yes that’s right.”

“This is a disaster!” I groaned, wondering whether DWG had it right all along.

“If it’s important, perhaps I could arrange to have the courier call you to see if they can be dropped off on an urgent basis?”

“Yes.” I chirped. “That would be really good if you could make that happen…”

To be continued…

Episode 1: Arrival*

(* Points for the first person to get the reference. Clue: old British TV)

I woke up this morning, blinked several times to clear my vision, and saw that that there were antlers hanging from the chandelier in the middle of my room. “Oh right!” I thought. “I must be in Germany.”

Twenty four hours earlier, I was saying goodbye to my wife and kids at San Francisco International. The following is a count-off my day:

– Number of times spent passing through airport security: 3

– Number of movies watched on plane: 3-1/2 (Sorry… fell asleep halfway through “Dan in real life.”

– Number of times I visibly annoyed my seatmate by laughing loudly at “Enchanted”: 5

– Number of flights: 2

– Train trips afterward: 2

– Meals served on plane: 3

– Edible meals on plane: 2

– Amount of luggage misplaced by airline at Heathrow’s infamous Terminal Five: 2

– Number of free mini-Mars bars eaten from bowl at British Airways lost baggage counter: 4 (see “Edible meals” count, above)

– Number of checked bags, now lost, containing our entire trade show display: 2

That last item threatens to be something of a damper on the whole trade show experience, unless British Airways manages to somehow locate the bags and get them to Erlangen today. If not, our fantastic foray into the world of European comic shows threatens to become somewhat less impressive… perhaps just Joe and me, along with a suitcase of software, standing outside shouting, “Tollisches Comic-Datenbank! Spezial Preis!” Yeah… that would not be good…

Off to scout out the show setup and load up my German cell phone with minute so that the nice folks at BA have a chance of reaching me…

Off to Erlangen!

In about nine hours, I’ll be sitting in an airport getting ready to head out to Erlangen, Germany for the International Comic Salon. Even now, the whole thing is pretty surreal to me–with the move, Atlas, and everything else going on, I’ve really not had time to do more than try to make sure we had all the right power cords packed and that our bags came in under the maximum shipping weight.

I’ve never attempted to do a trade show in a foreign language (unless you count British English). I have no idea how the show’s going to go, but I do know that it’s bound to be interesting. Also, being Germany–one of the big “good food” countries of the world, I won’t lack for great eats. I just hope everything (including me) gets to the show in one piece, that things more or less function.

…and Away We Go!

Interface Band-Aids

A good human interface designer can usually work out a workable solution to an interface problem in short order once the problem becomes visible. The problem is usually spotting the problem in the first place.

User testing’s real benefit is spotting problems that the designers overlooked. Another way to get feedback on how well your human interface is working is to be the one who answers the tech support email. In this sort of small-shop scenario, an interface designer who wants to stay sane has a powerful motive to fix badly designed features–fast!

Every once in a while, however, a problem comes along which defies any sort of elegant solution. The underlying cause is usually conflicting design goals, or even a split in the way different groups of users view or use the system. More rarely, there’s a very lovely and elegant solution that’s possible, but for technical reasons, it can’t be implemented. Rare on desktop applications, I’ve come across this latter problem all too often in web design.

Take the following, very simple dialog as an example (and for now, I’ll break the cardinal rule of Interface Guru-dom and actually criticize a real product that I had a hand in designing: in this case, the web-based ComicBase registration screen):

On one hand, I quite like the sheer minimalism here, and if you can momentarily forgive that the “Save” button would be better labelled “Register”, at first it seems like a nice little screen.

The fatal quirk comes as a result the peculiarities of the registration system. ComicBase FREE doesn’t require (or have) a serial number; other versions of ComicBase do. The system figures out which product you’re registering using the serial # you’ve entered. In some cases, the user will have to select between a few related versions of ComicBase using the drop-down, but usually the drop-down’s list can be populated with the one or two choices that apply. As such, the user’s path through this screen is:

1. Enter a serial # (or select ComicBase FREE)

2. If a serial # was entered, click the “Check” button to validate the number (and populate the product drop-down with the list of possible products).

3. Choose which of the possible products you are registering

4. Click Save

It sounds reasonably simple, but you may have noticed that there’s a rather interesting set of dependencies and modalities implicit in all this—none of which are communicated to the user.

If the product being registered is the FREE version, the user is meant to ignore the Serial # field altogether and just click Save. While that’s a bit inelegant, the real problem that users reported on the tech support lines was that, “I can’t register my program, because I have ComicBase <x> and the only option is the FREE version!”

The culprit is the “Check” button (indeed the very need for it). The Check button is there to cut down a very long list of possible products—many of which have very similar-sounding names—to just the list of valid products for that serial number. At the same time, it ensures that the user isn’t entering invalid or garbage data. While it’s performing a very important function, however, many users never think to press it, so the drop-down list is left showing just ComicBase FREE.

And they call tech support (bad) or just give up and don’t register (worse).

What’s the solution? It’s hard to say. There are any number of possible redesigns that solve all the process problems by making the dialog much larger, breaking the process into multiple steps, and so on—all of which can be worse than the original problem.

What breaks my heart as a designer is that there’s a fairly effective and reasonably elegant solution that gets used all the time on the desktop, but which is hard to implement in a multiple browser-supported way on the web: simply get rid of the Check button and do all your checking in real time as the user types (or when they exit the field).

If we could do this, then—like magic—the list would always have valid data in it. If we could further control the Save (err… I mean “Register”) button to be dimmed once the user started typing a serial number, but enabled it again once they finished typing a valid one, we’d have the whole thing worked out. As a bonus, we’d have lost an interface element in the process, adding to the overall flow of the already minimalistic design.

Perhaps at some point, I’ll get clever enough to work out an implementable solution like that. In the meanwhile, however, I’ve been forced to use the Mark of Shame for interface designers: Help Text:

(As a nod to interactivity, the help text disappears when the user enters a valid serial number and clicks Check (an “OK” appears next to the Check button to indicate that the serial # is valid and the product list visibly changes).

The redesign hasn’t been user-tested yet, but I’d be willing to wager that it largely—if inelegantly—solves this particular problem. Even so, this particular interface bug won’t really drop itself from my mental “to do” list. Guideline to all interface designers: whenever you solve an interface problem by adding instructions, you haven’t really solved the problem.

Using help text to paper over an interface problem like this is like the folks who tape red cellophane over their tail lights after a fender bender so that their brake lights once again appear red. Yes, this sort of Band-Aid approach handles the most urgent problem and prevents disaster, but you’re not really fooling anyone. Unless you’re planning on ditching the car (or program) soon, you’re going to have to eventually scrape enough resources together to solve the problem properly.

Goodbye, Bunker Hill…Hello, Market Street

It’s official: we’re now moved out of the old offices at Bunker Hill Lane and have now taken up quarters right downtown at 95 S. Market Street #500, San Jose, CA 95113. (Note the way I slipped in the address update: subtle, huh?).

Anyway, the move went as well as can be expected when some two dozen computers, 50,000 comics, and countless boxes containing everything from network switches to voodoo dolls are involved. Big thanks go to everyone who helped out—as well as all our customers for bearing with us through the relocation.

As it stands now, we’re largely operational again, although (as usual) we’re having some drama with the phones. For now, the best way to reach us is by email or, if you have a technical question that isn’t too pressing, post to the forums. It’ll likely be a few days before everyone has their desks unpacked and start getting caught up on everything. That said, we’re still anticipating pushing out an update this week for ComicBase.

Initial impressions on the new place: I like it–a lot! Let me count a few of the ways…

1) Location. It’s about five miles from my house, which means I get an hour of my life back each day just in commuting time. Or, if I want, there’s actually a way to bike back and forth. Doing so involves going through a pretty crazy bike path that runs alongside highway 87, but at least it saves gas and gives me a chance to get some exercise.

2) Location. Downtown San Jose is getting cooler all the time, and we’re right in the heart of it. At our old place (on the outskirts of Santa Clara, in an office park), the best you could do for lunch without driving was a Togos up the road. From where I am now, I’m within walking distance of dozens of great restaurants, hot dog stands, take out places, and a nice park to have lunch in. There’s also a concert series in summertime in the park across the street, as well as the famous Christmas in the Park displays come wintertime. Oh! And we’re two blocks from both The Tech Museum and from Adobe’s headquarters.

3) Private Offices. I made a terrific mistake last time I chose offices when I went for “open plan” and didn’t ask the landlord to build in at least one private office. As programming guru Joel Spolsky warned so long ago: programmers need offices. It’s not for status—it’s simply that when you’re programming, it takes way too much time to mentally “load up” the program and get down to work—and all that can be shattered in an instant by the sort of interruptions that go on constantly in a cubicle environment. I’d actually gotten to the point at the last office that I was intentionally coming in late and saving my important work until everyone had gone home just so I could have uninterrupted time. Now, I have the option of just closing my door. I admit, I’ll probably miss out on a lot of good office banter this way, but I’ll also be a lot less stressed out about getting my work done.

4) Friendly Neighbors. Carolyn has a great blog entry on this one that made me laugh out loud. I’ve also probably had more friendly chats with neighbors in the building in the past four days than I did with all our neighbors in the old building in two years. I still don’t know what two of the companies on my old floor actually did… So far at this location, I’ve discovered a music magazine publisher, a nightlife magazine publisher, an internet firm, and met the folks at the law firm next door who (gasp!) are not only incredibly nice, but actually like comics. (They also were kind enough to receive a couple of our desks for us while we were out schlepping stuff from the old offices. Thanks, guys!).

5) Faster Internet. For years, we’ve been champing at the bit for a faster internet pipe, but there was simply no way to get one at the old location without laying out ruinous amounts of money (and we were being quoted low to mid four-digits per month for colocation as well). Thanks to the better connectivity downtown, we’ve already got more than twice the bandwidth as we used to for just a little more than we’d paid previously, and there’s the possibility to scale it higher as business demands. All this means that not only is our site faster, but we can do more with it as well (as the folks checking out the development builds of Atlas found out in the d3 release last week).

Moving Update: Bright Paint, Higher Bandwidth

I’ve been mum on the whole moving thing for a couple of weeks while we waited for the owner of the building to come back from a foreign trip and… well, actually sign the lease. That accomplished, we had just 11 days to organize an office move, including our office machines, telecom, servers, and a small army of toy robots.

This past weekend was spent stripping an ungodly amount of wallpaper off the new offices, scrubbing gallons and gallons of wallpaper paste off walls (delightful!), and priming, prepping, and painting all the offices in a variety of colors. It was a long, long weekend for all involved, but we got it done. Big props to editor extraordinaire Shiaw-Ling (who turned out to be a pretty darn good painter!) as well as my own folks, who actually spent their entire vacation—on purpose!—helping out.

The end result? The sedate former law office now looks like the home of a hip Swedish design firm—or maybe a new exhibit wing for the Tech Museum. Either way, it’s going to be a lot of fun to come into work there.

Another really good thing about the new location: we’re mere blocks from the origination point of Covad’s wireless T1 service in San Jose, allowing us to double the bandwidth of the Atomic Avenue and ComicBase sites without breaking the bank (as would have been the case with bonded T1s). I’ve just run some initial speed tests at the location, and it looks encouraging indeed. To tell the truth, I’m getting as excited as a kid before Christmas just thinking about what we could do with that extra speed.

Moving day is Monday the 28th, and both ComicBase and Atomic Avenue will be down for some period while we move gear to the new location. Wish us luck!

Moving Day Approaches…

We’ve signed a lease at a new office, but just as we were shopping for desks and furniture, I got a call from my realtor to let me know that the owner of the property had just left for an overseas trip and will be unreachable for two weeks. As such, we can’t really start the preparations to move in yet.

Argh. More on this later assuming we manage to actually conclude the lease signing (on both sides!) without any further drama…

How to Talk to your Kid About Drugs…If He’s an Alice in Chains Fan

If you’re a parent, you know that part of the game is having those six or seven conversations about the Big Uncomfortable Topics (Sex, Death, Drugs, Suicide, and at least a few more).  I somehow managed to hit two at the same time tonight when Neil and I were running through the lyrics of the song “Would” by Alice in Chains (a fine piece of metal/grunge if there ever was one) while waiting for a The Movies (a Sims-type movie-making game) to install on my computer.

We decided to check out the “Would” video on Youtube while waiting, and after remarking at the raw power of lead singer Layne Staley’s voice on the track, I noted as an aside that he’s now dead.

“What happened to him?” Neil asked.

I replied by making a needle stabbing gesture to my arm and bluntly saying, “He offed himself…heroin O.D.”

This in turn led Neil to asking several great questions, ranging from “What’s heroin?” to “Why do rock stars seem to do that sort of thing a lot?”

We got to talking, although I think the whole subject is just incredibly sad. The same drug originally designed as a substitute for morphine (prominently used to stop the shattering pain of critically wounded soldiers) — can wrench the guts out of a normal person who gets addicted while using it to escape some pain in their life. With heroin especially, the physical addiction and withdrawal symptoms are legendary, and Layne Staley’s final years were ones I wouldn’t wish on my worst enemy.

And then you’ve got the even better question of why it’s often the good times—when fame and fortune are suddenly yours after years of sweating in obscurity—that throw so many musicians off their footing. What is it about having so much money and so many new “friends” around that can make musicians and celebrities want to withdraw into themselves—or do stupid things to mess it all up?

These are great questions, and for my part, I was just glad to be having the discussion with a ten year old to whom the whole thing was entirely theoretical (although we both agreed that we’d like get a chance to see how we’d handle fame and fortune ourselves someday!)

Eventually, the game got loaded and we moved on to the task of laying out a 1920s film studio and grooming our own stable of virtual stars (who, ironically, can also get addicted to food and alcohol in the game!).

“Pfew!” I thought as the game began… well, that’s one conversation down…

The New Office Search is On!

With our lease coming up at the end of May, and the landlord looking for a 33% increase in rents, we sort of thought we’d be looking for new digs about now. Today, I toured several new potential locations for Human Computing’s new home, with decidedly mixed results.

The first place was described as “industrial loft/creative space” and the photo showed a long shot of a rather handsome brick building. It also pointed out that the offices were adjacent to Gordon Biersch’s headquarters, complete with a shot of their front door. Now, I’ve always had a soft spot for dotcom-era lofts decked out with lots of aluminum and glass and funky lighting, so I was actually sort of excited about checking the place out. After all, lofts are basically big open spaces that you can do almost anything with.

Unfortunately, the picture in the ad turned out to be of the building next door(!). The actual building for lease was marginal at best downstairs (lots of trading companies and a glass-blowing studio), but upstairs–a long climb with concrete steps–was a disaster. In the middle of a beautiful San Jose spring day, it was dark inside, with a flickering flourescent bulb lighting the end of a narrow, dark hallway. Presumably, the decrepit wooden doors would have opened up into some sort of warehousey-loft areas, but it was all too easy to imagine a crack den and/or finding the evidence necessary to solve San Jose’s unsolved murders from 1992–present. And all at the low low price of $1.50/SF!

We had better luck downtown, where one building (which we nearly settled into two years ago) featured two plausible office suites, and a second building, located just two blocks from Adobe and a block from The Tech, was really promising. I’ll be taking family and staffers on a field trip there (hopefully tomorrow) to see what they think, but I could definitely see that one working out. We’ll see…