Programming Heresy

In reviewing their application I found what I usually do - that most of their problems came from the unthinking perpetuation of client-server compromises made years ago.

The case in point involves a suite of practitioner office applications running on Microsoft Vistas with Office against SQL-Server and Exchange on 2003/XP. I'm assured it's state of the art - but, well, some sample issues:

  1. client start-up requires multiple authentication and downloading steps. At a minimum, the systems involved include DHCP boot, system authentication, local user login, client download and start-up, client authentication and login.

    Cold start to patient record usually takes over two minutes - and since the client is reloaded for each new login, staff usually leave the unit logged in all day.

  2. the database is broken up into a large number of more or less independent schemas. The PC client assembles a patient record on the fly by querying these and then formatting the results for presentation. Any notes or comments entered by the user are then written back to the database(s).

    Among other things this means that the records and their identifiers become available to programming on the client - where they can be copied or changed before the writeback.

  3. the client hardware and software work well together on display of text and things with sharp colors and clear edges - like bar charts - but fuzzy greyscale images like many of those from radiology look significantly different on the PC screen than they do in their original forms -whether screen or film. Aspect ratios are marginally different, color densities and gradients get smoothed out, some shadows and edges seem to become sharper, resolutions are different, and zooming in or out requires rapid visual adjustment because almost all display factors are affected.

  4. the next development push is to make use of encrypted communications in both directions - but when I asked them whether someone with legal access during the midnight shift couldn't manually type in a keylogger to get the day shift's ids and passwords they said Vista would make that impossible.

    I didn't laugh.

In reality they picked the PC because it sells, but what they told me was that doctors insist on using Microsoft Word to enter notes, and Office integration requirements therefore mandated the PC client. So I've been doing some research - and haven't found a single health care professional who agrees: on the contrary what they want is dictation - and most go to great lengths to ensure they don't personally have to enter text of any kind.

This application takes a lot of maintenance - they told me that getting it working on Vista took several months and that transferring the backend to something like PostGresSQL on Linux would be impossible because all the key business logic is locked into SQL-Server stored procedures.

So I committed heresy: I pointed out that the major performance, security, appearance, usability, and maintainability problems with the product as it stands derive from the client-server model -that the multiple database business started because Windows hosts were too small to handle the job and therefore necessitated the superfat client, and now perpetuation of that client necessitates keeping the database broken up.

Then I made things worse by telling them that a modern equivalent would use PHP with Apache and PostGresSQL and take perhaps 60 days or so to put together given their stuff as a requirements definition.

The result, I said, would let them deploy on anything - Windows, Linux, or Sun Rays - with or without Windows servers for other applications - while making it relatively easy to add dictation services so docs could talk to their iPhones and see the text come up on whatever Sun Ray they happened to be near.

And, you know, I don't even like PHP - for real productivity and power for commercial applications nothing's yet come close to Unify's Vision/Accell, Informix 4Gl, or even the most BASIC of the bunch: Progress. These things fell victim to the separation of databases and applications display, but you have to wonder if the current take up rate for Sun Ray doesn't mean that real 4GLs will be making a comeback.

Meanwhile, what's the business bottom line? Simple: I'm expecting their go ahead - real soon now, oh yeah, for sure, eh?