Personal

Summer’s Cauldron Tuesday, September 06, 2005

Well, summer’s almost over, and I haven’t done a Ketzl update for a while. So, here’s perhaps more than you wanted to know. (As with previous posts of this nature, I hope the details involved help others who might find themselves in a similar situation.)

K’s disease progresses. We slow the inevitable with exercise, physical therapy, drugs, harnesses, wheelchairs: whatever we can.

In fact, if you’re wondering why Shirt Pocket technical support is slower than usual on some afternoons, it’s usually because I’m down in Walpole, MA at Sterling Impression. There, Ketzl gets massage, electro-stimulation, and hydrotherapy from the fine people there. It takes a few hours out of the middle of my day once a week, but I feel it’s time well spent.

Up until a few months ago, Ketzl was able to use their water treadmill. Alas, her rear legs are no longer under any kind of conscious control, and are almost entirely atrophied: bones covered with a teeny bit of muscle and tendon where there used to be large, strong, cart-pulling tree trunks. So, she now does laps in the therapy pool (22 last week—she was rarin’ to go), wearing a life preserver to improve her buoyancy.

After the swim, it takes me nearly an hour to dry her completely, which is important since she spends so much of her time lying down: you don’t want her to remain wet, as it tends to lead to hot spots.

Although her front limbs continue to weaken, she’s still able to support herself, and we use her wheelchair to walk every day at 80 Acres—some conservation land near my house. There’s a pond there, and it’s always a bit of a challenge to prevent her swimming—which (despite the momentary delight) would involve hours of drying. Her frustration is palpable, but I try to alleviate it with a cookie or two: an effective tactic!

Ketzl is, at this point, almost entirely incontinent, but it’s much easier to deal with than I had feared. Her patterns are regular and relatively easy to anticipate—and if we do things right, she goes outside when and where she’s supposed to.

When she’s in the house, we place her on an absorbant “diaper pad”, just in case there’s an accident. While they’re rare, they do happen—and this makes them very easy to clean up.

Part of the reason this hasn’t been a huge problem is due to a condition called “neuro bladder”. Basically, the muscles around the bladder atrophy along with everything else, and the bladder itself expands. The result is that she can hold an awful lot of urine before she needs to go—too much, in fact, so it’s important that we take her out often during the day.

The muscle wasting means we must assist her, which involves helping to position her rear legs, moving her tail out of the way, and putting light pressure on the bladder to help it empty. Doing this while also holding her back end up is a challenge, but Zabeth and I have managed to get pretty good at it over the past few months, and Ketzl has been very tolerant as we’ve figured out the best ways to help her.

Probably the most difficult part has been nighttime, as we’ve always let Ketzl sleep on our bed. Dogs with diseases like this tend to get a kind of separation anxiety at night, Ketzl included, and sleep erratically, occasionally whining or panting for an hour at a time. It’s not conducive to sleep, and I don’t think I’ve managed to get more than about two hours of continuous rest for many months. Recently, we’ve been giving her a light tranquilizer at bedtime, and it’s helped quite a bit—but if you see me around and it looks like I haven’t slept in weeks… well, basically, I haven’t. smile

So, there you go! Details aside, she’s doing really well. Dogs love “routine”, and there are a lot of routines involved in her daily care. She’s alert and in excellent spirits, with no noted depression or mood changes… in other words, she’s still Ketzl.

And while that’s a great thing, it’s also part of what makes this so incredibly difficult.

Wait ‘Till Your Boat Goes Down Tuesday, August 23, 2005

When I left Windows for the Macintosh years ago, there was one thing I didn’t count on: there are no good personal finance programs available for the Mac.

Yes, there’s Quicken 200x, and I tried it for six months (and have looked carefully at every version when released, including the latest minimum-changes-required 2006). But, it’s a pale reflection of its PC version, and is kind of old and clunky to boot: it clearly has “OS9 port” and “1998 feature set” written all over it. Which is too bad—Mac users deserve better.

Now, it’s very possible to do a good job with a program that was originally written for OS9: see BBEdit, for example. (Hi, Rich!) And while I’m a big Cocoa fan, Carbon isn’t the problem—there are plenty of ugly, clunky Cocoa applications. The problem is that Quicken is old and under-featured, especially when compared to similar applications on Windows.

So, I’m stuck with a boat anchor: Microsoft Money.

For years (1985-1999 or so) I used Quicken, starting with Quicken for DOS (I was actually one of the testers, way back, and I’m even in the manual for one of those old versions). But, around 1999, Microsoft got serious about making Money decent, while, at the same time, Intuit lost its way. When my Quicken database got corrupted one time too many, I jumped ship.

Money’s actually a pretty darn good program, and while I have various quibbles with some of the recent choices they’ve made—it’s pretty clear that much of their charter is to drive people to the MSN Money site, and the designers have never tried to use Money on a computer with a less than 1024x780 screen (they’ve surrounded everything in the last two versions with so much blank & wasted space it’s driving me insane)—I’ve been happy with it. Its investing tools work well (the portfolio view is excellent), the bill functionality is good, as is budgeting and the various other things I do. And, the Small Business Edition does a reasonable job of printing invoices and the like when I need to do that.

Its only problem: it’s not available for the Mac. So, I keep a PC around (at present, a Motion Computing LS800 Tablet PC), to check out what’s going on in that world (I’ve always been interested in Pen-based computers), and to keep Money running.

(Of course, I can’t just run Money. This is Windows: I also need a huge fleet of anti-virus, firewall, anti-spyware and other programs. Whee.)

So you gotta do what you gotta do: the ship sails on, dragging its anchor behind it. But, mostly, it’s a good ship, Macintosh.

Blame the Weather Saturday, August 20, 2005

The Pavlov’s Beep post got me thinking a bit about how user expectations can set a product up for failure out of the gate… and that made me think of the late, lamented (by some), lambasted (by many) Newton.

Ignoring the obvious hype surrounding the rollout—something the product could never live up to—one of the things that was coolest about the Newton was also the thing that caused the most frustration: handwriting recognition.

Handwriting and speech recognition are two areas that have seen a lot of advancement in the past years—for example, the recognizer that comes with Windows XP Tablet PC Edition 2005 Elite Pro Extreme (or whatever that product is called) is exceptional, and from all reports is improving in its next iteration. And, according to those who use these things routinely, like David Pogue, the latest Naturally Speaking (ex-Dragon, now ScanSoft) is similarly surprisingly accurate.

All that said, though, they’re doomed to teeny market segments, because no matter how accurate, when they make mistakes they frustrate their users.

Why? Because we’ve asked the computer to play by our rules, rather than asking us to play by its.

When a device imposes an unnatural input method on its user, any mistakes you make are your own. Consider Graffiti, as used on Palm OS: it specifically requires you to make certain “letter shapes” if you want them to be recognized. It doesn’t try to recognize your handwriting. If a letter comes out wrong, you might be frustrated, but you know it’s “your fault”—you didn’t make the shape right.

But, with the Newton, it was supposed to recognize your handwriting. Not an alphabet of its own design. And, when it doesn’t, the first thing that runs through your head is: this thing sucks! Even if it got 90% right, which is pretty remarkable considering many people can’t read their own handwriting!

Speech is hard, too—especially if used in an “unrestricted vocabulary” scenario. Not only do you have to “speak” all punctuation (try it sometime), but correction is an incredible pain. And speech is such a natural part of most people’s daily interaction that it’s near impossible to rise to an acceptable level of performance.

Newton, near the end of its life, tried to get around this problem by taking a bit of a Graffiti approach: it encouraged people to print, and there’s a lot less letter variation in printed characters. Suddenly, with the new Rosetta printed character recognizer (still in use in Mac OSX today), people started saying the Newton did a good job recognizing handwriting when—in actuality—it just shifted the burden onto the user some more by restricting input.

Similarly, speech is becoming more common in situation where the vocabulary is highly restricted and expectations are low: package tracking #s; pick 1-2-3 menus; interacting with “speed trade” stock systems. Correction is pretty easy and, given the relatively robotic nature of the interaction, expectations are low. (You’ll note that as the systems got better, they started using more animated, natural voices at the other end—raising expectations they knew, from testing, they could meet.)

So—if you’re designing a UI, remember that the way you “frame” the interaction often sets user expectations.

Leaving aside speech and handwriting, free form input can be really, really cool—see Simson Garfinkle’s SBook and Microsoft Outlook’s date/address fields for examples.

But if you put up a free-form field , you better make damn sure that it accepts all sorts of wacky variations. If date-based, expect things like “tomorrow”, “next wednesday”, etc—every one you miss, given the free-form nature of the field presented, is the fault of the program, from the user’s perspective. Similarly, what about international addresses? And how do you tell the user you’ve made the inevitable mistake?

A lot of words to say something obvious, I know. But it’s a mistake I make all the time… e.g. “Safety Clone”

Pavlov’s Beep Sunday, August 07, 2005

In the first Bang & Olufsen multi-line cordless phone system—the 6000 series—the designers and developers clearly had a problem. Basically, when you picked up the phone, it took a while to actually “connect”, something on the order of .5 seconds or so. Long enough for the user to get out a “Hello? Hello?” and to feel pretty stupid about talking to empty air.

I wasn’t there, and don’t know, but I’m certain that when this went to testing, users screamed bloody murder. Phones are devices with very set behavior, and when things don’t work properly, it’s instantly noticeable.

I can imagine the engineers’ reaction when this came back to them: but there’s just no way to make it go any faster, given the hardware we’re using! It just can’t!

Back in the 80s, when my company UnderWare was doing BRIEF (a programmer’s editor of some renown back then, and my first commercial endeavor), we were in a similar situation. We had a certain percentage of people who were complaining that writing files was just too slow.

Mike and I went over the file writing code over and over, and—without resorting to going direct to the hardware, something we just weren’t going to do—there was just no way to speed it up any more. This stuff was working as fast as the system would let it work.

So, we thought about it. And thought about it. And, finally, came up with a solution.

Since we couldn’t speed it up, we did the next best thing. We cheated.

BRIEF had a “status line”—a quaint bit of information at the bottom of the window that was all the rage back in the Olden Days—and, before cheating, it would put up “Writing file...” and then, when completed, it would say “File written.”

So, I changed it to write out the percentage it was through the process. Which, if you think about it, actually made the whole thing slower.

And we never had another complaint about write speed.

And what did B&O do? They added a “beep” when it was time to talk. Just a little thing, but after the first time, users started waiting for it (and, no doubt, blaming themselves for not waiting, rather than blaming the phone for being slow to beep).

Bingo. Problem solved.

Sometimes the solution to a problem isn’t really a fix. Sometimes, it’s whatever works.

Bang & Olufsen - CE UI Tuesday, July 19, 2005

So, conventional wisdom about Bang & Olufsen is, as far as I can tell, overpriced, bad sounding junk for the “Jet Set”. ("Jet Set” being a particularly old fashioned way of saying “stupid, snobby idiot”, given the context.)

I think that it’s easy to try to slot Bang & Olufsen gear in with the ultra-high-end audio equipment because their prices do tend to be significantly higher than typical CE—your Sony/Denon/Harmon Kardon/Pioneer/Panasonic lines. There’s no question that it’s expensive stuff.

What brought this to mind recently were a pair of recent trips to Costco and BestBuy. I was looking around at trends in CE design, and it was truly depressing.

Take phones. Every major company has a multi-handset wireless phone “system” on the market at this point. And every one of the ones I saw in these stores, without exception, was a button-happy nightmare in plastic. Each was trying to “out-feature” the other, with a million conferencing modes, color screens, GHz differences, and more elaborate “space-age” styling ("space-age" being a particularly old fashioned way of saying “horribly silver-and-chrome-tastic”, given the context).

Oh, and every one cost about $100. And—no doubt—would last a few months, just like their predecessors did.

What’s funny is that there’s a really, really good example of terrific telephone design (both UI and industrial) out there—and it comes from Bang & Olufsen.

Back in the late 90s, Bang & Olufsen released their Beocom 6000 series of cordless phones. These phones were quite minimalist & modern in the B&O style, and centered around a simple UI based on a circular “scroll wheel” with a button in the center.

The 6000 allowed up to 6 handsets to be used, and had a phone book that allowed 250 names to be added: the names added automatically synchronized between the handsets, as did caller ID and the redial lists.

Menus were simple: scroll through the stripped-down menu system with the wheel, click the center button to accept (or move to a sublevel). Name entry was easy, because the letters could be selected quickly with the wheel—and lookups went just as fast.

Even the battery management was fantastic: the handsets lasted forever, and the charging system did not kill the battery in a week. Or a year. Or two years.

Bang & Olufsen recently updated the phones with the Beocom 1, which: adds two-line capability; refines the existing concept with a better display and menu system; improves sound and call handling; allows more handsets; and offers even better battery life. What it does not do is make it more complicated.

It works incredibly well. Stripped down, stylish, not overly-featured. Expensive, but worth every penny. You can learn a lot about how to design really good consumer-product UI from this phone system.

Take a look at the page above, and then look here. Seem familiar?

B&O was there first, thinking different… and smart companies learn from the best.

The Missing Woof Saturday, June 25, 2005

I remember back when Ketzl was a pretty young puppy, we always used to wonder if she had a bark at all. She never felt the need to let out a full “Woof!”, and pretty considerately used what we termed “mini-woofs” to get our attention (which involved blowing out her cheeks a bit and vocalizing just enough for us to hear—almost like a whisper, if dogs could do that).

It took an annoying lab, constantly trying to mount her one day, for us to hear the full power of her real bark. And, when it came—wow. Deep, resonant… loud.

And now, it’s gone—replaced with a strange, strangled-sounding two-tone “woo-woof!”

I suppose I should have expected it, given that Degenerative Myelopathy moves forward and affects muscles along the way, but somehow I didn’t think it’d take her voice, too.

Ketzl at the Beach Wednesday, June 15, 2005

Be gentle to my server, but here’s a quick little (3.5MB) movie of Ketzl in her wheelchair at the beach in Chatham, MA over Memorial Day.


















Dogs in Wheelchairs - Life with a DM Dog Tuesday, May 24, 2005

Our Bernese Mountain Dog, Ketzl, is a great girl, but she’s been through a lot in her 8 years. Even knowing that Bernese have a tendency toward health issues didn’t quite prepare us for:

  • Entropion (eyelids turned slightly inward, which causes the eyelashes to irritate the cornea - surgically corrected)
  • OCD (lesions in the joint capsule - shoulders, for Ketzl - corrected surgically with a then-experimental method involving a scope)
  • Torn ACL ligaments, both sides, requiring corrective action (TPLO, in K’s case, which requires 12+ weeks of recovery for each operation, 6 of which necessitate putting no weight on the leg - quite the challenge)
  • Mast cell tumors, caught early

That’s a lot for any dog to go through (and I’m probably forgetting something): Ketzl has been great throughout—terrific attitude, enthusiastic… a great companion.

A few years after her last TPLO we noticed something unusual: an occasional tendency for Ketzl to scrape her right foot on the ground when moving it forward. Given her previous orthopedic issues, we booked a follow-up appointment with our surgeon to see if perhaps something had gone wrong with her recovery (although this was some time after the surgery, it seemed to be the best initial approach).

Dr. McCarthy at Tufts did an exam, and was positive after his examination that this didn’t look like an orthopedic issue, and referred us to the Neurology department. After a number of exams, it seemed pretty clear that the problem was something neurological, and an MRI didn’t show any significant spinal cord ‘pinching’…

It’s important to recognize at this point that some diseases are diagnosed as a series of “rule-outs”: as all the other possibilities were eliminated, one-by-one, only the worst remained… Degenerative Myleopathy.

DM is similar to Multiple Sclerosis in humans. The immune system attacks the myelin sheath surrounding the nerves, causing them to lose their ability to transmit signals. It starts in the back legs and moves forward, the end result being a completely paralyzed dog.

There’s no real treatment (and no confirmation of the diagnosis until an autopsy is done; basically, they remove the spinal cord and examine the nerve fibers—pretty horrible), though certain types of supplements are anecdotally helpful (and we’ve got Ketzl on them). It progresses relatively quickly, and within 6 months or so the dog loses control of their back legs.

Ketzl did quite well at first, and was able to actively walk and lead a relatively normal life, except she would lose her balance, fall, or cross her rear legs. (In general, the nerves that tell the dog where their legs are go first.) But, as time went on, the right leg became more and more paralyzed, and Ketzl was no longer able to use it effectively. The left side got weaker as well, and after a year and a half or so it was clear that she could no longer walk without hurting herself. But, this took longer than we expected: a good sign.

There are two big decision points with DM dogs. The first is when the dog loses mobility, which is where we are now. Fortunately, I work in a home office, and am able to be around her all the time: I can use a (really great) harness to help her get around the yard, and tend to her when she wants to go places she can’t stumble/drag herself to. We also take her to a place about an hour away, once a week, that does animal physical therapy. This includes massage, electric muscle stimulation, a water-treadmill that allows her to walk “normally” by supporting her weight in water, and controlled swimming.

All of this is designed to help keep Ketzl’s muscles as strong as possible for as long as possible—but even with all this, her muscles inevitably lose tone in her legs and back, and it moves forward. Today, she weighs about 13 pounds less than she did a year ago, and all that’s due to muscle wasting.

If that was all, it wouldn’t be the best life for a dog… and without the time to do all that (and, believe me, it takes a lot of time), many would choose to put the dog down.

Fortunately, we also found Eddie’s Wheels—a place here in Massachusetts that makes “carts”: wheelchairs for dogs. We had Ketzl measured for a cart, and right around Valentine’s Day we drove out to the shop, had it fitted, and took Ketzl for her first “unassisted” walk in months.

After some initial “what the heck is this?” hesitation, she took to it enthusiastically, and walked up the hill, tail wagging—also, for the first time in months. It was clear she was beyond happy, finally able to move again! (I’ve got a movie of this: maybe I’ll post it once I edit a little, as it’s a very happy moment.)

The Dog Wheelchair has really made a big difference for her, and for us. We can go for walks together again, and she can get exercise. If you’ve got a dog with similar problems, I enthusiastically recommend Eddie’s Wheels—they’re great people, and a cart will make a huge difference in your dog’s quality of life.

Unfortunately, the disease continues to progress. Zabeth is a veterinary student (Tufts ‘07), and with that and the web, we know far too much about the disease and its inevitable march. Soon, it’s likely that Ketzl will become incontinent (something I’m not looking forward to, as many dogs get depressed when it happens)—and that’s another decision point for most owners. I’m looking at it like this: as long as Ketzl is still happy, I’m willing to do what I can to help her continue.

As our veterinarian has said, DM is a trail of tears. And it’s true: it’s a bastard of a disease.

Yet there are little victories every day, and the sight of a dog, in a wheelchair, zipping along and greeting other dogs and people—ears flapping in the wind, tail wagging…

Trail of tears, sure. But sometimes, those tears are tears of joy.

Dog Nurse, Going Macintosh and the Birth of netTunes Tuesday, May 10, 2005

It’d been a few months since I’d left Compuware and set out, once again, on my own. Shirt Pocket was initially formed to create products for PDAs, a market segment that I’ve always found interesting… hence the name.

I was still working on a PC—an IBM ThinkPad T23—and while I had some good ideas, I was having a lot of trouble getting going. The design part was relatively easy—I knew what I wanted to achieve—but transitioning to coding was going poorly.

Our dog Ketzl needed TPLO (Tibial Plateau Leveling Osteotomy, pretty radical stuff) surgery to recover from a torn anterior cruciate ligament (Skier’s Knee for Dogs—who knew?), and that required an extended rest-and-recovery period: a time where she required near constant nursing. Since I work at home, I got to be the “dog nurse” as well.

Ketzl needed attention fairly often—a constant interruption. I’m usually pretty good with that kind of thing, but I was finding it difficult to keep focused on the task at hand: coding the new product.

Just. Wasn’t. Happening.

I put the whole thing to the side for a while and focused on Ketzl. And read. And listened to music. And got frustrated with my CDs. It was just too hard to find the music I wanted to listen to.

While I’d spent a little time ripping some CDs to my computer, it was clear that the PC-based music players just didn’t have what it took to be usable. I tried all of them, even wacky and obscure ones like B&O’s BeoPlayer (stylish, but absolutely horrific usability): they just weren’t working for me. It was too difficult to find music, even with a modest amount encoded, and I’m not of the type to shuffle everything… I know what I want to hear, and that means I need to find it.

Years ago, we’d used the Macintosh at UnderWare to do our in-house email and various other things that Macs were good at, but after Zabeth had a horrific experience with a 6300CD (from the Dark Days), we stopped buying Macs here (and tossed that one off the roof, which was strangely satisfying). And when the Newton was discontinued, I stopped following what Apple was doing very closely. While there was a lot to admire in Mac OS, it seemed to be maturing poorly, and OS9 just didn’t do it for me.

The introduction of OSX, though, piqued my interest. I’d had a NeXT cube back in the day, and did a lot of Track Record’s design—and nearly all its internal documentation—on it. Although its screen eventually became too dim to use and the whole thing was sent to the Computer Museum (aka the basement), it served me well for years: it was even UnderWare’s mail server back when we were “uw.com”. And now, it was back—sort of—on the Mac. And, when I went to take a look at it, I saw one other thing, too: the Mac had iTunes.

One quick look at iTunes made it clear that it was an excellent application. It organized things well, presented a simple and logical UI, and excelled at searching. Clearly great stuff. OSX looked good too: it felt less polished than iTunes—less well thought out—but had potential.

So, I made my very first computer decision as a user, as opposed to as a business owner. I bought an iBook. And, while taking care of Ketzl, I started ripping my CDs.

I outgrew the iBook really quickly: it was almost disturbingly obsolete, for my use, in days. Sold it and bought a PowerMac G4, then a Powerbook… an obsession had well and truly started. And OSX was better than I’d hoped. It was terrific. I was enjoying using my computer again. It’s good to be a user!

As the time taking care of Ketzl went on, I’d managed to rip about 2000 CDs (don’t ask—I’ve been collecting music for a long time), and had begun to realize one big problem with digital music: sure, I could use it on the computer, and on an iPod (or whatever), but it didn’t connect very well to my “real” stereo. And here I have a whole-house system that was crying out for that connection.

That wasn’t so easy! The main receiver was in a totally different part of the house. Running an audio cable was out of the question… but I could network up there, and attach another Macintosh, and share the disk that has the music library…

So, that done, another problem reared its ugly head: the computer playing the music was far away from where I was listening, and heading over there every time I wanted to find music was no fun at all. I tried using Apple Remote Desktop and VNC, but they were awkward (at best)—I didn’t want to take over the whole computer, I just wanted iTunes.

And that’s when I came up with netTunes. I just wanted iTunes, remotely. Exactly iTunes. So, that day, I became a full time Macintosh developer: learned Cocoa, designed and wrote netTunes, released it… and haven’t stopped—or developed for the PC—since. (More about the design process in a future post.)

Not where I expected to be when I set out again in this business. But I’m awfully happy I’m here!

Where I Attempt to Explain Why I’m Doing This. Friday, April 22, 2005

So, I’ve been avoiding blogging. More than that: I’ve been avoiding making eye contact with blogging.

But it keeps jumping up and down, waving its arms frantically, desperately trying to get my attention, insisting that it won’t be so bad.

I’m not so sure.

I mean, I’ve had some sort of online presence for a long time. We even announced our first product, BRIEF, on Usenet way back when. I was on FidoNet, Compuserve, BIX, Usenet, lots of forums—including my own at Shirt Pocket. So why is getting started here so difficult?

I think it’s the “What’s the sound of one blogger yapping?” issue. There’s something about this that feels less like a conversation, and more like a lecture. A post gets written. That post gets read. Sometimes, there’s a comment, trackback, link… but it feels more newspaper than café.

But—maybe that’s because of the way I’ve been using blogs. I’ve been reading, but not writing. I’m the lurker on the forum, the guy alone at the café sipping a coffee, reading the paper and listening—but never joining in.

Well, no longer.

This place is abuzz with ideas, and there seems to be lots of room at the table.

Mind if I join you?

Page 9 of 9 pages « First  <  7 8 9