Abstract
Since many years, in parallel with the development of new platforms like smartphone or HTML5, people have been accustomed to use several applications at the same time, switching from one to another. Usages have also evolved to the use of the good service at the right time with the better usual and adapted user interfaces. Supporting users when performing tasks in several applications or when changing tasks is addressed by user interface (UI) composition. The composition facilitates the design, the development, and the deployment of UI. The main challenges are (i) to compose complex UI to achieve a new goal and (ii) to provide a new UI with a good quality level. The main goals are to reuse some parts of user interfaces already designed in order to save time at design time and to compose automatically user interfaces at runtime in order to obtain usable user interfaces. This chapter introduces the concerns and the recognized referential (the Cameleon Reference Framework). From Software Engineering and Human-Computer Interaction definitions, the chapter proposes a set of criteria assembled in a unified taxonomy. Then, some solutions are presented and positioned in the taxonomy. After identifying current advances and lack in UI composition, the chapter ends with the UI composition summary according to the two challenges: pros and cons of different composition approaches are discussed and then UI composition perspectives are envisaged.
References
Abadi M, Lamport L (1993) Composing specifications. ACM Trans Program Lang Syst 15(1):73–132. https://doi.org/10.1145/151646.151649
Ali M, Pérez-Quiñones MA, Abrams M (2003) Building multi-platform user interfaces with UIML. In: Seffah A, Javahery H (eds) Multiple user interfaces: engineering and application framework. Wiley, New York
Arsanjani A (2001) A domain-language approach to designing dynamic enterprise component-based architectures to support business services. In: 39th international conference and exhibition on technology of object-oriented languages and systems, 2001. TOOLS 39, pp 130–141. https://doi.org/10.1109/TOOLS.2001.941667
Banavar G, Bergman L, Gaeremynck Y, Soroker D, Sussman J (2004) Tooling and system support for authoring multi-device applications. J Syst Softw 69(3):227–242
Bass L, Little R, Pellegrino R, Reed S, Seacord R, Sheppard S (1992) The arch model: seeheim revisited (version 1.0). In: The UIMS tool developers workshop, Apr 1991, vol. 24. ACM SIGCHI Bulletin
Bihler P, Kniesel G (2007) Seamless cross-application workflow support by user interface fusion. In: Christina Brodersen S.B., Klokmose C.N. (eds) Multiple and ubiquitous interaction – book of abstracts. DAIMI PB-581, University of Aarhus
Blair GS, Coulson G, Andersen A, Blair L, Clarke M, Costa F, Duran-Limon H, Fitzpatrick T, Johnston L, Moreira R, Parlavantzas N, Saikoski K (2001) The design and implementation of Open ORB 2. IEEE Distrib Syst Online 2, 1–40
Bourguin G, Lewandowski A, Tarby JC (2007) Defining task oriented components. In: Task models and diagrams for user interface design. Springer, Berlin/Heidelberg, pp 170–183
Brel C, Renevier-Gonin P, Occello A, Déry-Pinna AM, Faron-Zucker C, Riveill M (2010) Application composition driven by UI composition. In: Proceedings of the third international conference on human-centred software engineering, HCSE’10. Springer, Berlin/Heidelberg, pp 198–205
Brel C, Gonin PR, Giboin A, Riveill M, Dery AM (2014) Reusing and combining UI, task and software component models to compose new applications. In: Proceedings of the 28th international BCS human computer interaction conference on HCI 2014 – sand, sea and sky – holiday HCI, BCS-HCI’14. BCS, pp 1–10. https://doi.org/10.14236/ewic/hci2014.1
Brown J (1997) Exploring human-computer interaction and software engineering methodologies for creation of interactive software. SIGCHI Bull 29(1):32–35
Calvary G, Coutaz J, Thevenin D, Limbourg Q, Bouillon L, Vanderdonckt J (2003) A unifying reference framework for multi-target user interfaces. Interact Comput 15(3):289–308. https://doi.org/10.1016/S0953-5438(03)00010-9
Cau A (2000) Composing and refining dense temporal logic specifications. Formal Asp Comput 12(1):52–70. https://doi.org/10.1007/s001650070036
Charpentier M, Chandy KM (2000) Theorems about composition. In: Proceedings of the 5th international conference on mathematics of program construction, MPC’00. Springer, London, pp 167–186
Chu H, Song H, Wong C, Kurakake S, Katagiri M (2004) Roam, a seamless application framework. J Syst Softw 69(3):209–226
Consortium S (2008) IServFace Research Project. http://www.servface.eu
Criado J, Padilla N, Iribarne L, Asensio JA (2010) User interface composition with COTS-UI and trading approaches: application for web-based environmental information systems. In: Knowledge management, information systems, e-learning, and sustainability research. Springer, Berlin/New York, pp 259–266
Crnkovic I, Larsson M (2002) Building reliable component-based software systems. Artech House Inc, Norwood
Daniel F, Yu J, Benatallah B, Casati F, Matera M, Saint-Paul R (2007) Understanding UI integration: a survey of problems, technologies, and opportunities. IEEE Internet Comput 11(3):59–66. https://doi.org/10.1109/MIC.2007.74
Daniel F, Soi S, Casati F (2011) Distributed user interface orchestration: on the composition of multi-user (search) applications. In: Ceri S, Brambilla M (eds) Search computing. Lecture notes in computer science, vol 6585. Springer, Berlin/Heidelberg, pp 182–191
Davidyuk O, Sanchez IM, Riekki JJR (2010) CADEAU: supporting autonomic and user-controlled application composition in ubiquitous environments. In: Malatras A (ed) Pervasive computing and communications design and deployment: technologies, trends, and applications. IGI Global, De Gruyter Open Access
Davidyuk O, Milara IS, Gilman E, Riekk J (2015) An overview of interactive application composition approaches. Open Comput Sci 5(A):60–77. https://doi.org/10.1515/comp-2015-0007
Degas A, Arcangeli JP, Trouilhet S, Calvary G, Coutaz J, Lavirotte S, Tigli JY (2016) Opportunistic composition of human-computer interactions in ambient spaces. In: Workshop on smart and sustainable city. The Smart World Congress, Toulouse. https://hal.archives-ouvertes.fr/hal-01342921
Demeure A, Calvary G, Coninx K (2008) Comet(s), a software architecture style and an interactors toolkit for plastic user interfaces. In: Graham TCN, Palanque P (eds) Interactive systems. Design, specification, and verification. Springer, Berlin/Heidelberg, pp 225–237
Dery-Pinna AM, Fierstone J, Picard E (2003) Component model and programming: a first step to manage human computer interaction adaptation. In: Chittaro L (ed) Human-computer interaction with mobile devices and services. Lecture notes in computer science, vol 2795. Springer, Berlin/Heidelberg, pp 456–460
Eisenstein J, Vanderdonckt J, Puerta A (2001) Applying model-based techniques to the development of UIs for mobile computers. In: Proceedings of the 6th international conference on intelligent user interfaces, IUI’01. ACM, New York, pp 69–76
Faitelson D, Tyszberowicz S (2017) Improving design decomposition (extended version). Formal Aspects Comput 29(4):601–627. https://doi.org/10.1007/s00165-017-0428-0
Feldmann M, Hubsch G, Springer T, Schill A (2009a) Improving task-driven software development approaches for creating service-based interactive applications by using annotated web services. In: Proceedings of the 2009 fifth international conference on next generation web services practices (NWESP’09). IEEE, pp 94–97
Feldmann M, Janeiro J, Nestler T, Hubsch G, Jugel U, Preussner A, Schill A (2009b) An integrated approach for creating service-based interactive applications. In: Gross T, Gulliksen J, Kotzé P, Oestreicher L, Palanque P, Prates R, Winckler M (eds) Human-computer interaction – INTERACT 2009. Lecture notes in computer science, vol 5727. Springer, Berlin/Heidelberg, pp 896–899
Gabillon Y (2015) User interface composition: operators and composability checking. In: Proceedings of the 27th conference on L’interaction homme-machine, IHM’15. ACM, New York, pp 13:1–13:8. https://doi.org/10.1145/2820619.2820632
Gabillon Y, Petit M, Calvary G, Fiorino H (2011) Automated planning for user interface composition. In: IUI 2011 – international conference on intelligent user interfaces, Palo Alto, p 5p. https://hal.archives-ouvertes.fr/hal-00760426. Workshop session
Gabillon Y, Lepreux S, Oliveira K (2013) Towards ergonomic user interface composition: a study about information density criterion. In: Kurosu M (ed) Human-computer interaction, human-centred design approaches, methods, tools, and environments, Part I, HCI international 2013. Lecture notes in computer science. Springer, New York, pp 211–220
Gabillon Y, Calvary G, Fiorino H (2014) Placid: a planner for dynamically composing user interface services. In: Proceedings of the 26th conference on L’interaction homme-machine, IHM’14. ACM, New York, pp 123–129. https://doi.org/10.1145/2670444.2670448
Gacek C, Anastasopoules M (2001) Implementing product line variabilities. In: Proceedings of the 2001 symposium on software reusability: putting software reuse in context, SSR’01. ACM, New York, pp 109–117. https://doi.org/10.1145/375212.375269
Garcia Frey A (2013) Quality of human-computer interaction: self-explanatory user interfaces by model-driven engineering. Theses, Université de Grenoble. https://tel.archives-ouvertes.fr/tel-01138082
Ginzburg J, Rossi G, Urbieta M, Distante D (2007) Transparent interface composition in web applications. In: Proceedings of the 7th international conference on web engineering. Springer, pp 152–166
Grundy J, Hosking J (2000) Developing adaptable user interfaces for component-based systems. In: Proceedings of the first Australasian user interface conference, AUIC’00. IEEE Computer Society, Washington, DC, p 17
Grundy J, Hosking J (2001) Developing adaptable user interfaces for component-based systems. Interact Comput 14(3):175–194
Grundy J, Hosking J, Li L, Liu N (2006) Performance engineering of service compositions. In: Proceedings of the 2006 international workshop on service-oriented software engineering, SOSE’06. ACM, New York, pp 26–32. https://doi.org/10.1145/1138486.1138493
van Gurp J, Bosch J, Svahnberg M (2000) Managing variability in software product lines. In: Landelijk Architectuur Congres. Amsterdam
Haines MN, Rothenberger MA (2010) How a service-oriented architecture may change the software development process. Commun ACM 53(8):135–140
Hariri MA, Tabary D, Lepreux S, Kolski C (2008) Context aware business adaptation toward user interface adaptation. Commun Siwn 3:46–52
Joffroy C, Caramel B, Dery-Pinna AM, Riveill M (2011) When the functional composition drives the user interfaces composition: process and formalization. In: Proceedings of the 3rd ACM SIGCHI symposium on engineering interactive computing systems, EICS’11. ACM, New York, pp 207–216. https://doi.org/10.1145/1996461.1996522
Johnsson BA, Weibull G (2016) End-user composition of graphical user interfaces for palcom systems. Proc Comput Sci 94:224–231. https://doi.org/10.1016/j.procs.2016.08.035. https://www.sciencedirect.com/science/article/pii/S1877050916317823. The 11th international conference on future networks and communications (FNC 2016)/The 13th international conference on mobile systems and pervasive computing (MobiSPC 2016)/affiliated workshops
Kiczales G, Lamping J, Mendhekar A, Maeda C, Lopes CV, Loingtier JM, Irwin J (1997) Aspect-oriented programming, in proceedings of the European conference on object-oriented programming (ECOOP’97), Finland. LNCS, vol 1241. Springer, p 16
Kon F, Román M, Liu P, Mao J, Yamane T, Magalhã C, Campbell RH (2000) Monitoring, security, and dynamic configuration with the dynamictao reflective ORB. In: IFIP/ACM international conference on distributed systems platforms, Middleware’00, Secaucus. Springer, New York, Inc., pp 121–143
Kon F, Costa F, Blair G, Campbell RH (2002) The case for reflective middleware. Commun ACM 45(6):33–38. https://doi.org/10.1145/508448.508470
Kritikos K, Plexousakis D, Paternò F (2014) Task model-driven realization of interactive application functionality through services. ACM Trans Interact Intell Syst 3(4):25:1–25:31. https://doi.org/10.1145/2559979
Lamport L (1994) The temporal logic of actions. ACM Trans Program Lang Syst 16(3):872–923. https://doi.org/10.1145/177492.177726
Le C (2014) A model driven framework for modeling and composing service based android applications. In: Proceedings of the 29th annual ACM symposium on applied computing, SAC’14. ACM, New York, pp 450–457. https://doi.org/10.1145/2554850.2555037
Lepreux S, Hariri A, Rouillard J, Tabary D, Tarby JC, Kolski C (2007a) Towards multimodal user interfaces composition based on UsiXML and MBD principles. In: Human-computer interaction. HCI intelligent multimodal interaction environments. Springer, Berlin/New York, pp 134–143
Lepreux S, Vanderdonckt J, Michotte B (2007b) Visual design of user interfaces by (de)composition. In: Doherty G, Blandford A (eds) Interactive systems. Design, specification, and verification. Lecture notes in computer science, vol 4323. Springer, Berlin/Heidelberg, pp 157–170
Lepreux S, Vanderdonckt J, Kolski C (2010) User interface composition with UsiXML. In: Vanderdonckt J, Faure D (eds) Proceedings of 1st international workshop on user interface extensible markup language UsiXML’2010. Thales Research and Technology France, Paris, pp 141–151
Lewandowski A, Lepreux S, Bourguin G (2007) Tasks models merging for high-level component composition. In: Human-computer interaction. Interaction design and usability. Springer, Berlin/Heidelberg/New York, pp 1129–1138
Limbourg Q, Vanderdonckt J, Michotte B, Bouillon L, López-Jaquero V (2005) Usixml: a language supporting multi-path development of user interfaces. In: Bastide R, Palanque P, Roth J (eds) Engineering human computer interaction and interactive systems. Lecture notes in computer science, vol 3425. Springer, Berlin/Heidelberg, pp 200–220
Luyten K, Vandervelpen C, Coninx K (2002) Migratable user interface descriptions in component-based development. In: DSV-IS, pp 44–58
Masuoka R, Parsia B, Labrou Y (2003) Task computing – the semantic web meets pervasive computing. Lecture notes in computer science, vol 2870. Springer, Germany, pp 866–881
Messer A, Kunjithapatham A, Sheshagiri M, Song H, Kumar P, Nguyen P, Yi KH (2006) Interplay: a middleware for seamless device integration and task orchestration in a networked home. In: Fourth annual IEEE international conference on pervasive computing and communications (PERCOM’06), pp 10–307. https://doi.org/10.1109/PERCOM.2006.30
Mohand Oussaïd LMO (2014) Formal modelling and verification of multimodal human computer interfaces: output multimodality. Theses, ISAE-ENSMA Ecole Nationale Supérieure de Mécanique et d’Aérotechique – Poitiers. https://tel.archives-ouvertes.fr/tel-01127547
Morch A (1998) Tailoring tools for system development. J End User Comput 10(2):22–29
Mørch AI, Stevens G, Won M, Klann M, Dittrich Y, Wulf V (2004) Component-based technologies for end-user development. Commun ACM 47(9):59–62. https://doi.org/10.1145/1015864.1015890
Morris KA, Allison M, Costa FM, Wei J, Clarke PJ (2015) An adaptive middleware design to support the dynamic interpretation of domain-specific models. Inf Softw Technol 62:21–41. https://doi.org/10.1016/j.infsof.2015.02.003
Nestler T, Feldmann M, Preußner A, Schill A (2009) Service composition at the presentation layer using web service annotations. In: Proceedings of the 1st international workshop on lightweight integration on the web, San Sebastian, pp 63–68
Occello A, Joffroy C, Pinna-Déry AM, Renevier Gonin P, Riveill M (2010) Experiments in model driven composition of user interfaces. In: Proceedings of the 10th IFIP international conference on distributed applications and interoperable systems, DAIS’10. Amsterdam, pp 98–111
Oliveira RAD (2015) Formal specification and verification of interactive systems with plasticity: applications to nuclear-plant supervision. Theses, Université Grenoble Alpes. https://tel.archives-ouvertes.fr/tel-01253619
Paternò F, Santoro C, Spano LD (2009) Maria: a universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments. ACM Trans Comput-Hum Interact 16(4):19:1–19:30. https://doi.org/10.1145/1614390.1614394
Paternò F, Santoro C, Spano LD (2010a) Exploiting web service annotations in model-based user interface development. In: Proceedings of the 2nd ACM SIGCHI symposium on engineering interactive computing systems. ACM, pp 219–224
Paternò F, Santoro C, Spano LD (2010b) User task-based development of multi-device service-oriented applications. In: Proceedings of the international conference on advanced visual interfaces, AVI’10. ACM, New York, pp 407–407. https://doi.org/10.1145/1842993.1843086
Paternò F, Santoro C, Spano L (2011) A design space for user interface composition. In: Hussmann H, Meixner G, Zuehlke D (eds) Model-driven development of advanced user interfaces. Studies in computational intelligence, vol 340. Springer, Berlin/Heidelberg, pp 43–65
Pering T, Want R, Rosario B, Sud S, Lyons K (2009) Enabling pervasive collaboration with platform composition. Springer, Berlin/Heidelberg, pp 184–201
Pietschmann S, Voigt M, Rümpel A, Meißner K (2009) Cruise: composition of rich user interface services. In: Proceedings of the 9th international conference on web engineering, ICWE’9. Springer, Berlin/Heidelberg, pp 473–476
Ramadour P, Cauvet C (2002) Approach and model for business components specification. In: 13th international conference. Springer, pp 628–637
Reenskaug TMH (1979) MVC XEROX PARC 1978–1979. http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html
Saidi R, Fredj M, Mouline S, Front A, Rieu D (2007) Towards managing variability across business component development. In: 2007 IEEE international conference on information reuse and integration, pp 594–599. https://doi.org/10.1109/IRI.2007.4296685
Serna M, Sreenan CJ, Fedor S (2015) A visual programming framework for wireless sensor networks in smart home applications. In: 2015 IEEE tenth international conference on intelligent sensors, sensor networks and information processing (ISSNIP), pp 1–6. https://doi.org/10.1109/ISSNIP.2015.7106946
Sinha AP, Jain H (2017) Reusing business components and objects for modeling business systems: the influence of decomposition characteristics and analyst experience. J Syst Softw 131:550–569
Stuerzlinger W, Chapuis O, Phillips D, Roussel N (2006) User interface Façades: towards fully adaptable user interfaces. In: UIST’06: ACM symposium on user interface software and technology. ACM – SIGCHI & SIGGRAPH. ACM, Montreux, pp 309–318. https://doi.org/10.1145/1166253.1166301
Svahnberg M, van Gurp J, Bosch J (2005) A taxonomy of variability realization techniques: research articles. Softw Pract Exp 35(8):705–754. https://doi.org/10.1002/spe.v35:8
Szyperski C, Bosch J, Weck W (1999) Component-oriented programming. In: Moreira A (ed) Object-oriented technology ECOOP’99 workshop reader. Lecture notes in computer science, vol 1743. Springer, Berlin/Heidelberg, pp 184–192
Tan DS, Meyers B, Czerwinski M (2004) Wincuts: manipulating arbitrary window regions for more effective use of screen space. In: CHI’04 extended abstracts on Human factors in computing systems. ACM, pp 1525–1528
Terzis S, Nixon P (1999) Semantic trading: tackling interoperability problems during system integration. In: Object-oriented technology, ECOOP’99 workshop reader, ECOOP’99 workshops, panels, and posters, Lisbon, 14–18 June 1999, Proceedings, p 9
Tsalgatidou A, Pilioura T (2002) An overview of standards and related technology in web services. Distrib Parallel Databases 12(2–3):135–162. https://doi.org/10.1023/A:1016599017660
Vale T, Crnkovic I, de Almeida ES, Silveira Neto PADM, Cavalcanti YAC, Meira SRDL (2016) Twenty-eight years of component-based software engineering. J Syst Softw 111(C):128–148. https://doi.org/10.1016/j.jss.2015.09.019
Vanderdonckt J, Grolaux D (2019) End-user composition of graphical user interfaces by composite pattern. In: Proceedings of the ACM SIGCHI symposium on engineering interactive computing systems, EICS’19. Association for Computing Machinery, New York. https://doi.org/10.1145/3319499.3328236
Vermeulen J, Vandriessche Y, Clerckx T, Luyten K, Coninx K (2007) Service-interaction descriptions: augmenting services with user interface models. In: EHCI/DS-VIS, pp 447–464
Wang ZJ, Zhan DC, Xu XF (2006) Stcim: a dynamic granularity oriented and stability based component identification method. SIGSOFT Softw Eng Notes 31(3):1–14. https://doi.org/10.1145/1127878.1127888
Ye J, Herbert J (2004) User interface tailoring for mobile computing devices. In: Proceedings of 8th ERCIM workshop “user interfaces for all” UI4All’04. Lecture notes in computer science, vol 3196. Springer, Berlin, pp 175–184
Yu J, Benatallah B, Casati F, Daniel F (2008) Understanding mashup development. Internet Comput IEEE 12(5):44–52. https://doi.org/10.1109/MIC.2008.114
Zhao Q, Huang G, Huang J, Liu X, Mei H (2008) A web-based mashup environment for on-the-fly service composition. In: IEEE international symposium on service-oriented system engineering, 2008. SOSE’08. IEEE, pp 32–37
Zohar M, Amir P (1992) The temporal logic of reactive and concurrent systems. Springer, New York
Acknowledgements
The authors would like to acknowledge the support to this activity by the Nomos (Nouvelle Oganisation de Modèles Orientés Surface pour la conception de systèmes interactifs basés sur la territorialité), Hubert Curien programme (2020, first edition) and Wallonie Bruxelles International under convention PAD/CCA/SCU/AJO/ADD/FR/SORT/2019/545410.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this entry
Cite this entry
Lepreux, S., Renevier-Gonin, P. (2022). Composition of User Interfaces. In: Vanderdonckt, J., Palanque, P., Winckler, M. (eds) Handbook of Human Computer Interaction. Springer, Cham. https://doi.org/10.1007/978-3-319-27648-9_45-1
Download citation
DOI: https://doi.org/10.1007/978-3-319-27648-9_45-1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-27648-9
Online ISBN: 978-3-319-27648-9
eBook Packages: Springer Reference Computer SciencesReference Module Computer Science and Engineering