This discussion made me take another close look at the LWJGL focus handling, and I think I found a bug in it. Now, the LWJGL window is minimized when it is deactivated (for example, when the JWS window pops up). This is the same behaviour as when the user alt-tabs. I hope it helps LWJGL games under JWS.
It’s a pretty silly poll then. I imagine the same people who say that they only distribute webstart games also say they only play webstart games. Ask the developers about distribution, ask players about playing. Devs are a biased player base.
I don’t mind playing webstart games, but for distribution it isn’t going to happen for me. My reasons:
the user must already have the JRE installed. With a zipped game I can offer a bundled version for those who don’t have it. If Sun turns Webstart into a standalone executable that has no dependance upon the JRE being present to run, then it becomes slightly more attractive.
certificates are expensive, and that message that pops up when you don’t have one will scare away a chunk of potential customers
how to I allow players to mod Webstart game? How can they go to another player’s website, download and install a third party mod? And how can it be done in such a way that the mod directory will be unsinstalled when the game is?
an installation program is a common thing. Users are used to it. It’s a simple matter to download, then click on setup.exe and choose the location to install. Anything that breaks that pattern is not normal, and there are still a large number of people out there who don’t like it when they have to step out of their comfort zone for something that is not normal. That could be a deal breaker for a sale.
As I see it, Webstart introduces more problems than it solves. Until it matures, I don’t consider it a viable alrernative to the tried and true set up program.
Oh, and I should mention that the only people I have heard say good things about webstart are Java developers. I have seen negative posts from others out there in the wild.
Agreed, outside the Java world the impression is very negative indeed. Webstart does indeed rather alot to be desired at the moment, but its just another possible route of delivery.
Is there anyone out there actually selling/has sold a game via webstart? I can think of one and he might mention his stats again. As with all things games and java recently the proof of the pudding is going to be in the eating. Its all very well us being confident in Java technologies (be it webstart, LWJGL, or whatever) but until we see the bucks rolling in theres no reason for anyone else to care.
Not that IMO thats a bad thing where devs are concerned, but players I wouldn’t mind impressing.
Other than the whole muffins-only-when-webstarted thing, is there any other real problems with providing an app that works pretty much identically from webstart and some more conventional deployment?
Hmm… I wonder what the people over at javadesktop are doing for their deployment stuff…
Although it is logically wrong to say that “people here like webstart, so people everywhere like it” it might happen to be true anyway - but it is wrong in all ways to say “no-one likes webstart, because the people here don’t count”. You can’t just write off a group of games players because they aren’t representative of the mass market; that’s throwing out the baby with the bath water.
Of course they are. But look how many people on this forum have actually written a game (somewhere around 100 max, I guesstimate), and compare it to the number of people who are on the forum (3500), most of whom probably play games.
…and the highlighting of those reasons is valuable ammo for convincing Sun to improve things. So it’s handy to have your reasons here, thanks.
There’s no reason why you cannot also offer that. There are plenty of games who have “windows”, “OS X”, and “all-platforms” downloads (the last being webstart).
But there are downsides to your bundle too, e.g.
many people don’t have unzip (sad, but true) and have to go and find it, especially on non-windows platforms where BZip and other much better schemes tend to be used
if someone has the JVM already then downloading a ZIP is more hassle than a single click
Haven’t you read about the muffins mentioned in the title of this post?
Out of interest, how many java games are moddable in the first place? At the moment, it’s difficult to find even one…Sure, if it’s difficult then that’s a problem, but webstart doesn’t make it any more difficult than it already was, and even if it did then it seems a shame to me to worry about a feature that people haven’t even got around to implementing in the first place :(.
Many users are also sick of them, mainly because windows apps on average are lazy or flagrantly breach the guidelines. Unlike on Mac’s, where Apple managed to keep developers sticking to the UI guidelines, on Windows it’s been a free-for-all and people like myself are simply fed up of these crap installers - it’s not always the installer-library at fault, but often just app programmers who lazily interfaced to said library.
Still, even in the last month I’ve seen a java installer that was buggy at the library level (e.g. stupid bugs in their JVM detection code), and 3 or 4 windows apps that did annoying hard-coded things in the install wizard that I was powerless to prevent.
Some windows installers even FORCE a reboot of your computer - MS put in a library call that lets the app do it >:(. IIRC I’ve even played commercial games which ended up doing this - either deliberately, or because they had a DX sub-install.
At least I know JWS won’t do that to me!
I have two things to say about that:
Until the java developers come to love webstart, no-one else will. Players need to see it, use it, understand it - which requires that large numbers of games USE it - before they have a chance to properly evaluate it. Until very recently even the vast majority of developers on this forum didn’t use webstart - and you might safely expect that a sun java game dev forum would be the most likely place to find them.
Fair enough, I believe you. But you need to provide something more concrete for it to have any purpose in the conversation, since we already know that there is a reputation problem (that is, after all, what this thread is about!). If, for instance, you could say “On flipcode, this has come up several times, and no games players had anything good to say”, then you move the conversation forwards, providing people with something they can actually do something about.
Yeah, this is something that used to really annoy me about the windows client. On linux it’s not a worry - linux doesn’t have a programs menu (the various hacked-together Gnome and KDE stuff doesn’t work in so many cases - or isn’t even installed - that it’s a long way yet from creating a standard).
Now, of course, it’s alleviated by the same problem you were complaining about - the auto shortcut questions.
In fact, it ought to do the shortcuts automatically UNLESS the user turns them off (rather than defaulting to ask, which is generous, but not what the user wants IME of watching people use webstart - they don’t want to be confronted by this question BEFORE they’ve played the bloody game!) and then you should just delete the shortcuts after a few plays if you don’t like it.
Native installers are somewhat annoying and some people really don’t like em at all. Have you ever counted the steps necessary to download, install and finally play a game? Try it… oh and using shortcuts (eg win+e and the like) isn’t allowed.
You’ll easily end up with 20 steps and that’s without checking the file for viruses.
With webstart it’s just one click (or 2-3 adding desktop integration and accepting a cert).
@Orangy Tang
That muffin thing will sort itself out after we slapped a small lib together, which adds an abstraction layer. Guess it will be finished pretty soon now.
Other than that there aren’t any real problems. Except things like having to hardcode the url (or using properties) for highscore upload and the like (instead of creating it with codebase+path). But that isn’t really a big deal it isn’t like you are going to change your domain 2 times a week.
I voted for prefer non
webstart games because webstart doesn’t work on pcs whitout internet.
now I have to figure out the jnlp for what things to download.
One thing that I really dislike in JWS is the autoupdate-non-asking thing. I HATE when I launch some software I need to use and it starts updating and then I can’t use it until it finishes updating. Maybe JWS should ask before updating?
[quote]One thing that I really dislike in JWS is the autoupdate-non-asking thing. I HATE when I launch some software I need to use and it starts updating and then I can’t use it until it finishes updating. Maybe JWS should ask before updating?
[/quote]
Webstart was supposed to update on the second launch to work around that. And sometimes it seems to do that, other times it updates right away.
It was a stupid “solution” to the problem anyway.
[quote]I voted for prefer non
webstart games because webstart doesn’t work on pcs whitout internet.
now I have to figure out the jnlp for what things to download.
[/quote]
The network connection is only required to download the game, after that you can launch the app when you aren’t connected so long as the application is not marked as requiring on-line operation.
Also, in Java 5.0 this has been fixed to allow direct installation into the Web Start cache so that you can distribute a WebStart game on CD, as a ZIP, whatever and then benefit from the auto-updating of WebStart.
That odd “update on second start” behaviour is due to the thingy and webstart’s odd way for guessing if the machine is online or not. (As expected it will always check for updates if offline mode isn’t allowed)
The documentation hinted (“explained”) that somewhat vaguely.
Well, the technology is there - it just need getting rid of some flaws.
[quote]Import Facility: Java Web Start now contains an import facility. This can be used for CD installs, where code is initially loaded from one location and then updated from another. It can also be used to pre-install applications and libraries in either the user or system cache without running the applications.
[/quote]
This is key. If it allows an installer to populate the desktop/start menu with a shortcut and get the benefits of Web Start’s cache management, and updating
I prefer one or the other. Providing a Webstart version alongside platform-specific downloads just means increased maintenance. Granted, Webstart alone should reduce maintenance costs considerably.
When the download is a self-extracting executable this is a non-issue.
In a perfect world, yes. Can you honestly say that Webstart is currently trouble free and that it will not cause more hassle after the download?
How do muffins help me with mod distribution/installation? I suppose I can store a path in a muffin to look for mods. But will webstart uninstall that directory along with the game?
The lack of moddable Java games is neither here nor there. I want my games to be moddable, so I don’t care if other games are moddable or not. And it’s really easy to implement via a scripting language like pnuts, or simply via dynamic class loading. From what I’ve seen (and again I haven’t looked in great detail) Webstart does make that more difficult.
The quality of installation programs is wholly in the hands of the developer. You set a standard and you meet it. Simple. If the installation software does not allow you to meet that standard, find a package that does. If the uninstaller does not uninstall everything it installed, then you failed to do your job. This is a quality control issue that should be paid as much attention as the rest of the game, not an inherent fault of installtion programs.
With JWS, we have to submit to what the good folks at Sun think is best. If there’s an issue that is not the fault of my JNLP, I can neither fix it nor switch to an alternative Webstart. It’s wholly not in the developer’s hands.
If I had sources on hand I would happily point them out. I visit so many of general gaming sites it’s hard to say exactly where or when, but the subject of Java games does come up now and again - sometimes leading to a talk about Webstart. And what people usually have to say is negative.
For something more concrete, there was a discussion amongst non-Java developers not so long ago at the Dexterity forums (which have since closed and been reborn as Indiegamer). IIRC it was the result of a post Cas made. Onyx may have been in it as well? Some people there (who are all either active Indie developers or dreaming about being Indie Developers, but people I consider tech savvy) mentioned that they had problems with Webstart. I can’t recall what exactly, but I remember there were several negative posts.
This is key. If it allows an installer to populate the desktop/start menu with a shortcut and get the benefits of Web Start’s cache management, and updating
[/quote]
This sounds promising.
Really though, my idea of a perfect Java Webstart:
User clicks Webstart icon on a website. A tiny, minimal sized setup executable is downloaded. (if Webstart can be detected here, then the executable is only downloaded if Webstart is not installed)
User runs setup (or it executes when download is complete - optional just as it is now).
the setup program looks for Webstart. If present, setup executes it with a url to a JNLP as a command line argument. If not, setup downloads and installs the latest JRE (with user’s permission), then executes webstart.
Furthermore, the developer is allowed to optionally let the user choose an app-specific content directory outside of the cache. This content directory will be both readable and writable to the app. It is also automatically put on the classpath at runtime, and automatically uninstalled along with the program.
Give me that in Webstart, and I’ll never use a standard installation program again.
Why? It just hooks directly into your JAR’s. I’ve not yet heard any developer bemoaning how it added to their maintenance effort (assuming they were distributing true x=platform java code in the first place).
I’m not saying I wouldn’t believe it, just that I can’t think of any examples where it’s been a problem.
On the whole, yes. I say this based on several reasons:
[]Number of complaints of broken games that come in to JGF: almost none for webstart games, about 5 times as many for non-webstart. In almost all (if not all) cases it’s turned out to be a misconfigured local PC, e.g. with an out of date JVM or an old copy of JOGL installed in the EXT directory. With webstart, the problem with Squareheads on OS X mentioned in this forum is - IIRC - the only one we’ve had! (FYI: the rest of the broken complaints tend to be just applets and random browser problems, or else download sites that have gone down)
[]Percentage of webstart games that I personally play that simply work, compared to percentage of non-webstart games. At the moment, the former is approximately 96% (I can think of 2 out of at least 50 I’ve played), and for the latter approximately 75% (I can think of 10 out of at least 40 I’ve played). I’m being generous here and not counting the state of games submitted to JGF prior to all the bugfixes we’ve insisted on before allowing them to be included - if you include that (which is probably more accurate!), then approximately 90% of webstart games work fine, and approximately 50% of normal games. I kid you not - most games have only been tested on windows, and often come with hard-coded references to “C:” or only include the native code for one platform (the author’s own PC) etc. With webstart, people tend to get it right first time - probably this is just a guess because most people are learning webstart from Kev’s mini-tutorial, which happens to include source lines for OS X and linux, so it’s effortless to include them.
[*]My own games. E.g. Crystals (non-webstart) pain in the butt to support. Survivor (webstart) has been piss-easy to support - people just email “love the game” or “enjoyed it loads” or “very addictive”. I have had a sum total of one (1!) report of it not working - and that was from a friend of mine who was trying to run it on old Sun hardware + Solaris which I think Sun’s JVM doesn’t work on very well (that’s what you get for using uni research systems :)) - I’ve got a feeling the hardware has almost useless graphics card etc; certainly there’s quite a lot of old Sun machines that are no longer fully supported by java.
Yeah, and as I was pointing out, most developers don’t. As far as installers go, it’s the player’s preferences that really matter, not the developer’s, and with webstart, the player gets to expect certain things - e.g. much simpler installation, as Onyx illustrated nicely.
Which is a part of the appeal to players, ironically enough - where the developers provide shoddy installers, the players get a better deal with webstart.
I’m not saying that as a defence of it’s failings, just as an observation.
I would like to point out that alternate Webstart-ware does exist, see for instance http://jnlp.sourceforge.net/netx/. So, it’s not completely out of the hands of developers. Ofcourse, then there’s the problem of deploying that on user’s machines which brings us back to installers.
[quote]Out of interest, how many java games are moddable in the first place? At the moment, it’s difficult to find even one…
[/quote]
My java game is moddable. It accepts third party maps, AIs, and map-generators. This does add complexity. The fact that some people do not have java installed means that I am forced to provide a non-webstart method of installation. Adding a webstart version on top of that would add more complexity. I do not like complexity.
Until webstart is perfect for my needs I will never come to love it. One of my needs is for people without java installed to be able to run it. Webstart can never fufill this need. :’(
[quote]Why? It just hooks directly into your JAR’s. I’ve not yet heard any developer bemoaning how it added to their maintenance effort (assuming they were distributing true x=platform java code in the first place).
I’m not saying I wouldn’t believe it, just that I can’t think of any examples where it’s been a problem.
[/quote]
I would bemoan the added maintenance effort that webstart would require. The only reason I do not is because I have not wasted that effort creating a webstart version. My app stores its map files (XML formatted) in a location on the filesystem. Users can add and remove these maps. The app installs some by default. Doing this using webstart would require a non-trivial solution.
PS: My code is 100% cross-platform java. It is just not easily contained in non-changing JARs.
It depends on what you consider trival I suppose. Making an app work in both webstart and standalone really isn’t complex or non trivial. Porting an existing app to webstart compatibility can of course be more tricky but this just comes down to the developer at the start not knowing about webstart.
This concept of modding by having a directory where users can put files has come up twice now. Surely when you do this you provide an option in game to specify where this directory should be? If not, how come? I as a player would want it. If so, then webstart doesn’t stop you doing this.
What exactly do you have to do to use webstart?
Put initial code and resources in jars. Arn’t you doing this anyway?
Sign the jars. I think even I can manage this one.
Deal with custom directories by providing an option in game.
Oh, you’ve got to write some JNLP. None of these will break a standalone game. Isn’t Java flexible!
I suppose the point you might be making is whether the benefits webstarts give is even worth this minor effort?