Category Archives: ComicBase

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…

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…

Off to Wizard World LA!

Well, in just over five hours, the family and I will be heading south to Wizard World Los Angeles. It’ll be our first time in the LA Convention Center, and I’m looking forward to it.

We’ll be trying out a different booth setup for this one (dubbed the “light” setup, since it’s theoretically shippable–unlike our “heavy” setup we typically use in San Diego which requires a cargo van to get from place to place). Although going with the traditional heavy setup was certainly an option for us due to the relative closeness of the LA show, we decided to try out the alternate booth arrangement instead. If it works, we’ll be more easily able to take the show on the road to more distant shows around the country and beyond.

(The real test will come two months from now when we do Comic Salon in Erlangen, Germany–our first ever show in that country!)

Wish us luck, and if you’re down in LA over the weekend, please stop by our booth and say “Hi!” — we’ll be the ones under the giant rocket ship near Artist Alley…

The Customer Isn’t Always Right… But the User Is

Today, as I labored mightily to get a usable ComicBase 12.1d1 out the door, a frantic email came in from a very upset customer. This same customer had earlier found a way to embed tab characters into their issue notes by the ingenious application of cut and paste from other web sites, and I’d spent part of Friday figuring out how it was that they’d managed to concoct a sales file which Atomic Avenue couldn’t process. In fact, one of the items on my day’s “to do” list was to put in a fairly simple fix to make sure that no future user could ever duplicate that user’s feat.

Now, on a Sunday where I was cooped up in the office sucking down coffee by the quart while I tried to figure out various currency conversion issues for ComicBase, the customer’s email flickered onto my screen demanding immediate action as the customer claimed ComicBase had somehow wiped out all their data.

“Alright, calm down… ” I was thinking. “She almost certainly just opened the wrong database by accident and is freaking out because it looks like all her work disappeared.” This has been a periodic problem that crops up a couple times a year ever since we made it possible to work with multiple databases. Basically, the customer starts working in one database, forgets that they were doing so, then does something to reset their preferences (or simply clicks on the wrong database file) and has an immediate heart attack when the data they’d slaved over entering appears no longer to be there.

I dashed off a quick note to that effect to the user, and a moment or two later regretted the somewhat rushed tone of the email. To make amends (and to more completely explain the scenario so that future users who managed to get themselves into a similar fix could find help on their own), I quickly wrote out a “Tip of the Day” on what serves as our in-house knowledgebase.

“Everything’s going to be fine” I thought, “so long as she wasn’t doing something stupid like working from their backup copy, then saving over it with a blank database while they thrashed around looking for the database she’d been working in.” This was the one worrisome scenario which could ever come up and cause a ComicBase user to lose work, and I’d written any number of newsletter, forum, and email posts warning folks never to do it. I made particular note of it in the Tech Tip so that I could point to it in posterity (or my successor could point it out after I passed out at my desk from too many Vente Mochas).

Naturally, this is exactly what the user in question had done, and although she’d only lost a few hundred books’ worth of data in the process (and I’d even offered to get much of her data back from Atomic Avenue), she was well and truly ticked off, and wanted a refund.

Here at Human Computing, we have an almost absurdly lenient refund policy. To wit: if you’re not amazingly happy with ComicBase, we’ll give you your money back—end of story. We don’t have a big involved RMA process for doing so, since even with this policy in place, we generally only get one or two refund requests per year—that’s less than 30 over the 15-year history of the company. Is it because we write perfect software? I’m afraid not. But our tech support is second to none, and we can usually help with just about anything that goes wrong—even if it’s a Windows issue, computer failure, or just something bizarre that the user did.

In this particular case, the user had done a number of wrong things, the most tragic of which was saving a “blank” database on top of their work, and not keeping any other sort of offline backup. From the sound of it, she even panicked and saved over the automatic backup that the program makes.

So was the user unreasonable to demand want an apology for a problem that she’d almost certainly caused? Yeah. Did she send about a dozen emails sniping at a guy loaded with coffee who was bending over backward on a Sunday night to help her recover from the problem? Yes again. And in the end, she wound up rejecting any further offers of help, and I quickly gave her a refund for her full purchase price ($49.95). I felt miserable.

I know a software company where the policy on tech support is that if the user can’t follow the single page of instructions to install and set up the software, they are asked to simply box the whole thing up and send it for a refund—just so the company can “fire” the customer and save a fortune in future technical support. In my darker moments, I envy this company.

But although I don’t believe that the customer is always right, I believe that the user of a software program is. If the user does dumb things, enters invalid data, abuses the program, and just generally does everything in his power to shoot himself in the foot, it’s ultimately my problem—not theirs. There are limits to what can be done, but—little by little—we try to make sure that we change the program in a way so that future users don’t run into the same difficulty. As ace programmer Joel Spolsky (Correction: It was apparently actually Dave Winer) famously said, consumer software is a game of inches. Each tiny improvement to the fit and finish of a piece of software helps someone. Add enough improvements up, and you’ve eventually got a world class product.

Before returning to the currency conversion problem at hand, I took some time and tried to brainstorm a solution to prevent especially persistent folks from accidentally recreating the exact, convoluted scenario which had cost me a customer tonight. Maybe the code I wrote to prevent this will never actually be triggered by an errant user’s efforts…or maybe it’ll save someone from wiping out their work. When 12.1d1 finally gets built–probably in the wee hours of the morning at this rate–it’ll also go out with the “No embedded tabs in the Notes field” fix which went into the code earlier today.

Here’s to moving the ball a few more inches in the right direction…

Carolyn’s Back (…and I’m Back at Work)

Well, after two weeks of Carolyn-lessness, the Beautiful Wife finally returned from her German vacation to a family that much missed her. Unfortunately, my work has much missed me as well, so I’ll be putting in the hours trying to catch up. Thanks to everyone at the office who covered for me in my office…now I just have to get 12.1 out the door before our next show in two weeks: Wizardworld Los Angeles.

If you’ll be down there, stop on by and say, “Hi!”

Scaling up by Downgrading?

Is low-end SQL Express 2005 the way to go for a heavily trafficked site? OK, I know. The question sounds daft, but hear me out.

Right now, Atomic Avenue (and ComicBase.com for that matter) use SQL Server 2000 as their back-end database. Like most databases, the bread and butter of the whole thing is garden variety SQL: SELECTs, UPDATEs, etc. using the requisite JOINs, stored procedures and whatnot, along with the occasional subquery, and—I think once or twice in the entire database—something really avant garde like a temporary table. The point is, we make use of basically none of the high-end features that Microsoft has been stuffing into SQL Server in the past few versions to try to sell to the “enterprise” market.

What we do make use of is connections—lots of them. And that’s where we’re starting to get into trouble. See, you don’t just pay Microsoft a couple of grand to use SQL Server, you pay a couple of grand to use SQL Server on one machine, with up to five simultaneous connections going. If you want more connections (and believe me, you do), you have to spring for something called a “CAL” — Client Access License, which permits your server to keep more than that number of connections open at once. These CALs come in “packs” of five, ten, twenty five, etc. and cost about $162 per connection license. Need 25 more simultaneous client connections on your “SQL Standard Edition” server? That’s a cool $4,050 on top of the initial purchase price of $1,899. And remember: that’s for one server.

Being the kind folks they are, Microsoft also offers the option of skipping all this CAL business and just licensing SQL Server for a fixed amount based on the number of processors on your server machine. An SQL Standard Edition license by processor runs $5,999—so that’s basically $12,000 if your machine has two processors. But heck, at least that’s better than the Enterprise Edition of SQL Server 2005: that baby runs $24,999 per processor. Imagine: $50,000 to run a single piece of software on one machine. I’ve just depressed myself utterly by realizing that a copy of ComicBase sells for something like 1/10th of 1 percent of that. We’re definitely in the wrong end of the software biz!

The only good news in this scenario is that connections go surprisingly far if your site is programmed halfway properly. Typically, you can open, service, and close connections in well under a second, allowing a relative handful of connection licenses to handle the connections generated by thousands of typical users without too much waiting around for a free connection to open up. Still, as Atomic Avenue’s traffic continues to grow, I’m getting concerned about lack of available client connections becoming a problem.

The obvious way to handle the problem is to just throw money at it and pay Microsoft for ever-more licenses. When I think of all the giant Alien statues and toy robots we could buy for the office with that same money, however, I’ll admit I have to think twice before reaching for my wallet.

One intriguing alternative is that we might be able to solve the problem by actually downgrading our production servers to the new “Express” version of SQL Server 2005. This version was introduced to compete with free databases like MySQL, and brings virtually all the features of the full versions of SQL Server to the table, but with no cost for the application, and unlimited client connections. The catch? Microsoft hobbled the server by limiting it to handling databases of 4 GB or less; the server can only make use of one processor (but as many cores as it wants); and it can only use 1 GB of RAM for the buffer memory.

Of these limitations, frankly, the memory one gives me the most pause, but it definitely seems worth checking out. I think there’s at least the chance that we may be better off going down to the free version, than by throwing untold thousands at the folks in Redmond. (And if this doesn’t work, we also have the option of rewriting the back-end database in something like MySQL anyway, although that would be a major project to say the least).

I just got our new quad-core database server racked up and ready to go using SQL 2005 Express. I’m not really getting my hopes up, but I’ll let you know what I find out… (And if any of you have experience in this area, by all means write and let me know what you discovered!)

[digg=http://digg.com/microsoft/Is_the_free_version_of_SQL_Server_better_than_the_paid_one]

ComicBase 11 Art Featured in Spectrum!

Spectrum 14 coverSpectrum is a yearly anthology featuring the most notable fantasy and science-fiction illustrations of the previous year. Congratulations go out to longtime ComicBase cover artist Glen Orbik for once again scoring a featured position in this year’s Spectrum for the terrific space-themed cover he did for us on ComicBase 11. Great work, Glen!

Best Year Ever

It’s probably not all the surprising given all the activity and new products we launched this year, but even without counting Atomic Avenue or the Christmas season, we’ve already had our biggest year ever for ComicBase. A big hand to everyone who worked so hard this year, and thanks again to all our customers for your continued support. Here’s to making next year even better!

Big Numbers: A Marketing Challenge

One of the biggest problems we have in doing ComicBase (or for that matter, Atomic Avenue) is trying to make big numbers meaningful. It’s the downside of running the biggest, baddest comic book database in town—at some point, you start to feel like you’re just babbling when you try to convey the sheer amount of information involved, or how much it’s grown from year to year.

For instance, ComicBase 1.0 contained some 20,000 issues from 297 titles—all the issues from every title I owned at least one copy of at the time. For the past fifteen years, we’ve worked tirelessly to add to the database, both in scope and in the amount of detail on each issue. First, it was hundreds of titles and a few thousand issues per version. Then it was thousands of titles and tens of thousands of issues per version. Within a few years, ComicBase had become the largest database of comics ever published, but we kept right on adding issues (and adding more detail to each issue as well). But how to put a face on this?

ComicBase 12 just added some 25,000 new issues (for a total of over 325,000!), and involved changes and updates to over 100,000 more—all since the previous year. It sure sounds like a lot (and it was!) but what if we’d settled for doing half the work: say, adding just 12,500 new issues, or making “only” 50,000 updates? Without some sort of context it all just seems like a bunch of large numbers are being thrown around, and there’s really no additional sales appeal conveyed by all our extra effort.

One place where I think we’ve done a reasonable job of it is on Atomic Avenue where, as I write this, some 610,000 comics are available for sale. The relevant comparison is that it’s almost seven times the number of comics available in all of eBay’s auctions, combined. Here, at least, it seems easy for folks to figure out that if you’re looking for a comic—any comic—there’s an awfully good chance you not only can find it on Atomic Avenue, but you’re likely multiple copies for sale in whatever condition you need (and you’ll also experience a lot less hassle in the process!)

But we could really use your help: What comparisons would you suggest if we wanted to talk about, say, the addition of another 15,000 cover images to the Archive Edition (for a total of over 200,000)? Is it meaningful to say things like, “It’s like discovering 75 long boxes full of comics that you’ve never set eyes on before!” or “If you looked at each comic in ComicBase 12 Archive Edition for just 10 seconds each, you’d need to spend over 277 hours to view them all!” Anyone got something more punchy or vivid?