Overview

A Computer-Mediated Human Communication System is one that provides ways for people to communicate with each other. Computers, and computer networks, have made it possible for people to communicate in ways that have never been possible before, and the thing I most enjoy doing in the world of software development is inventing, designing, and building such systems. Here are some of the more significant software systems I have built over the years. Other media and media subsystem efforts, including ForAgent, can be found in my compilation of agent software implementations.

This hypermedia space also features seperate lists of my software implementations, web and other hypermedia spaces, and efforts associated with the development of new communication media.

TurboConferencing (1996)

TurboConferencing (formerly MultiMedia Digital Community (MMDC)) is an web-enhanced audio teleconferencing system that should enable a broad range of large group multimedia applications. The current target application is audio teleconferencing itself, in which display content is most often faxed between participants in advance of the meeting. Enhancement of this environment with a web-based data channel should yield substantial benefits for both audio conference participants and for the service provider. First, a web scheduling interface will allow meetings to be scheduled without an operator, saving costs. Second, content to be displayed during the meeting can be posted to the conference server in advance as a "slide show" or accessed directly across the web. Users, attaching to the conference via the web, can then view that content in their web browsers as the speaker displays it, thus solving a host of distribution and logistical ("now turn to page ...") problems that are frequently encountered in the audio conferencing environment. Third, many problems that frequently require operator intervention during a conference (introducing new arrivals, solving noise problems, disconnecting problem participants) can be handled through the web interface by the moderator. Other problems, including floor control, are also readily resolved. A prototype of MMDC has already been shown.

Now an IBM product.  My concept. Developed as a concept in partnership with Colin Harrison, Steve Brady, and Asser Tantawi. Architected the Web-based data application, including the "meta-browser"/"web-projector" server and platform independent Java client. Designed and implemented a flexible client user interface oriented around a tag-based user interface language (UIML) (Help and BBMODEL were substantial design influences). Developed a small client-based proxy that controls the user interface and maintains a duplex persistent stream communication channel to the server. Developed an internet based installation and maintenance framework that allows automatic updating of the MMDC proxy. Built the client-based proxy and UI using JAVA in collaboration with Franco Marconcini. Other participants in the implementation of MMDC include Steve Brady, Asser Tantawi, Yurdaer Doganada, Giovanni Pacifici, Howard Operowski, Magda Mourad, and Edie Stern.

TOOLSRUN/Lotus Notes Gateway (1996)

The work environment in IBM is changing radically. The most notable of changes is the rapid movement from the VM-based work environment that has predominated in IBM since the mid-1970's and the LAN-based Lotus Notes and Web environments that are expected to predominate in the future. A major potential casualty, in this change, is the well developed asynchronous computer conferencing infrastructure that has interconnected IBM employees since the IBMPC conference disk opened in 1981. I have, at the invitation of the IBM CIO council, architected a gateway that will allow our existing VM Toolsrun computer conferencing and package repository environment to share conferences with a parallel Lotus Notes infrastructure. In the initial implementation, already underway, TOOLSRUN will retain the controlling role. Lotus Notes is expected to take on the controlling role within two years, however. This effort draws substantially on work that has already been done for Globenet, but also entails substantial new work oriented to the Lotus Notes API's and its databases, catalogs, and views. Led design effort. Continue to lead the implementation effort working with an interdivisional team that includes Bob Cronin (IGS), Kirk Beaty (Research), Sharon Edwards (Research), Thorne Ventura (PSP), Irv Spaulten and his OS/2 electronic support team (PSP), Marc Auslander (Research), and Peggy Frisch (IGS).

Enhanced ForBrows and ForBrows/2 (1994)

ForBrows was already an IBM product (via TALKLINK, before Globenet was conceived. It rapidly became the focal point of the user interface design, and the program has been substantially enhanced as a result. A new version, ForBrows/2, has been developed that has substantially enhanced navigational capabilities, an OS/2 Presentation Manager style user interface, and a repository access architecture that allows it to work, interchangeably, with TOOLSRUN and Netnews formatted data and servers. ForBrows/2 was once planned as the core of the SWS AutoBahn groupware conferencing product, and was nearly demoed at Fall, 1994 COMDEX. IBM's purchase of Lotus Notes has obviated the need for developing ForBrows much further, and while there is some discussion of updating the current ForBrows/2 for use in TALKLINK, no other development is likely. My design based on Dave Slauson's concept and original implementation. Implemented with Terry Heath.

Toolsrun/2 (1993)

Reimplementation of of the VM TOOLSRUN computer conferencing and repository management engine for LAN servers (e.g. OS/2 and UNIX) has been a goal of mine since the original design of CORE in 1988. Globenet, and the need to place the Globenet image on LAN servers, provided both a compelling reason and a funding basis for actually doing the work.

TOOLSRUN/2 is an object-oriented upwardly compatible re-implementation of TOOLSRUN that has been designed to ensure that the system would be portable, highly extensible, and able to support high transaction volumes using parallel and/or pipelined multi-processor architectures. TOOLSRUN/2 is written in ANSI-standard C++ to ensure a high degree of portability. Extensibility has been created through two entirely distinct mechanisms. The first is a pipe/socket architecture. This architecture allows repository administrators to capture and process input, output, interactive, audit, and other data streams with their own programs. This architecture also allows the separation of such functions across multiple processors. The second means of extensibility is the TR/2 configuration language, DEXX, which allows new object classes and class methods to be declared to the system.

DEXX is, in effect, an object oriented language language that is oriented around four methods. OBJECTCLASS declares object classes, class relationships, and the conditions under which an object should be presumed to belong to a given class. METHOD declares new methods within classes and indicates where the method is implemented (as an external compiled program, an external shell script (in REXX or Object REXX), or as a dynamic link library function call. USERCLASS creates a permission class structure within the system that allows the specification of who can take what actions in the system. INCLUDE allows a DEXX specification to be broken out across a large number of files.

Toolsrun/2 a complex repository management system that provides an intelligent and extensible interface between users on a network and a variety of repository storage mechanisms (via an abstracted repository object that allows TOOLSRUN flat file, NNTP, ObjectStor and DB/2 to be used interchangeably to store the same data). It currently assumes Sendmail and MIME, but is readily extended to other mail and network data interchange systems. Extensions of Toolsrun/2 that are already in place include both NNTP and HTTP/HTML network interfaces.

The most interesting aspect of Toolsrun/2 is its potential extensibility to new kinds of computer conferencing and on-line repository services, including multimedia conferencing, agent driven smart conferencing (brainstorming sessions, distributed decision rooms, help desks, asynchronous interactive games), versioned packages, agent drive variable content and workflowed packages, permissioned HTML repository management, on-line libraries and card catalogs, and agent landing pads and meeting places.

Toolsrun/2 is my concept and design. Mike Cowlishaw and Bob Cronin have provided substantial advice in the system design. Implementation has been done with Swarna Dinkar, Ed Skorynko, Mai Pham, Peggy Frisch, Terry Heath, and Rose Williams. Toolsrun/2 was, at one time, planned as the repository management engine of the SWS Autobahn groupware conferencing product, and came within 24 hours, in 1994, of being announced as an IBM product and shown at COMDEX. It does not have a current product home.

Protocol Hider (1988)

Used with and developed for the LAMAIL electronic mail front end (shipped with the early releases of IBM TCP/IP for OS/2), this DARWIN-based technology provided transparent access to host systems using SRPI, APPC, and/or FTP using a single five function API (logon/open, list, get, put, and close/logout). My concept and design. Developed in conjunction with Alain Benoix.

DARWIN (1986)

DARWIN was an experimental user interface prototype that explored the idea that computers should be organized around tasks, the things that people do with computers, rather than the file systems and programs that people use when they do things with computers. In today's computing environment we use program managers to select programs, file managers to select files, e-mail programs to select mail, computer conferencing front ends to do computer conferencing, and so on. We do this despite the fact that most of the "tasks" that we perform require us to use a combination of these selection front ends. The process of writing a programming specification, for instance, entails the use and creation of documents using file managers, program managers, editors, and other tools, the use of electronic mail to coordinate ones efforts with others, the use of conferencing to get quick answers to key questions, and other tools. Even when using a file manager, moreover, needed files will frequently be scattered across different disk drives and different machines such that multiple instances of the file manager are frequently necessary. This distribution of content is not solved in current groupware systems.

The idea of DARWIN was to concentrate all of the materials associated with a task into a cohesive working environment that includes:

DARWIN is probably my most ambitious prototype. It has never been completed, and nothing quite like it exists to this day. Some groupware systems (Lotus Notes comes to mind) have started to provide DARWIN-like integrated document managers. Web-based Internet URL's provide a standard means for implementing document managers that span document types across many systems. Lotus Notes taskbars and OS/2 4.0's Warpcenter provides means by which different task bars can be used for different tasks. Still, no one appears to have built either a true task oriented document manager or a true task oriented program manager. Work on DARWIN stopped due to competing development priorities. Some elements of the system have, however, been developed further in other projects, including Protocol Hider, BBMODEL, HSHELL, and MMDC.

The DARWIN-vision was of a task oriented user interface that would learn how to organize material for a user based on their use of the system. If a specific individual was associated with a task, their mail would be delivered to that task. If a new file was created while working in a task context, it would be associated with that task. If a program was invoked while working with a task, it would be added to a recency and usage ranked task specific menu. While E2DRAW and BURT both had agentish qualities, DARWIN was my first formal move into the world of, as I called it at the time, intelligent heuristics. The idea is still great (I'd love to have it today). It appears, moreover, that the window of opportunity for building such a system is still open.

Help (1984)

Developed and released at about the same time as Ben Schneiderman's HyperTies, HELP was one of the first practical and widely distributed HyperText program for PC's. While developed specifically to provide on-line documentation for the Yorktown PC User's Workbench, HELP has been widely adapted to other on-line documentation applications. Its most important application was in OS/2, where it provided the prototype and initial design specification (which I co-authored) for OS/2 Help Manager (IPF). OS/2 Help Manager remains upwardly compatible with HELP hypertext documents. HELP also shipped as a product by IBM Banking Systems, IBM Federal Systems (the maintenance manual for the F16). My concept and design. Developed with Dan Herron, Leo Stutzman, and others.

HELP pioneered the use of tag based markup in hypertext composition and was probably the first system to enable the referencing of hypertext documents distributed across multiple servers in a LAN or WAN network. The first experiments in using HELP this way were in 1984 (in conjunction with IBM PC/VM Bond product) and 1985 (across experimental Ethernet, ProNet, IBM PC LAN, and IBM Token Ring LANs. Production use of HELP in this fashion started in 1986, when the IBM Corporate Technical Institutes set up what one of the earliest building wide LAN's (including connected PC's in each office, classroom, and hotel room on site) using the DOS IBM LAN program on a token ring. These experiments, and the specific structure of the HELP markup, strongly presage HTML markup and World Wide Web hypertext document access. Indeed, the HELP syntax is nearly identical to that of HTML. Proposed that HELP be developed into a full "network hypertext" system several times between 1986 and 1989. Variations of these proposals including a network programming language (similar to JAVA) and composition hypermedia interfaces. The essential concepts associated with these proposals were eventually incorporated into the design of Magic Paper, a hypermedia groupware system that nearly became an IBM product in 1991.

Computer Synchronized Conversation Prototypes (1982)

Explored Variations in Asynchronous Terminal Interaction that allowed parties at both ends of the wire to simultaneously enter data. Variations explored included full duplex simultaneous split screen interaction, half duplex cached data blasting, and simultaneously updated computer synchronized paragraphing. Distributed IBM PC based prototypes as freeware via the Connecticut IBM PC User's Group distribution library.