Meaningless Drivel is fun!*
The moose likes Java in General and the fly likes Java on the Desktop Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Java on the Desktop" Watch "Java on the Desktop" New topic
Author

Java on the Desktop

Joe McIntyre
Ranch Hand

Joined: Nov 20, 2003
Posts: 121
Why is it so rare to find a decent JRE installed on the average-non-computer-savvy user's system?
Here's my suggestion.
One of my favorite programs is the webshots screensaver (www.webshots.com). Basically, it rotates beautiful, high-quality, professional photographs through both the screensaver and the desktop wallpaper.
Why can't some JRE provider develop a program like webshots in C++ (small, easily installed executable). Then, when in screensaver mode, if a web connection is available, it downloads the JRE in the background. If the connection is lost, it continues the download the next time the screen saver runs and a web connection is available. It gives priority to other programs if they happen to be using the network connection.
It doesn't have to be sneaky. You could have a "live-update" feature in the C++ program, and hey... all we're doing here is updating. (Maybe an updated version of the screensaver itself uses some java code.) License agreements could be displayed as a part of the original C++ program's license agreement, or when it's time to install the new JRE.
Of course, it doesn't have to be a screensaver. Any program that could silently and intermittently download the java runtime in the background would do.
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 10908
    
  12

If a program installs something not related to the functioning of that program on a machine, isn't that what they call "scumware"?
Sure, you have good intentions... sure, you are doing nothing malicious. But personally, if i found i installed "program A", and that it was then installing another program to do something other than what "program A" was supposed to do, i'd be a little livid.
If i've installed a program to display images (or whatever), the JRE has nothing to do with the execution of that program.
it's a slippery slope, to use an over-used metaphor. Should my program silently install Linux, just because i like it better? Mozilla Firebird? AIM? Why do you think you have the right to decide what should/should not be installed on my desktop machine?
This is not an attack on you or your idea. I wish everyone did have the JRE on their machines. But i don't think you should FORCE somebody to have it.


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Joe McIntyre
Ranch Hand

Joined: Nov 20, 2003
Posts: 121
First, if the JRE is part of the update (i.e. the updated version of the program is written partially or completely in java), then it isn't "scumware", it's just part of the update. Second, you could just tell the user (in the installation instructions, splashscreen, or whatever) that Java would be installed, though I see no reason to do so. The average person doesn't care. It's a behind the scenes issue. When you install a C++ program, do you feel guilty if you don't tell the user the program is written in C++?
And I guess that's my very point. The average user doesn't even know what it means to "have Java". And the average user shouldn't have to know or care. Do they care if a program they install is written in C++ or Java? Of course they wouldn't know the difference.
So the point is that rather than encouraging the world to "get Java", find some attractive desktop programs and encourage the world to get those programs. When someone installs a program like the screensaver I mentioned above, they are not "getting C++", they are getting a program they like. And I guess I'm saying the best way to proliferate Java on the desktop is to give people the Java programs they want, rather than giving them Java. And that even in this case, you still have to find a way to avoid the huge download and the perceived complexity of the installation.
[ November 25, 2003: Message edited by: Wally Flint ]
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 10908
    
  12

i guess i don't understand. If the program works without the jre, why should it be installed? will the program work better in "java mode"?
and if you don't tell me you are installing something, i don't care how you sugar coat it, it's not kosher in my book. in my mind, it's a privacy issue - i don't want somebody else to come into my house and putting their products in my house "for my benefit". i want to decide for myself what i have.
why do you have to do it so sneakily? why not just write a cool java program, and tell people to use it they have to install the JRE? like Flash, Shockwave, Quicktime, etc. "Here's a link to a cool program. but it won't work unless you install this first".
Dave Vick
Ranch Hand

Joined: May 10, 2001
Posts: 3244
Another thought:
You're talking about writing a program that people will download that will then go out and get the newest JRE for them to have on their computer. If the target is non-computer savvy people, then how are you going to get them to download your product in the first place. If your going to tell them to get your program so that they can ge the JRE wouldn't it be easier if you just told them to get the JRE in the first place?
Just my $.02


Dave
Joe McIntyre
Ranch Hand

Joined: Nov 20, 2003
Posts: 121
> if you don't tell me you are installing something, i don't care how you sugar coat it, it's not kosher in my book.
You're choosing to install it, not me. You choose to install a screen saver program that uses Java software, and part of that installation is naturally installing the JRE. Nothing mysterious or sneaky about it.
> why not just write a cool java program, and tell people to use it they have to install the JRE?
For two reasons:
1) too complicated (too many steps... they'll get confused and they won't take the trouble)
2) the download size (JRE) is too big.
In fact, I myself, a computer savvy user, would prefer to do it this way. I don't appreciate having to go through a lot of steps and long downloads. I like the ones where you just download an executable installer, then double click the file you downloaded and follow the wizard. (Actually, webshots, the screensaver mentioned above, has an even easier way to install. I don't know if it's new technology or not, but it sure is convenient.)
> You're talking about writing a program that people will download that will then go out and get the newest JRE for them to have on their computer. If the target is non-computer savvy people, then how are you going to get them to download your product in the first place.
You can't do everything for them, but at least you can choose the simplest download and install method (like programs downloaded and installed with install shield), and you can try to minimize the download size. I might be willing to wait for a 10 megabyte download if it was Adobe Photoshop, but not if it was something simpler like a recipe book or something.
> If your going to tell them to get your program so that they can ge the JRE wouldn't it be easier if you just told them to get the JRE in the first place?
Again, it's too complicated (too many steps), and the download is too big.
Of course, if someone already has a suitable JRE on their system, then you can bypass all this (like Java Web Start does), and simply install the java software (which would be a small download).
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 10908
    
  12

I think i was confused on what you were trying to do.
If part of your programs install shield would then say "i need to install the JRE now - click OK or QUIT", then i have no beef.
i thought you were saying you'd write a screensaver in C++ (or whatever). i'd install the C++ version, and it would be up and running. then, while the program was running and working just fine, it would, without the user knowing, install the JRE, then download an "update" to the program, which would really be a brand new program in Java.
If you are installing the JRE as part of your original install, and i have the right to cancel it, i have no problem.
Prakash Dwivedi
Ranch Hand

Joined: Sep 28, 2002
Posts: 452
Good Idea Wally,
why dont u start such a project?, make it opensource so that other can contribute as well. I am sure that many people in this forum would love to see java applications on the desktop, and will devote their time to improve that application.


Prakash Dwivedi (SCJP2, SCWCD, SCBCD)
"Failure is not when you fall down, Its only when you don't get up again"
Joe McIntyre
Ranch Hand

Joined: Nov 20, 2003
Posts: 121
Fred:
I would not install the JRE as part of the original installation, because the download is too big. What I would do is have a downloadable install shield like installer. When you run the installer it brings up the usual wizard. There is a page in the wizard that lets you choose either the "standard" install, a "custom" install, and if warranted an "advanced" install or a "full" install. When you choose "standard", it goes to the next page where the components you've choosen to install are listed. This would include the C++ program (though people wouldn't know it was C++), and a live update feature. Later, the live update would download the JRE along with a java program that had more features than the C++ program.
98% of users wouldn't care what the live update was doing. But you could always provide a button or link or something in the original install wizard. This would be on the page that lists the components that are about to be installed. The user either clicks "next" at that point, or clicks a link to get more information about one of the components (the C++ program, live update, or whatever). And of course, just like any install wizard, you can exit without installing at any time.
Prakash:
Thanks. Seems like that would be a complicated open source project, because it spans a number of issues. Not only does it require the C++ expertise (which I don't have), but there might even be legal issues as well. For example, maybe the thing installs Java Web Start in the background. But would Sun allow this? And is Web Start the right tool. There are a lot of things I don't like about Web Start (though I don't know much about it).
Anyway, I too would like to see an opensource project like this, and would like to participate in it. Just not sure I'm the one to lead it.
Thanks again.
[ November 26, 2003: Message edited by: Wally Flint ]
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 10908
    
  12

Wally,
Thanks for clarifying. I just get all riled up when i fell my privacy rights get infringed upon. Nothing personal, and no offense meant.
I was just remember (i think it was) Kazaa and that GatorTools thing. Both claimed to be doing one thing, and they did, but then they secretly installed something else. They got a LOT of flak about it, and i was afraid you were trying to do the same thing.
Joe McIntyre
Ranch Hand

Joined: Nov 20, 2003
Posts: 121
Fred:
I agree that any sneakyness would not only be wrong, but also very counterproductive for a product like this. After all, we're trying to make the world a java friendly place, and sneakyness wouldn't help us do that.
Jason Menard
Sheriff

Joined: Nov 09, 2000
Posts: 6450
This is off-topic for this forum, so I'm going to move it to Java in General (Intermediate).
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Java on the Desktop
 
Similar Threads
Java Communications API error on JRE Environment
How to deploy a GUI Swing application?
LIKE a screensaver??????
Packaging JRE
C:\Program Files (x86)\Java\jre6 has something to do with java in browsers???