This virtual keyboard, made to support a research article on software adaptation, showcases several features of djnn:
- The support of Phidgets, which are presented to programmers as interactive components exactly like software components or traditional input devices would;
- The ability to program how the application adapts to the type of input device that is used. Here, the keys simply change color when pressed with a mouse, but the program automatically switches to a pop-over display when the key is pressed through a touch screen, in order to avoid finger occlusion. And as soon as a light sensor is available, the day/night switch disappears because it is no more necessary;
- The ability to program how the application adapts to the physical environment: the luminosity of the keyboard is automatically controlled by the measured light.
[Mathieu Magnaudet and Stéphane Chatty What should adaptivity mean to interactive software programmers? Proceedings of EICS 2014]