swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: X11 over modems, and Java OS X


From: Marcus G. Daniels
Subject: Re: X11 over modems, and Java OS X
Date: 02 Feb 2001 20:42:27 -0800
User-agent: Gnus/5.070084 (Pterodactyl Gnus v0.84) Emacs/20.4

>>>>> "WN" == W Northcott <address@hidden> writes:

WN> Is the Java version of Swarm yet to the point where it can
WN> substitute for the X stuff like tk and blt? 

Nope.  But Mozilla does run on MacOS X, a.k.a. Fizilla.

The main GUI features that Swarm has which be nice (but not necessary)
to move into the browser are:

 1) The analysis module provides Graphs and Histograms.

    Ideally, these would be done through tightly-integrated code
    from R.  I'm looking at the feasability of this now.  90% of the
    work has been done, but the last bits are tricky.

    In principle, Scalable Vector Graphics (SVG) backed by a live
    Document Object Model (DOM) tree could implement these widgets too. 
    See below about SVG.
     
 2) Spaces

    Some basic ability to map Discrete2ds into Rasters is needed.
    For the Mozilla plug-in of Swarm, I'm still using the Tk widgets,
    but it would be nice to have a <OBJECT>/<EMBED> HTML style plug-in 
    for live Raster media.  

    The hassle there is that it means implementing different native
    media plug-ins for different platforms.  (GtK/Win32/Mac).  

    For now (the next release), we'll stick with Tk.

 3) Canvas, esp. `graph' library
     
    This can be done with SVG.  With DOM, you've got a tree in memory
    with different element types on it and interconnections.  (The tree
    can either be created by loading XML or by making DOM API calls.)
    These can be rendered on the screen and manipulated by the user or by the
    running model.  For example, a model like `Bank' could be done
    with SVG.  One problem is that SVG is kind of on the back-burner
    at Mozilla.org because they are working hard on Mozilla 1.0.  Anyway, the
    Swarm Tk Canvas interface isn't currently exposed to Java users.

  4) ProbeDisplays

    This can be done nicely with DOM/CSS/XBL.  It's like HTML forms that
    can be updated in an ongoing way at model runtime
    and rendered in prettier ways...

There is of course an endless list of cool visualization features to have.
VRML plug-ins for 3D, Shockwave APIs, etc. but I'm just talking
about what's needed not to make this GUI architecture shift and get
rid of Tk/BLT, keeping the same features.  

Once the shift has been made there will be a nice sandbox to play-in
without cross-platform headaches, no investment in learning weird,
private Swarm GUI APIs, and no logistical problems moving models
around for demos, etc.

You'll note the conspicuous lack of Swing above.  This is
top-to-bottom open-source native-code infrastructure with no VM
slowing down the GUI.  Also note that using Mozilla doesn't preclude
using Swing; we could develop or use other folks' Java libraries in
this framework.  And let me emphasize that these are all standard W3
consortium standards that IE ought to implement one day, not weird
APIs specific to some low-market-share browser.

WN> Having hacked about there now, why does it matter what libobjc
WN> Apple use because Swarm uses its own? 

Because their hacked GCC 2.95 variant can't compile libobjc or a lot
of other Swarm code without core dumping. 

WN> I am not inspired to spend any more time on the OS X beta because
WN> it is now very different to the release version, but Apple just
WN> sent me a discount coupon to pre-order the March 24 release.  So
WN> it got me thinking.

I just updated my CVS tree of Apple sources, and it doesn't look much
has changed.  Assuming they are putting up everything they have..

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]