Why on earth doesnt Sun...

There are a few tiny things that annoy me about Java, and it’s basicly desktop integretion.

For instance, any Java file, .class, .java, .jar, .war etc. has no association with my windows. Windows doesn’t recognize these files, and they have this silly wordpad document icon, or winrar icon at my home pc.

And those jar files, you dont have a clue what’s in them. Is it a library? An gui application? A console application? In my opinion Sun needs new standardized file format for GUI Application, or Console Application, or Java Library - AND THEY SHOULD HAVE ICONS!!

Seriously, people like to be able to recognize things by associating the icon of them with something, you shouldn’t have to have a folder of 100 jar files, and don’t know what type of jar files they are! I had to manually associate jar files to a java icon, something a normal user couldn’t do.

Oh well, just little things like that, something trivial, but still Sun hasn’t figured it out.

They are on mine. Maybe Mustang did it for me.

Cas :slight_smile:

Let’s face it, if a user can’t manually associate icons to apps, then they shouldn’t be mucking around with anything in the file system to begin with. I understand it’s an annoyance in your particular case but for the average user who will running a game developed in Java, they, more than likely, will never delve into the file structure anyway. The only icons that 99% of home computer users care about is what is in their start tree and on their desktop.

-Chris

So true Chris.

Last month I spent about 1.5 hours with someone who thought they knew how to use their computer. They knew how to run apps, email and save stuff, but they got stuck when it came to figuring out explorer and their own file system. I expect they will never run a java app in their lifetime.

Lucky for me it was a customer so I got paid for that too :slight_smile:

Today I downloaded 2 files, one was a Windows Setup Executable program (.exe) with a nice little icon showing a cd and box…pretty clear that it’s a setup program. And i also downloaded a jar file, it had a wordpad icon, not telling me really what kind of an “application” it was, so I double-clicked on it and it started a setup process, very much like the previous one.

It also wasn’t until recently jar files were associated in my windows so they would run when I double-clicked on them. I used to double-click on them and get this “select application to run with…” popup window. Appearently installing java doesn’t do that automatically. So, for me, it’s no problem browsing to c:\program files\java\jre1.5.xxx\bin… and so on, but for normal users? I don’t think so. So, running a os-independent application seems to be impossible for the mainstream of computer users.

I don’t know, it seems strange to be annoyed by things like this. But it’s always the little things that matter the most.

Also, I don’t really understand why programs like Eclipse, NetBeans, Azerues (bit torrent client) and other GUI java applications need an .EXE file to run? I find it strange since Java was supposed to be OS-independent?

Also, the setup process for Azerues was no different than installing a regular windows application, the program was nicely integrated with your desktop. You even get the azereus icon in the system tray when you minimize it. But with Eclipse, you download this file, extract it, and there you go, install complete. I really think Java written gui applications needs some standard way of installing themselves into the users desktop os.

Well, there’s always Java Webstart if you want a “standard” way of installing apps.

Beyond that there’s Install Anywhere, which will give you an actual installer-like interface.

Ok, realizing that mostly you probably just wanted to rant, and that’s cool, I’m going to go out on a limb here a bit, but (no offense) it seems that you haven’t done a lot research here. I mean, this is the way it was in the old days (and even somewhat still today), that some programs on Windows like to install their stuff using and self-extracting .ZIP, some use a installer, some install on-demand through your browser. The impression that you have that there is a “standard” way of doing things now, is a bit untrue. Sure, many, many of the apps you install probably use the installer method, but that’s only because the industry has decided that for most things, that’s the way to go. There’s no reason that anyone has to do it that way.

Furthermore, there’s no reason that Eclipse or Azureus “need” an .exe, again that was just a design decision for those apps, and they seem to work.

[quote]So, running a os-independent application seems to be impossible for the mainstream of computer users.
[/quote]
This is where Java Webstart comes in. It’s pretty painless from the user’s standpoint, if the .jnlp files is configured correctly. Sure, it’s got it’s issues, but so does everything else - it’s one of the many challenges cross-platform development faces.

Anyhow - feel free to chew me out if you like. If it’s any consolation, these are issues that we’ve all run into at one time or another, so we feel your pain.

Java Web Start

-Chris

Thanks for your comments.

The thing with Java Webstart is that it’s intended for starting applications from the web. I don’t want to go to a website to start a desktop application, just doesnt makes sense. Would you always go to eclipse.org to run your Eclipse IDE?
Sure you can run it again from the webstart cache, but, I only found out about that today! And it was even bugged, I couldn’t run it, I had to delete some application from it manually that was preventing webstart cache manager to run.

I don’t know. I sent a friend of mine this game over msn, a jar file, and he simply didn’t know what to do with it. It took me a while to help him just to run it! He had all these problems, it had the wrong icon, the jar file wasn’t associated with the jre, and then he couldn’t find where java was installed etc.

Simply put, I shouldn’t have to do research just to run simple gui applications. After installing Java I’d expect things to run smoothly and friendly.

You can run a .jnlp file from your desktop (doesn’t have to be from the web)…but I agree, it’s not as ‘clean’ executing Java without an .exe file to standardize the application icon and launch parameters.

There are some applications out there (can’t remember what though), that will create an exe to spawn your java app. You can also use things like NSIS to create an installer and a little .exe to launch.

normally jar files are associated with java, so when you click on a jar-file it starts ok. I never had a problem with this. Maybe it’s simply your java version, that’s buggy? Or maybe also winblows is configured wrongly (because M$ hates Java so much :wink: )

jar is just a zip file. Sometimes the assosiation is stolen by zip programs like winzip and winrar. Professional applications will create launchers that will work like any other native app.

???
That’s why Web Start makes icons in your start menu or desktop for the apps you run. So you can run them like any other app.

On another note:

Maybe Sun should add a standard property to the JAR manifest to identify a image file in the jar to be used as the JAR icon. Then the Windows install of Java could install a shell extension to show that image for the jar file. I assume similar extensions could be made for other platforms.

Nice propaganda, but Webstart is far from a catch-all solution for all problems, and comes with a whole bunch of its own:

  1. Many computers don’t recognise the .jnlp file extension properly, even when a recent JRE has been installed. Web browsers (particularly firefox and safari it seems) do funny things - like saving it to the desktop and doing nothing else, providing an “open or save?” prompt, or sometimes even just displaying it as xml. Even when MIME types are correct.

  2. Users freak out when they see the big scary permissions dialog, and often refuse to go further.

  3. The (frankly stupid) “Do you want a desktop shortcut” blocking dialog that pops under with JRE 1.4 which makes it look like a game has crashed.

  4. General user confusion of how to re-run an application again - no-one knows about re-launching from the webstart app viewer, they always go and find the URL again. This also has the side effect of not knowing they can run when not connected to the internet.

  5. Total inability to get at the console output if a game should crash (was hidden deep in the options in 1.4, seems to have vanished in 1.5).

  6. Far too complicated webstart error dialog (exception, wrapped exception, etc. etc.) which means that users never actually tell you the right bit of information unless you hand-hold them though it all.

This isn’t just idle speculation - these are the same old problems which I keep hitting when people try out my games. With Growth Spurt I hit all of these except 3 (probably because no-one was running 1.4). Unfortunately there’s very little I can do about them. These aren’t computer illiterate or stupid people either - they’re mostly programmers, but webstart is just too alien and just scares people away.

Sun should really try to adopt to proven methods for running and installing Java based applications, and not invent new methods that only partially solve the problems.

I don’t know, this is all very strange to me. For some reason Sun doesnt want to make Java more desktop friendlier, maybe they’re trying to keep Java the same for all platforms. But it’s still strange that they’re able to release a new type of Java (J2ME), so platform-independence isn’t really a reality.

btw. swpalmer, my Sun folder in the Programs startmenu is empty for some reason. I don’t remember ever deleting the shortcuts in there ???

You can create shortcuts from javaws. In 1.5 its right click->create shortcut.

There is also a jnlp tag for asking the user if they want a shortcut on their desktop.

How can I launch applications with Java Web Start?

shortcut element

Why should I need java webstart to launch my windows applications? I don’t need any “windows exe-start” application to start my other windows applications :slight_smile:
I’ll have to remember to tell my 55 yearold dad to read those links you posted, he barely manages to check his email and browse websites. ::slight_smile: He doesn’t even know what Java is!

Yes, there are ways to do things in Java, but I shouldn’t have to do them simply to run a application. Don’t get me wrong, things have improved a lot, most java applications can be run with webstart or simply by clicking a jar file, in ideal conditions. Although, sometimes I encounter jar files where I need to extract the contents of it, and read a readme file to know what parameters to use to run it.

What is Sun really waiting for? Throughout history too many have made the mistake of inventing a very good technology, but still, lose to a lesser technology just because they didn’t implement a proper ease-of-usability solution. Look at Windows, it sucks, but still people use it, despite the viruses, worms, trojans etc. and even while there are better alternatives.

Sun needs to rethink the whole process of “a software developer makes an application and a user runs it”.

I’ll have to remember to tell my 55 yearold dad to read those links you posted

“There is also a jnlp tag for asking the user if they want a shortcut on their desktop.”

::slight_smile:

I have to agree somewhat with Appel.

This is basic Human Computer Interaction I learned in my first years as a student.

Users could care less about the language an application is written in. What they care about is comformity and getting their task done. With regard to games the task is to play the game and to get there they have ot install the game. If this install procedure requries the user to do something different, the user will be interrupted in his task and be annoyed because he has to face a new problem he did not exspect.

With causal gaming its important to get the game running as fast as possible because the user does not have much incentive to keep trying to get the game working. So acting out of the ordinary just because its “java” will lead nowhere unless we are in a situation where java becomes the norm, rather than the exception.

So in conclusion Sun should make a proper way to execute java programs under windows, just as they have under OS X. (or is it OS X that have a proper way to execute java?).

So in conclusion Sun should make a proper way to execute java programs under windows, just as they have
under OS X. (or is it OS X that have a proper way to execute java?).

OSX is shipped with some usuable java vm. Thats the only difference. The rest isnt different from using a stub exe (you’re basically doing just that on mac os).

Eclipse is available for:

What happened to “write once, run anywhere”? Seems to have evolved to “write once, make different versions for each platform, release many files, run with difficulity”.