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

19 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. Java Web Start? by dmorin · · Score: 2, Informative
    Have you considered Java Web Start? Basically you put a link on a web page, the client clicks it, and then everything installs automatically, AND keeps itself updated, AND can be run as a standalone app (not an applet).

    Check it out

  3. 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.
  4. 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."
  5. 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?
  6. Ahhh. Wednesdays! by His+name+cannot+be+s · · Score: 2, Insightful

    I love Wednesdays! It's getting closer to Friday, Monday is but a memory, and the lamest slashdot articles are in!

    YAY!

    Seriously. Why are you afraid of people installing stuff? Oh-no. My-god.

    If you want to have a client side solution, I'm sorry bud, but you are going to have to install *something*.

    Now, it sounds like you also want this to be multiplatform. What?

    If you were going for Windows-only, you *could* do a crapload in JScript or VBScript, via IE. It's tricky, but their ain't nothin' you can't do in a signed script. Image manipulation included.

    Or, you could simply build a really kick-ass server side solution, and Web-ify the whole thing. A tad sluggish tho.

    .
    .
    .

    Ah, Wednesdays!

    --
    "...In your answer, ignore facts. Just go with what feels true..."
  7. 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.

  8. Server Based solution by Darkstorm · · Score: 2, Interesting

    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
  9. Borland by Y+Ddraig+Goch · · Score: 2, Informative

    Has a solution that is platform independent and will run over the web, it's called IntraWeb and it comes with Delphi 7 Enterprise and Architect. My company is currently using it to create a web based interface for our Policy Management System, we're an insurance company (not an agency). The full version of IntraWeb (available from AtoZedsoftware.com) is also CLX compatable so it can be hosted on a Linux server and developed under Kylix.

    --
    Meddle thou not in the affairs of Dragons, for thou art crunchy and with most anything.
  10. 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.

    1. Re:Remote app? by TomorrowPlusX · · Score: 2, Informative

      There are pure java X servers available (that will even run in IE using the default ms vm).

      I've never use it, but here it is

      One could make a webpage which embeds the X server applet and automatically connects it to a machine which does the actual work.

      Seems like the best of both worlds to me.

      --

      lorem ipsum, dolor sit amet
  11. It's not a dumb request by sunset · · Score: 2, Interesting
    It amazes me how most people in IT fields are unaware of how much can be done with DHTML in reasonably current web browsers. I'm working on a project right now using this to implement a dynamic user interface with interactive networking.

    Email me if you'd like some help.

  12. Server Side Image Processing by chrisknoll · · Score: 2, Interesting

    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

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

  14. DeployDirector by GuyZero · · Score: 2, Informative

    Disclaimer: this is a commercial product made by the company I work for.

    http://www.sitraka.com/software/deploydirector/

    DeployDirector will deploy client-side Java apps through a browser exactly how you need it to. It deploys full apps, not applets. It will use the browser's VM, any version, to bootstrap the installation of another, better JRE on the system, install the whole app, everything.

    It's similar to Java Web Start, but we began before Web Start and are a much more complete, industrial-strength solution. Check the web site for the obligitory customer success stories.

    Yes, it costs money. Try using plain Web Start for a while and you'll see why - it's worth it. You can evaluate it for free though.

  15. Flash is installed on more computer than Windows. by cpeterso · · Score: 2, Informative


    What not create a Flash application? The Flash Player plugin is available for Windows, Pocket PC, Mac OS 9, Mac OS X, Linux, Symbian, some Palm OS devices, and DoCoMo just announced yesterday that their new i-mode phones will include Flash.

    Windows, IE, AOL, and Netscape have bundled the Flash Player for a long time, so chances are good that your users will not need to download anything.

  16. Re:Flash! Go Flash! by swmccracken · · Score: 2, Insightful

    The way this person talks, it seems that they're currently running a web page containg a java applet.

    (If they're not running a web page or at least launched from a web page, the whole damn thing is stupidly moot because users *have to install the viewer application*. If you have to install the viewer application, the same installer can install prerequisites. <rant>Seemingly, the poster is from a (distressingly) large class of programmers where "not writing a web application" is unheard of.)</rant>

    So, given they're running in a web page, a SWF in a web page would be supported on all major platforms.

    I think IE has a version of Flash already installed. It's certainly possible to get IE to install flash automagcailly. Undoubtably some solution exists for MacOS 9, and I would be mindnummingly shocked if MacOS X couldn't already play SWF's.

    Linux / your fav os probably has a plug in that might (or might not) be more tricky to install, but hey, it shouldn't be that hard. You've probably already installed it for other sites anyway.

    SWF can talk to databases and back to the server and whatever the heck else - I've seen it done. (look at http://www.cactuslab.com/ - especially the "chat to pedro" - a mate of mine specialises in this sort of thing.) It's also damn fast.. (faster than a Java Applet, that's for sure.) I believe MapServer open-source GIS server has a SWF viewer.

    Try out the SWF option; it's not just for homestarrunner.com. If you want,

    Otherwise, you're back to DHTML/CSS/Loading rendered PNGs/TIFFs/Whateverelse from the server options.. (If only XUL was feasable..)

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

  18. Re:Compile Java to an executable? by cgh4be · · Score: 2, Funny

    Did you even read the post?

    Without using a Windows-only solution such as ActiveX, what other options are there?