Resume for Donald Edward Hopkins
Introduction:
This is the detailed resume of Don
Hopkins, as of November 1996, in HTML format (though you may be reading
a printed copy, in which case you look at the original at http://www.catalog.com/hopkins/don/resume.html,
or you may email me at "don@toad.com"
for a copy of the HTML file, so that you may more easily click on the links).
[Contents] [Introduction]
Contents:
[Contents]
Address:
Donald Edward Hopkins
3885 Magnolia Drive
Palo Alto, CA 94306
(415) 856-7548
don@toad.com, hopkins@interval.com
http://www.catalog.com/hopkins
[Contents] [Address]
Interests:
User interfaces. Programming environments. Visual programming
languages. Programming by demonstration. Authoring tools. Human factors.
Language. Writing. Graphic design. Animation. Performance art. Distributed
hypermedia. Multimedia production. Multi user interaction. Input devices.
Direct manipulation. Gesture. Pie menus. Object oriented toolkits. Window
and user interface managers. Cellular automata. Signal processing. Networking.
[Contents] [Interests]
Programming Languages:
Java. Bounce. ScriptX.
Lisp. Scheme. Logo. PostScript. NeWS. Forth.
C. C++. Pascal. Basic. TCL/Tk. Csh. Various assembly languages. Well versed
in object oriented design and visual programming.
[Contents] [Languages]
Hardware Experience:
Mac. Windows. Sun. Silicon Graphics. HP (Unix, HP3000). DEC
(Unix, ITS, TOPS-20). Pyramid. Symbolics Lisp Machine. Xerox 8010. ZMob
parallel processor (Z80). Apple ][. Various micros.
[Contents] [Hardware Experience]
Operating Systems:
Various Unix platforms. MacOS. Windows 95. Windows NT. MS-DOS.
ProDOS. ITS. TOPS-20. Viewpoint (Xerox Star). XDE. Symbolics Genera.
[Contents] [Operating Systems]
Communication Technologies:
ActiveX/OLE/COM. Bounce
visual programming language. Shockwave and MacroMedia M5 library. Multi
player networked SimCity. Distributed
ScriptX. Dynamic extension languages.
Distributed objects. World Wide Web authoring. Interapplication communication.
TCP/IP. Spread spectrum packet radio. Low bandwidth communication. Protocol
design. Terminal emulation. Administration of WWW servers, FTP software
archives, large Internet mailing lists.
[Contents] [Communication
Technologies]
Work Experience:
[Contents] [Work Experience]
Interval Research Corporation (Jan '96 - present):
Ported Bounce, a visual data flow
programming language, to the PowerPC Mac using MetroWerks CodeWarrior. Designed
a cross platform language neutral multimedia plug-in architecture using
COM on Win32 and MacOS, for plugging new data processing modules and data
types into Bounce and other tools, games, and products.
Ported Microsoft's ActiveX Template Library to the Mac, and used it to implement
the MacroMedia MOA IMoaDict interface, then integrated it and other COM
interfaces and data types into Bounce, as well as Mac Common Lisp. Used
these new plug-in data types together with Bounce, Lisp, C, and C++ to implement
advanced technology demos.
Programmed extensively using DirectX, COM, OLE, ActiveX, MacroMedia MOA,
Microsoft Developers Studio on Windows 95 and Windows NT, Metrowerks CodeWarrior
on PowerPC MacOS.
Researched many technologies relating to plug-in architectures, Windows
programming, game development, network communication, user interface development,
etc. Wrote a detailed report about my research, as a web of more than 100
intertwingled pages of html.
[Contents] [Work Experience]
[Interval Research Corporation]
Kaleida Labs (Nov '93 - Jan '96):
Worked for Tim Oren as Senior Programmer on Distributed ScriptX.
Designed and implemented a distributed object messaging system, integrated
with the internals of Kaleida's Objects in C, for distributed multimedia
titles over interactive TV and Internet. Studied Interactive TV networking,
ATM, video distribution, Kaleida's set top box, operating system, and MPEG
graphics chip. Distributed ScriptX supported transparent network object
proxies, multithreaded synchronous and asynchronous remote procedure calls,
remote exception handling, and proxy garbage collection, using a dynamic
messaging protocol.
Worked for Developer Services creating ScriptX design examples, for Devorah
Canter and Chuck Stevenson. Designed, implemented, cleaned up, and documented
ScriptX demos and class library modules, demonstrating the dynamic object
oriented nature of ScriptX. Wrote ScriptX code and produced multimedia content
for demos. Brainstormed with multimedia developers and artists, integrated
artwork with code, and produced animations. Experienced with scanners, video
frame grabbers, audio digitizers, video and audio recording equipment, CD-ROM
authoring, Photoshop, Painter, Debabelizer, Premier, Director, etc.
Designed and implemented an Animation
module that supports different media formats via a high level animation
protocol. Produced sample animations in various formats like Quicktime,
bitmap, filmstrip, audio, and Director. Used the Animation module for DSX,
Playfarm, Slide Show, and DreamScape demos.
Wrote a Slide Show demo, that allows you to dynamically load animated objects
into a presentation. Used to give ScriptX presentations and demos at trade
shows and conferences.
Reworked the Playfarm design example to use the Animation module. Cleaned
it up, stored persistent objects in title containers, made user interface
improvements, optimized, commented, and documented. See Assaf Reznik's article,
"Character Simulation with ScriptX" at "http://www.catalog.com/hopkins/lang/scriptx/drdobbs/drdobbs-1194a.html".
Worked with the Director Importer Toolkit, writing specialized importer
subclasses to read the cast and score out of Director files and translate
them into ScriptX objects. Studied the Director file format, the MacroMedia
M5 MMP player library, and Kaleida's object oriented Director Importer Toolkit,
written by Steve Riggins.
Created the ScriptX Pizza Demo, showing how to distribute interactive multimedia
ScriptX objects via the World Wide Web. Uses ScriptX as a Web browser helper
application, to download title containers of ScriptX objects that plug together
and interact dynamically.
Designed, implemented, and used a mouse
input tracking module, that supports delegation, coordinate transformation,
offscreen caching, drag and drop, and direct manipulation. Simple to use
but powerful. Hides complexity, provides high level services with reasonable
defaults, and uses resources efficiently. Easily subclassable to implement
custom tracking behavior. Used in several ScriptX demos. See the "ScriptX
Tracking Service" at "http://www.catalog.com/hopkins/lang/scriptx/tracking.html".
Designed and implemented a ScriptX Web
Toolkit, for creating interactive World Wide Web services, authoring
tools, and browser helper applications. It provides object oriented HTML
structures for dynamically generating web pages, with Lisp-like dynamic
macro expansion of parameterized procedural templates for web pages. HTML
objects are easily composed into nested structures that automatically render
themselves as HTML text. They're subclassable to support new HTML constructs,
and can encapsulate high level interaction techniques, like automatic forms
and image maps. Wrote a gif exporter for ScriptX, so it can embed dynamically
generated images and image maps in web pages. See the "ARPANET Psiber
SPACE (circa 1986)" generated by ScriptX at "http://www.catalog.com/hopkins/arpanet/index-large.html".
Designed and implemented an interactive ScriptX web service and dialog manager,
with support for forms, object reference externalization, dynamic image
maps, HTML macros, etc. Demo services include a user-friendly "NORML"
markup language translator, browsers for the file system, ScriptX classes,
objects, DreamScape rooms, parts,
and maps. Interfaced ScriptX to the web via the Web Server CGI Interface,
as well as the Web Browser Remote Control Interface. See the "ScriptX
and the World Wide Web" paper at "http://www.catalog.com/hopkins/lang/scriptx/scriptx-www.html",
and the "ScriptX Web Module Documentation" at "http://www.catalog.com/hopkins/lang/scriptx/web.html".
Put together the original official Kaleida Labs Home Page. Translated documents
to HTML. Scanned and processed images. Wrote web pages and indexes. Registered
Kaleida in directories. Analyzed usage logs. See the "Kaleida Labs
Home Page" at "http://www.kaleida.com".
Designed, implemented, and produced the DreamScape
ScriptX design example. Demonstrated it at the Apple Worldwide Developer
Conference, a video transcript of which is available on the web. See the
"ScriptX DreamScape Demo" video transcript at "http://www.catalog.com/hopkins/scriptx/demo/index.html".
DreamScape is an open-ended
plug-together framework for ScriptX objects, consisting of rooms connected
together in a map, with plug-in authoring tools and interactive objects
that you can directly manipulate, in a simulated physical environment. It
enables you to plug dynamically loaded animated objects together so they
interact with each other in many interesting ways. See the "DreamScape
Documentation" at "http://www.catalog.com/hopkins/scriptx/dream.html",
and the "DreamScape, a ScriptX Design Example" manual, at "http://www.catalog.com/hopkins/lang/scriptx/dreamdoc/index.html".
DreamScape uses the Tracking
and Animation modules, and the Director
importer toolkit, to compile Director scores into articulated ScriptX animations.
I worked with artists and multimedia tools to produce backgrounds and animations
for demos, and programmed plug-in objects that dynamically link in code,
including a Cellular Automata Machine engine,
and a Web Browser Remote Control interface that I wrote in C.
The DreamScape Web plug-in allows you to use NetScape to browse the state
of the DreamScape environment, viewing rooms and maps as clickable dynamic
image maps, interacting with rooms and the objects within them via illustrated
web pages with forms that allow you to inspect and edit their properties.
I also prototyped a web authoring tool using the ScriptX
Web Toolkit with DreamScape, that writes out every DreamScape room and
the objects they contain as an interlinked web of static HTML pages, gif
images, and image maps.
[Contents] [Work Experience]
[Kaleida Labs]
Levity (Aug '93 - present):
Worked with David Levitt on Bounce,
an exciting visual data flow programming language for the Mac. Bounce was
originally called Body Electric, developed by VPL for graphical data flow
programming of virtual reality performances, interactive TV shows, dynamic
multimedia simulations, etc. It's useful for real time input device processing,
dynamic 3D rendering, and remote control of devices networked via midi,
serial, ethernet, etc.
I've hacked the ANSI C Bounce language source code, using Think C, as well
as programming visual data flow modules in Bounce itself. I worked on the
interface to the MacroMedia Director projector, that David had originally
developed for his earlier visual programming language "Hookup".
I built data flow modules into Bounce for controlling animation, sound,
projector info, sprite info, hit detection, window control, monitor volume,
etc.
Tasks included testing the data module plug-in interface, making user interface
improvements, Mac Toolbox programming in C, sound manager work, and MacroMedia
M5 MMP director player library hacking. Programmed visual Bounce modules
for 3D physics simulation, 3D vanishing point projection with scaled Director
sprites, character animation behavior, etc, for the SpaceSeed demo. Ported
the Isaac 3D renderer, that Bounce can remote control via ethernet, to the
latest SGI operating system. Worked with the Electric
Carnival MIDI Zoo, showing Bounce and Multi Player SimCity.
See the "Bounce Stuff" page at "http://www.catalog.com/hopkins/lang/bounce/bounce.html",
and "The Electric Carnival at Lollapalooza" at "http://www.catalog.com/hopkins/don/electric-carnival.html".
[Contents] [Work Experience]
[Levity]
DUX Software (Dec '91 - Nov '93):
Ported SimCity, Maxis's city simulation
game, to Unix. DUX licensed the source code to SimCity from Maxis, and they
contracted me to port it to Unix. I produced and shipped two products: SimCity
HyperLook Edition for NeWS, and Multi Player SimCity for X11. Multi Player
SimCity for X11 was awarded best product of 1992 by Unix World (January
1993 issue).
I studied, rewrote and optimized much of the original Macintosh C and assembly
source code from Maxis. First reimplemented the user interface from scratch
as Open Look using the NeWS toolkit and
HyperLook on OpenWindows 3.0, then
reimplemented it again as Motif using TCL/Tk on X11, with multi player capability.
Created an audio server to mix real time sound effects, multiple scrolling
map views with shared overlays, fast local shared memory animation, with
optimized remote bitmap updating fallback, talking pie menus for efficient
selection of city building tools, and many other improvements to the user
interface. Wrote an illustrated reference manual with FrameMaker. From Glasgow,
Scotland, I successfully single-handedly produced and delivered the completed
product and manual to DUX in Los Altos, California, and distributed it via
the Internet and the Sun Catalyst CDROM.
Released SimCity first for OpenWindows on Sun, then for X11 on Sun, SGI,
HP, DEC, and NCD audio X terminals. Designed and developed the multi-user
version of SimCity for X11, extensible with the TCL programming language,
called "SimCityNet", that I showed running on a couple of SGI's
at the InterCHI '93 Interactive Experience in Amsterdam. It supports multi
player collaboration in the same city, text telegrams, shared user interface
sound effects and graphical overlays for annotating and gesturing, multi-user
voting dialogs, as well as other features to coordinate players and support
political cooperation. See the "Video Tape Transcript of X11 SimCity
Demo" at "http://www.catalog.com/hopkins/simcity/x11-demo.html".
The fully functional demo is available via ftp, that can be unlocked by
purchasing a key by phone, so it doesn't melt every 5 minutes. The latest
version features a bizarre totally undocumented bouncing cellular automata
surprise screen, accessed by clicking on the graphics in the "about"
box. See Dux Software's SimCity anonymous
ftp directory at "ftp://ftp.uu.net/vendor/dux/SimCity",
and the "SimCity Info" page at "http://www.catalog.com/hopkins/simcity/index.html".
[Contents] [Work Experience]
[Dux Software]
Carnegie Mellon University Computer Science Department (Sep '92 - May
'93):
Worked for Brad Myers as a research programmer on the Garnet project. Garnet
is an advanced object oriented user interface management system for X11,
written in Common Lisp, using KR, a prototype based object oriented frame
system with constraints. Redesigned the "Opal" graphics layer
of Garnet to be modular and portable, by defining a "Glass" interface
(Graphical Layer and Server Simplifier), in order to port Garnet from X11
to Display PostScript and the Mac. Rewrote the Garnet PostScript graphics
printing module. See the "Garnet Project Home Page" at "http://www.cs.cmu.edu/Web/Groups/garnet/garnet-home.html".
Extended the "tvtwm" X11 ICCCM virtual window
manager to support user definable pie menus with graphical labels, and
designed a set of efficient window management pie menus. The source code
is available via anonymous ftp. See the "piewm" source code distribution
at "ftp://export.lcs.mit.edu/contrib/piewm.tar.Z".
[Contents] [Work Experience]
[Carnegie Mellon University]
The Turing Institute (Feb '92 - Sep '92):
Worked in Glasgow, Scotland, at the Turing Institute, with Arthur van Hoff
on HyperLook (formerly called HyperNeWS),
an object oriented direct manipulation graphical user interface development
environment for NeWS in Open Windows. Designed
and implemented object oriented multimedia toolkit components for animation,
video, and audio, using ANSI C, object oriented PostScript, and PdB (a C
to PostScript compiler). Integrated The NeWS Toolkit Open Look components
so they can be copied and pasted into the user interface and edited with
property sheets. Rewrote the direct manipulation user interface editor as
a separate component so it can be easily customized and replaced, and removed
to create a runtime system. Rewrote the client/server communication library
to use the NeWS "wire service", making it possible to integrate
existing client side NeWS libraries into HyperLook applications. Wrote an
interactive animated cellular automata machine,
and several other HyperLook demos. Ported SimCity
to HyperLook. The free HyperLook runtime system and demos are available
via anonymous ftp. See the NeWS software anonymous ftp directory at "ftp://ftp.uu.net/graphics/NeWS",
the "HyperLook (aka HyperNeWS)" page at "http://www.catalog.com/hopkins/hyperlook/index.html",
and the "Video Tape Transcript of HyperLook SimCity Demo" at "http://www.catalog.com/hopkins/simcity/hyperlook-demo.html".
[Contents] [Work Experience]
[The Turing Institute]
Sun Microsystems (Jul '90 - Oct '91):
Worked for Rafael Bracho, on the NeWS toolkit
(TNT), written in object oriented PostScript. Designed, implemented, and
documented Open Look user interface components. Worked on all parts of the
toolkit, designing application programmer interfaces, implementing and extending
user interface components, adding support for 2D and 3D Open Look, multiple
screens, 24 bit displays, and internationalization. Tested, diagnosed, and
debugged the toolkit and window system. Participated in TNT design reviews
and NeWS architecture group meetings. Helped review, rewrite, and produce
illustrations for several manuals. Ported HyperNeWS 1.3 to TNT, and collaborated
with the Turing Institute in the redesign of HyperNeWS 2.0. Designed and
implemented many applications, tutorial demos, and utilities, including
graphical data structure browsers, ICCCM
window managers, pie menus, a thin
wire Gnu Emacs driver supporting "drag'n'drop", and pizzatool,
which graphically previews your pizza then faxes the order to the pizza
parlor. See the NeWS Toolkit screen snapshot at "http://www.catalog.com/hopkins/images/tnt.gif",
and the "NeWS - Network extensible Window System" page at "http://www.catalog.com/hopkins/lang/NeWS.html".
[Contents] [Work Experience]
[Sun Microsystems]
University of Maryland Human Computer Interaction Lab (Jan '88 - May
'91):
Worked for Ben Shneiderman, in the Human Computer Interaction Lab, researching
and implementing user interfaces. Designed, prototyped, and developed the
NeWS implementation of the HyperTIES hypermedia
browser and authoring tool. It involved a hypertext markup language interpreter,
a formatter for structured text supporting embedded PostScript graphics,
animation, user interface toolkit components, and text and graphical links,
as well as a multi-window Emacs based authoring tool.
I wrote a formatting library in C that downloaded PostScript to the NeWS
window server, describing text and graphics, as well as arbitrary toolkit
components and interactive graphics. Developed interesting feedback techniques
for "embedded menu" image map highlighting, like pop-up cut-outs
with drop shadows, using interactive PostScript graphics. Streamlined the
user interface with gestural pie menus for quick paging and navigation.
I plugged the formatter into Mitch Bradley's Sun Forth,
and wrote a prototype HyperTIES markup language interpreter in Forth, that
I later transplanted into the real markup language interpreter when it was
written.
After spending the summer working at UniPress on the multi-window NeWS version
of Emacs, I used it to implement a hypermedia authoring tool for HyperTIES.
I programmed Emacs in MockLisp to create, edit, and link hypermedia databases
for HyperTIES, and run the HyperTIES browser as a sub-process, to preview
the formatted HyperTIES markup language. Emacs would pop up the source to
the page you were viewing in the browser, and you could click to follow
the links in the source or the browser, and Emacs would pop up a window
on the source, and the browser would format it.
Designed, implemented, and evolved the PSIBER
Space Deck, a visual user interface to the PostScript programming environment
in the NeWS window system. It provides a direct manipulation pie menu based
user interface to a graphical "pretty plotter" of live editable
data structures and the PostScript stack, and has many interactive programming
and debugging features. See "The Shape of PSIBER Space" at "http://www.catalog.com/hopkins/psiber/psiber.html".
I produced and video taped user interface demonstrations for use in classes
and seminars, and gave many live demos to visitors and at conferences and
trade shows. See the "Human-Computer Interaction Laboratory" at
"http://www.cs.umd.edu/projects/hcil/index.html".
[Contents] [Work Experience]
[University of Maryland HCIL]
Grasshopper Group (Jun '89 - Jul '89):
Worked with John Gilmore, porting the PSIBER Space Deck to MacNeWS, NeWS
1.1 on the Mac II running A/UX. Wrote documentation, and improved the system
based on user feedback. See "The Shape of PSIBER Space" at "http://www.catalog.com/hopkins/psiber/psiber.html".
[Contents] [Work Experience]
[Grasshopper Group]
UniPress Software (Summer '88):
Worked with Mike Gallaher on the UniPress Emacs NeWS
window system interface. Rewrote the multi-window display driver for NeWS.
Implemented a popup menu interface, a menu compiler, a text selection interface,
tab windows, and pie menus, including custom font and color selection pie
menus. Ported the Emacs NeWS interface to the 4Sight window system on the
Silicon Graphics Iris 4D. See "UniPress Software" at "http://www.unipress.com".
[Contents] [Work Experience]
[UniPress Software]
Wedge Computer (Sep '87 - Oct '87):
Wrote a VT100 terminal emulator in PostScript, for NeWS
1.0 running on the Mac under MacOS.
[Contents] [Work Experience]
[Wedge Computer]
Sun Microsystems (Jun '87 - Aug '87):
Worked as a summer intern for Forth Guru
Mitch Bradley, replacing the extension language and reworking the user interface
of CADroid, a schematic CAD system for board design, originally written
at the Droid Works, that Sun used for circuit design. I interfaced a Forth
system written in C to the CADroid code, and designed and implemented a
command processor in Forth that executes CADroid commands. Added higher
level control statements, loops, conditionals, variables, expressions, macros,
and a mouse interface. Supported user friendly syntax, prompting for arguments,
macro programming by demonstration, and interactive loops and conditionals.
Completed and delivered the project on time at the end of summer, and received
a great letter of recommendation, available on request.
[Contents] [Work Experience]
[Sun Microsystems]
University of Maryland Computer Science Department (Sep '85 - Jan '88):
Ported Z-80 FIG-Forth to the ZMob parallel
processor. Performed Unix system administration for the Computer Science
Department staff, setting up and maintaining Sun workstations, hacking Unix
and Xerox workstation networking, systems programming, serving as Milnet
contact, installing and improving the X10 and NeWS
window systems, and many other tasks.
Moved to the Heterogeneous Systems Lab, to research window systems and user
interfaces for Mark Weiser. Designed, implemented, and evaluated pie
menus, as an extension to the X10 "uwm" window
manager. Integrated Mitch Bradley's 68000 Sun Forth
with the pie menu "uwm" window manager, as a prototype Forth extensible
window manager, foreshadowing my later experiences with NeWS. Programmed
the window manager in Forth to carry out a human factors experiment designed
by Jack Callahan, comparing pie menus and linear menus, that demonstrated
that pie menus were faster and more reliable than linear menus. See "A
Comparative Analysis of Pie Menu Performance", by Jack Callahan,
Don Hopkins, Mark Weiser, and Ben Shneiderman, in the Proceedings of the
CHI '88 conference, Washington D.C.
[Contents] [Work Experience]
[University of Maryland CS Department]
Selfware:
Ported TypeRite, written in Forth, from
the IBM-PC to the Apple ][c, using my Apple ProDOS Forth system. TypeRite
is a user friendly menu driven intelligent electric typewriter program.
I wrote screen, keyboard, printer, and file drivers, in Forth and 6502,
and beefed up my own Forth system in the process. Shipped the product on
time, and supported customers with weird printers, by updating the program
to satisfy them.
[Contents] [Work Experience]
[Selfware]
K.L. Ginter and Associates:
Ported the Software Express Videotex interface program, written in C, from
the IBM-PC to the Apple //e. Software Express is a menu-driven multi-windowed
communication package that talks to a central computer over a modem, and
provides file transfer, electronic mail, and other services. Wrote screen,
keyboard, printer, and modem drivers in Manx Aztec C and 6502 assembly.
[Contents] [Work Experience]
[K.L Ginter and Associates]
Computer Challenges:
Implemented a Forth programming environment
for the Apple ][ computer, and a graphics and animation package in 6502
assembly. Wrote an animated promotional graphics demo with it, illustrating
Forth as a cross platform game programming language across Apple ][, C64,
and BBC computers. Designed some video games and animated graphics that
used the animation package, and wrote utilities in 6502 assembly. Supported
a co-worker writing educational software using my Forth system. Ported Forth
from DOS 3.3 to ProDOS, adding a real file system interface, and used it
to develop numerous text editors, terminal emulators, a bulletin board,
a file manager, and TypeRite, an intelligent typewriter program.
[Contents] [Work Experience]
[Computer Challenges]
Education:
Graduated from the University of Maryland, May 1990, BS Computer
Science.
[Contents] [Education]
Publications:
- Directional Selection is Easy as Pie Menus!
By Don Hopkins. ;login: The Usenix Association Newsletter, V12 #5, Sept.
1987
- A Comparative Analysis of Pie Menu
Performance.
By Jack Callahan, Don Hopkins, Mark Weiser, and Ben Shneiderman. Proc. CHI'88
conference, Washington D.C.
http://www.catalog.com/hopkins/piemenus/callahan.ps
- The Shape of PSIBER Space: PostScript Interactive Bug Eradication
Routines.
By Don Hopkins. Proc. 1989 Usenix Graphics Conference, Monterey California.
http://www.catalog.com/hopkins/psiber/psiber.html
- Designing to Facilitate Browsing: a Look Back at the HyperTIES Workstation
Browser.
By Ben Shneiderman, Catherine Plaisant, Rodrigo Botafogo, Don Hopkins, and
William Weiland. Hypermedia, V3 #2, 1991
- The Design and Implementation of Pie Menus.
By Don Hopkins. Dr. Dobb's Journal, Dec. 1991. Lead article, user interface
issue. http://www.catalog.com/hopkins/piemenus/ddj/piemenus.html
- The Unix Haters Handbook, "The X-Windows Disaster" chapter.
IDG Books Worldwide, Inc. ISBN 1-56884-203-1.
http://www.catalog.com/hopkins/unix-haters/handbook.html
http://www.catalog.com/hopkins/unix-haters/x-windows/disaster.html
- The index of Don Hopkins' web pages.
http://www.catalog.com/hopkins
[Contents] [Publications]
Presentations:
- Presented papers about pie menus,
1987 Summer Usenix, Phoenix; 1987 Usenix Graphics Workshop, Cambridge, Massachusetts;
CHI '88, Washington D.C.
- Demonstrated NeWS software including
pie menus, HyperTIES, UniPress Emacs, and PSIBER
at: NeWS SIG, CHI '88, Washington D.C.; NeWS SIG, Sun Users Group, San Jose;
Sun User Group Southwest Regional Conference, Albuquerque; Sun Microsystems
booth, EduCom, Washington D.C.; NeWS BOF, Sun Users Group, Miami; NeWS BOF,
Usenix, San Diego; Open Vistas booth, Uniforum, Baltimore; NeWS BOF, Usenix,
Baltimore; 1989 Usenix Graphics Workshop, Monterey. Organize many NeWS interest
group meetings. See the "NeWS - Network extensible Window System"
page at "http://www.catalog.com/hopkins/lang/NeWS.html".
- Video taped demonstrations of pie
menus I designed and implemented, for "All The Widgets", a
video tape of user interface techniques produced by Brad Myers for the ACM
SIGGRAPH Video Review (CHI'90 Special Issue #57).
- Performed interactive art on stage at the "Empowered"
show at the CHI'90 conference in Seattle. Gave a colorful whirlwind trip
through the networks in a graphical pie menu driven world I created with
NeWS, integrating the PseudoScientific Visualizer with the PSIBER
Space Deck. See "The Shape of PSIBER Space" at "http://www.catalog.com/hopkins/psiber/psiber.html".
- Exhibited Multi Player SimCity
at the "Interactive Experience" at the InterCHI '93 conference
in Amsterdam. Set up a network of two SGI Indigi, and gave hands on demonstrations
of an early version the collaborative game during the conference. See the
"Video Tape Transcript of X11 SimCity Demo" at "http://www.catalog.com/hopkins/simcity/x11-demo.html".
- Presented a talk and led a discussion about "Self Revealing Gesture
Interfaces," at the "New Paradigms for Using Computers" workshop
at IBM Almaden Research Center, and at Interval
Research Corporation. Video tape available on request.
- Keynote address at the Toronto Usenix Symposium, presented on video
tape, about my experiences porting SimCity
to Unix. See the "Video Tape
Transcript of Toronto Usenix Symposium Keynote Address" at "http://www.catalog.com/hopkins/simcity/keynote.html".
- Demonstrated Multi Player SimCity,
HyperLook, and Cellular
Automata, and help the CitySpace
project broadcast video with a CU-SeeMe reflector, at the Exploratorium's
MultiMedia Playground, in San Francisco. See the "Video Tape Transcript
of HyperLook SimCity Demo" at "http://www.catalog.com/hopkins/simcity/hyperlook-demo.html".
- Demonstrated Multi Player SimCity,
the Midi Zoo, and Bounce at the
Electric Carnival at Lollapalooza, in
Colorado and Mountain View. See "The Electric Carnival at Lollapalooza"
at "http://www.catalog.com/hopkins/don/electric-carnival.html".
- Demonstrated DreamScape at
the 1995 Apple World Wide Developers Conference, in San Jose. Gave a 30
minute live demo of the ScriptX
design example I developed at Kaleida. See the "ScriptX DreamScape
Demo" video transcript at "http://www.catalog.com/hopkins/scriptx/demo/index.html".
[Contents] [Presentations]