Employing Usability, Efficency and Evolvability in the CEXI Toolkit
dc.contributor.author | Tse, Edward | eng |
dc.date.accessioned | 2008-05-20T23:25:11Z | |
dc.date.available | 2008-05-20T23:25:11Z | |
dc.date.computerscience | 2005-04-29 | eng |
dc.date.issued | 2005-04-29 | eng |
dc.description.abstract | Computer displays are expanding beyond the upright desktop and towards personal devices such as Tablet PCs and large public displays (such as walls and tables). These different form factors require researchers to develop suitable interaction techniques. The fundamental problem is that existing development environments assume that everyone will using a mouse for all pointing input. Thus most applications are not able to take advantage of the extra features provided by novel input devices such as the point sizes provided by the Smart Technologies DViT Board. Most input device developers provide Software Development Kits (SDKs) written with legacy C++ code and different SDKs provide different APIs making it hard to port code written for one input device to another. This paper describes the Centralized External Input (CEXI) toolkit, a toolkit that supports the rapid prototyping of applications with a variety of novel input devices. Since this is a third generation tool, I wanted to the toolkit to be usable, efficient and evolvable. These are three lessons (or patterns) gleamed from my experiences and the experiences of other toolkit developers. To make the toolkit API easy to use, I limit the assumptions made in the API, for example I do not expect programmers to know how to traverse an object oriented class hierarchy of different input events, instead I provide all the important event information in a single monolithic event argument. To make the toolkit efficient, I use event queueing in the control panel to control the rate of events per second and I use quenching in both the input forwarder and the client to ensure that they receive only the information that they are interested in. Finally, I make the toolkit evolvable by making the source code available and making it easy for third parties to develop their own input forwarders. | eng |
dc.description.notes | We are currently acquiring citations for the work deposited into this collection. We recognize the distribution rights of this item may have been assigned to another entity, other than the author(s) of the work.If you can provide the citation for this work or you think you own the distribution rights to this work please contact the Institutional Repository Administrator at digitize@ucalgary.ca | eng |
dc.identifier.department | 2005-783-14 | eng |
dc.identifier.doi | http://dx.doi.org/10.11575/PRISM/31306 | |
dc.identifier.uri | http://hdl.handle.net/1880/46469 | |
dc.language.iso | Eng | eng |
dc.publisher.corporate | University of Calgary | eng |
dc.publisher.faculty | Science | eng |
dc.subject | Computer Science | eng |
dc.title | Employing Usability, Efficency and Evolvability in the CEXI Toolkit | eng |
dc.type | unknown | |
thesis.degree.discipline | Computer Science | eng |
Files
License bundle
1 - 1 of 1