2005 - Present
Serving as a Chief Technical Officer of Microsoft. (Corporate Bio)
1997 - 2005
After coming to the conclusion that server-based architectures (Web, Notes) fundamentally could not address the dynamic collaboration requirements of a decentralized business environment, founded Groove Networks to create personally-empowering, secure, mobile, ad hoc, decentralized desktop collaboration software for both individuals and enterprises. Co-founders Ken Moore, Jack Ozzie, and Eric Patey led the development organization; my part was largely in conceptualization and design, and in leading and helping to build the rest of the business. Groove Networks was purchased by Microsoft in April of 2005.
1984 - 1997
Founded and led Iris Associates, to create what has become Lotus Notes, the defining enterprise "groupware" and email product used by more than 120 million people at corporations worldwide for collaboration within large enterprises. Iris, a software design & development firm that is now part of the IBM/Lotus Software Group, was co-founded by Tim Halvorsen and Len Kawell, and was purchased by Lotus Development in 1994, and by IBM in 1995.
1983 - 1984
Hired by Mitch Kapor and Jonathan Sachs at Lotus Development, just after Lotus 1-2-3 Release 1 had shipped. Did a small amount of work on 1-2-3 1A, and led a small team (Barry Spencer, Matt Stern) to create Lotus Symphony (8086 Assembly) - one of the first "suite" products originally intended to be the second major release of Lotus 1-2-3.
Haunted by concepts rooted in collaboration and online community that I had experienced at PLATO, inspired by reading Ted Nelson (this and this) and Doug Englebart, and believing that the world would be fully embracing PC's and networks by 1983 because of using a pre-release IBM PC and 3Com Ethernet card while at Software Arts, developed functional specifications and plans for the product that would later be known as Lotus Notes, with the intent of starting a software company to build it. Failed to obtain funding.
1981 - 1982
Hired by Dan Bricklin and Bob Frankston at Software Arts, creator of VisiCalc. Did a small amount of work on the Z80 port of VisiCalc (under development lead Seth Steinberg), and later led the team that built the VM (Z80, 6502, 8086, PDP-11, 68000 Assembly) for a Lisp-like language ("IL") being built to ensure the cross-machine portability of VisiCalc and TK!Solver.
With three people from Digital Equipment Corporation, co-founded a startup, "Microcosm Corporation", to create a workstation product based on National's VAX-like 16032 microprocessor. Failed to obtain funding.
1979 - 1981
Data General, hired by Jon Sachs to write the workstation OS for an early LAN-based operating environment a.k.a. "Not Much" (NOVA Assembly), consisting of MicroNOVA intelligent workstations, Eclipse file and print servers, and a token-passing bus LAN. Project led by Jon; the other member of core development team was Scott Norin.
1978 - 1979
Co-founded Urbana Software Enterprises and co-implemented VM (Z80) for a standalone computer system intended to be a commercial micro-sized personal version of the PLATO teaching environment. Founder was Paul Tenczar; co-founder was Ron Klass. Company later became TenCORE, and was ultimately acquired by Computer Teaching Corporation.
1974 - 1979
Systems Programmer on University of Illinois PLATO project, thanks to Paul Tenczar and Don Bitzer. Implemented (CDC 6600 and Z80 Assembly) an assembler, dynamic linker/loader and firmware for an early "intelligent terminal" for PLATO system, enabling decentralized computing for an otherwise centralized interpreted language execution environment. One of tens of thousands of people who became fully immersed in the world's first "online community" and all that that implies. Was exposed to eMail and online discussions (a.k.a. "Notes"), instant messaging, chat rooms, massive multiplayer gaming, online project collaboration.
Technician at Dept of Nuclear Engineering, University of Illinois. Implemented (Lockheed SUE, Intel 4004 and 8080 Assembly) custom measurement & control devices and support for reactor experiments.
1972 - 1973
Systems programmer at Protection Mutual Insurance Company. Implemented (IBM System/3 RPG, Microdata REALITY microcode) decentralized batch execution environment.
1969 - 1970
Learned to code (Olivetti-Underwood Programma 101, GE 400 Fortran & Basic).