Projects in synchronous collaboration, using client-server approaches and replicated architectures. Wrote proprietary synchronization protocols and adapted standard protocols, such as HTTP, for synchronous collaboration. Applications include those purpose-built for collaboration as well as adding collaboration to existing, single-user applications.
- Managed the development and deployment of LiveDeck (2010-2011; ActionScript, Java servlets, Tomcat), a web-based shared slide editing and note-taking tool. Studied differences in collaborative software use between the United States and Japan. Led the Zipper project (2004-2005; Java, AOP, ODF) investigating the use of aspect-oriented programming to add real-time sharing to text-based editors in Eclipse without modifying the underlying applications. Designed and implemented ImageShare (1994-1995; C++, Motif, TIFF), a collaborative viewing tool for extremely large images starting with an existing single-user application. [21, 22, 24, 31, 33, 36] [I] [VIDEO]
- Bluegrass (2008; C++, Java, Torque, Jetty, CouchDB) explored the integration of a virtual world and an integrated development environment to foster a sense of co-location among members of distributed teams. Olympus (2009-2010; ActionScript, Java servlets, Jetty, CouchDB) added lightweight user “avatars” to a commercial e-meeting and slide sharing system for visualization of meeting attendees. [28, 29, 30, 31, 32, 34, 35] [L, M, O] [VIDEO] [VIDEO]
- Program Manager for Visual Information Environment Prototype (1995-1997; C++, Motif, TIFF), investigating the combined use of collaborative computing and novel, gesture-based input technologies to support next-generation command and control systems. [9, 10]
- Implemented the Rendezvous system (1990-1994; Common Lisp, CLOS, X Window System) for building synchronous, multi-user applications. Built primitive graphical objects and specialized color and image-handling software. [2, 3, 6, 8] [VIDEO]
- Integrated Lotus Sametime into Rational Team Concert Jazz (2007; Java, Eclipse) to provide awareness and chat capabilities within the IDE. Received IBM Technical Accomplishment Award for product impact.