Title :
The quickhaptics microAPI: Enabling haptic mashups
Author :
Chen, David ; Gourishankar, Venkat ; Rawley, Curt ; Grinstein, Georges
Abstract :
Modern software development requires harnessing rich complex APIs allowing much more sophisticated and creative systems to be designed. End user web-based programming has manifested itself today in mashups, most often a page or server-side application that pulls together content, data models and functionality from diverse sources and combines them in a generative manner as a new application or web service. The nature of a mashup implies a certain style of software coding, one that is fast, with easy integration using open application programming interfaces (APIs) to produce results that are intentional from the point of view of the application developer but can be unexpected and surprising from the point of view of the API designers. Like APIs developed to enable web mashups, the QuickHaptics microAPI (released by SensAble in November 2008) follows the Facade pattern of software engineering to provide a simple interface to the great bulk of code in the HD and HL layers of OpenHaptics in order to enable "haptic mashups". HD pulls the developer into the details of device initialization, threading and the haptics Servo Loop; while HL requires the applications developer to know a great deal about OpenGL, geometry description and scene graphs. QuickHaptics makes programming simpler by encapsulating the basic steps common to all haptics/graphics applications. By anticipating typical use scenarios, a wide range of intelligent defaults is provided that allows the programmer to quickly and efficiently put a project together but gives a very wide range of control over the force rendering that is implemented in the end.
Keywords :
Web services; application program interfaces; computer graphics; data models; haptic interfaces; software engineering; API designers; Facade pattern; HD layers; HL layers; OpenGL; Openhaptics; Quickhaptics microAPI; application developer; application programming interfaces; complex API; creative systems; data models; device initialization; diverse sources; end user; geometry description; haptic mashups; haptics servo loop; haptics/graphics applications; modern software development; scene graphs; server-side application; software coding; software engineering; threading; web mashups; web service; web-based programming; Application software; Data models; Force control; Functional programming; Haptic interfaces; High definition video; Mashups; Open source software; Software engineering; Web services; education; haptics; human-computer interaction; mashups; medical simulation; rapid application development; scientific visualization;
Conference_Titel :
Haptics Symposium, 2010 IEEE
Conference_Location :
Waltham, MA
Print_ISBN :
978-1-4244-6821-8
Electronic_ISBN :
978-1-4244-6820-1
DOI :
10.1109/HAPTIC.2010.5444644