HCI^2 Framework



HCI^2 Framework is a software framework aimed at the development of (Multimodal) Human-Centered, Intelligent, Human-Computer Interaction (HCI^2) systems. In particular, HCI^2 Framework embodies the following features:
  • Intuitive GUI for system contruction: simply 'draw' the system structure diagram using mouse and keyboard, then click the 'run' button to test it.
  • Support of arbitrarily complex system structure.
  • Support of dynamic system reconfiguration: the system structure can be freely modified while it is still running. 
  • Flexible testing environment: any module can be activated / deactivated on its own while leaving the rest of the system unaffected.
  • Support of system redistribution: export the constructed system into a standalone readily-deployable application package in a single step.
  • Efficient message passing: up to several hundreds of megabytes of data can be transfered per second within the system with millisecond-level message latency.
  • Support of heterogeneous modules: every module is implemented as a standalone executable with no contraint on its internal execution route.
  • Well documented and easy-to-use SDK for module development. 
  • A series of utilities covering every step of a typical module development cycle.
  • Provision of a number of predelivered modules working with WebCam, Tobii Eye Tracker, Microsoft Kinect, and so on.
Further information about HCI^2 Framework can be found in:


J. Shen, and M. Pantic, "A Software Framework for Multimodal Human-Computer Interaction Systems", Proceedings of IEEE International Conference on Systems, Man and Cybernectis, pp. 2038-2045, 2009.


J. Shen, W. Shi, and M. Pantic, “HCI^2 Workbench: A Development Tool for Multimodal Human-Computer Interaction Systems” in Proceedings of the International Workshop on Facial and Bodily Expressions for Control and Adaptation of Games (ECAG’11), Santa Barbara, CA, 2011, pp. 1–8.


We kindly request you to cite these works if you decide to use this tool for research purposes.


Available versions of the HCI^2 Framework:
  • HCI^2 Framework version 1.3.543.2 (Released: 09/02/2012): (Released: 11/05/2014): Optimized protocols. Exisiting modules should be rebuilt using the new libraries.
  • HCI^2 Framework version 1.0.488.1 (Released: 09/02/2012): Added new module utilizing the Microsoft Kinect for Windows SDK and a new library facilitating data stream synchronisation. Please uninstall any older version of the HCI^2 Framework before ugrading to 1.0.488.1.
  • HCI^2 Framework version 1.0.460.1 (Released: 10/11/2011): Added new modules to facilitate distributed data processing using multiple computers. Please uninstall any older version of the HCI^2 Framework before ugrading to 1.0.460.1.
  • HCI^2 Framework version 1.0.450.1 (Released: 06/10/2011): Optmized flow control and timing mechanism. Added new modules and improved several existing ones. Please uninstall any older version of the HCI^2 Framework before ugrading to 1.0.450.1.
  • HCI^2 Framework version 1.0.448.1 (Released: 16/06/2011): First public release of the HCI^2 Framework