Full HTML for

Basic foilset Distance Education: How to do it

Given by Geoffrey C. Fox at DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle on June 7 99, June 14 99, June 20 99. Foils prepared July 9 99
Outside Index Summary of Material


We describe some use of object web technologies to both author and deliver distance education and training
  • We describe integration of asynchronous and synchronous/interactive learning
  • We describe role of databases, Java Applets and different authoring packages
This model will succeed because it will provide more cost effective and higher quality learning environments
It disassociates dormitory, mentoring and teaching roles of Universities and puts them in competition with for profit training organizations
It can be done now but there are important business issues concerning issuing certificates that are recognized as valid for credit indicators by "real universities"
  • What will be the cost/price of distance degrees?

Table of Contents for full HTML of Distance Education: How to do it

Denote Foils where Image Critical
Denote Foils where Image has important information
Denote Foils where HTML is sufficient

1 Distance Education How to do it .....
2 Abstract of Cook Book for Distance Education
3 Challenge and Opportunity in Education and Training
4 Why use Distance Education and Training?
5 Traditional Model of Instruction
6 Better Model of Instruction
7 WebWisdom.org Education Curricula and Distance Delivery Activities
8 NPAC is Popular with AltaVista .....
9 Courses at Jackson State
10 Sample 1999 Java Academy Certificate
11 Role of Collaborative Objects in Education
12 Universal Shared Object Strategy
13 Tango WebWisdom Collaborative Business model for Education and Training
14 Architecture of Tango Distance Education
15 Some Definitions and Technology Notes I
16 Some Definitions and Technology Notes II
17 Screenshots of Tango Teaching Tools
18 Distance Learning with Tango
19 Buena Vista Audio/Video Conferencing
20 Simplistic Object Web View
21 Other Useful Distributed Objects
22 Basic Multi Tier architecture
23 The Ingredients of Web Based Education
24 Design and Architecture of Curricula Material
25 Future Design and Current Status of Curricula Material
26 Authoring the Curricula
27 4 Approaches to Authoring of Back End Resource I
28 4 Approaches to Authoring of Back End Resource II
29 Managing the Curricula I
30 Managing the Curricula II
31 LecCorder Lecture Recorder
32 WebWisdomDB Web linked Database
33 From HTML or PowerPoint to Database To Web
34 Setting Presentation Attributes in the Java Manager
35 Editing PowerPoint from the Database
36 Early XML Template exporting from database
37 XML used as a Template
38 Architecture of WebWisdomDB
39 WebWisdomDB XML Templates -- Example I
40 WebWisdomDB XML Templates -- Example II
41 Current NPAC Grading Database used to register Syracuse and Online Courses
42 Learning and Teaching the Curricula I
43 Learning and Teaching the Curricula II
44 What is Universal Acccess / Cross Disability Rendering?
45 If you believe these assertions
46 What Objects should we look at first and what services do we need? (a.k.a. why do we only need to study web pages)
47 What's wrong with Java Clients?
48 Shared Simulations -- Fluid Flow and Planetary Motion
49 So what do you do I?
50 So what do you do II?
51 What is Involved in Sharing Web Pages?
52 Document Object Tag Hierarchy
53 Hierarchical Object Components in a Web Page
54 XML and Document Object Model
55 W3C Document Object Model Level 1
56 Collaboration I
57 Collaboration II
58 Collaboration Architecture
59 JavaScript Shared Browser with Dynamic HTML I -- "Pure" Client Event
60 Shared Form Illustrated by Shared Access to NCSA Biology Workbench showing how general server objects can be shared from web interface
61 Sharing Client Data is Sharing Server Side Objects
62 Basic JSSB Architecture
63 JSSB JavaScript Shared Browser I
64 JSSB JavaScript Shared Browser II
65 Some Cosmic Features of JSSB
66 Some Technical Difficulties
67 Is a variable defined?
68 Some Needed JavaScript Technologies
69 onUnload onLoad Events
70 Event Model in JSSB
71 Events have a Bunch of Properties
72 Other Capabilities of Event Package
73 Use of Events in JSSB
74 What Can, Will be or May be Shared
75 Archiving sessions
76 Preview and Review Capabilities
77 New Enterprise Models for Universities?
78 Where are we?

Outside Index Summary of Material



HTML version of Basic Foils prepared July 9 99

Foil 1 Distance Education How to do it .....

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
DoD Modernization Users Group Monterey June 7 1999
ACM Java Grande Meeting San Francisco June 14 1999
EDMEDIA Tutorial Seattle June 20 1999
http://www.npac.syr.edu/users/gcf/distedcookbookjune99
http://www.npac.syr.edu/users/gcf/msrcobjectsapril99
http://www.npac.syr.edu/tango
Geoffrey Fox
Syracuse University
NPAC
111 College Place Syracuse NY 13244 4100
3154432163

HTML version of Basic Foils prepared July 9 99

Foil 2 Abstract of Cook Book for Distance Education

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
We describe some use of object web technologies to both author and deliver distance education and training
  • We describe integration of asynchronous and synchronous/interactive learning
  • We describe role of databases, Java Applets and different authoring packages
This model will succeed because it will provide more cost effective and higher quality learning environments
It disassociates dormitory, mentoring and teaching roles of Universities and puts them in competition with for profit training organizations
It can be done now but there are important business issues concerning issuing certificates that are recognized as valid for credit indicators by "real universities"
  • What will be the cost/price of distance degrees?

HTML version of Basic Foils prepared July 9 99

Foil 3 Challenge and Opportunity in Education and Training

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Pervasive Communication Infrastructure (The Internet) and powerful new software technologies and concepts
  • Distributed Multimedia information on the Web
  • Web-linked Databases, Distributed Objects
  • Collaborative Systems
Can enable education and training with
  • Better curricula
  • New collaborative learning models
  • Different "business models" for universities and schools
Can also change/enable businesses, research, electronic societies
Need to implement so that
  • Can take advantage of the evolving web
  • Can be used by all independent of capabilities

HTML version of Basic Foils prepared July 9 99

Foil 4 Why use Distance Education and Training?

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
New and rapidly changing Academic Curriculum suggest the use of distance education as it will allow a few experts to deliver instruction to more students and this addresses both
  • The shortage of trained faculty
  • cost of developing new curriculum QUICKLY requires many students (say around 5-10 times traditional class) to amortize cost
Distance Education is technically sound based on web curricula-- both synchronously and asynchronously -- today with very robust clear implementations available over next 2 years
Both delivery mechanism and identification of knowledge nuggets (such as Internetics or computational science) that are smaller than a traditional degree suggests different approaches to certification
  • Courses are given, graded etc. by multiple organizations -- University integrate degrees?
Similar arguments for distance training with relative importance of synchronous and asynchronous learning differing by customer group

HTML version of Basic Foils prepared July 9 99

Foil 5 Traditional Model of Instruction

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Professors
Students
Common Shared Books and Such Resources
Done separately for each class at each university
Often
Low
Quality

HTML version of Basic Foils prepared July 9 99

Foil 6 Better Model of Instruction

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Professor at AVU
(AnyTown Virtual University)
with team of authoring specialists
Outside
Students
(dominant clientele)
Common Shared Books Web based Lecture Material
and Similar Resources
Institutions focussing on particular disciplines, teach a given class
to Students from Universities which provide beds and mentors
Possible local Students
INTERNET
Classes are
given by
AVU
to students
around
the state
(world)

HTML version of Basic Foils prepared July 9 99

Foil 7 WebWisdom.org Education Curricula and Distance Delivery Activities

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
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 taught 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
Have best delivery and distributed object web linked database

HTML version of Basic Foils prepared July 9 99

Foil 8 NPAC is Popular with AltaVista .....

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index

HTML version of Basic Foils prepared July 9 99

Foil 9 Courses at Jackson State

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Taught using Tango since fall 97 over Internet and defense high performance network DREN twice a week from Syracuse
  • Course material based on Syracuse Senior Undergraduate class CPS406(Web Technologies) and graduate classes CPS615/616(Base Computational science/Internetics)
  • Curricula, Homework, Grading, Facilities done by Syracuse
  • Students get JSU NOT Syracuse Credit
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
  • Job fair employers liked Java Programming!
Needs guaranteed 30 (audio) to 100 (video) kilobits per second bandwidth
  • Use a proxy server or mirror site
  • Actually get around one megabit/sec Syracuse to Jackson State

HTML version of Basic Foils prepared July 9 99

Foil 10 Sample 1999 Java Academy Certificate

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index

HTML version of Basic Foils prepared July 9 99

Foil 11 Role of Collaborative Objects in Education

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Learning is an example of an activity which can be thought of in terms of objects (digital audio streams when you talk, books, homework, science fair exhibits) worked on alone or together -- either between students or students and teacher
  • digital "togetherness" is supported by collaboration technology
Collaboration can be synchronous as when individuals talk to each other
  • Objects or object properties are shared at same time
Or asynchronous when sharing is done at different times
I post a web page and you look at it later is a basic asynchronous sharing model while writing on a blackboard is hallowed synchronous model in teaching
All objects can be thought of as web pages as these are rendering of a server side object
  • e.g. web page form elements specify data base access or CGI Script

HTML version of Basic Foils prepared July 9 99

Foil 12 Universal Shared Object Strategy

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Assume teachers, students, engineers, shoppers, salespersons, families teach, learn, collaborate, buy, sell, socialize via electronic versions of traditional human interactions combined with shared objects expressed in XML and rendered as web pages
  • Most sharing is asynchronous and one usually wishes to share synchronously same material that one accesses asynchronously
  • objects can be (electronic) text books, aircraft designs and simulations, expensive jewelry or photos of grandchildren
Only shared event model (used in Tango) of sharing (collaboration) is capable of necessary efficiency and customization to each user

HTML version of Basic Foils prepared July 9 99

Foil 13 Tango WebWisdom Collaborative Business model for Education and Training

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Universities "specialize" and deliver courses in areas of expertise
  • Provide all students and faculty with access to broader range of leading-edge courses
JSU is starting HBCU wide deployment
NPAC is studying use internationally
Pilot for distance training for DoD

HTML version of Basic Foils prepared July 9 99

Foil 14 Architecture of Tango Distance Education

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
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 Sockets
HTTP
Java Control Clients
All Curricula placed on the Web

HTML version of Basic Foils prepared July 9 99

Foil 15 Some Definitions and Technology Notes I

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Collaboration = Sharing
Asynchronous = Access to common Web and Database Information sources + simple tools (email, calendar)
Synchronous = Real time/Interactive sharing of information that can also be accessed asynchronously
An "object" is a "foil" or "screenful" -- natural unit of information that fits both computer screen and goal of focussed nuggets of knowledge
Client Side enhancements are a mix of Java applets (GUI), Java Applications (curriculum manager) and JavaScript (control web pages)
DHTML illustrates potential power of shared JavaScript with XML and HTML web pages but erratically supported by Version 4 browsers. Internet Explorer 5 has new W3C DOM support and will deliver on promise?

HTML version of Basic Foils prepared July 9 99

Foil 16 Some Definitions and Technology Notes II

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Use Conventional Web Servers and databases (a.k.a object brokers) as information sources
Server-side enhancements (Collaboration server, XML Curricula object processor) written in Java
WebWisdom(DB) refers to NPAC database of educational objects including individual Powerpoint foils and multimedia
Can collaborate with server or client side shared applications:
  • sharing web page which is say a GUI to backend supercomputer will share supercomputer program
  • quantify with XML specification of distributed objects
Tango Interactive is a collaboration system that can be applied to several applications
  • Shared Simulations are useful in training education and collaborative research (computational steering)

HTML version of Basic Foils prepared July 9 99

Foil 17 Screenshots of Tango Teaching Tools

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Old WebWisdom
Shared Database
Chat
Shared Browser
Audio Control
Tango Control App

HTML version of Basic Foils prepared July 9 99

Foil 18 Distance Learning with Tango

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Shared Java Educational Objects
There are many objects to be shared in a Tango distance education session
Shared JavaScript

HTML version of Basic Foils prepared July 9 99

Foil 19 Buena Vista Audio/Video Conferencing

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Shared C++ application Supporting multi point communication

HTML version of Basic Foils prepared July 9 99

Foil 20 Simplistic Object Web View

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
The Object Web Signifies the merger of distributed object and web technologies
The Pragmatic Object Web (POW) 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
  • registered, addressed, located
  • has properties and methods
The most common electronic 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
XML labels POW objects and is converted with style sheets to HTML as GUI for object

HTML version of Basic Foils prepared July 9 99

Foil 21 Other Useful Distributed Objects

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Contents of (relational) Databases -- give these a web interface and view as an XML (or HTML) stream
  • Web-linked databases use Java Software and W3C serialization (XML) and rendering technology (HTML)
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
  • Can be used by students for electronic labs
Electronic Mail Messages -- favorite form of collaboration
Server side Objects are accessed via Web pages and we just need to share the web page

HTML version of Basic Foils prepared July 9 99

Foil 22 Basic Multi Tier architecture

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
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

HTML version of Basic Foils prepared July 9 99

Foil 23 The Ingredients of Web Based Education

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Design of (possibly new as exploiting new possibilities) curricula
Decide on development strategy 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
  • The answers are not perfect but they will improve and they are already good enough and can be delivered at a distance

HTML version of Basic Foils prepared July 9 99

Foil 24 Design and Architecture of Curricula Material

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
So the architecture is that of a set of web accessible distributed objects which are designed to be as modular as possible
  • Natural size of basic "educational object" is about a screenfull
Initial design will be traditional -- include
  • Bunch of "foils" (electronic presentation)
  • Bunch of HTML pages (electronic book)
  • Bunch of multimedia dazzle (today's educational CDROM's)
  • The merger of above -- dynamic HTML and Java

HTML version of Basic Foils prepared July 9 99

Foil 25 Future Design and Current Status of Curricula Material

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Future design will include virtual environments and interactive simulations and these can only improve a situation that is already better than current teaching model because
  • Can teach at a distance more students than in a class.
  • Thus can invest more effort in curricula by the most appropriate developers and so get more up to date understandable curricula of a traditional type
  • distributed electronic object model allows for greater re-use than current system allowing development of customized courses for special audiences
  • Universal access technology will also allow optimization of delivery of given material to special groups of users
  • And of course distance education can reach users who otherwise would find it hard to attend quality classes

HTML version of Basic Foils prepared July 9 99

Foil 26 Authoring the Curricula

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
It would be good to use simulations and nifty animations and digital video if available
  • Simulations can be server side objects or client side (applets)
But in most real classes, use PowerPoint or HTML (with various levels of sophistication in editor)
  • Using COM can store individual foils of PowerPoint in a database
At the high end, currently use Macromedia Director or equivalent technology but this is transitory as not the web?
Only use technologies that support very good web export that respects W3C object model with clear structure (i.e. XML)
Build educational objects that can be stored in a database and exported as HTML/XML using some template
Store video and images in multi-resolution format to accommodate different curricula quality/network bandwidth tradeoffs
Expect authoring tools to improve

HTML version of Basic Foils prepared July 9 99

Foil 27 4 Approaches to Authoring of Back End Resource I

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
In order of increasing sophistication; cost; preparation time and presumably also in increasing learning value
"Low-end" typified by simple HTML and PowerPoint. Of course hand written notes and postscript are even less sophisticated but these are getting less important.
"Enhanced Low-end" typified by audio or video over web pages. Not clear how editing is possible/desirable
  • This can be viewed as a pragmatic way of capturing details from the busy lecturer who does not have the time to carefully prepare a more sophisticated resource.
  • NPAC LecCorder technology institutionalizes this

HTML version of Basic Foils prepared July 9 99

Foil 28 4 Approaches to Authoring of Back End Resource II

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
"Medium End" such as WebCT or Cornell Virtual Workshop where one provides knowledge at different levels of detail, glossaries, quizzes and dynamic instructional nuggets.
  • This will be done in modern fashion using Java , XML plus Dynamic HTML and be dominant approach
"Traditional but in my opinion clumsy High End" such as the classic Multimedia CDROM ( or its web equivalent) prepared by sophisticated authoring tools such as Macromedia Director and with possibly professionally produced videos.
  • Too much effort that this will have no value in long run as need to develop XML based documents with educational not Macromedial definitions

HTML version of Basic Foils prepared July 9 99

Foil 29 Managing the Curricula I

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
So as we have stored all our material in a database, managing it is equivalent to building an administrative support system for the database
  • Administrative system is built in usual way as "business logic Javabean middleware" running on a server and accessed from some web client
Web export from database should support Educom's IMS standard for metadata to allow convenient webwide searches of repositories
One needs special modules that accommodate
  • PAPI or Personal and Performance Information
  • Submission of homework of diverse nature
  • Laboratories including both programming and science labs
  • Producing composite lectures from collections of base educational objects (re-use)
  • More research needed on assessment tools

HTML version of Basic Foils prepared July 9 99

Foil 30 Managing the Curricula II

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
One needs database technology for
  • Storing raw curricula material with facilities to re-use, edit, produce summaries, re-order etc. WebWisdomDB
  • Archiving multimedia learning sessions LecCorder
  • Managing the students PAPI: grades, homework and personal data NPAC Grading Database and Tango Personal Identity Module
One needs web-linked seamless computing to support programming assignments Using older NPAC VPL written in JavaScript to allow web access to computer cluster for HPF and MPI (DoD Gateway activity should produce better technology)

HTML version of Basic Foils prepared July 9 99

Foil 31 LecCorder Lecture Recorder

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Database must archive lessons with LINKED curricula material and multimedia delivery
LecCorder is integrated hardware & software system and will record live trainings or digitize taped events & publish on web quickly and easily as "foils over audio/video"
Minimal human intervention
Java viewer
In progress...
  • video server back-end for random access & search capabilities
  • Converter for Real Audio/Video format
  • Integration with WebWisdomDB courseware database system
  • Support for Pointer events
Note MPEG, H263, Real Video versions.....

HTML version of Basic Foils prepared July 9 99

Foil 32 WebWisdomDB Web linked Database

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Over the last 2.5 years I have put 715 foilsets and over 28000 foils on the web supported by Perl Scripts and JavaScript Display (including 2000 family photos)
  • Included "play lists","multiple views","integration with Tango"
  • Hard to manage and deploy elsewhere
  • 10,000 pages hit per day
WebWisdomDB abstracts lessons to a Oracle database backend and a dynamic HTML front-end (see later)
Database stores Microsoft (COM) or W3C "Document Object Model Components" including HTML PowerPoint with each slide/page separately stored and editable from database
Reconstructs dynamic pages using XML templates to view or print or write to CDROM .....
Has Java Manager to support play list and arrangement in hierarchical "FoilWorlds"

HTML version of Basic Foils prepared July 9 99

Foil 33 From HTML or PowerPoint to Database To Web

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index

HTML version of Basic Foils prepared July 9 99

Foil 34 Setting Presentation Attributes in the Java Manager

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Set Metadata for "Presentation" == Lecture

HTML version of Basic Foils prepared July 9 99

Foil 35 Editing PowerPoint from the Database

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
FoilWorld Tree

HTML version of Basic Foils prepared July 9 99

Foil 36 Early XML Template exporting from database

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Will replace by new
dynamic HTML Interface

HTML version of Basic Foils prepared July 9 99

Foil 37 XML used as a Template

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
WebWisdomDB is accessed via the TESS servlet which processes XML templates allowing general pages to display database contents
XML embedded as part of HTML "Web Page"
URL of Web Page invokes Servlet
e.g. http://witch.npac.syr.edu/servlet/TDLServlet/witch/index.tdl?USID=67
Servlet leaves HTML untouched but calls Java Methods to process XML tags
This Servlet processes <WW_... tags -- others are left for other servers or browser

HTML version of Basic Foils prepared July 9 99

Foil 38 Architecture of WebWisdomDB

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
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

HTML version of Basic Foils prepared July 9 99

Foil 39 WebWisdomDB XML Templates -- Example I

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
<!-- WW_CONNECT is a tag that establishes a connection to the database. Connection string may be supplied in the CONNECTION attribute, or if it is omitted (empty string) the default connection string is taken from properties.txt file for current template.-->
<WW_CONNECT CONNECTION=""/>
<html> <head> <title> Separate IMAGE for LOCAL foil
<!-- WW_FOILNUMBER tag takes the position of the current foil in the current presentation. -->
<WW_FOILNUMBER PARENTID="${PID}" FOILID="${FID}"/>
<!-- WW_TITLE is a tag that allows to insert title of a presentation or foil. The presentation/foil is identified by an ID supplied in FOILID attribute. PARENTID is not currently used by the WW_TITLE tag, but can be later used, e.g. to check the formatting properties, which can be defined on the presentation level. FID and PID were supplied by the servlet from query attributes of the URL -->
Yellow is ordinary HTML, Green XML, White Comments

HTML version of Basic Foils prepared July 9 99

Foil 40 WebWisdomDB XML Templates -- Example II

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
<WW_TITLE FOILID="${FID}"/>
</title> </head>
<!-- WW_BODYIMAGE inserts a 'body' HTML tag with background image typical for foil files. -->
<WW_BODYIMAGE/>
<tt><a href="#image">Image</a><a href="#buttons"> Buttons</a> </tt> <b>
<WW_LINK FILENAME="temphelp.tdl" ATTR="">HELP!</WW_LINK> * GREY=local</b><tt> LOCAL IMAGE version of Foils prepared
<!-- WW_MODIFICATIONDATE inserts modification date of the current foil -->
<WW_MODIFICATIONDATE FOILID="${FID}"/> </tt>
...... And So On!

HTML version of Basic Foils prepared July 9 99

Foil 41 Current NPAC Grading Database used to register Syracuse and Online Courses

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index

HTML version of Basic Foils prepared July 9 99

Foil 42 Learning and Teaching the Curricula I

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
So the students need to learn the material and they may need some sort of help from a teacher or mentor
In self paced or asynchronous learning, student studies material in his or her own time and essence of this is a web site which may of course be generated from a back-end web-linked database
  • optimal for highly motivated mature students such as those in continuing education
  • electronic version of using a library
In synchronous learning, teacher selects material from website and delivers it in electronic virtual class rooms
  • Homework is set from same website which remains a base asynchronous resource
  • Natural when teachers insight delivers motivation and clarification of key material to student
  • electronic version of traditional classes

HTML version of Basic Foils prepared July 9 99

Foil 43 Learning and Teaching the Curricula II

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
In collaborative learning, teachers, assistants, students and the web resource interact in an electronic collaboration system
  • Seems particularly valuable in K-12 arena
  • Also natural model for collaborative research
Note systems like Lotus Notes are "just web-linked object brokers" from this point of view (and again should be avoided as not built around modern object models)
All approaches use basic asynchronous tools such as electronic mail, bulletin boards and searchable repositories
Can record synchronous sessions for later asynchronous replay
One need not chose any one approach as can support all of them with a (preferably database back ended) web site linked to a suite of collaboration tools
Note just as we can link asynchronous--synchronous--collaborative, we can also link education and training
  • Note modular educational objects naturally support smaller units of achievement certificates

HTML version of Basic Foils prepared July 9 99

Foil 44 What is Universal Acccess / Cross Disability Rendering?

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
This implies choosing a rendering method that best suits client user and respects
  • Any hardware constraints -- network bandwidth or screen resolution or client performance
  • Any sensory or physical limitations of user
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
  • HTML expresses "meaning of document" by positioning and other means which are in general impossible to recognize and render in a cross disability fashion
Assume goal is equal and high quality rendering -- do not downgrade material to support cross disability rendering

HTML version of Basic Foils prepared July 9 99

Foil 45 If you believe these assertions

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
One needs to be able to
  • Share specification of object (event model of collaboration)
  • Deliver XML specification of shared object to participants
  • Provide engineered "Knowledge Patches" which are annotated modules with rich indices/metadata corresponding to 30 to 180 minutes lectures --
  • Customize User profile
  • Render from profile to provide cross disability access
  • Provide digital versions of audio video conferencing, pointers, white boards etc.
  • Reliably deliver shared object with appropriate performance (Caching, proxy servers ...)
  • Monitor all of the above

HTML version of Basic Foils prepared July 9 99

Foil 46 What Objects should we look at first and what services do we need? (a.k.a. why do we only need to study web pages)

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
So Web documents are the natural choice but actually this doesn't say so much as they can have
  • Java Applets
  • Active X controls
  • General helper applications
And "everything" exports itself to the web including Microsoft Word and Macromedia authoring systems
  • Actually Microsoft Word is rumored to be moving to XML internal form and "Save as HTML" is a reasonable representation of most Word documents
So we expect dominant model to be Web documents constructed according to W3C DOM

HTML version of Basic Foils prepared July 9 99

Foil 47 What's wrong with Java Clients?

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
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 and nothing equivalent to style sheets in HTML/XML.
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?

HTML version of Basic Foils prepared July 9 99

Foil 48 Shared Simulations -- Fluid Flow and Planetary Motion

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index

HTML version of Basic Foils prepared July 9 99

Foil 49 So what do you do I?

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Author Curriculum using NO specialized systems
  • Use pure (D)HTML, PowerPoint with Java applets for necessary interactive components
  • Or put in database, (XML) file and map into above
  • For Java, interface to Tango API for sharing or automate with TangoBean
Add pointers and other such "WebWisdom" helpful DHTML capabilities (we will provide a filter)
HTML Pages can be screenfuls (best?) or scrolled
Put material on Web Server or CDROM; intersperse with other asynchronous resources

HTML version of Basic Foils prepared July 9 99

Foil 50 So what do you do II?

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Give your students URL of system
If desired use registration database
Set up necessary infrastructure with collection of individual machines and/or class rooms
  • teacher should/could have multiple machines to provide less cluttered display
In a class room, establish proxy server and central machine for audio/video conferencing
  • Note Tango is useful just in a classroom as each student gets a better quality display than many central displays
Test system for
  • Correct installation of multimedia
  • Quality of Service
Decide on applications e.g. multiple chat rooms (teacher--students, "chitchat", "support") and their control

HTML version of Basic Foils prepared July 9 99

Foil 51 What is Involved in Sharing Web Pages?

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
One needs to certainly share the basic page URL but also
  • Entries into forms specifying object to be accessed -- note sharing client side information implies sharing server side objects
  • Scrolled position on page
  • Dynamic HTML including CSS style parameters such as position
  • Mouse and Keyboard actions observed as events
  • selected (highlighted) content
  • internal JavaScript (but this is consequent to external actions i.e. to observed events)
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

HTML version of Basic Foils prepared July 9 99

Foil 52 Document Object Tag Hierarchy

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Need good support of Web Document Object Model (in both system and developed curriculum) to support event sharing model, customization of cross disability rendering to document fragments
Events are Form Data Changes,

HTML version of Basic Foils prepared July 9 99

Foil 53 Hierarchical Object Components in a Web Page

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Here is an example of a particular source document encoded in HTML:
<HTML>
<TITLE>My Technology home page</TITLE>
<BODY>
<H1>My biased technology home page</H1>
<P>Welcome to my home page! Let me tell you about my favorite technologies:
<UL>
<LI> Java/Jini
<LI> W3C/XML
<LI> CORBA/IIOP
</UL>
</BODY>
</HTML>
Component Objects in Web Page

HTML version of Basic Foils prepared July 9 99

Foil 54 XML and Document Object Model

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
<student stdid="A1231999"> <name>Bugs</name> <surname>Bunny</surname>
  • <address> <street>Walnut</street> <city>Carrotville</city>
  • <country>Cartoon Land</country> </address>
  • <phones> <aphoneɭCC-615-AD123</aphone> </phones>
</student>

HTML version of Basic Foils prepared July 9 99

Foil 55 W3C Document Object Model Level 1

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index

HTML version of Basic Foils prepared July 9 99

Foil 56 Collaboration I

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Collaboration implies sharing of electronic objects and is needed in asynchronous and synchronous modes
Asynchronous mode is
  • shared web pages and documents
  • electronic mail
Notification and linkage service
  • one associates with each group activity a "magic ID" (barcode or unique JINI identification)
  • every digital object associated with this activity registers itself when it comes on line with some registry (registry can be distributed). A given object may have multiple barcodes attached to it
  • Either users or Portals (PSE's) register interest in certain barcodes
  • The (Portal) event service notifies registered observers when a digital object of interest becomes available

HTML version of Basic Foils prepared July 9 99

Foil 57 Collaboration II

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Notification mechanism enhances collaboration as enables dynamic federation of relevant objects to be automatically maintained
  • Kodak would like this service to group together digital versions of photographs taken at particular events (e.g. a wedding)
Notification can be used for people so their presence on-line can be made known to those in particular collaborative users
Users decide if notification causes an active signal (send electronic mail, ring a buzzer) or passively alters a list on a web page.
Event Model unifies synchronous and asynchronous models of collaboration
  • Event either triggers action immediately and/or asynchronously ( sending e-mail immediately is synchronous act generating asynchronous record)

HTML version of Basic Foils prepared July 9 99

Foil 58 Collaboration Architecture

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Collaboration involves federation of event services between different "event domains"
Note client events can specify a server access

HTML version of Basic Foils prepared July 9 99

Foil 59 JavaScript Shared Browser with Dynamic HTML I -- "Pure" Client Event

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Shared Pointer added to Internet Assistant PowerPoint on the Web
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
More Powerful than Java Shared Browser but currently less reliable
Partly as software newer and
Partly as DHTML Browser support fragile

HTML version of Basic Foils prepared July 9 99

Foil 60 Shared Form Illustrated by Shared Access to NCSA Biology Workbench showing how general server objects can be shared from web interface

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Shared Multiple List
Shared Buttons
Shared Text field
Shared Checkbox

HTML version of Basic Foils prepared July 9 99

Foil 61 Sharing Client Data is Sharing Server Side Objects

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Events on client are form data specification and "submit" button to invoke
Server Side CGI Script

HTML version of Basic Foils prepared July 9 99

Foil 62 Basic JSSB Architecture

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Null Window Holds All
Permanent
Data
Tango
Launches and Positions auxiliary windows
Cannot be signed Cannot do SetTimeout
(has LiveConnect restrictions)
Clock and Event Record
Signed JavaScript Capture Events Control Clock
and Inspect Shared Page for events
Shared Page is a frame
Dummy Page
Position Control Bar
Can be Destroyed without restarting Tango Session

HTML version of Basic Foils prepared July 9 99

Foil 63 JSSB JavaScript Shared Browser I

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Originally we used in all our teaching WebWisdom which was a specialized JavaScript Shared Browser
  • Master "knew" URL of pages to be shared and sent this to nonmaster
  • Very precise but required preparation of pages adding properties (such as JavaScript variables specifying current and next URL)
Pages used by WebWisdom prepared by Perl program which has been generalized to database
  • This strategy is good where pages prepared dynamically from database but not all pages will have this property
Thus need to find URL (and other properties) by inspecting document object on master page

HTML version of Basic Foils prepared July 9 99

Foil 64 JSSB JavaScript Shared Browser II

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Current Java SB determines URL changes by inspecting URL on Master in a "tight loop" (currently once every half a second one invokes code to inspect web page state including URL)
New JSSB uses same strategy but adds capabilities by inspecting further document properties such as scrolling position, forms and links
  • Should be much better in Internet Explorer 5 but current version does more or less work
  • Current version is Netscape ONLY as Tango1.4 is Netscape 4.5 only and DOM/Security very different in version 4 browsers
  • Uses heuristics to guess "next" foil and thumbnails ...
Note WebWisdom strategy is natural whenever one can control pages as when made from templates (as in WebWisdomDB) and we will link JS SB to database backend

HTML version of Basic Foils prepared July 9 99

Foil 65 Some Cosmic Features of JSSB

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Web Pages can access general server side resources which can either be specified by URL (web-linked database) or by data (input in form and/or calculated by JavaScript handlers) and URL.
  • So JSSB shares server side objects
Sharing forms and links and implied JavaScript generalizes to sharing the web page "object properties"
Thus JSSB becomes (TangoInteractive) synchronous sharing technology for W3C DOM (Document Object Model)
  • So JSSB shares client side objects
  • This is meant to be correct future architecture ........
There are some "standalone" capabilities of JSSB on a single machine with and without TangoInteractive
  • It can replay sessions including DOM events
  • One can view JSSB as either a monitor or as an "high level interface" to the DOM

HTML version of Basic Foils prepared July 9 99

Foil 66 Some Technical Difficulties

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Pages can change even if URL does not
  • Frames
  • CGI Scripts with POST mechanism
  • Reloading Page
  • Resizing Page
  • Client Side JavaScript
Pages can change due to:
  • Action within page (possibly a different frame)
  • Action from browser controls
Netscape allows no (known to me) rigorous detection of page changes

HTML version of Basic Foils prepared July 9 99

Foil 67 Is a variable defined?

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
One must NEVER access an undefined variable
  • if in JavaScript that is linked to LiveConnect, one gets a Java error which requires restarting Netscape .....
  • If in less sensitive JavaScript, execution of script stops and action unpredictable
Until page fully formed, any of its properties can be undefined
Modern JavaScript allows one to test if variables are defined and so avoid these errors
in a.b.c.d.e type reference, one must first test if a exists, then b, then ....
WWutility.js includes
  • WW_isdefined(property) returns true if argument is defined as a property or method
  • WW_isitawindow(possibleframe) returns true if argument is a window or frame

HTML version of Basic Foils prepared July 9 99

Foil 68 Some Needed JavaScript Technologies

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Signed Scripts to allow one to read data from general web pages
  • and also to make control bar always on top and narrow
Ability to "capture" events and either
  • take a snapshot of their properties to send to nonmaster
  • choose whether or not to accept default action (nonmaster must use cloneurl button to play around with page, as most mouse clicks ignored on shared page)
Most important events are CLICK and CHANGE but also allows one access to others (MOUSEOVER MOUSEOUT ONLOAD ONUNLOAD)
  • Scrolling , window size specified by system variables

HTML version of Basic Foils prepared July 9 99

Foil 69 onUnload onLoad Events

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
With <body onload="signifyload()" > signifyload is called when page is fully loaded and DOM fully constructed
  • For general pages use if(WW_isdefined(document.forms)) and count number of forms, images, links, layers. When count stabilizes, page is loaded
  • WebWisdom pages all have an onload event handler which inter alia registers with JSSB
for unloading, one can either
  • a) set onunload handler of general pages after they are loaded and make this handler signify (detected immediately)
  • b) set framewindow.WW_dynamicvariable = 1 (say) and then page is unloaded after one finds this variable undefined (detected in loop every .5 second)
These heuristics are used to estimate total load time of each page and report this to user or session master
  • Thus one can produce quite a detailed network and client environment status display for teacher (network administrator)

HTML version of Basic Foils prepared July 9 99

Foil 70 Event Model in JSSB

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
JSSB implements the "shared web event model" of collaboration!
Major Events are page or frame loads
Minor Events are form button clicks, pointer movement etc.

HTML version of Basic Foils prepared July 9 99

Foil 71 Events have a Bunch of Properties

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Events have properties which are captured archived and passed between machines by JSSB
JSSB includes functions to print events either to Java console or to a spawned web browser page
This allows one to specify type (string, integer ..) of properties
This allows one to allow an event to include arrays of "child" events

HTML version of Basic Foils prepared July 9 99

Foil 72 Other Capabilities of Event Package

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Serialize events as an Ascii string -- used to transmit via TangoInteractive and to archive events as values of hidden fields in History Page
  • "escape" values of string properties
  • recursively allow "child events" (arrays)
Deserialize, Initialize, Clone, Compare .....
  • Compare events to remove redundant heartbeats
Should probably be done using XML but currently simple adhoc protocol
  • there is a JavaScript XML parser

HTML version of Basic Foils prepared July 9 99

Foil 73 Use of Events in JSSB

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
All major events are generated from minor events
  • Directly if minor event specifies a new URL
  • Indirectly if minor event specifies a form or URL click
  • Need heuristic in "general pages" to link major events to minor events
Minor events are sent by master via Tango to nonmasters
Minor events are NOT immediately processed in nonmaster but rather queued
  • otherwise events such as "set form text field" must be thrown away if page not ready to receive
Queues processed in two ways
  • WebWisdom minor events are queued in JSSB but processed in WebWisdom page that uses them
  • Other minor events are processed in order by JSSB in same loop that inspects page URL's

HTML version of Basic Foils prepared July 9 99

Foil 74 What Can, Will be or May be Shared

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Clicks on form/link in layers or frames
Specialized application dependent events as in shared pointer or games
  • i.e. events can have default or user action
mouseover and mouseout ...
Can veto default action on clicks or other events on nonmaster side
  • Don't know how to veto changes on nonmaster
Save Form Contents at any time
  • can reload any dump at any time
Resizing so master and nonmaster have same scaling
Scrolling
Sharing can be customized from dialog window
Note JSSB knows where each nonmaster is in event queue and has information on download times
  • This will be sent to master to produce status display
JSSB does monitor nonmaster page to detect unwanted page changes (I can capture clicks on Page links but not on "back button" )

HTML version of Basic Foils prepared July 9 99

Foil 75 Archiving sessions

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
One can archive a session by "saving from Netscape" the History Page where all events (or a subset) are recorded in serialized fashion in hidden fields
Session can be restored (or added to existing events) by loading history page from a local file with archived information
Note events include timing information and so archives should be linkable to LecCorder
Sessions can be replayed from master or nonmaster either locally or for broadcast

HTML version of Basic Foils prepared July 9 99

Foil 76 Preview and Review Capabilities

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
The original WebWisdom JavaScript Shared Browser used "self-defining" pages which defined lots of useful information including
  • Thumbnail Image location
  • URL's of Preceding Foils (for student)
  • URL's of Following Foils (for teacher)
JSSB uses heuristics to determine similar information under user control. It looks at page DOM to find Image URL's which look as though they form a sequence such as
  • .../img001.jpg ../img002.jpg
This heuristic works for Family Photos supplied by online photo processors, PowerPoint web export, WebWisdom generated pages etc.

HTML version of Basic Foils prepared July 9 99

Foil 77 New Enterprise Models for Universities?

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
Distance Education is technically sound -- both synchronously and asynchronously -- today with very robust clear implementations available over next 2 years
Separate teaching mentoring and dormitory role of University
Teaching and grading naturally performed by centers of excellence which need at least an order of magnitude more customers than a single faculty in order to be able to justify investment in course preparation and maintenance
Continuing Education of growing importance and natural area to attack first -- corporate training is serious competition here and commercial deliverers have advantage?
Not obvious that will save large amounts of money as students will need more not less mentoring in today's information-overrich world -- quality of educational experience will become more uniform and better

HTML version of Basic Foils prepared July 9 99

Foil 78 Where are we?

From Distance Education: How to do it DoD HPC Modernization Users Group Tutorial Monterey California, ACM Java Grande San Francisco, EDMEDIA Seattle -- June 7 99, June 14 99, June 20 99. *
Full HTML Index
We are meant to be short of employees trained in many important areas -- in particular computer science
Syracuse has a few good course but Courses are incomplete and hard to keep up to date.....
Nationally there is a complete set of excellent courses but most universities cannot offer quality complete program
Technology for distance education is proven in concept and improving in robustness and functionality
Networks are increasing in bandwidth ...
This will lead to much better learning environments and total happiness for students ........
There is one minor problem! Most Existing Universities and K-12 Establishments (Unions ..)will oppose this
They will accept my courses if given as Syracuse University but not if done through www.webwisdom.org

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Fri Jul 9 1999