Lots of discussion about installation of Java 3D today.  That's good!
I'll update you on our current progress.

The future of Java deployment technology is called Java Web Start:
  http://java.sun.com/products/javawebstart/index.html
  http://java.sun.com/products/javawebstart/developers.html

Java Web Start (JWS) has gotten a lot of good press recently, so
someone search around and find some articles and post links.
Basically, JWS is a technology for deploying Java apps.  You tell it
the URL of each of the JAR files that constitute your app, whether they
should be downloaded immediately or lazily, and other parameters, and
Java Web Start takes care of it.  It will even install an icon on the
desktop so the app can be run again outside the browser.  One of the
coolest thing about JWS is its ability to have multiple JVMs installed
at the same time, and multiple versions of optional packages too (like
Java 3D).  And it never runs an installer - everything happens somewhat
silently (have to agree to a licence agreement and accept a couple of
signatures).

It works as a browser plug-in that recognizes a new file type:  ".jnlp"
(Java Network Launching Protocol).  JWS will be part of Java 1.4 and is
available today as an addition to Java 1.3.

The problem with Java Web Start is that your customers have to have
installed it in order for it to work.  If we can't find a way to get it
installed automatically, we'll use different technology to install Java
3D on your customers' machines automatically, as a stopgap until Web
Start becomes ubiquitous.

After we're done, it will be trivial to make a website with a Java 3D
app.  You specify the minimum Java version required, and if not
available, it's installed automatically.  You specify the minimum
version of Java 3D required, and if it's not available, it's installed
automatically.  Then the app runs.  As long as your user has IE 4.0 or
higher or Netscape 4.0 or higher, everything should work.

As I stated in an earlier email, our target date for auto-install
support is JavaOne in early June.  We may or may not make that
date, depending on how final debugging and testing go, and which
solution we decide to use, but it will be ready soon.

I'll address some of your questions below.

> Date: Fri, 11 May 2001 10:16:26 +0100
> From: "Crossley, Allistair" <[EMAIL PROTECTED]>
> Subject: [JAVA3D] Java3D Poor Distribution Process
> To: [EMAIL PROTECTED]
>
> I am really quite disappointed by the Java3D distribution process. I am not
> sure what Sun can gain from forcing people through the unhelpful download
> process other than getting people to agree to the license online which has
> the only interpretation it seems that you have to download the installer
> from Sun (go figure). Anyone anywhere in the world can click that they agree
> to the license and gain the installer.

Not true.  The server does reverse ip-address checking to make sure
you are not downloading the software from an embargo country.  If
you are uploading Java 3D bits, then you are required to do this
too.

> However, we are allowed to bundle the Java3D installer INSIDE the
> application (rather from the application public homepage). What does this
> mean if I want to make sure ALL Java3D users can run my application? Well,
> it means I have to bundle ALL versions of Java3D in the distribution (if I
> want a central distribution, and making the distribution larger) OR create
> as many distributions as there are system versions of Java3D (very poor from
> a maintenance point of view).

I'm not Sun's lawyer, but it seems to me that if you have bundled Java
3D into your app, then you may not make it available for public
download without doing reverse ip-address checking.  Michael Schulman
seemed to reinforce this in his email to Allistair yesterday.  BTW
anything Michael says supercedes anything I say :).

> So, I am asking Sun to review their Java3D distribution process.

These are US federal export restrictions.

> Failing all this...scrap the online download process and let us all link
> directly to Sun's site if they are so bent on keeping it there.

That's what we're planning to do.

> Date: Fri, 11 May 2001 07:12:53 -0500
> From: John Wright <[EMAIL PROTECTED]>
> Subject: Re: [JAVA3D] Java3D Poor Distribution Process
> To: [EMAIL PROTECTED]
>
> Quoting from the license on the website:
>
> These Supplement terms shall supersede any inconsistent or conflicting
> terms in the Agreement, or in any license contained within the Software.
>
> 1. License to Distribute. Sun grants to Licensee a non-exclusive,
> non-transferable, royalty-free limited license to reproduce and
> distribute the binary code form of the Licensed Software provided that
> Licensee:
>
> (A) distributes the Licensed Software complete and unmodified (except
> for the specific files identified as optional in the Licensed Software
> README file), only as part of, and for the sole purpose of running,
> Licensee's Java compatible applet or application ("Program") into which
> the Licensed Software is incorporated;
>
> Doesn't this give us the right to redistribute Java 3D Runtime?  It does
> not state anything about HOW we redistribute it.

Yes, you can redistribute it, but you can't just quote part of the
license agreement and ignore the rest.  According to our lawyers,
section 7 means you can't put it on a website for download
without guaranteeing that it can't be downloaded into embargo
countries.

> If Sun does not give us these rights they might as well put big bold
> letters on the website stating "DO NOT BOTHER TO ACTUALLY DEVELOP A
> PROGRAM WITH THIS SOFTWARE BECAUSE ONLY TECHNICALLY SKILLED PEOPLE WILL
> BE ABLE TO INSTALL YOUR PROGRAM".  Cripes the people on this list have
> struggled repeatedly just to get Java 3D installed.  Now we are being
> told to direct our CUSTOMERS to download Java 3D from Sun's website???

In the future most customers will get Java 3D via auto-install.
We've been trying to get support for this for over a year, but
we've run into legal and export control issues, and are only now
solving those problems.

> Date: Fri, 11 May 2001 22:52:43 +1000
> From: Justin Couch <[EMAIL PROTECTED]>
> Subject: Re: [JAVA3D] Java3D Poor Distribution Process
> To: [EMAIL PROTECTED]
>
> "Crossley, Allistair" wrote:
> >
> > Paul Pantera and Michael Schulman both of Sun wrote me this earlier this
> > week.. They expressly state that we cannot put it on websites.
>
> Yes. There is a big difference between putting the entire installer on
> your site and including the java 3d bits as part of your application and
> it's installer. If you read it closely, you can grab the DLLs and JAR
> files and include those as part of your application installer, but you
> cannot just take the entire InstallAnywhere installer that they have and
> place it on your website.

No, there's no difference.  You have an obligation to not upload Java
3D bits to embargo countries, or else you are in violation of the
license agreement.  At least that's my understanding at this point.

> Date: Fri, 11 May 2001 14:05:54 +0100
> From: "Crossley, Allistair" <[EMAIL PROTECTED]>
> Subject: Re: [JAVA3D] Java3D Poor Distribution Process
> To: [EMAIL PROTECTED]
>
> But it is not good enough. I have no issue with bundling the JARs and DLLs
> with the application, but they do not make these components downloadable as
> is. Perhaps they should. Then we can bundle all the DLLs for various systems
> in our apps. I said earlier that I do not have Solaris and so cannot access
> the Solaris components, but I still want them to bundle in the app.

Details about which files to distribute with your app can be
found in the Java 3D README file.

I'd suggest that you don't try to distribute an app on an
operating system that you don't own and therefore can't test
with.

> Date: Fri, 11 May 2001 14:47:34 +0100
> From: "Crossley, Allistair" <[EMAIL PROTECTED]>
> Subject: Re: [JAVA3D] Java3D Poor Distribution Process
> To: [EMAIL PROTECTED]
>
> Well what if I do not know anything about Solaris, TAR or GZIP? My point is
> that it should be made easier for developers to distribute their
> applications with java3d included without having to think about all these
> issues.

It seems that Java has spoiled some developers to the point of
thinking they can release a product on a platform on which
they haven't tested!  I guess that's a good thing, but I
really wouldn't recommend it.

> Maybe this could simply be a webpage on the Sun Developer connection site
> for Java3D that allow developers to download a "developer" edition of java3d
> suitable for popping into application distributions.

The way you suggested earlier about having multiple editions of
Java 3D installed into the same JVM at the same time won't work,
for many reasons.  We could develop an installer that is
selectable between Solaris, WinOGL, and WinD3D, but we haven't
because it would be huge (because it would contain the bits
of all three).

> Date: Sat, 12 May 2001 00:02:30 +1000
> From: Justin Couch <[EMAIL PROTECTED]>
> Subject: Re: [JAVA3D] Java3D Poor Distribution Process
> To: [EMAIL PROTECTED]
>
> "Crossley, Allistair" wrote:
>
> > Yes, I can do as you suggest, but how many couldn't. There has to be a
> > better way.
>
> There is:
>
> http://www.j3d.org/tutorials/quick_fix/auto_install.html

This is the article I wrote about a year ago about supporting
auto-install.  I would suggest ignoring this article for now
and waiting for the updated version.  Some Java 3D vendors
have been able to get it Java 3D auto-install to work, but
in a limited number of configurations.  Specifically, I think
the method described here is broken after Java 1.3.0.

> Date: Fri, 11 May 2001 11:58:39 -0400
> From: Isie Masri <[EMAIL PROTECTED]>
> Subject: Re: [JAVA3D] Java3D Poor Distribution Process
> To: [EMAIL PROTECTED]
>
> I think Sun needs to rethink it's Java deployment strategy as whole.  If Java
> is going to survive a viable web/client platform this would need to be
> addressed soon. Java and Java 3D should be able to be installed by a non
> technical user as a result of a single click on a web site. In addition Java
> and Java3D are way to big and typical home users with a 56k line won't
> be to inclined to download a 7.5 MB plug-in. Perhaps a solution to this
> problem would be to download a small auto-updatedable plug-in that would
> only *download* the needed components for the target application. Viewpoint
> uses this strategy with their plug-in.

See my notes about Web Start above.

> Date: Fri, 11 May 2001 13:04:29 -0400
> From: Mark Ferneau <[EMAIL PROTECTED]>
> Subject: Re: [JAVA3D] Java3D Poor Distribution Process
> To: [EMAIL PROTECTED]
>
> All,
>
> It's been over a year since we've been working on our product.  We selected
> Java3D for a variety of reasons, fully expecting that Sun would make
> advances in deployment.  In fact, of all the technological hurdles we were
> facing at the time deployment was very low on the list--barely on the
> horizon.  Today, however, it's a different story.  We are going through a
> variety of hoops trying to determine which of our options makes the most
> sense.  We wouldn't be in this gut-wrenching position if Sun provided an
> architecture which would do just what Isie says--auto-download only those
> components and those which are out of date when needed.  Almost every other
> downloadable solution is doing this now.

We agree with you Mark.  At first, getting Java 3D installed on the
developers' machines was important.  We designed a new set of
installers that have been working well.  Now those developers and
ready to ship, so the focus has shifted to getting Java 3D installed
on their customers' machines.

> I know that representatives from Sun (and others) can list several reasons
> why this isn't feasible (multiple JRE versions, other dependencies,
> etc.).  I also know that it can be solved.
>
> No more excuses please.

OK, OK.  We just need a bit more time to come up with the optimal
solution.  In fact, I should be working on it right now instead of
writing you guys. . .

>
> On the positive side, J3D works great for what we are doing and we are very
> happy with it.

It's always good to end on a positive note.

-Paul

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to