Software Engineering Tools and Methods for User Interfaces

The goal of this activity is to support the development of User Interfaces with a dual emphasis on improving both the software process and overall system usability. In this context, there are three main lines of research:
  •  
  • Adaptive User-Interfaces, involving methods and tools to optimally improve the interactive experience, with runtime transformations which can utilise knowledge and information exploitable for the current interactive session. More detailed topics relate to software architectures, software processes, modelling methods and frameworks, and collective adaptation.
  • Automatic User-Interfaces, concerning methods and tools to automate the generation and creation of the interaction components, by utilising models, service interfaces, interactive input and design guidelines. More detailed topics relate to generation of interactive aspects from annotated API specifications and improved model-driven User-Interface generation.
  • Future User-Interface Toolkits, relating to software libraries and frameworks for building future User-Interfaces exhibiting dynamic visual aspects, distributed presentations and interaction, multi-user involvement and many-platform sessions. More detailed topics relate to advanced compositing windowing systems, interactive application management in pervasive environments, and open multi-display windowing systems.

 

Outcomes

 

Adaptivity refactoring (2014): a software refactoring process to accommodate User-Interface adaptivity within existing applications

Staged model-driven generators (2013/2014): alleviating maintenance in model-driven engineering issue by shifting responsibility for code emission to staged metaprograms

sprint (2013/2014): widget toolkit for nested compositing window managers featuring unlimited mixing of desktop and book window managers

Soft dialogues (2010):an extensible, pluggable and accessible input system for table-top games

amby (2010):cvirtual avatar for adaptive social comments in games

Structured tiles (2009):coarse-grained tiling with directed sub-graphs of recurring path patterns in board games

onboard! (2009): game engine and terrain editor for table-top games

Flying Circus (2008):a tool for visual prototyping of software designs based on CRC cards (Classes Responsibilities Collaborators) offering: 3d visualizations with zooming and panning, rotational inspection and 3d manipulators, with optional immersive navigation through stereoscopic views.