2,550 research outputs found
Setting the stage – embodied and spatial dimensions in emerging programming practices.
In the design of interactive systems, developers sometimes need to engage in various ways of physical
performance in order to communicate ideas and to test out properties of the system to be realised. External
resources such as sketches, as well as bodily action, often play important parts in such processes, and
several methods and tools that explicitly address such aspects of interaction design have recently been
developed. This combined with the growing range of pervasive, ubiquitous, and tangible technologies
add up to a complex web of physicality within the practice of designing interactive systems. We illustrate
this dimension of systems development through three cases which in different ways address the design
of systems where embodied performance is important. The first case shows how building a physical sport
simulator emphasises a shift in activity between programming and debugging. The second case shows a
build-once run-once scenario, where the fine-tuning and control of the run-time activity gets turned into
an act of in situ performance by the programmers. The third example illustrates the explorative and experiential
nature of programming and debugging systems for specialised and autonomous interaction
devices. This multitude in approaches in existing programming settings reveals an expanded perspective
of what practices of interaction design consist of, emphasising the interlinking between design, programming,
and performance with the system that is being developed
Inviwo -- A Visualization System with Usage Abstraction Levels
The complexity of today's visualization applications demands specific
visualization systems tailored for the development of these applications.
Frequently, such systems utilize levels of abstraction to improve the
application development process, for instance by providing a data flow network
editor. Unfortunately, these abstractions result in several issues, which need
to be circumvented through an abstraction-centered system design. Often, a high
level of abstraction hides low level details, which makes it difficult to
directly access the underlying computing platform, which would be important to
achieve an optimal performance. Therefore, we propose a layer structure
developed for modern and sustainable visualization systems allowing developers
to interact with all contained abstraction levels. We refer to this interaction
capabilities as usage abstraction levels, since we target application
developers with various levels of experience. We formulate the requirements for
such a system, derive the desired architecture, and present how the concepts
have been exemplary realized within the Inviwo visualization system.
Furthermore, we address several specific challenges that arise during the
realization of such a layered architecture, such as communication between
different computing platforms, performance centered encapsulation, as well as
layer-independent development by supporting cross layer documentation and
debugging capabilities
Reducing the Barrier to Entry of Complex Robotic Software: a MoveIt! Case Study
Developing robot agnostic software frameworks involves synthesizing the
disparate fields of robotic theory and software engineering while
simultaneously accounting for a large variability in hardware designs and
control paradigms. As the capabilities of robotic software frameworks increase,
the setup difficulty and learning curve for new users also increase. If the
entry barriers for configuring and using the software on robots is too high,
even the most powerful of frameworks are useless. A growing need exists in
robotic software engineering to aid users in getting started with, and
customizing, the software framework as necessary for particular robotic
applications. In this paper a case study is presented for the best practices
found for lowering the barrier of entry in the MoveIt! framework, an
open-source tool for mobile manipulation in ROS, that allows users to 1)
quickly get basic motion planning functionality with minimal initial setup, 2)
automate its configuration and optimization, and 3) easily customize its
components. A graphical interface that assists the user in configuring MoveIt!
is the cornerstone of our approach, coupled with the use of an existing
standardized robot model for input, automatically generated robot-specific
configuration files, and a plugin-based architecture for extensibility. These
best practices are summarized into a set of barrier to entry design principles
applicable to other robotic software. The approaches for lowering the entry
barrier are evaluated by usage statistics, a user survey, and compared against
our design objectives for their effectiveness to users
- …