- Open Access
Designing tailorable software systems with the users’ participation
Journal of the Brazilian Computer Society volume 18, pages 213–227 (2012)
There are several barriers that prevent Brazilian citizen to access knowledge, including the way in which computational technology is presented considering the diversity of interaction skills in our population. One approach for suiting the diverse and mutable interaction requirements is to tailor interfaces according to the users’ preferences or needs. Although literature regarding tailoring presents results with diverse foci, there has been a lack of works considering methods and techniques to support designers in their practice. This paper presents a practical approach to elicit and formalize the tailorable behavior making interactive systems more flexible. The elicitation of the different possible interfaces is performed with users’ participation and the tailorable behavior is formalized with a norm-based structure. A case study, in the context of an inclusive social network system, is described as well as the evaluation with final users.
Nowadays, many services have been offered to the population through computers and the Internet: bills payment, communication with friends and institutions, searching for a job, among others. Besides the reduction in computer prices, the dissemination of cell phones and the implementation of telecenters and Internet cafes, many people still do not benefit from these services. One of the problems is that the way user interfaces are designed today do not favor the interaction of the population in general by failing to consider the different users needs, especially those from not digitally literate users.
In the Brazilian scenario of access to technology and knowledge new solutions for the user interface design are even more urgent. According to the Brazilian Internet Steering Committee, in 2008, 49 % of the Brazilian population had never used a computer and 57 % had never used the Internet. In the group that had never used a computer, there are 84 % illiterates and 94 % elderly. As mentioned in the fourth Great Challenge in computer science research in Brazil for the coming years—the “participatory and universal access to knowledge for the Brazilian citizen”  it is necessary to extend computational systems to all Brazilians, respecting their diversity and differences. This aim is reinforced by the precepts of Universal Design or Design for All [41, 43].
Universal Design can be defined as a discipline that provides principles to guide the development of solutions intended to be accessible for all . The beginning of Universal Design studies focused on physical environments; however, similar ideas have been employed in the design of information systems mediated by computers. The main idea is to aid the development of systems that allow access to information without discrimination and that make sense for the largest possible number of users according to their different sensory, physical, cognitive and emotional abilities.
One way of coping with the diverse and mutable requirements is to offer the possibility of tailoring user interfaces according to the users’ preferences or needs. Applications that allow tailoring offer to end-users the possibility to adapt the software to their personal preferences or changes in the task after the software is implemented . Tailoring involves the concept of “design for change”, offering the flexibility of adapting to different organizational contexts and to changed or unanticipated use situations . It is important to note that activities related to the concept of tailoring involve not only superficial changes in user interfaces such as changing color or font size, although we include them as well. The visibility of new features that become relevant in new contexts of use and task optimization are also possibilities inherent in the concept of tailoring.
The design of tailorable systems demands new methodologies to cope with the diverse requirements and functionalities that could be changed during their usage lifetimes. Research on tailoring to date has predominantly focused on technical issues, e.g., the infrastructure needed to enable changeable applications (cf. [4, 18]). Other works have investigated the phenomenon regarding tailorability, e.g., the reasons that lead users to tailor (cf. [19, 31, 33]); several have focused on some specific mechanisms that allow tailoring, e.g., menus and buttons (cf. [20, 32]), while some classified the different types of tailoring (cf. [22, 27]) and a few have discussed the design of these applications [13, 28, 45]. Especially in areas concerning design, the works to date have focused on principles to guide designers; studies regarding practical approaches to support design decisions for tailorable applications have been lacking.
This paper presents an approach to elicit and formalize the tailorable behavior making interactive systems more flexible. The elicitation of the different possible interfaces is made with the users’ participation and the tailorable behavior is formalized using a norm-based structure. A case study within the context of a social network system is described as well as the evaluation with final users.
This paper is organized as follows: Sect. 2 shows works related to the design of tailorable systems and presents the participatory design approach; Sect. 3 presents PLuRaL—a framework for the design of tailorable systems—and emphasizes the third pillar of the framework, especially the activities to determine the system tailorable behavior; Sect. 4 describes the case study, how the participatory practice was conducted and how the tailorable solution was evaluated; Sect. 5 discusses the main results and Sect. 6 concludes.
The design of tailorable systems
Systems that allow tailoring first appeared in the early 1980s. Stallman pointed out that the EMACS editor offered extension mechanisms: “several small extensions may be made without the need of programming. They are called customization and are very useful” [38, p. 148]. In this first stage, the technical problems in the development of such software systems were the main focus. In the 1990s, with the increasing industrial demand resulting from the spread of personal computers in companies and the dissemination of standard applications such as word processors and spreadsheets, tailoring was seen as an approach to enable greater efficiency in performing office tasks.
Relatively new are approaches that consider a sociotechnical view to the problem and define patterns and principles to support the design of such applications. Baranauskas and Neris  selected interaction patterns related to tailoring and, from these, proposed characteristics that interfaces allowing tailoring should have. Moreover, they proposed a set of elicitation patterns consisting of issues to be discussed with stakeholders during the elicitation of software requirements. Erickson  proposed usability scenarios for each different level of tailoring: customization (setting parameters), composition (link between existing components), expansion (creation of a new component) and extension (insertion of new code) and compiled a set of usability and design patterns that could support design decisions and implementation. Beyond patterns, Wulf and Golombek  proposed the principle of “direct activation”, i.e., tailoring options should be presented close to where they would be used and preferably in a graphic way. Recently, Wulf et al.  defined four main challenges that can also be understood as principles for design: consistent anchoring, intelligibility, effect on visualization and fault tolerance. Germonprez et al.  proposed a more extensive list with nine principles: task setting, recognizable components, recognizable conventions, outward representation, metaphor, tools, methods, functional characteristics and user representation.
Besides the studies on tailorability, some researchers have been exploring end-user programming techniques aiming to facilitate the interaction (cf. [34, 36]). Although end-user programming is an approach that allows users to “change” the behavior of a certain application, it requires that users learn, at least, basic principles of programming, which is a different focus from the one adopted in this work.
Participatory design and tailorable systems
Schuller and Namioka defined Participatory Design (PD) as a new approach to systems design in which users play a critical role in the design process . Therefore, PD is definitely an approach for User Centered Design. However, the main idea in PD is really to involve real users’ representatives during the design process and not only in evaluation sections. According to Lucy Suchman, “PD makes explicit the critical, and inevitable, presence of values in the system development process” [35, p. vii].
The PD approach began in the early 1970s with manifestations in Scandinavia and in England. In Scandinavia, PD emerged to develop strategies and techniques that support the participation of workers and syndicates in the decision making process related to development of new technologies for workplaces . In England, PD started at the Tavistock Institute with a proposal for a democratic sociotechnical approach to work organization. Later, Enid Mumford (1924–2006), inspired by these ideas, started to develop information systems in a participatory way [24, 25]. Following this work, Muller  proposed a taxonomy of participatory practices to guide designers while choosing participatory activities. These practices are intended to be employed during the software lifecycle, considering the players involved in these activities.
Considering the methodological aspect, the Participatory Design (PD) has been described in literature as an interesting approach to design tailorable applications. MacLean et al.  alluded that the Scandinavian approach could promote the establishment of a culture of tailoring. Kjǽr and Madsen [15, p. 54] reinforced the importance of PD to specify the requirements for flexibility, saying that “… flexibility is not related to the regular procedure or behavior pattern of doing things, but the unexpected, unprecedented, exceptional cases, situations and events experienced only by those who perform the work daily.” They concluded that PD techniques might be applied to capture knowledge about the exceptional cases. Stiemerling et al.  and Costabile et al. [6, 7] also adopted approaches based on workshops joining users, designers and software engineers in the task of designing tailorable systems.
Whereas these authors usually address design for work contexts, this work faces the challenges of integrating ordinary people, in the context of their daily-life environments, into a system-design situation. In this sense, unlike the previous design situations, heterogeneity should be considered while inviting people for the participatory practices to achieve a more comprehensive view . Moreover, constructing a technical information system that considers the interaction requirements of a diverse population requires proper use of the participatory approach. This requires, among other things, the adaptation of artifacts to be used in the workshops , a welcome and warming environment, the use of accessible vocabulary and mutual respect among the parties (cf. ).
PLuRaL is a framework for the design of tailorable applications which adopts a sociotechnical approach and a comprehensive view for interaction requirements, including those that are controversial or from minority, and arising not only from users, but also from different devices and interaction environments .
OS is a discipline that has roots in semiotics as applied to organizational processes. It studies the nature, characteristics, function and effect of information and communication within organizational contexts. An organization is a social system in which people behave in an organized manner conforming to a certain system of norms. These norms are regularities of perception, behavior, belief and value that are expressed as customs, habits, patterns of behavior and other cultural artifacts [17, 40].
According to the OS perspective, an organization can be seen as an information system where agents employ signs to perform purposeful actions. Some of the organizational functions are of high regularity and have rules that can be clearly formalized. Within the formalized part of the actions, a fraction of these may be very repetitive and can be automated by computer-based systems. In this sense, the software (technical system) is part of a whole information system and presupposes a formal system in which rules and formal procedures specify how the relations should be carried out and how the actions should be performed. Moreover, the formal system presupposes an informal system in which organizational culture, customs and values are reflected in the beliefs, habits and patterns of behavior of each individual member; at this level, meanings are agreed upon, intentions are understood and beliefs are formed. Therefore, OS provides a background that embodies knowledge and supports collaboration and reflection among people from the different disciplines involved in interaction design .
PLuRaL first pillar (Describe the needs) brings out the signs of interest in the domain (being them related to users, devices or environment) and formalizes non-functional requirements that the tailorable system should cope with. Two methods from OS can be applied here: the Stakeholders Analysis , which supports stakeholders’ elicitation and assesses how they impact the system design and the Semiotic Ladder  which allows a refined classification of information considering six information layers (the physical world, empirics, syntactic, semantics, pragmatics, and social world). The formalization of the functional requirements in the Ladder’s six layers is supported by a set of cards which characterizes the different possible users, devices and environments where the prospective tailorable system can be used.
The second pillar benefits from the Semantic Analysis Method and Norm Analysis Method  allowing a consistent view about the domain, which includes the norms that govern the agents’ behavior, and assist the formalization of functional requirements. Applying the Semantic Analysis Method, an ontology chart is drawn, representing the main affordances related to the domain. Ontological dependencies are represented by links between affordances or agents, implying that the existence of an element drawn on the right depends on the existence of a corresponding element on the left in an ontology chart. Considering a statement that defines the (design) problem, the main affordances in the domain are elicited.
The Norm Analysis Method supports the specification of the dynamic behavior related to those affordances. The Norm Analysis Method consists of four steps for eliciting and formalizing norms: responsibility analysis, protonorm analysis, trigger analysis and detailed dynamic behavior specification (cf. ). Each step assists the identification of parts of the norm. In particular, responsibility analysis aims at assigning the agents in charge of each action. Trigger analysis focuses on the conditions that should happen and thus the action that will be performed.
The methods and techniques employed up to this point represent the social context and provide designers with a consistent view of the domain. Furthermore, this information will directly support the specification of Use Cases . PLuRaL recommends that the Use Cases start to be filled in at the end of the second pillar. At this moment, information such as use-case objective, preconditions and actors can be successfully entered. The fully filled version, including descriptions of the action courses considering the tailorable behavior, may be completed at the end of the third pillar.
In the third pillar, the tailorable design solution is built up and a norm-based structure formalizes the system tailorable behavior . PLuRaL third pillar starts with the sketching of the different interfaces possibilities i.e., creating a representation of how the interfaces will appear. The sketching can be done with a modified version of the BrainDraw technique  or even using pictures of the interface elements and panels, as it will be described later in this paper.
However, only drawings are not enough to represent the diversity of facets a tailorable system may have, hence a more formal approach needs to be adopted. Based on the behavioral norm structure adopted by Stamper et al. , the following format is proposed to represent the tailorable behavior:
where d: device, e: environment, u: user, f: functionality, r: representation deontic operator: must, may or may not, i: interface element, m: mode (position, size, shape, color, type, instance).
The context is defined by a tuple formed by device, environment and user characteristics. When the condition is satisfied, i.e. the system starts a specific functionality in a specific representation (as the same functionality may have more than one user interface), then the tailorable system must, may or may not show a group of interface elements in a certain mode.
The proposed format allows modeling a great variability of changes and designers can specify from simple situations such as “every time the application is running on a cell phone, contrast option should be on” (in the norm format: whenever (cell phone, all, all) if (all, all) then application must show [(contrast, on)]) to more complex ones involving specific behavior of different interface elements like whenever (Computer, in the office, attendant) if (check appointment, appointment report) then drugstore_system must show [(language style, “formal_semantics.txt”); (logo, Health ministry)].
The feasibility of applying PLuRaL third pillar in a participatory approach to elicit and formalize a tailorable behavior was evaluated in the context of the e-Cidadania project . The e-Cidadania investigated solutions for the interaction design of systems that make sense to the Brazilian citizens, to support the constitution of a culture mediated by Information and Communication Technologies. By studying the relationships established around people in their informal networks and the way they interact with each other and with technology, an Inclusive Social Network system, named Vila na Rede, was built. Vila na Rede allows users to share announcements about products and services, events or ideas. To cope with the different interaction needs present in the Brazilian population, Vila na Rede should be a tailorable system.
During the project, the methods and techniques of pillars 1 and 2 were applied and the Stakeholder Analysis technique (pillar 1) and the Norm Analysis Method (pillar 2) were applied in a participatory approach.
Aiming at eliciting the different interface representations (pillar 3), a participatory practice was conducted. From the final designs, several norms that represent the system tailorable behavior were defined, implemented and tested with final users, as described in the next sub-sections.
The participatory practice happened in two different moments. Four groups participated in a workshop at a Telecenter in the Vila União neighborhood in Campinas-SP. One more group participated at the Nucleus of Informatics Applied to Education (NIED) in the UNICAMP campus. Considering both moments, 14 participants from the community with different profiles were involved. Their ages varied from 18 to 61 years old. There were 2 men and 12 women. One participant was deaf. Regarding schooling level, 5 declared to have stopped studying at or after elementary school, 4 at or after high school, 3 after college, and 2 have post-graduation degree.
The participants worked in 5 groups (4 groups with 3 participants and 1 group with 2 participants) divided following the characterization proposed by Neris et al.  that considers knowledge about the domain and ability with technology as criteria. As all participants are users of the Vila na Rede system and have already used functionalities such as to post, read or comment an announcement at least once, the main criterion used to group the participants was their ability with technology in general. Therefore, in G1 were the users with less ability, followed by participants from G2 and G3. Participants from G4 and G5 were considered with similar levels of ability with technology, i.e. those that use computers frequently.
The practice proposed 2 activities related to the ordering of announcements and re-construction of an interface. The ordering activity aimed at identifying the different criteria (filters) the users would apply to organize information, while the second activity was designed to elicit the different interaction elements each group would apply and in which mode (position, shape, color).
First, each group received 45 cards representing real announcements available at Vila na Rede. The cards contained information as the category (products and services, events or ideas), title, author, date and time of creation, date and time of last change, date and time of the last visit, number of comments, number of visits and media included (pictures, sound or video). The groups were asked to order the cards using a criterion that would make more sense to them, as shown in Fig. 2a. They took about 35 minutes discussing and ordering the cards.
Afterward, participants received a kit with pictures of interaction elements in different colors and sizes, colorful pens, pencils, eraser, glue and a cardboard imitating a computer screen with an opened browser window, as shown in Fig. 2b. Participants were asked to build an interface in which the announcements (cards ordered in the previous activity) would be listed. They could use the pictures from the kit or draw new ones. The groups took about 60 minutes to build an interface and after that each group explained its proposal to the researchers.
Formalizing the tailorable behavior
The groups chose different criteria to order the announcements, as summarized in Table 1. G1 first selected the announcements with pictures and then organized them by their title (mixing the categories) as they would tell a story about a person’s trajectory using the system. One of the participants explained: “One person first learns these things [shows several announcements about craftwork] and then she regains happiness [title of the last announcement in the selection]”. Another G1 participant also exemplified another trajectory: “It is a history from housecleaning to the craftwork”. At last, they grouped the announcement in thematic groups (e.g. environmental education, craftwork, free courses and cultural events). Even inside a thematic group, the criterion is also related to situations in the real life. In the environmental education theme, for instance, they first ordered announcements related to the educational space at a telecenter, then access to email and participatory practices, followed by lectures and at last the critics related to the theme. They also gave preference to their own announcements and then to those from people they knew.
G2 initially opted for keeping the pre-determined categories (products and services, events and ideas) and selected to order the announcements inside a category by the number of visits. They said: “if there are lots of visits then people are interested in the announcement”. However, after discussing a little more they decided to re-order the cards considering thematic groups as health, beauty and craftwork (they mentioned the groupings found in commercial phone directories as examples). The themes would be organized by importance. They said: “Health is more important therefore it comes first”. At the end, they faced the problem of having several different themes and announcements that did not fit very well in any of them. As a result, they returned to the number of visits criterion and suggested a new category that would group all the announcements.
G3 was composed of participants that are casual users of computers. After discussing a lot, they decided to keep the actual default order (last posted) to announcements about products and services, and ideas. However, they suggested a different approach for filtering events. They would like to list these announcements by the initial and final dates of the events.
G4 and G5 were composed by participants considered fluent in using computers. They kept the actual system categories but suggested new filters contextualized to each category. For products and services, G4 proposed to filter by price. For events, they proposed to filter using a certain period of time as a week or month. For ideas, they suggested to filter by the author’s name and then by the titles alphabetically ordered.
From the criteria suggested by the groups, it is interesting to mention that G1 and G2 used their life experience to organize the information, considering thematic groups. This result is shared with those seen by  regarding the influence of the domain in groups that are not used to technology. The other groups kept the categories already present in the system but added more sophisticated filters as price or date of the events.
The activity with the panels aimed at eliciting the different interaction elements each group would apply and in which mode. Figure 3a shows a snapshot of Vila na Rede in which a list of announcements is presented (as it was before the practice). The panels designed by G1 and G4 can be seen in Fig. 3b and 3c, respectively. The analysis summarized in Table 2 considered which interface elements were added and in which position, shape and color.
From the panels and the information presented in Table 2, it is possible to see that the elements: logo, register, login and contact buttons, font size buttons, menu, who is online, and the poll tool, showed up in all proposals. However, it is interesting to note that the logo was added in a video format (passing first ideas about the system) in 2 proposals. The menu shape also varied. In three proposals, it appeared in a circular shape. Moreover, in one of the proposals a new category was added, “all”, which grouped the announcements from products and services, ideas and events. The buttons also varied in position, size and color.
The navigational arrows (a resource added by designers to support users who were not familiar with scroll bars—see ) showed up in the proposals of G1, G2 and G3, but were not added by the expert users. In addition, G4 suggested that the poll tool could be presented in a retractile shape, which is common in other web applications. Finally, the LIBRAS button was added in four proposals and in two of them (G1 and G5—the deaf user was included in G5), this button was larger and placed in the middle of the screen.
The results presented and discussed previously demonstrate that Vila na Rede should “behave” in different manners to cope with the diverse interaction requirements pointed out by the participants of the practice. Considering these results, some norms representing the system tailorable behavior were formalized as exemplified in Table 3. The adopted norm format follows PLuRaL, i.e. WHENEVER ‘context’ IF ‘condition’ THEN Vila na Rede must show ‘tailorable behavior’. The first norm in Table 3 registers the possibility of changing the menu between the linear and circular shapes and is structured as follows: whenever (Computer, in any environment, with any users) if the functionality is “show_menu” in the page area “div_menu” then Vila na Rede may show (menu, in a linear or circular mode). The second norm registers the availability of a LIBRAS button if the user is deaf. The third norm makes it possible to disable the navigational arrows to expert users and the forth one is about offering the poll tool in a retractile format. The deontic operator represents if the resource is adaptable (system may change according to the user’s desire) or adaptive (system must change automatically). A more comprehensive list of norms representing the Vila na Rede tailorable behavior was defined in the project context .
These norms represent a designer perspective constructed upon data from participatory practices, and after their specification, an infrastructure should be adopted to implement the tailorable behavior in the system. In the context of e-Cidadania project, the framework FAN—Flexibility trough Ajax and Norms  was adopted to implement the tailorable behavior.
Once the norms specify the tailorable behavior, some design decisions had to be made regarding how they would be offered to Vila na Rede users. The main interaction purposes are related to the network system main functionalities. Therefore, tailoring the user interface is considered a side-activity. Thus, the design team decided to highlight the tailorable possibilities and offer them near the elements that would be changed in a way that would not interfere with the main system interactions. Figure 4 shows how the choice to change from the linear to the circular menu was offered. Figure 4a shows the button “Tailor” that was offered close to options that change the font size. After clicking “Tailor”, the interface elements that can be changed are highlighted. Figure 4b shows the sign around the menu. Finally, by clicking on the upper button (indicating a circular menu), the menu changes to the circular format, as shown in Fig. 4c.
Evaluating with users
The system tailorable behavior was evaluated with users considering two scenarios: changing the menu format from linear to circular, and automatically resizing the font based on the user’s profile. For the first scenario, we observed the time spent to change the menu and the users’ impressions regarding the possibility to change something in the user interface. The interaction time was observed as a parameter for the easiness of use rather than a productivity criterion. Considering the second scenario, we observed how users reacted when facing an automatic change in the interface. Therefore, the evaluation goals considered users’ satisfaction regarding the possibility of tailoring the interface, observation of some difficulties that users could face in the process of tailoring and some insights about the design decisions made.
A group of 7 users was observed. The users were different in gender (5 women and 2 men), age (from 22 to 61), education level (from uncompleted elementary school to graduate degrees) and professional activities (manga drawing teacher, house cleaner, telecenter monitor, seamstress, among others). The experience with computers also varied: three of them were self-described as having little knowledge of computers; two used computers sometimes; and two were considered experts. Their interactions were captured (mouse movements and keyboard entry) and the users’ speech and face movements were recorded by a webcam. During the evaluation, the researchers observed the users reactions and freely talked to the participants, asking for more details when needed.
The first task was to change the menu from the linear format to the circular one. Users were advised that this action was possible in the system and were asked to discover how to do it. The users that were unfamiliar with computers scanned the screen looking for a new icon. As they could not find it, they asked for help and were directed to look close to where other options are offered, such as changes in the font size. After this orientation, they were able to change the menu on their own. The average time spent by these 3 participants was about 6 minutes. The other participants were able to find the link and change the menu with no help. The average time spent by the other 4 participants was about 2.5 minutes. One of the participants clicked on the tailoring button and saw the option to change the menu highlighted. Immediately following this, he started to look for other marks to change other elements. He mentioned, “I should go there,” pointing to the button to change the menu from linear to circular, “to change the menu. Is there anything else I can change?” The users’ reaction to the option to change the menu was very positive; 6 users decided to keep the menu in the circular format. Figure 5 shows a sequence of screenshots and videos captured during a user’s interaction. In Fig. 5a, the user is looking for the tailoring activation element. In Fig. 5b, it is possible to see a satisfied reaction when she sees the interface elements that would lead her to complete the task successfully. Finally, in Fig. 5c, there is the final reaction when she saw the circular menu.
In the second task, users were asked to log into the system and to observe the main interface. The automatic font resize was delivered to users that had selected the option “I always make the font size bigger” in their profiles. Four out of seven users noticed that the elements were bigger after the login. One of the inexperienced users mentioned: “I need bigger fonts; even more because I have vision problems. […] For me this is excellent! The only thing is the increase could be bigger.” This result indicates that the increase applied (13 px to 14 px) was not enough for all users, suggesting that different amplification rates are needed. However, the satisfaction with the automatic resize of interface elements was unanimous. Users mentioned that it was “excellent!”, “cool!”, “good” and “very practical.”
The variety of scenarios of use in which computer systems are immersed currently requires new ways of thinking about design. For a fairer society, it is urgent to consider the differences in the interaction requirements and develop solutions that are accessible and make sense to as many users as possible. Tailorable interfaces can help to handle this challenge. However, unlike conventional applications, while designing tailorable systems, designers need to foresee different possibilities of use, including the evolution of users and the use in different devices and environments. The approach presented here supports designers in the task of eliciting the different desired behaviors. Moreover, the norm-based structure supports the description of a wide range of subtle variations in context (such as changing light in the environment, or a deficit in users motor skills).
The norm-based structure also allows designers to specify whether the behavior should occur: during the execution of a given functionality, a set of functionalities or even during the whole interaction. Furthermore, the norm-based structure supports the deployment of the recommendations of the Web Accessibility Initiative (W3C), allowing the appliance of each recommendation in a proper context.
However, considering the classification proposed by Erickson , the norms specified in the context of the e-Cidadania project allow customization (setting parameters, as when choosing the menu format) and composition (link between existing components, when turning on or off the navigational arrows). Expansion (creation of a new component) and extension (insertion of new code) were not explored in the study related in the paper.
From a theoretical point of view, it is important to mention that the original concept of norms from Stamper et al.  is related to the organization behavior, and the structure of behavioral norms requires an agent (affordance with responsibility) as the responsible for the action. PLuRaL adopts a similar norm structure, but considering context as a tuple and specifies the trigger as functionalities and their representations. The intention was to represent a certain behavior, in this case, the system behavior. The software system is itself an agent that will display a set of interface elements in a certain mode. The view adopted here considers the system as an active artifact capable of doing tasks in different contexts.
The activities developed during the workshop supported results related to the different content presentation and interface design. The criteria for ordering the cards helped the decision about which filters should be offered and which criterion should be the default to organize the announcements. The results suggest that users not familiar with technology use their life experience to organize the information, considering for example thematic groups to filter announcements. The design with the cardboards supported comparisons regarding interface elements chosen or created, their position and size pointing out opportunities for tailoring. This activity emphasized the need of tailorable systems once different elements and shapes were adopted by the participants.
The proposed approach does not support designers on how to present the tailoring options in the interface. In this sense, in the case study, some design decisions were made so this technology would be accessible to ordinary users. The evaluation showed that users who are unfamiliar with computers looked for a graphical symbolization to start the process. Moreover, the users that are not familiar with computers seem to focus their attention on performing the main tasks in the system (reading, posting or commenting on an announcement). In this sense, an adaptable behavior can be used to offer the tailoring possibilities. However, the design has to be made to support these users in an evolutionary approach, until they are able to change the interface on their own.
The participatory design, as adopted here, demands a clear view of the objectives for a workshop, creativity, planning, design and production of the material, recording, compiling, discussions among others. However, being part of a joint design process, in a welcome environment, with materials that ease the participants’ expression (as drawings, cards, pictures), enriches the designer view for the context, promoting the design of solutions that make sense for the users. In particular, considering the design for diversity, being in contact with people with different ability levels using computers, literacy levels, ages, strategies to communication etc., demystifies the need for a “welfarist” approach, which can label and inhibit; on the contrary it enhances the respect for the differences and a commitment to design solutions that promote the social and intellectual growth of users.
Finally, we share with Fischer [10, 11] and his idea of the meta-design. In his approach, it is desirable that all users in a collaborative design process can express themselves and engage in personally meaningful activities. Users have more power, can override designers’ decisions, and adjust the system according to their interaction needs. In this context, users can be seen as co-designers, leaving behind the role of mere consumers of technology. The tailoring-based approach, as adopted in this paper, empowers users, for instance, allowing them to change the position of some interaction elements or even disabling functions that do not make sense to them. Moreover, the proposed approach makes it possible to present accessible options as videos in sign language for users who need them or to offer retractile resources to improve efficiency of use for expert users.
This paper brought to discussion the problem of designing for diversity. The complexity of the scenario, which includes people not familiar with technology, elderly, disabled etc., suggests the need of requirements elicitation approaches that traditional methods from Information Systems and Software Engineering fields do not reach. In particular, practical approaches to support design decisions for tailorable applications that could cope with diversity have been lacking.
This paper presented an approach based on the users’ participation to elicit the different needs and formalize the tailorable behavior using a norm-based structure. A case study was described within a social network system. The different needs were elicited considering content (different ways to organize information) and the interface design (interaction elements’ position, size and shape). From the final designs, several norms that represent the system tailorable behavior were defined, implemented and evaluated in a feasibility study with end-users. The results suggest that the adopted solutions satisfied users with different interaction profiles.
Further work considers the design and development of a tool to support the formalization of the norms that determine the system tailorable behavior from abstract interface elements that compose an interface wireframe. The norms could be exported in a shareable format, as XML, which could be used as input for different development frameworks. Moreover, different types of tailorable behavior, as the creation of new components and insertion of code, will be investigated.
Baranauskas MCC, Bonacin R (2008) Design—indicating through signs. Des Issues 24:30–45
Baranauskas MCC, de Souza CS (2006) Desafio no 4: Acesso Participativo e Universal do Cidadão Brasileiro ao Conhecimento. In: Computação Brasil, ano VII, n27, p 7
Baranauskas MCC, Neris VPA (2007) Using patterns to support the design of flexible user interaction. In: 12th international conference on human–computer interaction (HCII 2007), Beijing. Lecture notes in computer science
Bonacin R, Baranauskas MCC (2005) An organizational semiotics approach towards tailorable interfaces. In: The 11th international conference on human–computer interaction, 2005, Las Vegas, USA, vol 3. Lawrence Erlbaum, Mahwah, pp 1–12
Cockburn A (2001) Writing effective use cases. Addison-Wesley, Reading. Available online: http://alistair.cockburn.us/get/2465. Last visited May 2010
Costabile MF, Fogli D, Fresta G, Mussio P, Piccinno A (2003) Building environments for end-user development and tailoring. In: Human centric computing languages and environments. IEEE, New York, pp 31–38
Costabile MF, Fogli D, Marcante A, Mussio P, Provenza LP, Piccinno A (2008) Designing customized and tailorable visual interactive systems. Int J Softw Eng Knowl Eng 18(3):305–325
e-Cidadania (2008) E-Cidadania project: system and methods for the constitution of a culture mediated by information and communication technology. http://www.nied.unicamp.br/ecidadania
Erickson J (2008) Supporting the cooperative design process of end-user tailoring. PhD Thesis, Engineering School, Blekinge Institute of Technology, Sweden
Fischer G (2001) User modeling in human–computer interaction. User Model User-Adapt Interact 11(1):65–86
Fischer G (2007) Meta-design: expanding boundaries and redistributing control in design. In: Baranauskas C, et al. (eds) INTERACT 2007. Lecture notes in computer science, vol 4662, pp 193–206. Part I
Fortuna FJ (2010) Normas no desenvolvimento de ambientes Web inclusivos e flexíveis (Norms in the development of inclusive and flexible Web environments). Master thesis, Computing Institute, UNICAMP, Brazil
Germonprez M, Hovorka D, Collopy F (2007) A theory of tailorable technology design. J Assoc Inf Syst 8(6):315–367
Henderson A, Kyng M (1991) There’s no place like home: continuing design in use. In: Greenbaum J, Kyng M (eds) Design at work: cooperative design of computer systems. Lawrence Erlbaum, Hillsdale, pp 219–240
Kjǽr A, Madsen KH (1995) Participatory analysis of flexibility. Commun ACM 38(5):53–60
Kolkman M (1993) Problem articulation methodology. PhD Thesis, University of Twente—Netherlands
Liu K (2000) Semiotics in information systems engineering. Cambridge University Press, Cambridge
Macías JA, Paternò F (2008) Customization of Web applications through an intelligent environment exploiting logical interface descriptions. Interact Comput 20:29–47
Mackay WE (1990) Users and customizable software: a co-adaptive phenomenon, PhD-Thesis, MIT, Boston, MA
MacLean A, Carter K, Lövstrand L, Moran T (1990) User-tailorable systems: pressing the issue with buttons. In: Proceedings of the conference on computer human interaction (CHI ‘90), 1–5 April, Seattle (Washington). ACM Press, New York, pp 175–182
Melo AM, Baranauskas MCC (2006) Uma opção inclusiva à avaliação cooperativa de interfaces de usuário. In: XXXIII SEMISH—seminário integrado de software e hardware. Anais do XXVI congresso da Sociedade Brasileira de Computação, Campo Grande, vol 1, pp 447–461
Mørch AI (1997) Three levels of end-user tailoring: customization, integration, and extension. In: Kyng M, Mathiassen L (eds) Computers and design in context. MIT Press, Cambridge, pp 51–76
Muller MJ, Haslwanter JH, Dayton T (1997) Participatory practices in the software lifecycle. In: Helander M, Landauer TK, Prabhu P (eds) Handbook of human–computer interaction, 2nd edn. Elsevier, Amsterdam, pp 255–297
Mumford E (1964) Living with a computer. Institute of Personnel Management, London
Mumford E, Henshall D (1979) A participative approach to computer systems design: a case study of the introduction of a new computer system. Associated Business Programmes, London
Neris VPA (2010) Estudo e proposta de um framework para o design de interfaces de usuário ajustáveis/Study and proposal of a framework for designing tailorable user interfaces. PhD thesis, Chapters in English. Institute of Computing, UNICAMP, Brazil
Neris VPA, Baranauskas MCC (2007) End-user tailoring: a semiotic-informed perspective. In: International conference on organisational semiotics (ICOS 2007), Sheffield, pp 47–53
Neris VPA, Baranauskas MCC (2009) Interfaces for all—a tailoring-based approach. In: 11th international conference on enterprise information systems (ICEIS 2009), Milan, Italy. LNBIP—enterprise information systems, vol 24. Springer, Berlin, pp 928–939
Neris VPA, Martins MC, Prado MEBB, Hayashi ECS, Baranauskas MCC (2008) Design de interfaces para todos—demandas da diversidade cultural e social. In: 35o. seminário integrado de software e hardware (SEMISH 2008), XXVIII CSBC, Belém do Pará, Anais, pp 76–90
Neris VPA, Hornung HH, Miranda LC, Almeida LD, Baranauskas MCC (2009) Building social applications with an semi-participatory approach. In: IADIS-WWW/Internet 2009, vol 1, pp 3–10
Oviatt S, Darrell T, Flickner M (2004) Multimodal interfaces that flex, adapt and persist. Commun ACM 47(I):30–33
Park J, Han S, Park Y, Cho Y (2007) Adaptable versus adaptive menus on the desktop: performance and user satisfaction. Int J Ind Ergon 37:675–684
Rivera D (2005) The effect of content customization on learnability and perceived workload. In: CHI ’05 extended abstracts on human factors in computing systems, Portland, USA, pp 1749–1752
Sampaio AL, de Souza CS (2008) Usuários podem escrever especificações de sistemas? Um estudo empírico com uma linguagem de script. In: Proceedings of the VIII Brazilian symposium on human factors in computing systems. ACM international conference proceeding series, vol 378. ACM, New York, pp 224–233
Schüler D, Namioka A (1993) Participatory design: principles and practices. Lawrence Erlbaum Associates, Mahwah
Silva SRP, de Souza CS (2002) The definition of end-user programming languages for extensible applications. In: IHC2002—V workshop de fatores humanos em sistemas computacionais (Proceedings of IHC2002—V symposium on human factors in computer systems), Fortaleza, pp 73–83
Slagter R, Biemans M, Hofte H (2001) Evolution in use of groupware: facilitating tailoring to the extreme. In: Seventh international workshop on groupware CRIWG. IEEE, New York, pp 68–73
Stallman R (1981) EMACS, the extensible, customizable, self-documenting display editor. In: Proc ACM SIGPLAN SIGOA symposium on text manipulation, Portland, Oregon
Stamper R (1996) Signs, norms, and information systems. In: Holmqvist B, et al. (eds) Signs at work. Walter de Gruyter, Berlin, pp 349–397
Stamper RK, Althaus K, Backhouse J (1988) Method for eliciting, analyzing and specifying user requirements. In: Olle TW, Verrijn-Stuart AA, Bhabuts L (eds) Computerized assistance during the information systems life cycle. North-Holland, Amsterdam
Stephanidis C (2001) User interfaces for all: new perspectives into human–computer interaction. In: Stephanidis C (ed) User interfaces for all—concepts, methods, and tools. Lawrence Erlbaum Associates, Mahwah, pp 3–17. ISBN 0-8058-2967-9, 760 pages
Stiemerling O, Kahler H, Wulf V (1997) How to make software softer—designing tailorable applications. In: Proceedings of the conference on designing interactive systems: processes, practices, methods, and techniques, Amsterdam, The Netherlands, pp 365–376
Trace (2006) General concepts, universal design principles and guidelines. http://trace.wisc.edu/world/gen_ud.html. Last visited: June 2010
Wulf V, Golombek B (2001) Direct activation: a concept to encourage tailoring activities. Behav Inf Technol 20(4):249–263
Wulf V, Pipek V, Won M (2008) Component-based tailorability: enabling highly flexible software applications. Int J Hum-Comput Stud 66(1):1–22
This work was funded by FAPESP (#2006/54747-6) and by Microsoft Research—FAPESP Institute for IT Research (#2007/54564-1). The authors also thank colleagues from NIED, InterHAD, Casa Brasil, CenPRA, IC-UNICAMP, IRC-University of Reading and LIFES-UFSCar for their insightful comments. The authors specially thank the participants of the workshop and the referees for their contributions.
This is a revised and extended version of a previous paper that appeared at IHC/CLIHC 2011 (X Simpósio de Fatores Humanos em Sistemas Computacionais/V Latin American Conference on Human Computer Interaction).
About this article
Cite this article
Neris, V.P.d.A., Baranauskas, M.C.C. Designing tailorable software systems with the users’ participation. J Braz Comput Soc 18, 213–227 (2012). https://doi.org/10.1007/s13173-012-0070-x
- User interface design
- Flexible systems
- Participatory design