Slashdot Mirror


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."

8 of 90 comments (clear)

  1. You need more information by xagon7 · · Score: 3, Informative

    Is this a web app? I am assuming so since you are talking about ActiveX.

    Looks like your up a creek without a paddle. The only other option is dynamically created images into HTML pages. Possibly using some DHTML or such for some minor interactivity. If this is not acceptable, then you will simply have to be honest and state that it is nearly impossible to do this job without requiring the user to install SOMETHING. One good note however, is that I believe Microsoft is required to distrobute the SUN JVM (at some point, barring their usual delay tactics), instead of their own, but SUN now makes it so easy to install with 1 click, why is it such a pain? Just direct your users here: java.sun.com/getjava

    one click, BAM (barring any rights or security issues)

  2. Can't install anything? by Curien · · Score: 4, Insightful
    So let me get this straight. You want a solution that
    • is client-side
    • is platform-independent
    • requires nothing to be installed
    Usually, you can pick any two. What you might be able to do, though, is instead of having a "platform-independent" solution (in the Java or Flash sense), create solutions (eg, native executables) for multiple systems and have the server send the client the "right" one. I don't see how anything else could work.
    --
    It's always a long day... 86400 doesn't fit into a short.
  3. No install means.....?? by dmorin · · Score: 4, Interesting
    In my experience there are two different things people mean when they say that a requirement is for nothing to be installed.
    • Installation is too complicated for the user, so make it as easy as possible by not installing anything. This is the major reason that browser plugins don't really take off until they come as part of the standard browser install. But, there are ways around this -- like sending a tech to the client site to do the install for them, if necessary. Or sending an auto-boot CD. Or Java WebStart. Lots of options.
    • Security requires a "clean" machine. Almost by definition you're never going to get a really clean machine,because you're adding an application to what is otherwise out of the box Windows. When I was working on a medical device years ago, our solution to this was to resell our own computers. We did all the installs and QA testing, handed it to them and said "Don't put anything *else* on it."
  4. huh? by Hard_Code · · Score: 3, Insightful

    "physicians never be required to install anything on their computers"

    Unless you have some deal with the manufacturers, presumably you have some IT department or person that sets up these boxes as they come in? How many machines are there? It takes only a few seconds to download and install Sun's Java VM. This can be done during setup, or just have somebody walk around doing it. Better yet, mount a remote share with it.

    --

    It's 10 PM. Do you know if you're un-American?
  5. I do the same thing by tongue · · Score: 3, Interesting

    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.

  6. Remote app? by ptaff · · Score: 3, Interesting

    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.

  7. Alternative to Web Start for Lockdown environments by RhetoricalQuestion · · Score: 3, Informative

    If by "don't want to install anything" you mean that you don't want your users to install anything, I'd suggest DeployDirector from Sitraka (www.sitraka.com) as an alternative to Web Start. Like Web Start, DeployDirector will install the client-side application (not applet), install correct version of the JRE, and ensure that the application keeps itself updated. However, with DeployDirector you don't have to have the intial step of installing Web Start. Everything is managed centrally, and DeployDirector will allow you to monitor the application, alert you in the event of an error, rollback, etc. Your users can be completely non-technical -- the tool will even work in a lockdown environment.

    If, however, you mean that for security reasons nothing can exist on the client machine, you'll need to go with a wholly web-based (i.e., no applets) solution. You will need to dynamically generate images and image maps. This, however, will result in a huge number of server round-trips and will consequently result in some potentially crappy performance. You may have some options with Droplets -- which are remote GUIs -- but I don't know much if they can do this kind of imaging, and you'll still have higher server roundtrips.

    If you can allow something to exist on the user's desktop, you should consider using an actual application -- there are tools to manage getting everything installed correctly without any user intervention, and the performance will be much better than running the whole thing in the browser. Because you already use an applet, it will probably be easier for you to port to a Java application.

    --

    I can spell. I just can't type.

  8. Comment from a quasi user by jbolden · · Score: 3, Interesting

    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.