25 Cushman Road White Plains, NY 10606 914/997-7718 michael@abato.name
The eSchool® Online/HyperTV platform is as video and web (convergence) content development, management and publishing system that I have designed, developed and managed over its lifespan that has been passed among several companies since 1999, as detailed in the next two sections. Notable features of the platform include:
This note will print only while expanded.
I try my best to resist buzzwords, limited by the need to keep myself marketable. Nonetheless, I'm making a claim you will rightly read skeptically: that I've been using the technology since around 2000, long before the term was coined or any of the component technologies were standard practice. I would be skeptical (at best) of this claim were I to encounter it in a resume. Nonetheless, it is true for any reasonable definition of the buzzword.
The product I was working on at the time, HyperTV, required a long-persistent web page to maintain a client-native video controller while we "pushed" content, both prepared and dynamic, to "enhance" the video content (this is the patented convergence technology). I addressed the technical challenge with several inovations: dynamically re-writing the DHTML div elements and communicating with the server on a "backchannel" that did not require refreshing the main page. Over time and on different platforms, I've used frames, iframes, applets, plugins, ActiveX controls and HTTP 1.1 multipart mime to solve the latter, ultimately settling on XMLHttpRequest on the contemporary "class 5" browsers that eSchool supports. In the process, I developed a subset of Javascript/ECMAScript/ActionScript that implements both the communication channel and the usable portion of the DOM to maintain a live page for up to hours. Additional, non-AJAX technologies were developed as well, including an AJAX-friendly object-oriented client application model, convergent slicing of a pushed playlist, pseudo-threading for Javascript and object messaging that go well beyond what is typically available in existing "AJAX Frameworks".
The end result is a client-side technology stack that exceeds the capabilities of available AJAX packages. This is a surprisingly modest body of code that is well within the bounds of standard practice but well beyond what is currently expected of web-based integration.
Java (JSE, JEE), C (K&R, ANSI, C++, Objective) Javascript (browsers, ECMA, ActiveScript, Rhino), CSS, Perl, Python, Ruby, VB, PHP, Groovy, Haskell, Scala, Velocity, shell (bourne family), HTML/XHTML/DHTML (semantic, 508 compliant), SQL, XML (XSL/XPath, Schema, FO, etc.), UML
J2SE (swing), J2EE (servlet, jms, jndi, ejb, etc), AJAX ("class 5" browsers), rdbms (Oracle, MySQL, PostgreSQL, SQLServer, etc.), LMSs (Blackboard, Angel, Moodle)
Win32, Mac OS X, Linux (RedHat, Debian and Gentoo families), Solaris
Spring, XOM/Jaxen/FOP, AOP, Hibernate (JDBC, DALs), LDAP
Ant, maven, CVS/Subversion/Mercurial, XML toolchains, shell scripting, wiki, bbs, bug management (trac family, testtrack)
Win16 (DOS, win31/95/98), PowerPlant, MFC/OWL, MacApp, QuickTime, HyperCard, Director, CORBA, Fortran, Pascal, LISP (LOOPS, Prolog, emacs), PostScript, BASIC, Forth, Lingo, Mathematica, AppleScript (HyperTalk), Marella, Assembly (x86, 680xx, MIX, etc.)
Education, Mathematics, Neuroscience, Medicine, Entertainment/Gaming, Mathematics and Physics
, , , , 2001 Dynamic publication model for neurophysiology databases. Phil. Trans. R. Soc. Lond. 356 1229
, , 1999 Common data model - a data type definition for biophysical data exchange. Biophys. J. 76 A197
, , , 1998 A unified neurophysiology database storage schema for time series, histogram, and bivariate datasets. Soc. Neurosci. Abstr. 24 134
, , 1998 Open neurodatabase access by Java-mediated controlled-vocabulary neuron terms and experimental protocols. Soc. Neurosci. Abstr. 24 134
, , , , , 1999 Common data model 2000: open methods for neuroscience data description and interchange. Soc. Neurosci. Abstr. 25 1910
, , , , , 2000 Hierarchical attribute-value schema enables extensible controlled vocabularies systematizing neuroscience databases. Biophys. J. 78 218A
, , , , , 2000 A dynamic publication model for data-driven neurodatabases implements interoperability for neuroscience information resources. Soc. Neurosci. Abstr. 26 2001
, , , 2001 Generalizability of common data model 2000 to representation and exchange of data for advanced neuroimaging techniques. Soc. Neurosci. Abstr. 25 1910
, , , 2002 BrainML and GENIE: Neuroinformatics Schemas for Neuroscience Data Sharing Soc. Neurosci. Abstr. 28 14
, , , 2003. (In press) A. Neuroinformatics for neurophysiology: The role, design, and use of databases. In: Databasing the Brain: From Data to Knowledge (Neuroinformatics). In: Databasing the Brain: From Data to Knowledge (Neuroinformatics). edited by S.H. Koslow and S. Subramaniam. New York: John Wiley & Sons, Inc.
Abato, M. Harrington, Jeffrey M. Duda, Carl R. January 28, 2003 Enhanced video programming system and method for providing a distributed community network. US-6,513,069, 00308060.3-2216, 00308045.4-2216
Abato, M. 2000 System and method for presenting content related to a temporal event to a user via a virtual stage. US-pending, EU-00308060.3-2216, EU-00308045.4-2216
Abato, M., Ullman, C. D.., Harrington, J. M., Duda, C. R. 1999 Enhanced video programming system and method using a local host for network communication. US-pending, EU-00311131.7-2202
Abato, M., Ullman, C. D.., Harrington, J. M., Duda, C. R. 1999 Enhanced video programming system and method utilizing user profile information. US-pending, EU-00308630.3-2202, EU-00308415.9-2202
Abato, M., Ullman, C. D.., Harrington, J. M., Duda, C. R. 1999 Enhanced video programming system and method providing a distributed community network. US-pending, EU-00308060.3-2216, EU-00308045.4-2216
Abato, M., Ullman, C. D.., Harrington, J. M., Duda, C. R. 1999 Enhanced video programming apparatur and method providing a shared whiteboard. US-pending, EU-00308709.5-2202
This section will print only while expanded.
Instruction delivery system integrating video and rich, authored, and convergent content. Supports all dominant browsers, video players, and FlashMX. Integrated authoring, content management, workflow, and helpdesk support.
Presentation engine for "modules" of instruction, typically presenting 15-30 minutes of view and integrated interactive content and assessment. Content is organized around the video timecode and published as a tightly controlled compound document.
An application of the original stage framework to gateway (portal) functionality: login, activation, course/module organization, reporting, forums, etc. The content model is extended to support per-client customization (e.g.: logos) "overlayed" onto core content, maximizing flexibility and minimizing per-client costs.
Thick-client tool for authing stage and gateway compound documents. Wraps content binding, assessment creation, video timing and the compound document creation into a tool suitable for non-engineers.
Supporting functionality for the stage and gateway, including usage capture/reporting, authentication/authorization and forums, implemented as a network of REST-ful services. Adaptors are a special class of services that provide integration APIs for external clients, including custom portals (e.g.: IBM's educational portal), Blackboard and anonymous access to the eSchool suite.
A variety of static (no backend services) web content in support of the suite, most visibly the corporate web sites.
Push-oriented web-content to enhance existing media, pre-recorded and live, broadcast and on-demand.
Authoring, broadcast, and management tools supporting the HyperTV product.
Custom server software behind the current release of HyperTV. Provides distributed multi-client, high volume, low latency messaging, both client-to-client and cascading topics (push and chat rooms, gaming spaces, admin topics). Services support login, room subscription, push, chat, gaming, and admin protocols. Accessed via direct/persistent ip connection, servlet proxy, custom sml proxy. Low-level (cli) and web tool interfaces.
Next generation of DCN services. Uses packet-bundled JMS for messaging and offers dynamically configured and deployed services. Decouples services more cleanly for scaling and avoiding single points of failure, centrally manages multiple POPs, and offers GUI-defined configuration.
Client components of HyperTV. Decouples server connection and services from user experience to deliver a highly optimized client while presenting a uniform client to the server. Components deal with pseudo-threading support, applets, ActiveX components, Flash presentation, DHTML presentation, development harnesses, background upchannel, and event-driven inter-module communications.
Simulates multiple real-world HyperTV clients (HTTP, DCN, BSDK) in an array of JVM. Used to stress test up to 100,000 physical client with 20 hosts.
Other backend tools include server/data center scripting of all features, playlist management and validation, and SML, an XML-subset parser and object model for Java and Javascript
BrainMetaL/BrainML: An xml functional ontology for data exchange among neuroscientists and eventually other researchers. Encapsulates local datamodelling behind public interoperability schemas providing common abstractions, controlled vocabularies/techniques, and consistent metrics.
Query and Upload: Tools for acquiring and searching a BrainMetaL/BrainML repository.
Data Acquisition and Analysis Integration: An NSF-funded collaboration with the Bruxton Corporation for integrating query and data access to Bruxton's and other's data acquisition and analysis programs.
Multi-user video conferencing, plug-in architecture, remote teaching, whiteboard, file-transfer, image acquisition.
An international scientific data repository in SQL, HTML/Javscript search/submit interface, Java dataviewer, CORBA/http data interchange protocol. See work with the Laboratory of Neuroscience, above.
Clinical telepathology over TCP/IP, diagnostic image database, collaboration tools.
Multi-tiered intranet applications for IS services (email, calendaring, dial-in PPP, etc.), human resources, telecommunications, asset management, grants, clinical systems, educational systems, help desk. Web front end, custom application server (Netscape Enterprise, LDAP, report server, Java/IIOP modules), Informix SQL backend.
full-screen, full-motion interactive video titles built on custom virtual machine kernel, scripting language, video management system, customizing plug-ins. C++ (6 distinct compilers), Win31/95/NT, MacOS, Sony Playstation, Sega Saturn, QuickTime, Video for Windows, MPEG.
pre-Netscape cross-platform hypermedia authoring tool.
A growing collection of high-resolution clinical images accessible to all student workstations, and integrated into educational and clinical software.
Full-text plus enrichment of standard Pathology text (Robbins), with hypermedia, integrated with PathMAC repository.
A cross-platform (Win16/MacOS) interactive computer-based testing (CBT) system for the National Board of Medical Examiners (NBME) leveraging their clinical context database.
Strip-chart pulse trace simulation of various chemical stimulants and inhibitors on a live cat, thus reducing the animal testing impact of medical training. Published with Dr. Daniel Gardner.
A suite of programs published by Springer-Verlag in conjunction with "Differential Equations" by West and Hubbard. Includes an interpreter/compiler of native mathematical notation, generalized rotational coordinates slices of n-dimensional space, point-and-click analysis (multi-threaded) of ordinary and partial systems of differential equals in both traditional and non-linear contexts. Used in preparation of many texts, including the recent "Nonlinear Oscillations, Dynamical Systems, and Bifurcations of Vector Fields" by Guckenheimer and Holmes.
A teaching language scalable to C++ and Java, rooted around object-oriented ideas and project-rich instruction.
Prototype applications for the introduction of the NeXT computer, including chaos visualization and a musical composition based on the Mandelbrot set.
Ported the Objective C compiler and runtine library to the Macintosh.
Please inquire to contact the following people:
Dr. Steven Erde
Director, Office of Academic Computing
Dr. Daniel Gardner
Professor of Neuroscience, Weill Medical College
Paul Finer
Executive VP of Operations, Harcourt Connected Learning
Jeff Harrington
Inventor and Developer, HyperTV/eSchool
Craig Ullman
Executive, ACTV/HyperTV