Alternatives to Java and C# for Client-Side Imaging?
SkyLeach asks: "I work for a medical company which wants to provide medical imaging solutions to their clients without having to install software on the clients' machines. We had been using Java, but this is becoming more and more difficult as the Microsoft VM becomes more outdated. According to this FAQ from Microsoft, java will receive no more support at all in the future. Without using a Windows-only solution such as ActiveX, what other options are there? Keep in mind that the only absolute requirement I have been given is that the physicians never be required to install anything on their computers: Sun's JVM and Microsoft .NET, included."
www.HearMySoulSpeak.com
I work for a company in the same industry, and I wrote the lion's share of their current viewer, which is web-based as you describe. Having been down this road before, I can tell you that you have two options: require a client-side installation of a newer VM, or submit to being windows-only. the only other alternative is to do server-side processing and create html montages using jpegs, which is hardly a scaleable solution if you're doing any kind of interaction with the physician.
of your other two options, as much as it galls me to do so, if you're stuck with the requirement of no installation, i have to recommend the activex approach. we've found performance of this approach to be quite good, though you have to watch out for the occasional com bug.
Sounds to me like you would be better off with a server based solution. I find it amazing what can be done on the back end of the server and the client isn't required to install anything. I'm not sure how advanced php is, but I know you can write com controls for windows web server that will allow the server "Plugin" to actually do the work and generate web pages for the user dynamicly.
Whether this will solve your problem or not I'm not sure. Since anything relying on microsoft programs can fail with any update it can be more hassle than its worth sometimes.
From what you are asking the only way I can see it being done without any installations on the client is that all work must be done on the server. Since there are a large selection of tools that do just that, I would think that might be where you want to look for your solution.
If ignorance is bliss, the world is full of blissful people
Using X-Windows, you could just install a basic distro and run the app remotely (via an encrypted tunnel) on another machine (on which you could install anything you want). That would work with a bare system (there exists a 2-floppy XFree86 linux distro).
You could burn a CD that does just that, and boot the computer with that CD -- means no installation. The OS and apps on the CD would connect remotely to the X server (client?) and that would be the end of the problem.
Windows has this "innovation" called "Terminal Services" which seems like a pale clone of the X-Windows ability to run apps remotely. I don't know how much you could transpose from X or if clients are available in a base Windows installation.
Email me if you'd like some help.
Hi, it should be pretty easy to take your java code and put it on a server and have thin browser clients interact with a server-side session to manipulate the image....you can have a servlet 'displayImage' as the src of an image tag such as that will take the current state of the image and serialize it down as a jpg stream (search for image to JPEG serializers on the web), and you can have a forms-based UI to issue commands to the server to manipulate the image (such as rotate, zoom, etc) and then refresh the page to get the new state of the image from the server using the displayImage servlet. It means a lot of traffic being sent down the pipe (1 image per action) but without being able to install any software on the client that could do stuff locally, you're out of luck. Fortunately, this solution could fit in pdas.
-Chris
My Dad is a radiologist and I've helped with 2 Java imaging solutions. I guess there is some chance one of them is yours.
....
1) Doctors are perfectly capable of following complex directions providing the directions are clear. We are talking about people with something like HS + 11 years of education.
1b) Office managers are even better since they are used to following complex and unclear instructions from doctors.
I think you are underestimating your target audience. The reason my Dad had problems was because he got 2 pages of directions that were unclear and poorly written stuff like:
Minimum system requirements:
Pentium 2 300 mhz
32 mb ram
16 mb video ram
without telling him stuff like:
a) would a pentium 3 work?
b) how does he know what he has?
Writing a good manual is probably more important to doctors than writing a good app
2) The people who are succesful in the medical field (especially with hospitals) generally sell overpriced equipment with very high levels of service: GE, Sieman;s, etc... even to hospitals that are financially distressed. I think your management is making a huge mistake in trying to go for a low price, low service model. Remember how much a doctor's time is worth per hour.
3) Depending on how high your price per seat is, if management is really freaked out by support issues you may want to include the hardware with the app. Make the thing an embedded system.
4) Flash's installation is automatic so I assume that fixes the problem. I agree with the other poster regarding Flash. Besides flash is really fast.
______________
BTW this is off topic but my experience with imaging solutions is that they use generic terminology. Doctor's don't like this. Call things what they are called within the speciality.