Any Functioning Adult

I’m writing this on Leap Year Day, February 29, which means we’re in a presidential election year. This sticker expresses my feelings about it exactly:

I don’t know about you, but I still have a monster case of politics fatigue left over from 2016. As National Review columnist Ian Tuttle wrote then, we had “two small groups of extreme partisans fighting on behalf of horrible candidates, and a sea of voters in between disheartened by two miserable options.” We don’t yet know whom the Democrats will nominate, but I’ll bet you anything that Tuttle’s statement will remain true throughout this election as well.

I see that Raskolnikov’s strategy of inciting Democrats to fight each other, leaving the party broke and exhausted and unable to take on Trump, seems to be working, though US intelligence is finally catching on, obviously in response to my warning. Where Plattski and DGMS lead, the federal government eventually gets around to following. If Microsoft had let me run that piece when I first wrote it, for April Fool’s Day of 2017, we might have avoided all this of trouble.

I have to admit that I loved watching the giant clusterfuck of the Democrats tallying up the Iowa caucuses. Even several days after the event, the party couldn’t report all the results, and even after reporting them, couldn’t guarantee their accuracy, in fact STILL can’t at the time of this writing. Hysterical! I can’t wait to see what they do with the general election.

Technology has drastically changed political campaigns since my younger days. Listeners who followed the 1960 Kennedy – Nixon debates on the radio (beta-level wireless audio streaming, for you millennials) scored it as a draw.  But viewers who watched on the brand-new medium of broadcast television (sort of an early YouTube, OK?) overwhelmingly favored the younger, charismatic Kennedy over the older, saggier Nixon. The shift in technology caused a shift in voter responses, which one side recognized and exploited, while the other did not. Teddy White’s excellent book  The Making of the President 1960 describes this campaign in fascinating detail.

Political organizations now recognize the importance of technology. But that leads to saturation and resultant fatigue on all communication channels. I sat next to a guy from Alabama in an airport bar in the fall of 2017. He complained that the special election to replace Senator Jeff Sessions had attracted all kinds of money and resources from outside the state, and now both parties were ruining his life.  He was getting spammed around the clock – home phone, cell phone (illegal, but still done), email, snail mail, Facebook, human door-knockers; everything. I suggested he file an absentee ballot, buy a burner phone, and flee to Miami for the duration. But that’s harder to do for a presidential election.

Social media platforms have to decide how to operate in today’s environment.  I want to applaud Twitter for banning all political ads – goodness knows I don’t want to see them – but that denies the choice to any user who is interested. (I’ve yet to meet this person, but I deduce that they must exist.) Perhaps that setting should be made configurable, as I suggested in my October 2016 plea for a political content blocker, “A Technical Solution to a Political Problem“?

Facebook has said they won’t be vetting political ads for truthfulness. I have no problem with this either, though a configuration setting would be quite interesting: “Political Lies: Off/On”. Is this something AI could detect? What kind of data set would you train it on – “Here’s a video of my opponent eating live gerbils”? And do you tell the AI that one is true or false? If you set Political Lies = Off, do you get any political content at all? Although let’s face it: even in fields other than politics, if you are depending on Facebook to shield you from falsehoods, I have this bridge in Brooklyn I’d like to sell you.

I cannot close this column without renewing my eternal election-year call: Lie to the exit pollsters. In fact, lie to any and all pollsters, anywhere and everywhere. The control they exercise over our society is revolting, but it’s easy to disrupt. If you voted for X, say you voted for Y, and vice versa. If you made up your mind a long time ago, tell them you just made it up today, or the other way around. If they ask your age, add or subtract five years, whichever you think you can get away with; it might push you into another bracket. If they ask your gender, you’d probably better tell the truth; it might be a control question. If everyone does this, we’ll have a delightful election evening of watching the prognosticators fall on their faces—the funniest night of political foolishness since Henry Kissinger won the Nobel Peace Prize, even funnier than the Iowa caucuses. Now let’s go to it.

Two Brain Droppings

Dropping #1:

Whenever we work on a UX project, we always think of pleasing the end user. But it often happens that the users aren’t the ones paying for the project. And the users’ desires and the check writers’ desires often don’t coincide, and sometimes even conflict.  So: how do we please  the user, while loosening the purse strings held by the check writer? You would think that calculations for user productivity would carry the day, but often that isn’t the case. There’s a whole lot more emotion tied up in it than you think. I call this the “third-party problem”.

One company has solved this problem brilliantly: American Girl Doll, launched in 1986 by Pleasant Thiele Rowland, now owned by Mattel. An 18-inch plastic doll, which couldn’t cost more than a buck to manufacture, sells for $100 because of the marketing stories woven around it.  And the customers flock to it.

Parents, stretched by mortgage payments and orthodontist bills, won’t cough up that kind of money. Mattel solves this third party problem by marketing the dolls to grandparents, who will pay almost anything to please their grandkids. My parents gave my girls Nelly (Irish immigrant) and Samantha (wealthy family employing Nelly), at ages 6 and 8. My girls loved them for about 5 years, then as they approached teen age, gave them away to younger friends.

My parents loved to see my daughters play with their dolls. They especially enjoyed taking them to the American Girl café, where the people tables also contain doll tables, and the girls can get their dolls’ hair done in the salon. And the accessories! The $85 foosball table is cheap compared to the $150 bowling alley or the $215 radio-controlled car. (The tie-dye T-shirt set only costs $25. If only it came with a Grateful Dead CD. But that’s so 20th century. Sigh.)  

More than just the fun, the dolls tap into the grandparents’ dreams for their girls. They think the dolls encourage the granddaughters to learn about American history, and to emulate strong female characters like Addy, who with her mother escaped slavery and ran north to freedom on the Underground Railroad. If I live long enough to have a granddaughter, you can bet your ass I’ll be giving her Luciana the astronaut, $48 flight suit and all. Though I may have to draw the line at the $785 space habitat.

You see? They’ve managed to snag even a cynical bastard like me, for a granddaughter I don’t even have. I haven’t yet figured out how to generalize this solution to the third party problem, and it may be a non-emulatable unicorn. But think very carefully about the relationship between the check-writers and the users when designing your project.  

Dropping #2:

I slammed today’s Skype a couple of months ago, arguing that Microsoft fails to understand its utilitarian role in its users’ lives, burdening it with counterproductive bumpf while ignoring important aspects of its most basic functionality. Lately I’ve been forced to use it for conference calls, and I find its animated emoticons extremely annoying. For example, when I select a new person for a contact, Skype displays an emoticon inviting me to  “Say hi with a wave” (Figure 1). The static display below does not convey the annoyance of that inane creature blinking its eyes, waving its hands, and  moving its mouth – constantly, forever, as long as you have it on the screen. (I won’t inflict that on you, dear reader. You’re welcome.)  It’s like a five-year-old rushing home from kindergarten waving a finger painting – “Mommy, look what I did! Can I have a cookie?” Your mother might care, because you did it and she loves you, and then again she might not, but I guarantee no one else does (except maybe your grandparents, who might reward you with more American Girl Doll accessories, see Dropping 1 above).

Figure 1
Emoticon from Skype
This static view does not do justice to the annoying animation

And when I’m on a Skype call, a throbbing heart in the lower right of my screen demands my attention, offering more emoticons for me to add to the conversation. In 2020? Seriously? It’s not just annoying, it’s potentially dangerous. Sending a throbbing heart to the wrong person at the wrong time could get me fired.

Motion attracts a user’s attention. It’s used to signal conditions that require immediate action. Violating this convention is crying “Wolf!”, lowering the signal-to-noise ratio of the universe.  Whoever is in charge of Skype needs to re-read Donald Norman’s superb book The Invisible Computer.

Has Microsoft forgotten Clippy? At least you could turn off that vile, Gollum-like creature, but these chirpy things you can’t.  Since Microsoft insists upon emoticons, I will say that their prevalence in Skype makes me feel like this: image-2 . And to its authors, particularly whoever decided it was non-removable, I say image-3

Watershed Down

Welcome to 2020, dear reader. As we pass the watershed  (dictionary: “a crucial dividing point, line, or factor; a turning point”) into a new decade, I realize that I’ve passed a personal watershed in my adoption of technology. Here’s mine, and does it ring any bells about yours?  

I was browsing the new paper books in my local library, and picked up one I wanted to read: “When They Come For You“, by David Kirby. (Great attention-grabbing title, almost as good as my “Why Software Sucks.”)  I then pulled out my phone to see if the library offered that title as an e-book, and felt disappointed to find that they did not. I was then stunned to realize that even with the paper book in my hand, I preferred the electronic medium. I’d unconsciously changed an existing, almost life-long, behavior. How the heck did that happen?

Part of it is today’s good hardware. I bought an iPad mini to demonstrate programming it for my Harvard course on Xamarin (which I’ll be teaching there again next summer, if you’d like to learn it.) I found, to my surprise, that I really like it. The light weight and slim profile make it easier to carry and hold than any paper book. The combination caused me to shelve my comparatively clunky Kindle Fire. I didn’t realize the difference that sleek design would make until I had one.

More tellingly, the crisp retina display is easy on my eyes. Anyone over age 40 will appreciate a larger-than-standard typeface (though I’d be lying if I said I was happy about needing it). The automatic brightness adjustment actually works. Again, I didn’t know how much I’d like it until I’d used it for a while.

As an author I hate to admit it, but I don’t buy many recreational books. I mostly borrow them from my public library. I only buy the ones that are so good that I want to read them again and again.  Among my chosen are “Carrying the Fire,” by Apollo 11 astronaut Michael Collins, humanity’s greatest-ever journey of exploration, described in beautiful writing from the actual participant (see my discussion here ).  Or the historical novels comprising “The Flashman Chronicles“, by George MacDonald Fraser, with their meticulously researched historical detail and engaging rogue protagonist (see my discussion here). These I will gladly pay for.  

The rest I borrow and return. That requires a certain effort with paper.  But the public libraries in my tech-savvy state of Massachusetts are leading the way in the lending of e-books. Almost everything published in the last 10 years or so is available in this format. While popular new titles sometimes require a wait (as do paper copies), I can easily place a request in the queue and have it automatically delivered when my turn arrives. I don’t mind waiting a few months for the next Jack Reacher novel from Lee Child. I have so many other books in the pipeline that I always have something good.

Plus, the e-books are always available. If I run out on a Sunday evening when the library is closed, or if I’m on the road, or if I just get tired of what I have and want something different, the Boston Public Library’s huge collection is always at my fingertips. And again, I didn’t know how much I’d like it until I’d used it for a while.

The reading software has also turned a corner. The user experience of previous e-readers, such as Overdrive and Hoopla, wasn’t great. But the latest reader app Libby ( for Apple, for Android) is astonishingly good. I’m going to do a case study on it someday. It has transformed the electronic reading experience from not-as-good-as-paper to better-than-paper. And it runs, synchronized, on all my devices, so I can read my e-books on my phone or PC when I’m not carrying my iPad. So I always have a good book or five with me wherever I go.

In some ways, I’ve changed a behavior I’ve had since I was about three years old, that of borrowing books from the local library. In other ways, it’s the same concept, just with drastically lowered friction of the process. I discussed this dichotomy in my January 2018 MSDN column, entitled “WD-40” . Like so many other lower-friction things in life, how did I ever live without it?

Tech is funny that way – sometimes it works. How is it for you? Use the comment section of this blog to tell me about your watershed experiences. And best of luck in the watershed of this new decade.

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 . 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  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,  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.  (  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.