1. 程式人生 > >論文翻譯:Development and Evaluation of Emerging Design Patterns for Ubiquitous Computing

論文翻譯:Development and Evaluation of Emerging Design Patterns for Ubiquitous Computing

Development and Evaluation of Emerging

Design Patterns for Ubiquitous Computing

Eric S. Chung1, Jason I. Hong1, James Lin1, Madhu K. Prabaker1, James A. Landay2, Alan L. Liu2

1Group for User Interface Research

Computer Science Division

University of California

Berkeley, CA 94720 USA

{jasonh, jimlin}@cs.berkeley.edu

2DUB Group

Computer Science and Engineering

University of Washington

Seattle, WA 98195 USA

[email protected]

ABSTRACT

Design patterns are a format for capturing and sharing design knowledge. In this paper, we look at a new domain for design patterns, namely ubiquitous computing. The overall goal of this work is to aid practice by speeding up the diffusion of new interaction techniques and evaluation results from researchers, presenting the information in a form more usable to practicing designers. Towards this end, we have developed an initial and emerging pattern language for ubiquitous computing, consisting of 45 pre-patterns describing application genres, physical-virtual spaces, interaction and systems techniques for managing privacy, and techniques for fluid interactions. We evaluated the effectiveness of our pre-patterns with 16 pairs of designers in helping them design location-enhanced applications. We observed that our pre-patterns helped new and experienced designers unfamiliar with ubiquitous computing ingenerating and communicating ideas, and in avoiding design problems early in the design process.

Author Keywords

Design, Design patterns, Ubiquitous computing

ACM Classification Keywords

H.5.2 [Information Interfaces and Presentation]: User Interfaces—Theory and methods, Style guides,

Evaluation/methodology

INTRODUCTION

Design patterns have been proposed in many domains as a format for capturing and sharing design knowledge between practitioners (e.g., [2-5, 9, 21, 23]). Patterns communicate insights into design problems, capturing the essence of recurring problems and their solutions in a compact form. They describe the problem in depth, the rationale for the solution, how to apply the solution, and some of the tradeoffs in applying the solution. A set of interlinked patterns for a specific domain is known as a pattern

language.

Patterns differ from other formats for capturing design knowledge, such as guidelines and heuristics, in three ways. First, patterns offer solutions to specific problems rather than providing high-level and sometimes abstract suggestions. Second, patterns are generative, helping designers create new solutions by showing many examples of actual designs. Third, patterns are linked to one another hierarchically, helping designers address high-level problems as well as low-level ones. Patterns are not intended to replace guidelines and heuristics but rather complement them. Patterns are simply another tool for helping designers create high-quality solutions.

Pattern languages started in the field of architecture [2], and have been emerging for UI design (e.g., [4, 7, 19, 22]) as well as for web design (e.g., [10, 21, 22]). Patterns have seen their greatest success in the area of software design as exhibited by the success of the Gang of Four book Design Patterns [9], as well as by the widespread usage of their pattern names within the software development community. This last point represents another important contribution of design patterns, which is providing a common, shared vocabulary that lets designers communicate more easily.

Here, we extend on the idea [12] of using design patterns as a format for assisting designers developing applications for ubiquitous computing (ubicomp), systems that make use of sensors, computing devices in a variety of form factors, and wireless networking to assist us in all kinds of tasks [24].

Although ubicomp is still in its nascent stages, there are many potential benefits in developing a pattern language now. First, we can speed up the diffusion of new interaction techniques and evaluation results by presenting it in a form more usable to designers. Second, a pattern language for ubicomp can help us more clearly see links between ideas, as well as what issues remain addressed. Third, we can positively influence the design of emerging applications by helping designers find good solutions and avoid adopting poor standards, such as inadequate privacy protection and blue web links (As noted by several designers (e.g., [14, 18]), blue is one of the worst colors for unvisited links because of the structure of the human eye. However, since so many web pages use blue for unvisited links and so many people have learned this meaning, blue links have become a de facto standard.). As an analogy, when the periodic table was initially developed, Mendeleyev did not force the known elements to fit in. Instead, he left holes that helped others make predictions about unknown elements that eventually led to their discovery.

Towards this end, we introduce an initial pattern language for ubicomp. This language has 45 pre-patterns addressing application genres, physical-virtual spaces, interaction and systems techniques for managing privacy, and techniques for fluid interactions. We call these pre-patterns because they are still emerging and are not in common use yet by the design community and end-users. However, we have found the format of patterns to be useful in communicating design knowledge, even if that knowledge is not set in stone. We expect the pre-patterns to evolve over time, with some being replaced by new patterns.

We have also conducted what is, to the best of our knowledge, the first controlled study of patterns with designers. In our first round of evaluation, we had nine pairs of designers create an initial design for a location-enhanced application, four of which had access to our pre-patterns and five that did not. In our second round, we modified the patterns based on feedback in the first round, and had six pairs of designers use our patterns and one not. This let us compare six pairs of designers in each of the two conditions in the second round.

In the first evaluation round, there were no statistically significant differences in quality, completeness, or creativity between the designs of pairs that used patterns and pairs that did not. In the second round, there were some statistically significant differences with respect to factors such as accomplishing tasks more quickly and usefulness, although most of the differences were between expert and novice designers, rather than between pairs that used patterns and those that did not. However, our qualitative observations in both rounds suggest that patterns helped novice designers generate designs, helped experienced designers new to ubicomp learn about the domain, helped designers communicate ideas, and helped designers avoid potential design problems earlier in the design process. Surprisingly, although we had an entire group of patterns devoted to privacy, our patterns did not help with that issue. Generally, designers found our pre-patterns useful.

RELATED WORK

Design patterns were first developed by Christopher Alexander and his colleagues [2]. Alexander believed that patterns could empower both architects and their clients by providing a living and shared language for design. He and his colleagues developed 253 patterns for building and planning towns, neighborhoods, houses, gardens, and rooms. The emphasis here was on an entire language for design, since the usefulness of patterns was not only in providing solutions to common problems, but also in seeing how they intertwined and affected one another.

Our pattern language for ubiquitous computing uses the definition generated at INTERACT ’99: “The goals of an HCI pattern language are to share successful HCI design solutions among HCI professionals…” [4]. An alternative and somewhat complementary perspective is to have a pattern language that is a “lingua franca” for all design stakeholders [6, 8]. While this latter approach has potential for participatory design, it is not one we focused on in the development and evaluation of our design patterns.

Typically, patterns are evaluated through peer review, often in pattern writing workshops [1, 13]. Although the idea of design patterns has been around for quite a while, only recently has there been work on evaluating patterns. For example, Borchers developed and evaluated a pattern language for interactive music exhibits, by having the patterns peer-reviewed at a pattern workshop, by using those patterns in developing two interactive music exhibits, and by surveying undergraduate students that had used some patterns for usefulness and memorability [4]. Deardenet al evaluated a set of patterns for developing airline and rail travel sites with potential users of the system rather than with designers. They investigated whether the patterns empowered users to participate in participatory design and could help users generate designs [6].

However, to the best of our knowledge, there has not been a study evaluating the effect of patterns on how designers communicate and design with one another. We take a first step towards this, looking at how several pairs of designers used our patterns, in terms of learning about a new domain, communicating with one another, evaluating existing designs, and generating designs.

A LANGUAGE OF PRE-PATTERNS FOR UBICOMP

In this section, we give an overview of the method we used to create our pattern language for ubiquitous computing, as well as a description of the pre-patterns themselves.

Developing the Language

Developing the pattern language was an iterative process lasting several months. We started by brainstorming pattern candidates based on a review of the existing literature. We initially tried to create high-level patterns, ones that are fairly abstract and describe whole applications, as opposed to single screens, for example. This proved to be difficult to do, as it meant trying to create a hierarchy of patterns as well as the patterns themselves at the same time. It turned out to be far easier to work bottom-up, identifying relatively low-level and medium-level individual patterns, and then later drawing themes from those to connect them together.

We generated rough cuts of about 80 fairly broad pattern candidates, which looked at a range of interaction and infrastructural issues in ubicomp. There was also a strong focus on patterns for location-based computing, since a sizeable number of this type of application are emerging in the market, and thus has a clearer path to widespread deployment than other areas of ubiquitous computing [15].We later dropped the infrastructural patterns, instead concentrating on interaction issues because we wanted to focus on helping interaction designers.

Some of these pre-patterns dealt with high-level fundamental issues cutting across all areas of ubicomp (e.g., privacy), while others were relatively low-level interaction techniques (e.g., pick and drop [16]). We tried to find at least two examples for each pattern, and generally preferred commercial implementations since that indicated that the pattern was more likely to find widespread usage.

We then did a card sort [20] among ourselves to organize the pattern candidates into different pattern groups, where each group is a set of patterns with a common theme. After this, we created the main content for each pattern, describing the problem and solution, providing several examples, and establishing links to related patterns. Each pattern was written and edited by at least three of the authors, and was limited to two pages to make it more digestible for the designer. We removed weaker pattern candidates and added new ones where it made sense.

We then solicited feedback from four other researchers familiar with ubiquitous computing. The researchers were first given the name of a pattern and asked to guess what kind of content the pattern would contain. Then, they were shown the full pattern, and asked to rate the quality of the pattern name and to comment on the actual content. We revised the patterns based on this feedback.

At the end, we had 45 patterns in four groups (see Figure 1 at the end of this paper):

Ubiquitous Computing Genres describes broad classes of ubicomp applications.

Physical-Virtual Spaces looks at how physical objects and spaces can be merged with the virtual.

Developing Successful Privacy describes policies and mechanisms for managing end-user privacy.

Designing Fluid Interactions details interaction techniques with sensors and devices.

Format of Patterns

The format of our patterns is similar to those in The Design of Sites [21] and A Pattern Language [2]. Figures 2 and 3(located at end of this paper) show the first page of several of our pre-patterns. Each pre-pattern consists of:

A name and a letter-number pair, where the letter indicates which group the pattern belongs to. For example, “A3” means the third pattern in pattern group A – Ubiquitous Computing Genres.

The pattern’s background, which provides the context and scope of the pattern, and describes any other patterns that lead to this pattern.

The problem that the pattern is addressing.

The solution (or solutions) to the pattern’s problem, as well as pointers to other lower-level patterns that help solve the problem.

References of work related to the pattern.

Figure 4. “Bus maps” show how patterns within a pattern group are related. Here, there are four core patterns that are fundamental in designing applications (A1 through A4), as well as several patterns specific to application genres.

We also created what we call “bus maps.” Each map shows the core patterns in a pattern group and the relationship of the patterns within that group (see Figure 4).Our patterns tended to be more prescriptive than descriptive, mostly because there are few ubicomp applications in practice. Our patterns also tended to focus on high-level issues, such as user needs, versus specific user interfaces and interaction techniques. This is because many of these high-level issues are better understood than the low-level techniques for implementing them. For example, many people have outlined what needs smart homes can address (e.g., [11]), but there have been few widespread successes in specific interactions in that area.

FIRST EVALUATION OF PRE-PATTERNS

We evaluated the effectiveness of our design patterns by having designers use them in evaluating and designing location-enhanced applications. In this section, we describe our first round of evaluation.

Participants

Nine pairs of designers (18 designers total) participated in the first round. Four pairs were professionals, and the other five pairs were graduate students in the School of Information Management and Systems at UC Berkeley. These professional pairs had an average of 8½ person-years of experience combined (ranging from 6 to 10 combined),while the student design pairs each had an average of 4½person-years of combined experience (with one pair having8, the others having at most 3).

The pairs were divided into two categories based on experience. High-experience pairs had at least 6 person-years of combined experience, and low-experience pairs had at most 3. They were also divided into two conditions,4 with patterns and 5 without (see Table 1).

High experience

Low experience

Patterns

4, 9

5, 6

No Patterns

1, 2, 7

3, 8

Table 1. Design pairs by condition for our first round of evaluation. For example, design pairs 4 and 9 had high levels of experience and were in the patterns condition.

Patterns useful for Evaluation Task

Patterns useful

for Design Task

Patterns useful

for Other Projects

4-1

2

4

3

4-2

4

4

3

5-1

2

5

4

5-2

4

3

3

6-1

3

2

4

6-2

1

2

4

9-1

4

相關推薦

論文翻譯Development and Evaluation of Emerging Design Patterns for Ubiquitous Computing

Development and Evaluation of Emerging Design Patterns for Ubiquitous Computing Eric S. Chung1, Jason I. Hong1, James Lin1, Madhu K. Pra

論文翻譯Mastering the Game of Go without Human Knowledge (第一部分)

將在 過程 methods 簡單的 能力 概率 通用 依靠 有著 長久以來,人工智能的一個目標是在那些具有挑戰性的領域實現超過人類表現的算法。最近,AlphaGo成為了在圍棋上第一個打敗了世界冠軍的程序。在AlphaGo中,使用深度神經網絡來進行樹搜索,評估位置,和選擇下一

論文翻譯sort : SIMPLE ONLINE AND REALTIME TRACKING

粉色:重點演算法       紫色:生癖詞彙       綠色:引文&未補充公式 概述: 多目標跟蹤中SORT演算法的理解 在跟蹤之前,對所有目標已經完成檢測,

論文翻譯Deep SORT: Simple Online and Realtime Tracking with a Deep Association Metric

相關部落格詳解一:https://blog.csdn.net/cdknight_happy/article/details/79731981  DeepSort論文學習  cdknight_happy 相關部落格詳解二:https://www.cnblogs.com/YiXiao

論文翻譯Speech Enhancement Based on the General Transfer Function GSC and Postfiltering

論文地址:基於通用傳遞函式GSC和後置濾波的語音增強 部落格作者:凌逆戰 部落格地址:https://www.cnblogs.com/LXP-Never/p/12232341.html   摘要   在語音增強應用中,麥克風陣列後置濾波可進一步減少波束形成器輸出處的噪聲成分。在麥克風陣

論文翻譯2020_Acoustic Echo Cancellation Challenge Datasets And Testingframework

論文地址:ICASSP 2021聲學回聲消除挑戰:資料集和測試框架 程式碼地址:https://github.com/microsoft/DNS-Challenge 主頁:https://aec-challenge.azurewebsites.net/ 摘要   ICASSP 2021年聲學回聲消除挑戰賽旨

論文翻譯2018_Deep Learning for Acoustic Echo Cancellation in Noisy and Double-Talk Scenarios

論文地址:深度學習用於噪音和雙語場景下的回聲消除 部落格地址:https://www.cnblogs.com/LXP-Never/p/14210359.html 摘要   傳統的聲學回聲消除(AEC)通過使用自適應演算法識別聲學脈衝響應來工作。 我們將AEC公式化為有監督的語音分離問題,該問題將說話人訊號和

手勢跟蹤論文學習Realtime and Robust Hand Tracking from Depth(三)Cost Function

引入 tail track col div 理想 問題 from details iker原創。轉載請標明出處:http://blog.csdn.net/ikerpeng/article/details/39050619 Realtime and Robust Hand

1.15 Generative Learning AlgorithmGDA and Mixture of Gaussians/GMM

1. 生成學習演算法(Generative Learning Algorithm)與判別學習演算法(Discriminative Learning  Algorithm): 之前涉及到的迴歸類模型就是DLA的一類,是直接對建模的。更詳細一點的說,沒有使用正則化的模型是對

Development and Deployment of Django on Fedora – Real Python

Last time we set up a Django Project using Cookiecutter, managed the application environment via Docker, and then deployed the app to Digital Ocean. In

Development and Deployment of Cookiecutter-Django via Docker

Let’s look at how to bootstrap a Django Project pre-loaded with the basic requirements needed in order to quickly get a project up and running. Further,

論文翻譯Learning Graphical Model Parameters with Ap-proximate Marginal Inference

Abstract       基於似然的圖形模型學習面臨著計算複雜度和模型錯誤描述魯棒性的限制。本文研究了直接擬合引數以最大限度地提高測量精度的方法預測的邊緣,考慮到訓練時間模型和推理方法。對成像問題的實驗表明,基於邊際化的學習在基於近似性的困難問題上比基於可能性的近似方

論文筆記An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application

1.歷史方法 1)基於字元的DCNN,比如photoOCR.單個字元的檢測與識別。要求單個字元的檢測器效能很強,crop的足夠好。 2)直接對圖片進行分類。9萬個單詞,組合成無數的單詞,無法直接應用 3)RNN,訓練和測試均不需要每個字元的位置。但是需要預處理,從圖片得到特

論文翻譯A Tutorial on Energy-Based Learning

文章地址LeCun經典論文 Abstract      基於能量的模型(EBM)通過將標量能量與變數的每個配置相關聯來捕獲變數之間的依賴關係。推論包括鉗制觀測變數的值,並找出使能量最小的其餘變數的配置。學習包括找到一個能量函式,其中變數的觀察結構的能量比不可觀測的能量要低

論文翻譯Multi-view People Tracking via Hierarchical Trajectory Composition

Abstract        本文提出了多視點物件跟蹤的分層組合方法。其關鍵思想是自適應地利用二維和三維的多重線索,例如地面佔有一致性,外觀相似性,運動相干性等,這些線索在追蹤行人軌跡的過程中相互補充。雖然在過去的文獻中已經廣泛地研究了特徵聯機選擇,但是如何有效地排程這些提

論文翻譯Neural conditional random felds

文章地址2010年 Abstract       我們提出了一個結構化預測的非線性圖形模型。它結合了深度神經網路的強大功能,以馬爾可夫網路的圖形框架提取高階特徵,產生了一個強大的可擴充套件的概率模型,我們將其應用於訊號標記任務。 1. Introduction      

【立體匹配和深度估計 1】《A taxonomy and evaluation of dense two-frame stereo correspondence algorithms》

《A taxonomy and evaluation of dense two-frame stereo correspondence algorithms》是 Scharstein、Szeliski 和 Zabih 三位作者合著的一篇關於立體匹配的綜述文章,這篇文章在立體匹配領域具

綜述論文翻譯A Review on Deep Learning Techniques Applied to Semantic Segmentation

應用於語義分割問題的深度學習技術綜述 摘要 計算機視覺與機器學習研究者對影象語義分割問題越來越感興趣。越來越多的應用場景需要精確且高效的分割技術,如自動駕駛、室內導航、甚至虛擬現實與增強現實等。這個需求與視覺相關的各個領域及應用場景下的深度學習技術的發展相符合,包括語義分割及場景理解等。這篇論文回

論文翻譯Speech Super Resolution Generative Adversarial Network

部落格作者:凌逆戰 論文地址:https://ieeexplore.ieee.org/document/8682215 部落格地址:https://www.cnblogs.com/LXP-Never/p/10874993.html  論文作者:Sefik Emre Eskimez , Ka

論文翻譯Generalized end-to-end loss for speaker verification

論文地址:2018_說話人驗證的廣義端到端損失 論文程式碼:https://google.github.io/speaker-id/publications/GE2E/ 地址:https://www.cnblogs.com/LXP-Never/p/11799985.html 作者:凌逆戰 摘要