Posted inInformation Technology

This is why I like working on medical devices

Connex Spot Monitor image

People always ask why  don’t write apps for idiot phones. The simple answer is I don’t like killing people, I like helping save them. At some point your app is going to distract someone. They will walk out in traffic, fall through an open manhole, mow down a woman carrying a baby in the crosswalk, or some other horrible thing all because your app was on their phone and distracting them.

insulin pump imageYeah, the early days of a medical device project can be Hell. Typically management took too long getting everything signed off on and development is starting very late. This leads to a push to “get something to show people.” As a result some shops try bringing in AGILE, the worst possible development method, all just to get something on the screen so it looks like progress is being made. What they end up with is a bunch of useless code having nothing real behind it just to have something to show. It all gets thrown away although AGILE calls that “refactoring” to hide the ugly truth.

Take a good look at that insulin pump screen. I didn’t work on it. You can read more about the device here. When you get a good UX team that knows how to create SVG images for development, you end up with something that looks like that. Oh, when we are doing development we are painting with empty boxes. Just little gray wire boxes to get positioning correct. We use generic classes that don’t know about their image until run-time. It can be difficult, but you end up with something that looks like this.

Connex Spot Monitor image

Here’s one I did work on. If I did everything correctly, when you click the image you should be taken to the product page. This UI was Hell to code. We had a shiny new team meaning none of us had worked together before. It’s a thing of beauty. Visit the Web site and look at the images in the product documentation. It’s a thing of beauty and it helps save lives. None of that unsafe interpreted at run-time scripted language stuff here. That was all done with widgets. We even removed all layouts to get a consistent snap to the UI.

For the non-geeks, a layout is a GUI class which gets added to a container like a window or frame. When the size of a container changes it re-adjusts the sizes of everything within it. While it sounds cool, you can get wildly different response times changing display content depending on what was displayed before and how many widgets must now be resized. It can also be unnerving.

You’ve all visited Web sites where it seems like the bulk of the screen loads and as you try to mouse over something you want to click on near the top, the screen jumps down and you end up clicking on a banner ad. That happens because there is no hard size assigned to the banner ad in the screen/form design. The ad doesn’t have any visual content until it is retrieved from the host. In the meantime the browser gives it a size of zero and continues painting what it can. You end up clicking on the wrong thing because of a delayed content paint. Not exactly a trait you want to find in a medical device.

Being unable to draw a straight line with a ruler myself, I’m in awe at what the UX teams give us these days. I don’t care that they are using software instead of pencil and paper. They come up with some really cool stuff.

Recently I took my mom to a doctor’s office where they actually hooked her up to one of these things to take her vitals. After years of not being able to explain the stock trading, order processing, inventory forecasting, etc. systems I worked on I finally got the chance to point to it and say “This is what I worked on when I was out there.” There is a lot of pride in the “I made this” feeling when you know it is helping to save lives.

old electro-shock therapy machineMedical devices have come a very long way in the past century. The things seemed to always look medieval. Functional, but scary as all get-out. Computers give us great strides. Take a good look at the electroshock therapy machine on the left. If someone tells you they are going to hook your skull up to that and spin the crank, even a sane person is going to freak.

 

 

 

 

But you will be a bit more at ease seeing this.

ECT machine imageIt’s even got a little display to keep you entertained while they are juicing you.

 

 

 

 

I like working in the medical device world because I can create things of beauty which actually get used to save lives. It’s not just the fast buck market of phone apps.

Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++/Qt touchscreen/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the "Zinc It!" book series for John Gordon Burke Publisher, Inc.

A decade later he released a massive (nearly 800 pages) tome "The Minimum You Need to Know to Be an OpenVMS Application Developer" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there "The Minimum You Need to Know" book series was born.

Three years later he wrote his first novel "Infinite Exposure" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of "The Earth That Was" trilogy:
Infinite Exposure
Lesedi - The Greatest Lie Ever Told
John Smith - Last Known Survivor of the Microsoft Wars

When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.