Given by Geoffrey C. Fox at Seminar at Kodak Rochester on 29 March 99. Foils prepared 28 March 99
Outside Index
Summary of Material
We describe the importance of the Web as a source of information objects and as a mechanism for invoking general server side objects |
We stress constraints of cross disability interfaces |
We note relevance of JavaScript as language to capture changes in document object structure and to choose appropriate rendering |
We stress the important role of both Asynchronous and Synchronous collaboration and the web and web-based collaboration allows one to implement it. |
Outside Index Summary of Material
Kodak March 29 1999 |
http://www.npac.syr.edu/users/gcf/dommarch99 |
http://www.npac.syr.edu/tango |
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
We describe the importance of the Web as a source of information objects and as a mechanism for invoking general server side objects |
We stress constraints of cross disability interfaces |
We note relevance of JavaScript as language to capture changes in document object structure and to choose appropriate rendering |
We stress the important role of both Asynchronous and Synchronous collaboration and the web and web-based collaboration allows one to implement it. |
Pervasive Communication Infrastructure (The Internet) and powerful new software technologies and concepts
|
Can enable education and training with
|
Can also change/enable businesses, research, electronic societies |
Need to implement so that
|
The Object Web Signifies the merger of distributed object and web technologies |
The Pragmatic Object Web asks us to take the best of CORBA (Industry Standard) COM (Microsoft PC Standard) Java (Web Software Infrastructure) and W3C (XML) |
An "object" is an entity that can be
|
The most common object is a Web Page |
The richest available object model is the Web Document Object Model or DOM |
JavaScript is language to manipulate this DOM |
Web Browsers render this object |
Web Servers broker this object |
Contents of (relational) Databases -- give these a web interface and view as an XML (or HTML) stream
|
Computer Programs -- from CGI Scripts to Servlets to CORBA IDL brokered Fortran Programs |
(Large) data resources -- from file systems to archival storage |
Devices -- from toasters, microsensors to surveillance cameras, PC's, Printers, Supercomputers, Telescopes |
Electronic Mail Messages -- favorite form of collaboration |
People |
Define Objects and properties / methods (backend) and define services (frontend) |
Objects (at "backend") can be on client of course |
Broker or Server |
Rendering Engine |
XML |
Result |
XML Query |
User dependent Style Sheets and Rendering engines |
Rendering Engine |
XML result |
HTML |
Objects |
Universal Interfaces |
IDL or Templates |
Some sort of activity involves interactions between objects and/or objects and individuals (which can be thought of as objects as well if you want) |
Interaction can be synchronous as when individuals talk to each other; parallel program components exchange MPI messages
|
Or asynchronous when sharing is done at different times |
I post a web page and you look at it later is basic asynchronous sharing model while writing on a blackboard is hallowed synchronous model in teaching
|
This implies choosing a rendering method that best suits client user and respects
|
e.g. Visually impaired would prefer audio rich rendering |
e.g. Muscularly limited users would need appropriate interfaces |
New Cascading Style Sheets can express this but need intelligent renderer to make correct decision and allow user to adjust choices |
Further one needs decision at the stage of XML input and not after it has already been rendered into HTML
|
Assume goal is equal and high quality rendering -- do not downgrade material to support cross disability rendering |
Assume teachers, students, engineers, shoppers, salespersons, families teach, learn, collaborate, buy, sell, socialize via electronic versions of traditional human interactions combined with shared objects rendered as web pages
|
One needs to be able to
|
So web documents are the natural choice but actually this doesn't say so much as they can have
|
And "everything" exports itself to the web including Microsoft Word and Macromedia authoring systems
|
So we will consider first Web documents constructed according to W3C DOM |
Well there is the battles between Sun Netscape and Microsoft which makes Java on the client less robust than Java on the server |
However Java allows to build totally general users interfaces and there appear to be no rules. |
Thus it does not seem practical to build cross disability interfaces for arbitrary Java applet interfaces |
On the other JavaScript and dynamic HTML can do many things that you might have thought one needed Java for |
General Java visual interfaces need languages such as UML to describe interface object model? |
Web-linked databases look "just" like web pages and in fact using XML templates one can store DOM components in database and improve object structure of pages
|
On the other hand, current Lotus Notes supports a web client but does not naturally integrate with other web resources
|
One needs to certainly share the basic page URL but also
|
JavaScript in principle allows one to identify relevant DOM components , change the rendering through choice of style attached to each component and so deliver a cross disability shared rendering |
Here is an example of a particular source document encoded in HTML: |
<HTML> |
<TITLE>My home page</TITLE> |
<BODY> |
<H1>My home page</H1> |
<P>Welcome to my home page! Let me tell you about my favorite composers: |
<UL> |
<LI> Elvis Costello |
<LI> Johannes Brahms |
<LI> Georges Brassens |
</UL> |
</BODY> |
</HTML> |
Component Objects in Web Page |
Shared Pointer added to Internet Assistant PowerPoint on the Web |
Movement tracked and shared with JavaScript |
Illustrates sharing of W3C Object Model internal to documents |
DHTML "Heartbeat" recording shared events in last 60 seconds on application specific "bar" which is locked above all windows -- addresses window clutter |
Shared Multiple List |
Shared Buttons |
Shared Text field |
Shared Checkbox |
Design of (possibly new as exploiting new possibilities) curricula |
Decide on Architecture of the curricula material |
Authoring of material in curricula |
Managing the material and students response to it including quizzes, grades and administration |
Delivery of the material in a mix of self-paced (asynchronous), traditional (synchronous) or collaborative (interactive) |
Good answers to all these components are pretty clear and these answers will match the evolution of web over next few years
|
So all we need is ....................... |
Organizations with appropriate mission, resources and entrepreneurial spirit to do the grand experiments, succeed and blossom in the future .... |
Can offer "Certificates in Internetics or Computational Science" (Total of 4-6 or 1-2 semester classes respectively) |
Can offer internally Web and Java classes for K-12 level -- teaching Java Academy to Boston, Houston Syracuse and Starkville every saturday |
All these courses are in form suitable for synchronous/asynchronous delivery |
Taught two semesters from Syracuse over Internet a Senior Undergraduate Class in Java for web applications at Jackson State Mississippi using Tango collaboration system. Next 2 semesters teaching graduate computational science and Internetics |
Can combine with local CDROM of curricula material |
Have specialized programming laboratories for both Web and parallel programming -- Jackson students do ALL work from a PC at JSU accessing resources at Syracuse |
Taught using Tango over Internet and defense high performance network DREN every Tuesday and Thursday from Syracuse
|
Jackson State major HBC University with many computer science graduates |
Do not compete with base courses but offer addon courses with "leading edge" material (Web Technology, modern scientific computing) which give JSU (under)graduates skills that are important in their career
|
Needs guaranteed 30 (audio) to 100 (video) kilobits per second bandwidth assuming course material mirrored at JSU
|
NPAC Web Server |
JSU Web Server |
Java Tango Server |
....... |
Share URL's |
Audio Video |
Conferencing Chat Rooms |
White Boards etc. |
Address at JSU of Curriculum Page |
Teacher's View of Curriculum Page |
Student's View of Curriculum Page |
Participants at JSU |
Teacher/Lecturer at NPAC |
....... |
Java Socket |
HTTP |
Java Control Clients |
Educational Objects i.e. |
Data Defining Curricula Material at all levels from "University" to "foil" |
Server side |
Java(JDBC) |
XML Parser |
Servlet |
Metadata |
WebWisdom XML Template Server |
Conventional XML/HTML Pages |
Dynamically Generated |
(IMS/ADL) Metadata |
Streaming Audio/Video |
Cross Disability Shared Choice of CSS |
Templates Defining in XML How educational data stored in Pages |
Share with TangoInteractive |
JavaScript API |
Conventional Web Site |
WebWisdomDB Database |
Educational Object Manager |
XML Template |
Server |
(A)Synchronous Access via Cross Disability JavaScript |
TangoClient |
TangoServer |
WebWisdom Synchronous and Asynchronous Learning System |
TangoInteractive Collaboration System |
Enhanced DHTML |
Server (add pointers etc.) |
Unstructured Data |
Structured Data |
WebWisdom |
Shared Database |
Chat |
Shared Browser |
Audio Control |
Tango Control App |
Universities "specialize" and deliver courses in areas of expertise
|
JSU will lead HBCU wide deployment |
NPAC is studying use internationally |
Pilot for distance training for DoD |
Professors |
Students |
Common Shared Books and Such Resources |
Done separately for each class at each university |
Professor from Univ. 1) |
Outside |
Students |
Common Shared Books Web based Lecture Material |
and Similar Resources |
Each University teaches a given class to all Students Universities divide classes up among themselves |
Local Students |
INTERNET |
Class I is |
given by |
University 1) |
to students |
at 1,2,3) |
3) |
2) |
Students liked the job relevant skills taught |
Important to have curricula mentor and technology expert at remote site; important to visit 2 or 3 times a semester |
Digital Audio/video less stressful to lecturer than speaker phone |
"Shy" students are helped by remote format as digital interactions are "personality neutral" |
Need to keep to the point -- digressions, which are often helpful in standard lectures, tend to lose students -- help with shared cursor |
Need to keep everything synchronized |
Chat stores up messages to answer at end of "current object" |
Teacher can browse ahead 1 or more foils as "thumbnails" |
Experiments were successful but conservative -- we deliberately tried to reproduce "time honored approach" -- we can expect there to be different optimal approach in distance case than in face to face case -- find by more experiments! |