The Architecture and Implementation of CPN2000,
A Post-WIMP Graphical Application

Michel Beaudouin-Lafon & Michael Lassen

University of Aarhus
Dept of Computer Science
Aabogade 34
8200 Aarhus N - Denmark

Proc. ACM Symposium on User Interface Software and Technology, UIST 2000
San Diego, CA (USA), 5-8 November 2000, ACM Press, 2000, pp 181-190.


We have developed an interface for editing and simulating Coloured Petri Nets based on toolglasses, marking menus and bi-manual interaction, in order to understand how novel interaction techniques could be supported by a new generation of user interface toolkits. The architecture of CPN2000 is based on three components: the Document Structure stores all the persistent data in the system; the Display Structure represents the contents of the screen and implements rendering and hit detection algorithms; and the Input Structure uses "instruments" to manage interaction. The rendering engine is based on OpenGL and a number of techniques have been developed to take advantage of 3D accelerated graphics for a 2D application. Performance data show that high frame rates have been achieved with off-the-shelf hardware even with a non-optimized redisplay. This work paves the way towards a post-WIMP UI toolkit.

Keywords: User interface toolkit, Advanced interaction techniques, Post-WIMP interfaces, Two-handed input, Instrumental interaction, OpenGL, Coloured Petri nets.

PDF file (200 Kb) - ACM DL citation page

© 2000, Association for Computing Machinery

Permission to make digital or hard copies of all or part of this work for personal or classroon use is granted without fee provided that copies are not made or distributed for profit or commercial advantage, and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.

See also: CHI 2000 paper on Instrumental Interaction

See also: AVI 2000 paper on Design principles

See also: DIS 2000 paper on Design process

See also: PN 2000 paper for a summary of the CPN2000 project