December 2017

Volume 32 Number 12

[Don't Get Me Started]

Crushing It

By David Platt | December 2017

David Platt“Don’t leave us in suspense, Plattski,” readers begged me. I’d written two pieces (msdn.com/magazine/mt808507 and msdn.com/magazine/mt809122) about how my Advanced UX class had designed a mobile app for Isaac “Zak” Kohane, M.D., Ph.D., who is chairman of Bioinformatics at Harvard Medical School. He’d had some success providing precision care to his mother, who suffers from congestive heart failure (CHF). He used a Fitbit Aria scale to monitor her weight via the Web, so he could detect excess water retention and intervene before it degraded her heart function. The system worked, but he wanted a mobile app that would be easier to use and would allow him to store notes about his clinical encounters. (See his article at wbur.fm/2yLf2SR.)

“It was a great UX project,” my readers asked, “but did you just leave it as a bundle of paper?”

Heck, no. Zak’s vision made for an ideal project for my Harvard Summer Session class on Xamarin Forms. I challenged my students to take the sketches my earlier class had developed and build them into the mobile app that Zak wanted. 

Xamarin Forms is a front-end toolkit that allows developers to write a single C# code base and run it on iOS and Android and Universal Windows Platform (UWP). Drag a button onto a form, and Xamarin automatically renders it in iPhone format when it runs on an iPhone, and in Android format when it runs on an Android device. It’s not perfect, and it’s not without growing pains, but in my opinion it has passed the tipping point at which it beats the alternatives. And it will only get better from here (I hope).

I used Microsoft HealthVault for the back end. It’s a free medical database that lives in the cloud. Any authorized app can use it (see bit.ly/2zKcjHL). I especially needed its ability to upload data from smart devices, such as Zak’s mother’s weight scale. It worked well for us.

My students came from all over—from Romania, Moldova and Turkey; from, Brazil and India; from Texas and California. I insisted that my classroom be neutral territory—anyone needing to fight had to take it outside. But they didn’t. It was beautiful to see the technical challenge enthrall them, to see them rise to it, to watch the Microsoft guy and the Amazon guy work together to blow this project away. Every day I exhorted them, “Come on you guys, 3,000 people got admitted to the hospital for CHF just today! They’re counting on us, let’s get this done.” 

Most students came from industry, but one young lady was an undergraduate junior in Computer Science. You know Computer Science degrees—theories of compiler design, Turing-complete algorithms, abstract stuff like that. Nothing in it had prepared her for the howling chaos that is modern software development. Instead of turning up her nose, she dove right in and sweated blood alongside us Neanderthal geeks, earning her A grade. I told her: “Sena, you’ve been bitten by the werewolf. You’re one of us now. Welcome, and may God have mercy on you.” I wonder how she’s buckling down to her theory classes this fall.

We dove into another killer three-week session, like last January—staying late every night, then taking work home; banging, banging, banging to get all these pieces to work together in ways that they hadn’t previously and didn’t quite want to. For example, HealthVault’s client SDK used .NET Standard, while Xamarin was just then acquiring this capability. We never could have succeeded without the brainpower and commitment of these particular students.

“Better Doctors”

Zak came to the final presentations, as did Miguel de Icaza, Xamarin’s co-founder and CTO. Zak loved seeing these great tools—as he put it, “Something like this would make us better doctors.” Miguel loved seeing his creation helping people. And I loved showing off what my students had accomplished. Here’s a video look for you: youtu.be/379YjTKda7o.

So where to now? Zak has been using the app and we’ll soon see what changes he needs. We’re hoping to interest a dozen or so other doctors for a quick trial in the spring. Let me know if you want to take part, or know anyone who does. We’ll present the results in June at Zak’s annual Precision Medicine conference (bit.ly/2y6s26S), and go from there.

Ultimately, I’d love to make this an open source project. But making things free costs money. How about Microsoft sponsors it equally from the HealthVault and Xamarin units? Zak will bring the medical firepower. And Microsoft can pay me to manage it. It’ll be a flagship project for all concerned. How about it, Microsoft?


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 tape down two of his daughter’s fingers so she learns how to count in octal. You can contact him at rollthunder.com.


Discuss this article in the MSDN Magazine forum