Visitors to WhippleWares stagnant website over the last several months have wondered about the lack of activity and what it indicates about the state of the company. The most current news item, announcing the imminent release of VB Compress Pro Version 7, was dated March 2000. When 2001 arrived, this was still the most current news item, yet VBCP V7 was nowhere to be found. "Are you still alive?" wondered one correspondent. "Ben, where are you?" asked another. If youre curious, heres the answer.
I began WhippleWare 10 years ago, when my love of programming and growing frustration with academic life induced me to cut and run from a PhD program at MIT. Ive never regretted it in fact, its been a blast but by summer 2000, several things led me to pause and contemplate.
First was the Internet (duh!) and the accompanying explosion of new tools and technologies, many of which my middle-aged brain has yet to master. What is the mid- and long term impact of all this going to be on VB, and on VB tool vendors like me? Should I be looking for a completely new line of work? Learn C#?
Second was the cost of advertising. My business has always relied heavily on advertising instead of spending time on marketing, trade shows and such, I spent my time programming and doing support, and made up for it by sending dollars to VBPJ. This worked nicely for several years, but grew less and less effective as they continued to raise rates despite stagnant circulation (and used my money to launch other magazines, like JavaPro). I didnt help matters by never getting around to doing new ads, but I was still unhappy that VBPJ was making more money from my work than I was.
Finally, there was the announcement of VB.NET and the attendant FUD. As is always the case when people know that a new version of VB is coming, they want to know immediately if my tools will support it as soon as it ships, despite the fact that it doesnt exist yet, and they also want assurances that they will get a free upgrade when it does exist. This is perfectly reasonable, but in summer 2000 all anyone really knew was that VB.NET was going to be very different from OLE (whoops, I mean ActiveX) VB, and I wasnt comfortable making this commitment. My passion and productivity as a developer suffered as I fretted about all this.
Anyway, there I was last summer contemplating this uncertainty when Arthur (my contractor) told me that he had totally forgotten about his commitment to make my wife a kitchen, and that hed get to it "sometime next year" instead of in July. AAAAGGGGHHHH!!!! This was a bigger deal than it sounds, because our house (see it on the GWFPP) didnt have a kitchen. Yes, there was a room with a sink, an ancient stove, and a new fridge, but there were no counters, no cabinets, no electrical outlets. There was plaster falling from the ceiling and wind whistling and rain dripping through the rotten windows. There were holes in the floor going through to the basement, and exposed knob-and-tube wiring for the kids to play with. My improvements to date consisted of a temporary particleboard counter that you leaned on at your peril. In short, it was a disaster area that wife Carol, who loves to cook, had put up with for over a year. We had planned and budgeted for 2000 to be the Year of the Kitchen, and she was very much looking forward to it. I told Arthur that he had to be the one to tell her, and that he had to make it absolutely clear that he had screwed this up, not me! It's typical of me to neglect to plan ahead, but in this case Id signed him up for the kitchen a full year in advance and had checked in regularly to confirm that we were still on.
So what to do? In the crazed full-employment economy of the time, there had to be something seriously wrong with any contractor not fully booked for the foreseeable future, so we ruled out trying to find someone else. "Hmmm," I mused to Carol, " I could use a break from writing software, sending money to Jim Fawcette, and worrying about the Internet. Maybe Ill do it."
"NO WAY!" she replied gently, contemplating an eternity without any place to prepare food, and with her puttering-prone, possibly in-mid-life-crisis husband blocking the critical path to getting one. The more I thought about it, though, the more I wanted to do it. Id never done a kitchen, but my first career was 12+ years in the woodworking business and Im handy with tools. One of my favorite books as an undergrad was Zen and the Art of Motorcycle Maintenance by Robert Pirsig. Recalling it, I thought that maybe a few months of honest skilled labor would help clear my mind of the fog surrounding the future of WhippleWare. So I persisted and eventually wore Carol down by a) coming up with a plan to keep the "kitchen" in operation during most of the project, b) getting Arthur to let me use a few of his excellent subcontractors, and c) agreeing to get someone young and strong to help with the heavy lifting.
After a week of planning, I got started during the last week of August. I pulled the plug on advertising and gleefully stopped sending big checks to California. I continued to spend as much time each day as needed for sales and customer support, but devoted the rest to pounding walls, not the keyboard.
Step 1 was "out with the old." I comparison-shopped dumpster rentals until I realized that either through collusion or the efficiency of markets, they all charged exactly the same amount. Then, figuring that I could conserve a lot of energy if the dumpster was located under the kitchen window, I called the company advertising "the best drivers in the business." True to their word, the driver backed an 8 foot wide dumpster on an 8' 6" truck through the 8' 10" space between the house and the neighbors' fence while I held my breath and wondered about insurance coverage. Then I whacked together a chute, and with young strong Nolan (the Boston University student I hired, see Condition C above) gutted the kitchen and threw it out the window. We discovered to our dismay that the bottom half of the walls were covered with an inch and a half of concrete on metal mesh, not plaster on lath, and thus did a lot of unplanned sledge hammering. As a bonus, though, there was room left in the dumpster when we were done, so I went through the basement pointing out heavy junk that young strong Nolan carried up and threw in. I have to admit that I enjoyed this immensely. The dumpster company ultimately hauled away over 8,000 pounds, putting ruts in the lawn that are still there.
Step 2 was to make the gutted space usable again (see Condition A), so that Carol could resume cooking while I wired, plumbed, insulated, carpented, etc. We mopped and mopped and vacuumed and vacuumed to get rid of the dust but never really did -- all food was gritty for a few months. I nailed up a counter, installed a sink, and moved the old appliances back in. To digress for a minute: Condition A at least doubled the amount of work involved in the project. I removed and re-installed the sink, counter, stove circuit, etc, many many times, turning the room into a work zone every morning and returning it to "kitchen" status almost every night. I don't think that I'd agree to Condition A again, but hey, live and learn.
The 7 foot long cast iron sink that we decided to keep was a project all by itself. I didn't appreciate how heavy it was until young strong Nolan and I tried to move it and discovered that the 2 of us together could barely lift one end, much less carry the whole thing over to the sawhorses I'd set up. I ended up building a massive wooden cart with very serious casters, and became adept at getting the sink on and off it using the jack from our '89 Ford Taurus. I wish I had a picture of the 800+ pound sink on the cart, which I disconnected and rolled into the front hall at least 4 times during the project.
Even away from the keyboard, I continued to develop with windows (sorry, lame programmer joke).
There's lots of circuits in a kitchen these days, and the existing wiring was a real period piece, of no use whatsoever. I ran 9 new circuits with 10 outlets, 15 light fixtures, and 12 switches. Deciding where to put switches was harder than it seemed -- despite lots of thought and confidence in my decisions, now that the walls are up and the room is in use, at least 2 are in completely weird locations. Nobody can figure out how to turn on the light over the sink. What was I thinking? Sigh.
By early November we were ready for walls. Once upon a time I did my own sheetrocking, but only because I'd never seen pros do it. Now that I have, I'll never do it again. Sean and Collie, the Coyne brothers from Ireland, had the entire space boarded in a day, skim-coated in 2, and done beautifully in 3 with no sanding at all. Not to say there's no dust, though; since the last job, their tool of choice for cut-outs has switched from a utility knive to a RotoZip spiral saw, which makes an awful mess. I wasn't prepared for this (utility knives don't make dust. after all), and most of the 1st floor got coated with gypsum dust. Oops.
Remember Condition A? Carol did. Once the new walls went up, it was no longer possible to nail up temporary counters and such, so I had to turn the dining room into a "kitchen." I ended up moving and rewiring the stove so many times that I wish I'd made a 50 amp extension cord.
A truckload of new cabinets arrived in October, 6 weeks before we were ready for them. I stored them in the dining room until we needed the dining room for a kitchen, when I moved them all into the living room (in retrospect, I should have heeded Condition C and called young strong Nolan). Then, just when it was time to install them, I broke my wrist (no, not on the job -- at a friend's 40th birthday party attempting, at my wife's urging, to roller skate). I was completely bummed, but after a few days they replaced a big heavy cast with a little space-age one that freed up my elbox and most of my fingers. I got used to working with it and actually got attached to it during the six weeks I had to wear it. It was comfortable and made out of some kind of fiberglass that was amazingly light and strong. I used it to whack things into place, and things that would have hurt just bounced off. Better yet, I couldn't wash dishes. I never did master toothbrushing, though; it's all in the wrist.
There were a few opportunities for some real woodworking. I made the counter support out of quarter sawn oak trim removed during an earlier window replacement project, and picked up the shape in the middle from the front stair balusters. The cabinet I built around the old sink is also oak, and it's going to kill me to paint it green to match the others. This was the first cabinetry that I've done in years, and it was even more fun than having Nolan clean the basement.
Far from finished but finished enough to use, the kitchen went into service in mid December. It took forever to get the gas installed and inspected, so I got to move and rewire the old stove one last time, before removing it for good in February. We've got defective counters that scratch when you look at them, and thus can't tile the backsplash until we win our argument with the supplier and get them replaced. We're also having trouble matching the paint on the cabinets, which is holding up the soffits and the sink cabinet, which is holding up the final trim. There are a few other loose ends, but it's very close to done and in general it came out well. Carol is happy, so I'm happy.
So what about Zen and the Art of Kitchen Remodeling? Well, the fog didn't clear out, but it did lift a bit. Clearly, the "Internet Effect" on VB is going to be mediated by the fate of VB.NET -- if Microsoft has in fact figured out a way to make VB a good language for programming the web, its future is still bright. Only time will tell. In the meantime, I've discovered that I really don't need to advertise, at least not as much as I used to, as there are plenty of developers out there searching the web to find the VB utilities they need. What I need to do is update the website and the product line, so I think I will. And if VB.NET flops, well, there's always cabinetry.
Back to work!