Folks, I would appreciate some letter-writing support in relation to

http://lists.w3.org/Archives/Public/public-webapps/2014JulSep/0084.html
http://lists.w3.org/Archives/Public/public-webapps/2014JulSep/0377.html

I don't know if you can respond directly to that list or not. I think you
can. Please, if you do, be polite -- just share the importance of JSmol.
Ask them to remove the recommendation to browser developers to "experiment"
with breaking all our pages.

The executive summary is that if this recommendation is taken:

<quote src=http://xhr.spec.whatwg.org/>
Developers must not pass false for the async argument when the JavaScript
global environment
<http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#javascript-global-environment>
is a document environment
<http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#document-environment>
as it has detrimental effects to the end user's experience. User agents are
strongly encouraged to warn about such usage in developer tools and may
experiment with throwing <http://dom.spec.whatwg.org/#concept-throw> an "
InvalidAccessError <http://dom.spec.whatwg.org/#invalidaccesserror>"
exception when it occurs so the feature can eventually be removed from the
platform.
</quote>

All, and I mean ALL current JSmol implementations will stop working
instantly.

I'm not sure the writers of that understand the implications for science
and science education. Some word from others in prominent positions might
help.

I would prefer they not just hear from me. Don't over-do it, just help them
see what such "experimentation" would do to us.

That said, I am making good progress making FUTURE JSmol implementations
totally asynchronous. I'm actually very close. I have a test version that
loads everything asynchronously other than shapes, and it almost works.
(Famous last words!)

But current pages using Jmol.getPropertyAsArray() or Jmol.evaluateVar()
will absolutely be broken and will need some rewriting *even if I do get a
totally asynchronous version of JSmol running. *Because those are
inherently synchronous methods, and at least their first use requires an
asynchronous  process.

I do have some ways around that. Basically you can effect (asynchronous)
module loading in Jmol (the to-be asynchronous part) by issuing calls to
Clazz._4Name(). For instance:

  Clazz._4Name("JV.PropertyManager")

just after applet creation will load the code that will later be used for
Jmol.getPropertyAsArray() or Jmol.evaluateVar()

But obviously this will take updating of current web pages.

Bob


-- 
Robert M. Hanson
Larson-Anderson Professor of Chemistry
Chair, Department of Chemistry
St. Olaf College
Northfield, MN
http://www.stolaf.edu/people/hansonr


If nature does not answer first what we want,
it is better to take what answer we get.

-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to