



Alternatives to Java and C# for Client-Side Imaging? 90
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."
Compile Java to an executable? (Score:2)
Re:Compile Java to an executable? (Score:2)
Re:Compile Java to an executable? (Score:2, Funny)
Without using a Windows-only solution such as ActiveX, what other options are there?
Re:Compile Java to an executable? (Score:1)
Cheers,
Chris.
Re:Compile Java to an executable? (Score:2)
Re:Compile Java to an executable? (Score:1)
Without using a Windows-only solution such as ActiveX, what other options are there?
Other solutions, other than Java
C++ (Score:1)
I guess a better way to put the question would be: What services are provided by Java and
You need more information (Score:4, Informative)
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)
Re:You need more information (Score:2)
Re:You need more information (Score:2)
Not every TCP/IP network is connected to the Internet. The same is true for web servers. At my office we have roughly 50 web servers that have never seen a single packet that originated outside the building...
Java Web Start? (Score:3, Informative)
Check it out [sun.com]
Re:Java Web Start? (Score:1)
Web Start Requires Installing Latest JVM (Score:2)
Alternative to Web Start for Lockdown environments (Score:4, 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.
Can't install anything? (Score:5, Insightful)
Re:Can't install anything? (Score:1)
Re:Can't install anything? (Score:1)
I'm blatantly plugging our product here, but DeployDirector [sitraka.com] sends a bootstrap client using whatever crappy VM is installed in the browser and uses that to install a real JVM, the application and lots of other stuff. It absolutely meets the requirement of letting you run stuff on a machine without ever doing a "installation". You click on a hyperlink in a browser and magic happens.
Re:Can't install anything? (Score:2)
Re:Can't install anything? (Score:1)
Security settings... you have to be able to run an applet. Other than that I couldn't say as I'm not the product expert. Check the docs.
http://www.deploydirector.com
Use a real JVM (Score:2)
You don't really say what your support situation is. Are these internal clients that you have some control over, or is this something for the general public to access from the Internet? Also, you imply but don't say that this is limited to Windows clients, so the suggestion of compiling the Java down to a binary and distributing the app itself is viable. What's the point of using a portable technology if you want it to run on un-improved Windows boxes?
JVM directly from network drive (Score:1)
No install means.....?? (Score:5, Interesting)
huh? (Score:4, Insightful)
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.
Re:huh? (Score:1)
There's no way (Score:2)
Ahhh. Wednesdays! (Score:3, Insightful)
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!
Re:Ahhh. Wednesdays! (Score:2)
Course the network people found out and made him uninstall it, and so the programmer had to spend ages working around the problem in the code..
I really really hate this kind of politics.
Offtopic, but while I'm at it, this kind of stupidity causes no end of problems. Like to save a little bit of money in the short term they sold off all their computers to some firm... in america (our research group was in the uk) and then had then rent the machines back again to us.
This meant we were bound by the dumbest laws you can imagine, and ended up having to destroy machines and then buying new ones under a different budget to avoid paying several thousand pounds a year for maintance of the machines...
Oh and did I mention the stupid laws which meant that yes we did have to actually destroy the machine totally.
Re:Ahhh. Wednesdays! (Score:2, Troll)
>Monday is but a memory, and the lamest slashdot
>articles are in!
>If you want to have a client side solution, I'm
>sorry bud, but you are going to have to install
>*something*.
Yes, Wednesdays. That's when the ignorant shoot off their mouths and piss us professional developers off. First, a word about project scope. If the client says "Don't install anything on my computers", then guess what dude. You don't install anything.
Next, you do not have to install anything to achieve the goal. Using DHTML and Javascript I created an app that allows my client to enlarge, shrink, rotate, and crop an image without ever going back to the server once the image was displayed. That's what was required. I could have done more if it matched scope. Oh, and it works in IE, Mozilla and Konqueror.
Take a good look at what your have at your disposal. There's a couple of rich languages there, and many parameters that you can tweak to make things look like their using a client side app.
VBscript? Hehe, cute.
Matthew
I do the same thing (Score:4, Interesting)
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.
Server Based solution (Score:3, Interesting)
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.
How about SVG? (Score:1)
If not, you could use Flash or SVG, though I'm suggesting SVG since I believe that in the context of the software you will be providing it would likely be the more viable solution. SVG is XML based so it can be manipulated dynamically, and it also has a huge number of image processing capabilities built into it. Probably worth looking into.
Two choices (Score:2)
Second, as the clients out there become more and more diverse then your least common denominator is your basic web browser all of which can do your basic image types. That's why web applications are all over the place, there is zero setup for the user. Unfortunatly a web application is rather limited when it comes to real time dynamic content.
If you decide a web app won't work for you and bite the bullet and requre software to be installed I would recomend Java WebStart (JWS) as a delivery mechanism. It seems you are already using apples, JWS apps are auto-updating, have a sandbox like applets but JWS feels more like an application and will put icons on their Start menu/Desktop if the user wants it.
Borland (Score:2, Informative)
Remote app? (Score:4, Interesting)
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.
Re:Remote app? (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 [jcraft.com]
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.
Re:Remote app? (Score:2)
Re:Remote app? (Score:1)
HTML? (Score:2)
Another option would be to convert the files to
Displaying TIFF images by converting to JPG (Score:2)
PNG?
Sheesh.
Re:Displaying TIFF images by converting to JPG (Score:2)
Re:Displaying TIFF images by converting to JPG (Score:2)
Re:Displaying TIFF images by converting to JPG (Score:2)
You're either trolling or incredibly dense... Either way, congratulations on getting a response!
Re:Displaying TIFF images by converting to JPG (Score:2)
In fact, looking back I see that you *had* realized JPEG was the worst possible choice... and you had also realized that your suggestion of PDF was useless because it requires Acrobat Reader.
I still don't realize why you posted two completely useless suggestions when you claim you knew of better ones, but life's full of little mysteries.
It's not a dumb request (Score:3, Interesting)
Email me [mailto] if you'd like some help.
Re:It's not a dumb request (Score:1)
Try filtering an image on the client using DHTML.
Right, can't be done.
Please moderators, revoke the interesting moderations, this suggestion is so far off base it really should be offtopic.
Re:It's not a dumb request (Score:2)
Hmm, in addition to a lack of awareness, some IT folks seem openly hostile to solutions that eschew traditional programming. The article does not mention a requirement for client-side image processing. In fact it says the only absolute requirement is that the user not have to install anything. With that in mind, it seems that a great many posts here are off-topic.
What abou Macromedia Shockwave/Flash? (Score:2)
MS java was obsolete the day it was introduced (Score:2)
SUN's Java has the added advantage for you that it will probably run your existing apps (barring the MS/J++ crap you probably put in them).
You have a problem (Score:1)
Sounds stupid (Score:1)
would a browser based solution work? (Score:2)
What color are their skies? (Score:2)
I would tell them that you can definitely build it and then do a time and materails contract...
what about downloadable apps with no install? (Score:2)
If so, you have plenty of options for how to write your program. GUI libraries with support for multiple platforms are common (wxWindows, for example), or you can use an interpreted language which has support for packaging the script and the interpreter together into a single executable file (such as Tcl/Tk).
Java/ActiveX/Terminal Server? (Score:2)
~GoRK
Don't count Java out yet (Score:2)
But then let's assume it's all in there - do you really need to use it? If you only need to display the images, a DHTML solution should be good enough. I'm assuming PET's are 8-bit. If you do need to interactively downsample 12-bit data, you probably will need an applet. You'll probably want to pre-compute your colormaps for maximum speed.
flash (Score:1)
Re:flash (Score:2)
You can't garantee that Flash will be installed on the computer.
Re:flash (Score:2)
Re:flash (Score:2)
Flash is also bundled with Windows XP. I'm not sure if it is bundled with early versions of Windows.
Server Side Image Processing (Score:2, Interesting)
-Chris
USE FLASH!!! (Score:1)
DeployDirector (Score:2, Informative)
Disclaimer: this is a commercial product made by the company I work for.
http://www.sitraka.com/software/deploydirector/ [sitraka.com]
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.
Flash is installed on more computer than Windows. (Score:3, 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.
Re:Flash! Go Flash! (Score:2, Insightful)
(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..)
Re:Flash is installed on more computer than Window (Score:1)
At work we run course ware over the web using flash. It's amazingly idiot proof. Very few people don't have the plugin installed, and those that do need to install it have no problems doing so. Actually our biggest problem is helping users turn their speaker volume up so they can hear the audio for the course. Life's great when your number one support issue is speaker volume!
DHTML and Javascript on the other hand are a real nightmare. Every browser has its own idiosyncracy. Accounting offices are our number one audience, and a lot of them are still standardized on Netscape 4. I can't ignore them and hope they'll upgrade.
Knoppix or Gentoo LiveCD (Score:2)
Clever (Score:1)
> This assumes the client machine has a bootable CDRom.
Well, we can use boot disk instead of CD, right? Even then, they don't have to install any software, so this seems to be a viable solution to me. As a matter of fact, I did create boot disk and tried out Knoppix (http://www.knoppix.com/) and it worked.
SVG (Score:1)
Yet another example of how MS has impeded progress (Score:2)
For those who are just tuning in...
Back in the mid 90s, when Java hype was at its thickest, some hypesters openly proclaimed that Java would kill Microsoft. And the Dark Lord himself quailed in fear: "This scares the hell out of me." [usdoj.gov]
So, MS responded in a way that only MS could. They used their OS monopoly to neutralize the competitor. MS killed Netscape, leaving IE as the only viable middleware platform. Then they created (and shipped with IE/Windows) their own polluted JRE to fuck with the Java specification.
This gave MS time to develop .NET, which will (among other things) provide an applet capability to replace ActiveX (which has an ass-sucking security model compared to Java).
So have patience, SkyLeach. In a few years everyone will be running some version of Internet Explorer with a .NET CLR. You will be able to write your program in any .NET enabled language and it will run on all those systems.
So you'll have your applet technology. You can have any technology you want, as long as you're willing to wait years for MS to wrest control and approve it.
Create a cgi app from scratch. (Score:1)
You could also check the version and name of the browser, for example I'm pretty sure that ie6 should be combined with a
Still the best solution I can think of is to write a cgi from scratch, but good luck with it. You may be better off, handling requests to an apache server directly from the http protocol. Although I assume this is going to have to be through https, and then it might be more complicated. I know java eliminates this problem.
No installation needed... (Score:2)
Look at www.laszlosystems.com, flash app generator (Score:2)
It is a compiler that produces Flash apps, much easier to program than Macromedia's ActionScript
tools.
Comment from a quasi user (Score:4, Interesting)
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.
XWT? (Score:1)
Would XWT [xwt.org] work for you? You design your UI in an XML/JavaScript environment and then interact with a server though XMLRPC or SOAP. Very slick. I just hope the demo server is up when you look at it; they've been having some DNS issues, IIRC.
Re:XWT? (Score:1)
Flash also solves this problem. It is already installed on modern ( 3 yrs old) systems and Macromedia is at peace with Microsoft. But I recommend Open Source wherever practical, and maybe flash does not support your particular imaging display needs.
DHTML + Javascript + serverside image generator will work OK if you do not need 3D.
Answer: (Score:1, Funny)
Sorry, couldn't resist.