Michael R. Abato

25 Cushman Road White Plains, NY 10606 914/997-7718 michael@abato.name

Education

Employment History

1999-present eSchool® Online/HyperTV

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:

  • Streamed (RTSP, progressive download) and fixed media video
  • Dynamic single-URL pages (aka Web 2.0/AJAX) for synchronized and traditional content
  • Active flash integration into product (content management and runtime)
  • Lightweight content management service providing customizable content per client
  • RESTful service architecture to partition single platform to deliver content for multiple clients
  • Authorization (single sign on) and product entitlement via LDAP
  • Embedding of existing systems (e.g.: phpBB, legacy products) via service
  • Assessment item authoring, delivery and reporting
  • External LMS (portal) integrtions

Houghton Mifflin Harcourt Director of Software Development

  • Managed software lifecycle, archicted data center and oversaw technical operations for the division - $5-9M annual revenue.
  • Developed an array of integrated web-based, video-centric, interactive components, web services and managment tools to deliver web-based professional development to school districts and states throughout the country.
  • Evangelized, mentored and delineated the distinctive technologies (now roughly known as AJAX) and an agile, service-oriented, open-source friendly and standards-compliant approach to software.

ACTV, OpenTV then Liberty Media Software Architect

  • Invented, prototyped, designed, developed, deployed and managed production of HyperTV product line
  • Managed conventional and push-based web deployments.
  • Testing: load tested HTTP and proprietary protocols, system tests (correctness, acceptance), module tests (integration) and unit tests (regression, refactoring) of all components.
  • Planned product operations, including deployment planning, operational procedures, monitoring/escalation and failure mode testing.
  • Defined components, delegated development responsibilities, and conducted code reviews

1997-2005 Laboratory of Neuroinformatics, Weill Medical College of Cornell University Consultant, Investigator, Software Architect

  • Defined and standardized data types and exchange protocols for the neuroscience community
  • Analyzed and codified neuroscience ontologies
  • Designed, implemented, and directed development of neuroscience databases and associated software tools

1996-1998 Cornell University Medical College Manager, Software Development

  • Designed, developed, and managed the lifecycle of clinical, institutional, and research databases.
  • Conceived, designed, and implemented a multi-institutional intranet strategy, including backbone databases of institutional people, directory services, electronic mail and clinical services.
  • Researched, designed, and implemented multi-user groupware and teleconferencing systems, based on existing and original code, for clinical and educational uses.

1993-1996 Evolutionary Publishing, Inc. Founding Partner

  • Developed software for full-motion, full-screen, dynamically edited video built on a custom scripted multi-media database engine.
  • Integrated and produced three major entertainment titles with our technology: Johnny Mnemonic with Sony, Terror T.R.A.X. with Groliers, Fox Hunt with CAPCOM
  • Consulting for Propoganda Films (7th Hour sequels), Digital Domain (William Bennett's Book of Virtues), Pantone, the Red Hot Chili Peppers, Kalieda (ScriptX), UCLA Pediatric Pain, and Starbright Foundation.

1991-1995 The Ethical Culture Fieldston Schools Chair of Information Sciences

  • Taught mathematics, programming and economics, grades 7 through 12
  • Developed educational software projects
  • Introduced technology outreach program for faculty
  • Designed, developed and managed an integrated schedule and grade management system

1989-1991 Cornell University Medical College Software Developer

  • Developed core technologies for and implemented an on-line textbook and medical imaging tools
  • Maintained suite of integrated software components
  • Supported and advised medical and academic personel on a variety of technology issues

1987-1989 Cornell University Programmer, Faculty Software Support

  • Developed educational and research software in Mathematics and other disciplines
  • University-wide software design, support, education, and evangelism

Technical Skills

  • Multi-platform, multi-language, multi-organization design, development, and implementation
  • Development, version control, quality control, deployment and workflow design
  • Standards based, open source friendly, accessible, and semantically marked web publishing
  • Thin- and rich-client web-based application, AJAX and W3C application models
  • Services (enterprise components: RESTful, SOAP, lightweight), core and application-specific
  • Client-server and multi-tier architecture, development, and integration
  • Project and team management
  • Multimedia - integration and development
  • Video production and interactive presentation (many formats)
  • "Small language" design and implementation
  • Mathematical and scientific visualization
  • Educational software, department administration and classroom teaching
  • 506.3 Buzzword compliance, exclusive of satirical and ribald sub-subsections

A Note on AJAX... (click)

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.

Languages

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

Environments

J2SE (swing), J2EE (servlet, jms, jndi, ejb, etc), AJAX ("class 5" browsers), rdbms (Oracle, MySQL, PostgreSQL, SQLServer, etc.), LMSs (Blackboard, Angel, Moodle)

Operating Systems

Win32, Mac OS X, Linux (RedHat, Debian and Gentoo families), Solaris

Application/Tool Stack

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)

Historical

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.)

Fields

Education, Mathematics, Neuroscience, Medicine, Entertainment/Gaming, Mathematics and Physics

Publications

Gardner, D., Abato, M., Knuth, H. H., DeBellis, R., Erde, S. M. 2001 Dynamic publication model for neurophysiology databases. Phil. Trans. R. Soc. Lond. 356 1229

Abato, M., Gardner, D., 1999 Common data model - a data type definition for biophysical data exchange. Biophys. J. 76 A197

Gardner, D., Abato, M., Tepel, M., Erde, S. M. 1998 A unified neurophysiology database storage schema for time series, histogram, and bivariate datasets. Soc. Neurosci. Abstr. 24 134

Gardner, D., Abato, M., Erde, S. M. 1998 Open neurodatabase access by Java-mediated controlled-vocabulary neuron terms and experimental protocols. Soc. Neurosci. Abstr. 24 134

Gardner, D., Abato, M., DeBellis, R., Erde, S. M., Knuth, K. K., White, T. 1999 Common data model 2000: open methods for neuroscience data description and interchange. Soc. Neurosci. Abstr. 25 1910

Gardner, D., Abato, M., DeBellis, R., Erde, S. M., Knuth, K. K., White, T. 2000 Hierarchical attribute-value schema enables extensible controlled vocabularies systematizing neuroscience databases. Biophys. J. 78 218A

Gardner, D., Abato, M., DeBellis, R., Erde, S. M., Knuth, K. K., White, T. 2000 A dynamic publication model for data-driven neurodatabases implements interoperability for neuroscience information resources. Soc. Neurosci. Abstr. 26 2001

Knuth, K. K., Abato, M., White, T., Gardner, D. 2001 Generalizability of common data model 2000 to representation and exchange of data for advanced neuroimaging techniques. Soc. Neurosci. Abstr. 25 1910

Gardner, D. Xiao X., Abato, M., Knuth, K., Gardner, E. 2002 BrainML and GENIE: Neuroinformatics Schemas for Neuroscience Data Sharing Soc. Neurosci. Abstr. 28 14

Knuth, H. H., Abato, M., Knuth, H. H., Robert, A.. 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.

Patents

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

Projects (click)

This section will print only while expanded.

eSchool Suite

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.

Stage

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.

Gateway

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.

Authoring

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.

Services and Adaptors

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.

Static Web Content

A variety of static (no backend services) web content in support of the suite, most visibly the corporate web sites.

HyperTV Suite

HyperTV (client)

Push-oriented web-content to enhance existing media, pre-recorded and live, broadcast and on-demand.

Managment

Authoring, broadcast, and management tools supporting the HyperTV product.

DCN

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.

BSDK

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.

Stage

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.

QA Agent

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

HyperTV clients:

  • Stargate (enhanced series) - Launch of HyperTV product.
  • AP2 (enhanced Austin Powers 2 pay-per-view) - Enhanced twenty distributors of 24/7, shows on the half hour, per-distributor start times, regionalized viewings for two months - 8,600 viewings, 60,000 playlists.
  • TBS iWatch (WCW and Ripleys)
  • 17 Days of Bond
  • Bob Marley Retrospective
  • SAG Awards
  • Discovery's Dino Week
  • Game Show Network (various gameshows)

Neuroinfomatics Projects

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.

CU-SeeMe

Multi-user video conferencing, plug-in architecture, remote teaching, whiteboard, file-transfer, image acquisition.

CDM - Common Data Model for Neuroscience

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.

Pathmaker

Clinical telepathology over TCP/IP, diagnostic image database, collaboration tools.

Institutional Databases

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.

CineActive

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.

Ellipsis

pre-Netscape cross-platform hypermedia authoring tool.

PathMAC

A growing collection of high-resolution clinical images accessible to all student workstations, and integrated into educational and clinical software.

Robins: Online Pathology Text

Full-text plus enrichment of standard Pathology text (Robbins), with hypermedia, integrated with PathMAC repository.

NBME CBT system

A cross-platform (Win16/MacOS) interactive computer-based testing (CBT) system for the National Board of Medical Examiners (NBME) leveraging their clinical context database.

Virtual Cat

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.

MacMath

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.

Marella

A teaching language scalable to C++ and Java, rooted around object-oriented ideas and project-rich instruction.

NeXT introduction

Prototype applications for the introduction of the NeXT computer, including chaos visualization and a musical composition based on the Mandelbrot set.

Objective-C for Macintosh

Ported the Objective C compiler and runtine library to the Macintosh.

References

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