Users’ Practices and Software Qualities: a Dialectical Stance Alessandro Pollini Interaction Design Area, Communication Science Dpt., University of Siena Via Roma 56, 53100, Siena 0039 0577 270565 pollini@media.unisi.it ABSTRACT have also become issue of research interest. Usability benefits The Ubiquitous Computing technology in practice is often have been widely applied to individuals performing on a desktop characterized by users that experience recurring breakdowns, computer but need now to be re-examined within the context of standards’ incompatibility and a proliferation of interfaces when distributed, interactive, networked and embedded applications. using, accessing and trying to connect different devices (e.g. PCs, Usability studies, which traditionally approach aspects specific to cameras, printers, and phones). Such interconnected devices a given task or application, have to be reinterpreted and adapted populate ordinary Ubiquitous Computing scenarios. to Ubiquitous Computing application systems, wherein networks of laptops, PDAs, wearable computers, mobiles and other The focus of the present research is on how software architecture distributed devices are constructed, de-constructed and integrated. can support Ubiquitous Computing applications and how people might use these technologies to enhance their practices and reach Designers and developers must also find ways in which sensitive, personal goals. Architectural support is indeed needed for responsive and intelligent UbiComp technology can also become designing embedded, distributed, intelligent and interactive usable, i.e. noticeable, comprehensible, adaptable and easy to systems, which need communication through middleware control. That is why usage and usability concerns need to be components. reconsidered outside of the desktop metaphor. Achieving usability traditionally depended on how the functions provided by the Use practices and Architectural Qualities have been investigated system were understandable and clearly visible through the user in the Active Surfaces case study. Active Surfaces is an embedded interface. In this paradigm users have many input and output and modular system of tiles aimed at supporting therapeutic use peripheral devices and the overall system interface must be practices and special needs. The design and developmental adequate for their needs. There is a multitude of interfaces and process is articulated on the relationship and the exchange usability issues for each mobile device of the distributed and between key users practices and architectural qualities. ubiquitous system, and this requires a unique and enabling software architecture that must be designed according to users’ Categories and Subject Descriptors needs. D.3.3 [Programming Languages]: Language Contructs and In this paper we primarily discuss the interplay between software Features – abstract data types, polymorphism, control structures. architecture development and users practices by focusing on the architectural qualities peculiarity of designing ubiquitous systems General Terms for users with special needs and diverse abilities through the case Design, Performance, Experimentation. of Active Surfaces, a modular system of tiles used for play and therapy in water. Keywords Active Surfaces relies on the service-oriented architecture Software architecture, Ubiquitous computing, Usability, User developed in the EU funded IP PalCom, Palpable Computing [2]. requirement, Participatory Design. We will discuss the interplay between users’ practices and software architecture development by experimenting with the Active Surfaces with therapists and children with special needs. 1. INTRODUCTION By focusing on those attributes that support palpable use of Design and development of software architectures for ubiquitous technology, that we henceforward call Qualities, we also consider systems have been a major concern in academic research and the architectural attributes required by usable ubiquitous industry [1] and how architectures impact real use and usability technology. Permission to make digital or hard copies of all or part of this work for 2. ARCHITECTURE AND USE personal or classroom use is granted without fee provided that copies are The software architecture has been explored and experimented in not made or distributed for profit or commercial advantage and that different application prototypes related to the Health Care and the copies bear this notice and the full citation on the first page. To copy Landscape Architecture domains [2]. Each general scenario is otherwise, or republish, to post on servers or to redistribute to lists, characterized by an application prototype in which the requires prior specific permission and/or a fee. architecture, or part of it, has been experimented. The application prototypes served as testbeds for the development of the I-USED’08, September 24, 2008, Pisa, Italy architecture and as case studies that provide the requirements system, and the architectural platform, like the networking and coming from the field studies. dynamic assembly of tiles that is configured purposely [3][4]. The architectural qualities have been introduced and described as the meeting point between architecture and use/application. The 3. SPECIAL NEEDS AND USERS’ peculiarity of these non-standard architectural qualities is that PRACTICES they both evolve and gain meaning through software development In order to better focus on use practices as they emerge in the and investigation of key user practices to account for. Active Surface application prototype it is thus necessary to In fact the architectural qualities and the user practices are describe the target users profiles - that is, the therapists and tightly coupled and represent the two perspectives adopted in this caregivers together with the disabled children - their needs, research: the software architecture engineering and the interaction wishes and abilities [4]. design perspective. Together with the study of the domain and a survey of the In order to better focus on users and architecture it is necessary to enabling technologies [5], fieldwork has been carried out with the describe the Active Surfaces application prototype. The concept, aim of directly exploring the field of therapeutic intervention in the system and the architecture are described below. water. The fieldwork has been conducted in two settings for psychomotor therapy in water, the Disabled Children Parents 2.1 Active Surfaces Association, Siena and the D. Chiossone Institute in Genova. We Active Surfaces is a modular system constituted by physical and adopted ethnographic methods - such as field observation and interactive units, the tiles. They are interactive modules that interviews - and design methods - such as user workshops and activate the surfaces of the swimming pool by making the creative brainstorming. The ethnographic activities attempted to environment featured with a network of distributed interactive observe and reveal relevant issues related to the environment (the components [3][4]. In particular, the prototype as developed in features of the water, the physical structure of the swimming this research affords the horizontal configuration of the tiles on pool), the actors (therapists, disabled children, parents), the tools the water surface. (objects, toys and water noodles) and, above all, the activities (the procedures, the different phases, the practices). We have addressed the whole practice starting from the planning, entering the activity and proceeding with the evaluation phase [5]. We will exclusively focus here on the overall description of users’ needs and therapists practices in order to understand the implications they have on software architecture development. Figure 1. The current Active Surfaces prototype The tiles constitute a network of physical (and software) objects that communicate and exchange data. Each Active Surfaces tile is thought of as a modular unit that can communicate with the others through its six sides. These entirely homogeneous devices, the tiles - which have exactly the same physical characteristics and computation and communication resources - are assembled. Each tile is an independent, physical, tangible object that can be picked Figure 2. Playing domino like games with Active Surfaces up and moved around, and the interaction between the tiles is The main actors of this therapeutic setting are the children with coherent and straightforward: all the tiles can communicate with special needs. Children with very diverse profiles actually benefit their adjacent neighbours. They are, in fact, able to recognize from therapeutic play in the water. The users we have observed their relative position as being essentially positioned and can be summarized in three main groups described below: orientated in a sequence of tiles. Autistic Spectrum Disorders and Other Affective and Socio- The Active Surfaces is highly scalable in respect to computational Relational Disturbances. People with autism have impaired social power and number of components. In fact it can scale up or down interaction and social communication and have a limited range of (vertically) by adding or removing resources to a single node in a imaginative activities. People with autism have a tendency toward system, typically involving the addition or removal of CPUs or repetitive behaviour patterns and resistance to any change in memory to a single tile. Active Surfaces can also scale out routine. They need to be instructed and supported during the (horizontally) by the addition of more nodes to a system, such as game, otherwise they very quickly return to their own solitary adding new tiles to the distributed system. ‘obsessive activities’. The concept emphasizes issues related both to the use, such as Physical and Motor Disabilities and Cerebral Palsy. These physical manipulation, positioning and emergent uses of the children have limitation or an impossibility of movement, restrictions in force, abnormal postures, the presence of neurological movement disorders such as dystonia, tremor, ataxia, obtrusive, able to be personalized, adaptable, and capable of etc. Children with cerebral palsy can be severely impaired in anticipating emerging user needs [6]. playing by their motor disability, but also by speech and A wide variety of methods have been used throughout the communication disabilities, and sensory impairments (visual iterative design life cycle [5]. These methods pertain to Human and/or hearing). Computer Interaction, Participatory Design and Software Mental Retardation/ Intellectual Disabilities/ Learning Architecture Engineering. In particular we integrated a Disabilities. Children with mental retardation (also referred to as participatory design perspective with a co-evolutionary approach intellectual disabilities or learning disabilities, for example to interaction design and we explored this methodology in the children with Down’s syndrome), have a reduced capacity for domain of software architecture design. The process is co- attention and might not understand the meaning of the proposed evolutionary since architectural development, site exploration, activity. They might not understand the meaning of language and activity analysis and concept design have been carried out in many of them have speech limitations too. parallel so that each path of the process can inform, without constraining, the others. 3.1 Key Practices We especially highlight on how the use of scenarios helped the The therapists and trainers are the other main actors of this structuring of data gathered through activity analysis, the setting. They essentially have the role of facilitating the playful envisioning of the role and functionalities of the system, and the physical, social and emotional experience. They have to mediate assessing and validating the envisioned solutions from an the social relationships, the experience in the water and offer a architectural perspective (see [7][8] for scenario-based evaluation reassuring presence to the child. They are the scaffolds that allow methods). the child to express and freely explore the space of the pool. The therapists have to facilitate the activity, and not impose rules or, Throughout this research the scenarios are used to step through on the opposite extreme, abandon the child without a guide. Even the software architecture and to document the consequences of when the child would like to explore by herself the therapist architectural solutions from a user perspective. Different kinds of should also be present and support her independent action. The scenarios drove the research process: Activity scenarios, intervention is considered successful when the therapist interprets Envisioning scenarios, Prototype scenarios and Qualities the meanings of the behaviors of the child. Having an intimate scenarios [5]. We will focus here on Activity and Qualities knowledge of the child is central to achieving this interpretation. scenarios that better represent the dialogue between Application and Architecture. The outcomes of this activity resulted in key observations that have informed the whole design process. They can be summarized Activity scenarios stem from the fieldwork and activity analysis. as follows: They are grounded and built on data collected with ethnographic observation and user research. Activity scenarios account for Looking for creative solutions: The therapists usually deal with concrete use episodes and key practices. We used the Activity dynamic settings and changing conditions. This implies the Scenarios to understand, as thoroughly as possible, what is ability to manage and rearrange the available resources in relevant and appropriate in the specific domains of use, which in purposeful and creative ways. this case study was the therapeutic practice in the water. These Dynamic configuration of the tools: In dealing with issues have thus been evolved into user requirements that continuously changing conditions and rehabilitation demands, informed the definition of the envisioned solutions at the software the therapists should always find new solutions for adapting architectural level. their tools and the environment to the patients and for The key User Practices also were the criteria to define the maintaining their attention throughout the session. experimental plan with the architectural prototype and the Consequently a core characteristic is that the tools have to be evaluation framework. In fact in this research experimental easily re-configurable and adaptable to this evolving situation. architectural prototypes have been used to conduct experiment on Resource availability and opportunities for action: The the architectural qualities that we have analyzed, in particular therapist needs to feel in control of the available resources and those observable at run-time (like performance) [9]. The how they might be adopted, changed and exploited. As in experimental architectural prototypes allowed concrete many workplaces, since their attention is exclusively directed measurements to be made under a range of different situations to the patients, the resources the therapists use have to be that might be also defined in terms of Qualities scenarios. They ready at hand and immediately understandable. will be described in Par. 6.1. Exploration and performance: This practice facilitates and Qualities scenarios consist of a slight adaptation of the quality encourages exploratory experimentation by users. Tools have attribute scenarios [1][10] that are a way to make the Qualities for to be used, customized and altered according to established palpable systems operational. They are short technical scenarios degrees of freedom and constraints. referred to specific Qualities. Qualities scenarios provide a way to The key therapist practices are among the outcomes of the field concretely measure whether the architecture fulfils the exploration of the application sites and have continuously requirements of the scenario. It states measurable properties of an informed the development of the software architecture. architecture by defining metrics to be used in performance testing of the architecture. These scenarios allowed us to experiment with 4. RESEARCH METHODOLOGY and evaluate specific features of the technology by testing the Dealing with diverse and special users requires that methods and Qualities of the software architecture. experimental environments would be appropriate, i.e. non- 5. ARCHITECTURAL QUALITIES Experimentability. Active Surfaces can be thought of as a toy In the multiple iterative cycles of the process followed in this problem to experiment the software architecture because of its research, scenarios have been used to bridge the use practices and peculiar characteristics, as a modular system made of small easy the architectural development. The key practices have been to handle units. The tiles can be experimented with and tested discussed in terms of system use and from the software without altering the structure of the system or causing any architecture perspective. The Architectural Qualities are malfunctions or error. Indeed, Active Surfaces has to operate even summarized below: despite the presence of an error in the use. An error is a condition of exception resulting from some deviation from the expected USERS PRACTICES ARCHITECTURAL behaviour, which leads to a fault or failure, and the design of the QUALITIES architecture aims at minimizing the eventual adverse Looking for creative solutions Assemblability consequences of accidental or unintended actions. Dynamic configuration of the Adaptability These Qualities should not be considered in isolation, but rather tools as interwoven contributory factors that exhibit dependencies and influences on one another. The purpose of the Qualities is to Resource availability and Resource Awareness capture the essence of what defines the nature of usable, easily opportunities for action perceivable and understandable (in a word, palpable) ubiquitous Exploration and performance Experimentability computing applications. Table 1. From Users Practices to Architectural Qualities 6. EXPERIMENTING WITH THE Each Quality comes from an iterative design and development in SOFTWARE ARCHITECTURE which user participation and technological challenges were The goal of this experimental phase is to describe the behaviour interwoven strands of the whole process. of the Active Surfaces system by measuring the performance of Assemblability. Each Active Surfaces tile is identical and the architectural prototypes. The Qualities scenarios help in interchangeable and can run any piece of code that is passed to it describing the performance in terms of more informative detailed through a neighbour, included the game logics. They can be statements. These statements allow quantifiable arguments about assembled in many different formations that take into account the a system to be made [10]. tiles’ communication capabilities and the surfaces on which they Empirical testing is possible when relevant requirements and have to be placed. Each formation of tiles is instantiated as a architectural components have been identified and prototypes functional and physical Assembly of devices and services. The have been developed. In particular the Active Surfaces Assembly takes form as the users construct it by means of the architectural prototypes, described in the following paragraph, Assembler Tile. The Assembly can then be dynamically altered were used to observe, explore and evaluate the Architectural and adapted over time. Despite the stability it has when it is Qualities. created, the Assemblies can be easily deconstructed and re- constructed in a different formation being supported by flexible 6.1 Architectural Prototypes ad-hoc networks that can be controlled and configured by end Prototypes of software components with different levels of users. accuracy and completeness have been used throughout the Adaptability. The Active Surfaces system consists of a set of process. Their usage in architectural development provided the tiny, resource constrained computers that can be arranged together opportunity to have intermediate embodiments of the systems’ to create a physical network. Because the tiles can only functionality even if not supposed to represent any final or communicate with their close neighbours, there is an explicit and complete stage. consistent discovery and communication framework underpinning The Active Surfaces system underwent a concurrent development the whole system. The tiles can be arranged in three-dimensional either within the Simulation Framework and the Hardware patterns, like squares in a crossword puzzle, and tiles, which are Platform. The hardware platform selected for the Embedded stacked one on top of the other, communicate through the top and Architectural prototype is the UNC20 microcontroller. With such the bottom. The network can be easily reconfigured by picking up small microprocessor only the PalVM, the Virtual Machine a tile and moving it; this movement immediately changes the developed within the PalCom project [2], is supported as a feedback that is provided. runtime engine. Resource Awareness. The tiles are embedded systems with The embedded architectural prototype has been built to learn powerful and limited resources at the same time, such as available about the PalVM platform and the serial communication over IR. energy, available memory or communication bandwidth. Because The testing aims at discriminating whether there are restrictions in of the limitations of these devices they represent a concrete the PalCom open architecture or if the constraints are due to the challenge for the developers of the software architecture. In current hardware implementation (e.g IR communication Active Surfaces a game application can exist within a network, implemented over serial port). rather than on a single unit or a central mainframe. Through the networking among the tiles and the instantiation of the assembly, they can discover the resources present in the system and debug the behaviour of such resources in order to overlook malfunctions or degraded individual or generalized performance. The resources are monitored and managed throughout time. Task (a), (a1): 1+1 tiles, one is still, the other is rotated to reach the correct orientation for the side connection. In one case (a) Two tiles are put together, in the other (a1) two correctly connected tiles are kept apart. Task (b), (b1): 1+2 tiles, one is still, the other two are rotated to reach the correct orientation at the same time. In (b) three tiles are put together, in (b1) three correctly connected tiles are kept apart. Task (c), (c1): 1+3 tiles, one is still, the other three are rotated to Figure 3. PalCom tile stack reach the correct orientation at the same time. In (c) four tiles are The middleware management layer, which consists of managers put together, in (c1) four correctly connected tiles are kept apart. handling resources, services, assemblies, and contingencies, The tasks are designed as two series each consisting of 10 requires too great a memory footprint to fit into the 8MB memory repetitions of the tasks. In the first series the tasks are interrupted of the UNC20. Therefore, the software for the tiles has been by re-boot of the game services (Re-boot series), in the other developed to run on a standard PC with simulated infrared series the tasks are carried out continuously over time (Over time communication in concurrence with the development of the series). The former case represent the normal performance the hardware for the tiles and the optimization of the middleware tiles have on these tasks. The latter evidences how the management layer. On the desktop machine the simulated performance in these specific tests varies over time. framework runs on top of Sun’s JavaVM. Re-configuration (Adaptability) The tiles deployed as simulated devices on a desktop machine are The tiles currently can run either fixed GameServices, like the expected to have an optimal performance and can still exhibit a Jigsaw Puzzle Fish game (see Figure 1) and the Domino game certain level of experimentability through the simulated game (see Figure 2); or open GameServices where the tiles are in with a graphical user interface. In fact the therapists had the programming mode and learn how to configure by physical valuable opportunity to exploit the opportunities provided by the programming-by-example. The tiles also run FeedbackServices, middleware managers, even if within the simulation framework like the actual LEDService or the possible VibrationService and The architecture experienced on the Simulated Framework was SoundService that can be developed in the future. likely to inform the development of the embedded applications. The Re-Configuration tasks can either mean: choosing among 6.2 Performance Testing existing pre-defined GameServices or the flexible use of single The Performance Testing have been organized around tasks services related to game configuration, e.g. tiles’ sequence, designed in order to translate the Qualities, and therefore with a sensing and feedback. relation to the Users’ Practices, in measures observable via In one case the system should allow shifting between pre-defined execution. The tasks aim at demonstrating how the existing GameServices, i.e. different games that have already been architectural components would behave in performing the Active configured. In the second case the system should allow running Surfaces scenario, e.g. performing the assigned activities. more services at the same time The performance testing is based on a user-oriented perspective That’s why we launched different services in parallel simulating and assumes human practice in the therapeutic setting. In the two conditions described above. We are able to compare the particular time responses, delays or frequency of errors have been task under two different conditions represented by the observed with respect to the requirements coming from the ist.palcom.tiles.test.fish.prc services, which involves IR activity analysis. For what regards timeliness, the major communication among the tiles; and ist.palcom.tiles.test.timer.prc requirements from the therapeutic activity in the water are the which doesn’t involve the use of IR communication. duration of the whole session (45 minutes), the pace of the interaction (cycles of 3 to 5 minutes games to the utmost) Performance (Experimentability) intervened by the restless time pauses (2-3 minutes). These data Performance comprises 1 task performed under both the allowed us to define the baseline for the experiments [5]. experimental conditions, with and without the use of In order to determine whether there are restrictions in the software communication. Thus there is a set of 2 tasks that consist of architecture or if the eventual constraints are due to the current observing two GameServices running for 30 min. hardware implementation, we have organized testing around two As mentioned above, the overall session lasts 45 minutes and the different conditions: 1) Tasks in which the performance is duration of a single game situation can be assumed to be 30 influenced mainly by the software architecture currently running; minutes at the very most. In fact even if it is possible that children 2) Tasks in which the performance is both influenced by the find some games very engaging, it is very hard to carry out the architecture and mostly by the current hardware implementation same game for almost the whole session. Furthermore game [10]. dynamics usually last few minutes. In particular the experimental tasks can be grouped into the following areas. Each area represents a way to translate the 7. RESULTS Architectural Qualities (in brackets) into less conceptual and more In this paragraph a short summary of the gathered data is verifiable evaluation tasks. presented. For an extensive overview of the results see [5]. Communication and Discovery (Assemblability and Resource The results related to Communication and Discovery are Awareness) presented regarding the two series of gathered data (Re-boot and Over Time series), the two main actions (Put Together and Put 8. CONCLUSION Apart) and the scalability factor represented by the number of In discussing software architecture development and users’ tiles utilized (2, 3 or 4 tiles). practices we have described the integration among the traditional Conditions Tasks 2 Tiles 3 Tiles 4 Tiles ethnographic studies, participatory design methods and naturalistic experiments to inspire, inform and evaluate the design Put together 3.2 7 6.9 of software architectures [9]. This approach has already been adopted for the design of ubiquitous computing technologies [11] Re-Boot Put apart 7.6 9.8 12.5 while it seems to be still fully appreciated in software architecture design [11]. Put together 3.5 7.6 7.5 Recently there has been a growing interest in understanding Over Time specific evaluation problems that arise from the use of Ubiquitous Put apart 8.1 10.6 13.3 Computing systems [12]. In such paradigm software and hardware Table 2. Communication and Discovery. Summary of Results resources are distributed throughout the physical world and this impacts individual and social behaviours. Different evaluation The comparison among Communication and Discovery between 2 criteria have been outlined, user attention (focus and overhead), Tiles, among 3 Tiles and 4 Tiles, also gives a quantitative the adoption of the system (value and availability) and the measure of how horizontal scalability affects the performance of qualities of the interaction (physically embeddedness, dynamic the tiles system. Active Surfaces is conceived and designed as a input/ output, multiple devices, multiple users). Criteria related to modular system that in future implementation will be made of 12 the use and the person, such as understanding, control, accuracy, units. The experimental data suggest that the performance of appropriateness, and customization, are also discussed. PalVM and the PalCom Communication components should be improved to meet the requirements of a highly scalable system This study helped us to figure out the complexity of such intricate and guarantee acceptable time responses as the number of the stage where persons and computational resources influence one modules increase. each other. With this research we wanted to highlight on multifaceted aspects interwoven in the interplay between real use Tasks related to Re-configuration show how the system supports and software development. several services running in parallel and also creative combinations and adaptations of the tiles system. This can be done by shifting We observed that the introduction of UbiComp technology among these pre-defined solutions or by flexibly combining affected and changed users’ activities and that, at the same time; single services related to game configuration (e.g. game logics, they became responsible for maintaining, controlling and sensing and feedback). changing it. The system architecture / use relationship is dialectical since on one hand, technology enhance certain The eventual shifting among GameServices would be affected by practices by enabling novel use opportunities, on the other hand the time required by new services to start, about 10 sec. As we user-specific dynamics provoke, inspire and inform the observed through the activity analysis, the pace of the activity in emergence of unpredicted architectural solutions. the Active Surfaces scenario would impose a quicker response time for the re-configuration of the system. It is estimated to be no In this paper we showed how such interplay took place through more than 10 sec in order to really provide the user with the the whole research process, i.e. through design and development experience of ready-at-hand tools. The results show that there is strategies that accounted for the special needs of the involved still not adequate support for the multiple services combination, users and challenged the development of the system architecture. i.e. more than three services running). We wanted to give a feeling of this multiplexed process by describing the design of the experiments and the results. Data Regarding the combination of services, all the VM versions well gathered during the activity analysis and activity modeling support two services running in tandem both in tasks involving provided the backbone to define the experimental plan and the the use of IR communication or not. Simultaneously running two baseline for the evaluation of the system. services, the system coherently exhibits the behaviours defined by the two services. Three services running in parallel are also We empirically investigated the dialogue between user studies supported but it seems to affect the behaviour of the tiles by and software development by means of operative choices. We decreasing the overall performance of the PalVM-release. These tried to bridge these two different fields and to take advantage of results are close to what happen with running one service alone the methods of each domain. This study also resulted in the and this could prove valuable support for re-configuration. investigation of newly emergent interwoven processes that make use and architecture meeting at the edge, where software Tasks regarding the Performance over long periods of time show Qualities and Users’ Practices juxtapose and evolve tightly that the current implementation restricts the overall performance coupled. of the tiles. In fact, the performance through the LightUp GameService proved to be optimal, while tasks involving the communication modules resulted in a series of malfunctions that 9. ACKNOWLEDGMENTS negatively affected the overall performance. Thanks to Prof. Patrizia Marti, Alessia Rullo and Erik Grönvall as they were a part of the research group for the duration of the The results of the experiments allowed us to revise and elaborate PalCom project. Thanks to the collegues at the Computer Science on the initial formulation of the Qualities. For the Architectural Dpt, Univeristy of Aarhus that played a fundemental role in the Qualities revised see [5]. software architecture development. 10. REFERENCES Tradeoff Analysis, In proc. of the 1999 International [1] John, B. E.; Bass, L. (2001) Usability and software Conference on Software Engineering, pp. 54-63, 1999. architecture. In Behaviour and Information Technology, 20 [8] Bengtsson, PO. (2002) Architecture-Level Modifiability (5) pp. 329-338 Analysis. ISBN: 91-7295-007-2, Blekinge Institute of [2] Palcom Project Website, http://www.ist-palcom.org/ Technology, Dissertation Series No 2002-2, 2002. [3] Grönvall, E., Marti, P., Pollini, A., Rullo, A. (2006) Active [9] Bardram, J. E., Christensen, H. B., and Hansen, K. M. (2004) surfaces: a novel concept for end user composition, Architectural Prototyping: An Approach for Grounding NordiCHI 2006, Oslo, Norway, 14-18 October, 2006. Architectural Design and Learning. In Proc. 4th Working IEEE/IFIP Conference on Software Architecture, pp. 15-24, [4] Pollini A., Grönvall E. (2006) Constructing assemblies for 2004. purposeful interactions. In Proceedings of Mobile Interaction in the Real World Workshop, MUIA06 at MobileHCI 2006, [10] Bass, L., John, B. E. (2003) Linking usability to software 8th International Conference on Human Computer architecture patterns through general scenarios. Journal of Interaction with Mobile Devices and Services. 12 September Systems and Software, 66 (3), 187-197. 2006. Espoo, Finland. [11] Edwards, W. K.; Bellotti, V.; Dey, A. K.; Newman, M. [5] Pollini A., (2008) Experimenting with an Ubiquitous (2003) Stuck in the Middle: The challenges of user-centered Computing Open Architecture. Ph.D. Thesis, University of design and evaluation for infrastructure. ACM Conference Florence, Italy, 2008. on Human Factors in Computing Systems (CHI 2003 ); 2003 April 5-10; Fort Lauderdale; FL. NY: ACM; 2003; 297-304 [6] Emiliani, P. L., Stephanidis, C. (2005) Universal access to ambient intelligence environments: opportunities and [12] Scholtz, J., Consolvo, S. (2004) Toward a Framework for challenges for people with disabilities. IBM Syst. J. 44, 3 Evaluating Ubiquitous Computing Applications. IEEE (Aug. 2005), 605-619. Pervasive Computing Magazine, Vol. 3, No. 2 (Apr-Jun 2004), pp. 82-8. [7] Kazman, R., Barbacci, M., Klein, M., Carriere, S. J., Woods, S. G. (1999) Experience with Performing Architecture