For my project im finding that im making more and more tradeoffs just to support users who run 1.3 (or god forbid…even lower) and im starting to think if it really is worth the effort.
Both my design and definetly my implementation would be so much better if I just force 1.4 as the only VM to work with (meaning all 1.4 VM’s)
What are your thoughts on this?
Would you keep supporting as many people as possible or will you force the newest VM?
The application will most likely be downloaded off the net, but im expecting that most users will either have 1.4 or no VM at all
[quote]Would you keep supporting as many people as possible or will you force the newest VM?
[/quote]
Both. Decide what you really need!
The basic decision should be wether to limit to 1.1 to reach A LOT more of people or to head for latest features. In the latter case, I think you should insist on a decent version. Maybe the one before the latest?
Hopefully, with a auto-updating 1.5 this problem will vanish one day?
I think it’s annoying as hell when people refuse to update because they can’t be stuffed. Most people I know with early versions of the JVM are just plain lazy and can’t be bothered to download the latest version.
Everytime I try to get my software to run on their machines it either runs buggy or doesn’t run at all and the answer to why my software doesn’t run properly?
JVM 1.2/1.1 and at best 1.3. :-/
I personally don’t let lazy people hold me back. I develop my software for the latest VM. There are of course people who aren’t lazy and have early versions of the JVM, if you want all you have to do is provide a readme file and include a very large 22 point message with a link to Sun’s site and where to get the latest JVM.
Just about everyone these days has an internet connection anyway.
In the end, you make software the way you want to. If you just want to develop for JVM 1.4 then do it.
If the people refuse to update, bad luck. If they didn’t read the readme file, also bad luck.
If someone wants to run your software, they will update.
[quote]Just about everyone these days has an internet connection anyway.
[/quote]
Talking about mass market - this is not really true. At least MANY people have slow lines. For them, it is really annoying to fetch a multi-MB-package.
This is definately NOT TRUE when talking about the casual games market, where most Java games reside. If you really NEED a broad audience (for your revenue/copy is small), don’t force them to do ANYTHING. For games, there is no real NEED to use a certain one, and a similar game is nearby very often.
Casual gamers need to click on the applet and play. They’ll refuse to install anything at all. They just don’t care what Java is and what it does. And for sure they don’t go over to the Sun site, accept license agreements, choose a proper JRE package, download it, install it, and then come back to your game. An automatic check-and-update-feature with a single mouseclick - that would help there VERY much!
If your game is OUTSTANDING (due to the use of latest Java features) - then you can try to make them install a new JVM.
Create some decent content and it will drive the adoption of modern Java.
People spend hundreds of dollars to upgrade their graphics card just to get a decent frame rate in Quake. They will download the JRE.
I think this year is the turning point where more than half of household internet access in the US will be broadband. I suspect in Canada broadband use is slightly ahead.
I just downloaded a game demo today - a nice looking shoot’em up for the Mac… 41MB and I didn’t give it a second thought… of course I’m using broadband… over dial-up I would probably only do that late at night. During the day I would limit the ‘big’ downloads to 20MB if using dial-up. But the point is I wanted to see the game and I’m willing to take the time to download it. The general public is willing to wait hours or days to download something they want - online music sharing being the perfect (though slightly illegal) example.
Provide a D/L that includes the JRE you need and one that doesn’t. Install Anywhere can do this.