What the Skype?

I had planned a different topic for this month, but a bad experience with Skype so infuriated me that I need to rant about it here.

What happened? The usual. I started a scheduled call with an important client, and I could hear her, but she couldn’t hear me. “Hello. Hello, Dave, are you there?”  We had to fumble through a frustrating game of charades over the video channel. I held up a can of cat food that I keep on my desk for this all-too-common contingency – “Can”. I pointed at her , “You”; at my ear, “Hear”; at myself, “Me?” She shook her head no. I mimed again, pointing at myself, “I”;  at my ear, “Hear”;  at her, “You”, nodding vigorously to signal the affirmative. Then we both shrugged, as I wondered about the sign language for “WTF?”.  

It took us 20 minutes to get it straightened out. I had to call her on a land line to coordinate: “Can you hear me now? [no] How about now? [still no]”, especially inconvenient because she had set up Skype in a conference room and had to run back to her desk for the land line. Eventually we got it working, though we’re still not sure what was broken or what we did to fix it.

When I mentioned this to several readers, I unleashed an avalanche of pent-up frustration and annoyance. This apparently happens to everyone, at the start of every single Skype call, without exception. Both parties endure a frustrating dance, each saying, “Can you hear me? No? How about now? I can hear you. No, wait, now I can’t hear you anymore.” It’s extremely difficult to figure out what the problem is, especially because the problem itself blocks the channel you’d be using to coordinate your efforts to solve it. There’s no obvious entry point for debugging it, so you have to guess. Not OK.

Worst of all, when we finally got it working, the first thing my client told me was, “It’s probably my fault.” Users blame themselves for software not working correctly. It wasn’t her fault, and it wasn’t mine. It was, and is, the fault of software that requires non-intuitive thoughts and actions from its user. That’s why I wrote Why Software Sucks, to rail against developers of apps that cause that feeling, and The Joy of UX, to explain how to write software that didn’t.

It shouldn’t be this hard. Ideally, Skype should automatically figure everything out and magically just work. If not, how about a little help? Web conference software Zoom, which I use for my remote Harvard Extension School classes, offers an audio test box at the start of every session. You can easily verify that your audio is plugged in and turned on and working correctly.  Skype desktop offers a similar test when you first install it, but after that, you have to work your way down three non-obvious levels (ellipsis menu, settings item, audio and video tab) to even see the testing tab.  Zoom also detects some types of potential problems during the call. For example, if Zoom notices you talking a lot while your mike is muted, it will show a small red highlight around the muting icon on the screen. If you intended to talk to the meeting, you’ll see the highlight, slap your forehead and say “Doh!”, and unmute your mike. But if you’re talking offline to someone in your office (“Damn, that speaker is boring. I sure wish Plattski was giving this talk instead. Don’t they have enough money to hire him?”), it won’t embarrass you by popping on suddenly.   

Because of the prevalence and the seriousness of the audio connection problem, Skype should have an obvious connection wizard or mayday button. It would trigger a good, smart wizard, asking about your exact symptoms, perhaps offering selections such as “I can’t hear other people”, or “Other people can’t hear me”. The wizard would automatically handle the obvious situations, such as testing your Internet connectivity by pinging Microsoft. It would communicate with both parties as needed. “Alice, I’m hearing you OK. Bob, you say you can’t hear her, is that right?” And it would figure out the problem and fix it, without needing to restart the Skype session. For example, “Bob, I see you’re wearing a headset, but your audio is set to your local speakers. (Wizard switches Skype audio to headset.) How’s that now?”  

Microsoft spends a lot of time and effort adding obscure features to Skype. Most recently I saw a feature called “background blur”, which (you guessed it) blurs the background of your video transmission so your counterparty can’t see that you’re sitting on the toilet. This is, at best, a misprioritization of developer resources – especially because the workaround is easy, just use the bathroom first and then sit in front of a blank wall. (Now foreground blur, which would blur the face of anyone too ugly, that I can see. Or better yet, subtly improving the speaker’s looks, like showing me with more hair, maybe for an extra fee. After they fix the audio though.) 

Audio is very much the essence of Skype. If it’s not working, your computer is an expensive paperweight.  Microsoft should ensure that this essence works correctly, as seamlessly as possible, before wasting time on extraneous nonsense.

Blatant Self-Promotion 1: This holiday season, why not give the gift of a ranting lunatic? Send that hard-to-please geek on your shopping list a link to this column, and invite them to subscribe. The price is right (free), and double your money back if not delighted. What a great way to start the decade of the 2020’s. My best to you and yours.

Blatant Self-Promotion 2: I’m teaching my 3-day UX Jumpstart Workshop at the University of Iceland, on March 18-20 in Reykjavik. It’s open to the public, with information and registration here. Participants will work on their own projects, under my guidance, and the class will be taught in English. Be there! Aloha.

To Your Health

Microsoft recently announced the impending shutdown of its HealthVault service, effective November 20, 2019 (see https://www.healthvault.com/en-us/healthvault-for-consumers/) . I am sorry to see it go, but I understand the competitive pressures and shifting landscape that led to its demise. We can learn from studying its triumphs and errors.  

You’ve probably never heard of HealthVault (HV), which is part of the problem. HV is (soon to be was)  a personal health record that lives in the cloud. Think of it as your Live email account, except that it holds an electronic copy of your data from all health providers. Imagine that Dr. A tests your blood and gives you the result on paper. If you are extremely organized, you take that paper home and store it in a binder, which you bring on your visit to Dr. B, so she can see what Dr. A did. But if you’re like most people, the paper floats around your desktop for a month, until you spill coffee on it and toss it. If Dr. B needs something from Dr. A, she’ll call his office, and they’ll send her a fax. Not exactly today’s standard of care for any other industry, but somehow medicine seems to muddle through with it.

With HV, Dr. A’s computer would upload the data (with your permission) to your HV Record (HVR). Home medical devices, such as blood pressure readers, could also upload their measurements to your HVR. When Dr. B wanted that data, her computer would fetch it (again with your permission) from your HVR. The doctors’ systems don’t need to know anything about each other. All each system needs is an HV gateway.  Sounds like a good idea, doesn’t it? Yes, but:

Microsoft prioritized the user’s privacy, which doesn’t sound like a bad idea.  All the data in a user’s HVR is owned at all times solely and absolutely by that user. The user could grant Dr. A’s computer the right to access it, and then rescind that right at any time, without consent or even notification of Dr. A. Fine, customer in control and all that, but here’s the snag: this means that Dr. A’s computer system couldn’t use HV for its primary data storage, because his access could be cut off at any instant. HV offers nothing to assist developers of the doctor’s main clinical program. HV only offers interchange with whatever other HV apps might exist. It’s purely a network app, the utility of which grows with the square of the number of users, but which has no utility at all in a standalone situation. Few vendors considered that benefit cost-effective.  

Or sometimes even desirable. Given the consolidation in the health care industry, executives care greatly about communication within their own network, but not so much outside it. Boston’s Beth Israel Lahey medical center wants easy communication among its 4000+ doctors. It cares much less about easy communication with the 6700 doctors at Partners, the area’s other dominant practice.  

HV could also be difficult to use. Allowing Dr. A’s computer to access your HVR was cumbersome. His system had to negotiate with HV, passing it a security question and answer, providing you with a GUID and a URL. You had to navigate to that URL, correctly answer the security question and then type in the GUID. It was very secure – Dr. A’s system never saw your HV credentials, or even your HV user name. But it was too hard for most civilian users, especially if they were old (hence less computer-literate) or sick or both.

I liked HV from its inception. I taught some classes on it, consulted on several HV projects, proposed a book on it (that MS wouldn’t pay for), used it for my Xamarin CHF weight tracker app (see https://msdn.microsoft.com/en-us/magazine/mt814422.aspx).  But Microsoft never solved the chicken-and-egg problem: which vendors would put an HV gateway onto their apps, until enough others did? Almost every vendor took a wait-and-see attitude, and while everyone waited, nobody saw.  

Because, finally and most telling, the HV ecosystem lacked a killer app – one that users would join an ecosystem to use. The killer app for the IBM PC was Lotus 1-2-3; for the Macintosh, it was PageMaker; and for Windows, it was multitasking and Solitaire, not necessarily in that order. If Microsoft had somehow provided, say, a HV app that would guarantee an extra fifteen minutes of sleep each night,  they might have bought themselves enough adoption to start the virtuous cycle.

But Microsoft didn’t, and now they’re shutting down HV. So it goes. These are the lessons that Microsoft has, I hope, learned, and that you have now also learned on Microsoft’s dime. Bayete, HealthVault.

Punishment and Crime

Ladies and gentlemen, I have once again snagged a major scoop. Edward Snowden, still in Russian exile, has favored me with another leak. He’s annoyed that Obama pardoned Chelsea Manning but not him. “What do I have to do, get a sex change?” he fumed. He really enjoyed the firestorm when I published his leak of the Siri-Cortana affair (“Siri and Cortana Tangle”, April 2015, https://msdn.microsoft.com/en-us/magazine/dn948115.aspx).  So to stir up more trouble, he sent me this transcript of Vladimir Putin conspiring with his chief hacker, Roman Rodionovitch Raskolnikov.

Putin: Raskolnikov, that was great job you just did, hacking Democratic party.

Raskolnikov: Spasibo, gospodin [thank you, sir].

Putin: How you get into Hillary’s server?

Raskolnikov:  Was easy, just guessed password: “MadamPrez”.  Nichevo [hakuna matata].

Putin: Did she use it when she was secretary of state?

Raskolnikov: Are kidding, boss? She using it when Bill governor of Arkansas in 1979.

Putin: Does NSA not make her change it once in while?

Raskolnikov: Sure. Like everyone else in whole world, she just bump up last character. MadamPrez1. MadamPrez2. Pozhaluysta. [Please].

Putin: What you use for front end?

Raskolnikov: VB6, of course. Doesn’t everybody? We really screwed if Microsoft ever break compatibility. Might have to learn .NET. We call it .Nyet for reason, you know.

Putin: Obama said he retaliate against us: “When we want, in our own time and we may not even make it public.” Did he ever do anything?

Raskolnikov: Da. Someone sneak through black web and wipe out my high score in Tetris.

Putin: How bad?

Raskolnikov: Not terrible. Tetris is Russian game, after all. I get it back in afternoon. Have great hack, drop long block whenever I want it.

Putin: BTW, I’ve always wondered. Are you guy from Crime and Punishment?

Raskolnikov: Was my great grandfather. Dostoevsky really hammered him.  

Putin: Does book remind you of today?

Raskolnikov: Today more like The Idiot. I snagged Podesta’s password with classic spearphish: “Your password has been compromised. Please click on this link to change it.” Like candy from baby. My 6 year old knows better.

Putin: And there goes Plattski guy, publishing leak. I wish he’d just shut heck up.

Raskolnikov: So do his readers.

Putin: You told me you hack municipal birth record files, and his family name originally Platovsky. Has Russian blood, I hear.

Raskolnikov: Maybe we get him over here, then spill some of it.

Putin:  What next for you?

Raskolnikov: Well, Trump just proposed that US and we cooperate on cybersecurity plan. Think we should, boss?

Putin (chuckles): Sounds like putting wolf in charge of sheep herding. I like it.  Got other ideas?

Raskolnikov: I put bot on Trump’s Twitter feed, pretending be biggest fan. Start self-reinforcing positive feedback cycle. Never thought I get away with it. I mean, just name, Nicole Mincey. And Trump actually believe. Too easy, like dynamiting fish.

Putin: You must have read Plattski’s article on Ashley Madison chatbots.  (https://msdn.microsoft.com/magazine/mt620019).  Just present users stuff they fervently wish was true, then they’ll deceive themselves.

Raskolnikov: Works every time.

Putin: What you have for 2020 election?

Raskolnikov: Same as for Trump, boss. Email bots flooding inboxes, encouraging entire Democratic party to run for presidential nomination, promising grass roots support. They spend all time and money fighting each other, nothing left for run against Trump.

Putin: Is working?

Raskolnikov: Just look at Democratic candidates. Pete Buttigieg? Marianne Williamson? Robert O’Rourke? Shutki v storonu? [Seriously?]

Putin: You’ve earned vacation. Got plans?

Raskolnikov: I’ve always wanted visit Disneyland. They wouldn’t let Khrushchev go there when visited Eisenhower in 1959. I wanted to vacation there next winter, when cold here. But now they arrest me if I set foot in US.

Putin: That’s OK. I’ll just ask President Trump to pardon you, like sheriff guy.  Will you hack yourself  VIP pass so you won’t have to wait in line at Space Mountain?

Raskolnikov: Tough one, boss.  Hacking NSA is one thing, but Disney geeks are really on ball.  I think I’ll have to pay for that one myself.

Welcome, friend!

You’ve reached the new home of “Don’t Get Me Started”, which graced the back page of MSDN Magazine for almost ten years. (Archives here.) Microsoft recently retired that publication, so I’ve moved my column here. I’ll be keeping a regular monthly schedule. You’ll find the same wise-but-irreverent take on the state of the software industry. As always, you can depend on me to call ’em as I see ’em. So why not subscribe to notifications, using the button at the bottom of this page?  And send me email via this form if I can ever help you with anything. I look forward to continuing our friendship here.

David S. Platt teaches programming .NET at Harvard University Extension School and at companies all over the world. He’s the author of 11 programming books, including “Why Software Sucks” (Addison-Wesley Professional, 2006) and “Introducing Microsoft .NET” (Microsoft Press, 2002). Microsoft named him a Software Legend in 2002. He wonders whether he should have taped down two of his daughter’s fingers so she would learn how to count in octal. You can contact him at  the link above.