Improving user experience by infusing web technologies into desktops

Modern applications are able to adapt their architecture dynamically in order to tackle requirements, correctives and context changes. Such dynamism is often an echo of complexity and is not well supported by traditional client and user software stacks making complex the design, implementation and maintenance of the end user interface. Meanwhile, the web has seen the emergence of user interface technologies (e.g. HTML5, CSS3, JavaScript) widely adopted by developers to create highly flexible user interfaces. However, such clients are intrinsically bound to run on a web browser which is out of the control of the application. In this paper, we present ChameRIA, an application framework where a browser engine is reified as a component within the framework, thus allowing for better control over the rendering engine. We describe how we preserve a clear separation of concerns between the user interface and the application logic while maintaining coherence between them. We discuss how ChameRIA has been successfully used in two projects: a DRM document reader and a valve control application.

[1]  Martin Odersky,et al.  Scalable component abstractions , 2005, OOPSLA '05.

[2]  Jim Waldo,et al.  A Note on Distributed Computing , 1996, Mobile Object Systems.

[3]  Andrew S. Tanenbaum,et al.  Distributed systems: Principles and Paradigms , 2001 .

[4]  Luciano Baresi,et al.  The disappearing boundary between development-time and run-time , 2010, FoSER '10.

[5]  Gregory R. Andrews,et al.  Paradigms for process interaction in distributed programs , 1991, CSUR.

[6]  Alessandro Orso,et al.  A technique for dynamic updating of Java software , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[7]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[8]  H. M. Robinson,et al.  Electrolysis , 2019, energyo.

[9]  Andrew S. Tanenbaum,et al.  Distributed systems - principles and paradigms, 2nd Edition , 2007 .

[10]  Kiev Gama,et al.  A survey on approaches for addressing dependability attributes in the OSGi service platform , 2010, SOEN.

[11]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[12]  Manuel Oriol,et al.  Practical dynamic software updating for C , 2006, PLDI '06.

[13]  Richard S. Hall,et al.  Dynamically Adaptable Applications with iPOJO Service Components , 2007, SC@ETAPS.

[14]  Philippe Lalanda,et al.  Towards an Automatic Integration of Heterogeneous Services and Devices , 2010, 2010 IEEE Asia-Pacific Services Computing Conference.

[15]  George Lawton New Ways to Build Rich Internet Applications , 2008, Computer.

[16]  Christopher M. Anderson,et al.  The web is dead. Long live the Internet , 2010 .

[17]  Kathryn S. McKinley,et al.  Dynamic software updates: a VM-centric approach , 2009, PLDI '09.

[18]  Jeff Magee,et al.  Dynamic Configuration for Distributed Systems , 1985, IEEE Transactions on Software Engineering.

[19]  Gustavo Alonso,et al.  Consistently applying updates to compositions of distributed OSGi modules , 2008, HotSWUp '08.

[20]  Thomas Ledoux,et al.  Reliable dynamic reconfigurations in the fractal component model , 2007, ARM '07.

[21]  ITU-T Rec. X.901 (08/97) Information technology - Open distributed processing - Reference Model: Overview , 1998 .

[22]  Rida A. Bazzi,et al.  Immediate Multi-Threaded Dynamic Software Updates Using Stack Reconstruction , 2009, USENIX Annual Technical Conference.

[23]  Richard S. Hall,et al.  A Framework for Constructing Adaptive Component-Based Applications: Concepts and Experiences , 2004, CBSE.

[24]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[25]  Charles Reis,et al.  Isolating web programs in modern browser architectures , 2009, EuroSys '09.

[26]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[27]  Scott Nettles,et al.  Dynamic software updating , 2001, PLDI '01.