shrinked webstart deployment: okay on win... mac and linux testers required

By using code shrinking methods as well as code signing (long but free procedure described here), it’s possible to provide end users with jogl-based webstart applications that work on java 1.4+ and that are much faster to download (e.g. jogl.jar size of ~200K instread of ~950K…)

It worked well for jogl 1.1.1 in the past and now I’m repeating the same kind of procedure with jsr-231.

The 2 following tests are working on windows and I’d like to know if it works on your mac (ppc and intel) and linux (amd64 and intel) boxes:

Thanks for any feedback!

More info on the digital art project in question in this previous thread.

Ariel Malka
http://ariel.chronotext.org

does not work for me here on linux jdk 1.5

An error occurred while launching/running the application.

Title: scrolling - chronotext.org
Vendor: chronotext.org
Category: Download Error

Unable to load resource: http://www.chronotext.org/scriptorium/demo/lib/jogl-x11.jar
JNLPException[category: Download Error : Exception: java.io.IOException: HTTP response 404 : LaunchDesc: null ]
	at com.sun.javaws.cache.DownloadProtocol.doDownload(DownloadProtocol.java:582)
	at com.sun.javaws.cache.DownloadProtocol.getDownloadSize(DownloadProtocol.java:884)
	at com.sun.javaws.LaunchDownload.downloadJarFiles(LaunchDownload.java:680)
	at com.sun.javaws.LaunchDownload.downloadEagerorAll(LaunchDownload.java:644)
	at com.sun.javaws.Launcher.downloadResources(Launcher.java:1015)
	at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:375)
	at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
	at com.sun.javaws.Launcher.run(Launcher.java:165)
	at java.lang.Thread.run(Thread.java:595)

Thanks kapta: it was indeed a simple path error (should be be fixed at the time you read this one…)

works fine here (Mac OS X panther) !

Lilian :slight_smile:

works great now.

btw that waves demo is very cool, does the effect only work in wireframe or can it be turned into polygons too with a texture on top?

both thumbs up! :slight_smile:

works very well with a super fast download on my macbook pro (MacOS X Tiger, JDK 5).

thank you all for the quick feedback!

kapta: the wave effect that you liked has indeed a quad-patch counterpart (untextured, used for masking purposes…)

btw, these 2 demos are part of a bigger project and the code-sharing policy has not been defined yet… could definitely be open-source in the future (stay tuned on http://www.chronotext.org for more info…)

a+

Both work fine on Mac OS X 10.4.7/PPC using the 1.5.0_06 jre

both work fine here. (and look great, too)
arch linux, kernel 2.6.17
jdk 1.5.0_08
x.org 7.1 + nvidia proprietary drivers

At first I got a black window for scrolling, but it worked fine second time. Waves worked great first time. Cool little demos.

Mac OSX 10.4.7, PPC, JRE 1.5.0

Both look good and launched quickly (Windows XP, NVidia hardware, JDK 1.5.0_06). BTW, I apologize for not having done Pack200 compression of jogl.jar by now – we’ll try to do this for the official 1.0.0 release as well as subsequent releases.

code shrinking methods

Obfuscation, p200, both or something else?

no pack200 here (since it requires Java 1.5+ and some server-side tricks…)

only some plain code-shrinking (no obfuscation nor optimization) using proguard, coupled with some jar file manipulation…

an old post with a quick overview of the technique applied to jogl 1.1.1:
http://www.java-gaming.org/forums/index.php?topic=11653.msg93025#msg93025

I will post a newer and more detailed version soon…

no pack200 here (since it requires Java 1.5+ and some server-side tricks…)

Its backward compatible. Basically you check the accepted encoding and return a matching file (together with the right content encoding). 1.4 clients get a jar and 1.5+ ones get jar.pack.gz files instead… hm yea like I said in that other thread heh :slight_smile:

backward compatibility won’t help here: I’m just assuming that a lot of users are still with Java 1.4 and I don’t want them to get the regular/full-size 950K jogl.jar

I think oNyx suggests to put the the pack200 archive as alternative to your shrinked jar, not to the regular jogl file. And you could further reduce the download size for your 1.5+ users by combining your shrinking and pack200.

Ye… using p200/gz compression further reduces the size of the jogl-windows.jar file from 205kb down to 56kb and the waves.jar goes from 23kb down to 10kb (the natives dont get any smaller since p200 is a packing algo for class files only).

More than half of the JRE’s (well, depends on your audience… it can be easily >75%) are 1.5 so you could save quite a lot of traffic.

got you, taking note…

(56k instead of 950: indecent, don’t you think? 8))

Works fine, Linux, jdk 1.5.
Same problem with Scrolling : works only the 2nd launch time (strange)