Exam 3 Answers Explained

Collaborative Tools Exam
IE 499C
Fall 2001

Please circle the letter in front of the best correct answer for each of the following ten questions:

1. The emergence of the World Wide Web advanced collaborative software tools most by:

A. popularizing existing networking standards for collaborating across organizational boundaries.
B. providing new graphics standards to increase information clarity
C. enhancing the usability of peripheral input devices
D. providing real-time human language translation services upon demand

The Web finally got the networking standards of the Internet distributed across
operating systems which then allowed collaborative tools use to thrive.
Just remember it is all about messaging. The Web did not provide
new graphics standards but did popularize existing JPEG and GIF standards.
The Web did not enhance usability of peripheral devices. Those devices
were enhanced by the drivers used to primarily interoperate with the
operating system. The Web didn't really provide language translation
services though you can access the servers of people who have via the Web.
(And, some think the networks of the future will have human translation
services built-in (the Web does not)). The overall messaging (networking 
standards) is a couple of magnitudes more important than human language 
translation so far.

2. Which of the following technologies could be used to reproduce most of the same services the others provide:

A. JavaScript
B. Java
C. Web Browser
D. HTML

Java is the only one of the four that is a full-featured programming language.

3. When considering the five technologies we relied upon in delivering Project 1, TCP/IP is the most specific and narrowly 
   focused. What does TCP/IP provide to collaborative tool designers?

A. An unreliable networking protocol that organizes bits into higher level packets for delivery over multiple routes.
B. An unreliable networking protocol that organizes bits into higher level packets for acknowledged delivery over a single 
   negotiated route.
C. A reliable networking protocol that organizes bits into higher level packets for acknowledged delivery over a single 
   negotiated route.
D. A reliable event model for responding to user actions such as mouse movement or keyboard input.

I was able to get a surprising number of students to answer one of the unreliable
answers (A or B). That is surprising. Our project totally depended on each chat message and whiteboard
stroke being communicated reliably (the TCP stands for Transmission Control Protocol which is like a 
Gastapo traffic cop). Otherwise, different participants might see different things on their monitor 
and communication would be stifled.                     
                     
4. Habanero, made popular by the National Center for Supercomputing Alliance, should be considered when a 
   collaborative tool designer wants to quickly

A. enable a Java-based collaborative tool in a Web browser.
B. share user events in a Java-based collaborative tool among sophisticated users who already understand both Habanero 
   and application use.
C. rapidly extend the C and C++ code-base which is prevelant in the most popular Web browsers.
D. implement the various Java-based scientific controls (like a latitude/longitude visual input dialog box) that Habanero 
   makes available to scientific collaborative tools.

Habanero applications do NOT run in a Web browser. They run in the Habanero
environment (an application) that provides the Web browser-like services that shared applications
require. Habanero most easily extends Java classes, not C or C++ (which can be done though, just
not in the Web browser in this case). Habanero does not provide any scientific controls. You can
share them via Habanero but YOU have to provide them yourself.                      
                      
5. Lotus Notes and Domino are a good example of the emergence of client-server design principals. Which statement best 
   describes their relationship.

A. Notes are Web based messages passed blindly by the Domino server to all those collaborators participating in a 
   discussion of a particular subject.
B. Notes are both Web and non-Web messages passed synchronously and asynchronously between members of a 
   scientific community relying on the highly scientific Domino server. 
C. Domino is an extensible messaging protocol used to share messages stored reliably on the Notes server.
D. Notes is an end-user environment for viewing messages and entering new messages that are mainly shared 
   asynchronously and stored in the Domino server's specialized text-centric database.

Notes are NOT passed blindly by the Domino server. The Domino server stores them
efficiently in its internal databases. The Domino server is not highly scientific and so the scientific
community is not the primary user of the technology. Yes, Notes are both Web-based and non Web-based
and yes they can be synchronous or asynchronous (most often). Notes is not the server-side technology, 
Domino is.                      
                      
6. The prevalent object-oriented design principles can best be learned better by studying which of the following branches 
   of science

A. Biology
B. Chemistry
C. Physics
D. Psychology

Thank you for ALL getting that one correct (the only answer you all 
got correct by the way).

The rest of the questions assume you are responsible for a code base where someone asks you to extend the system capabilities. Based on the enhancement requested of you, which part of the system will you be focusing on while designing and developing the code solution? The system is already operational and working spectacularly when you receive the request.

7. You have been asked to incorporate the actuarial tables for a collaborative tool that shows new personal life insurance 
   product cash value illustrations (which component would you be enhancing most).

A. Graphical User Interface
B. System Event Model
C. Calculation Engine
D. Messaging

A good number of you chose A and I can understand why. I only took off half
if you chose A. The actuarial tables are paper based tables (on sheets of paper) that are shared
within an insurance company. To update the cash value illustration system, you just need to 
implement the new tables in the calculation engine. The presentation would look identical: A
series of time/dates (such as years) with a cumulative cash value for each time/date.

8. You have been asked to incorporate the latest wand device for a shared immersive virtual environment platform that is 
   used to walk through a virtual factory (which component would you be enhancing most).

A. Graphical User Interface
B. System Event Model
C. Calculation Engine
D. Messaging

If you have new input buttons on a device, you would need to update the system event model
to map those events to actions (event handling routines). The GUI would not need to change.
The calcuation engine would not change. And, the messaging between clients does not change
(just the system event messaging within the application).

9. You have been asked to add a new dialog box to the Web-based controls of a shared electron microscope tool that 
   employees use to investigate flaws in miniature electronic devices (which component would you be enhancing most).

A. Graphical User Interface
B. System Event Model
C. Calculation Engine
D. Messaging

A new dialog box means a new GUI item (since dialog boxes are GUI components). There might be some 
calcuation engine work needed as well, but you don't know that for sure with the facts in 
the question.

10. You have been asked to incorporate a new server package for sharing data between clients of a shared 3-D modeling  
    tool (which component would you be enhancing most).

A. Graphical User Interface
B. System Event Model
C. Calculation Engine
D. Messaging

If you change the server package, you change the messaging to comply with that server package's
messaging specification. Nothing else within the application should change just because the
server package has.