Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where David F. Redmiles is active.

Publication


Featured researches published by David F. Redmiles.


ACM Computing Surveys | 2000

Extracting usability information from user interface events

David M. Hilbert; David F. Redmiles

Modern window-based user interface systems generate user interface events as natural products of their normal operation. Because such events can be automatically captured and because they indicate user behavior with respect to an applications user interface, they have long been regarded as a potentially fruitful source of information regarding application usage and usability. However, because user interface events are typically voluminos and rich in detail, automated support is generally required to extract information at a level of abstraction that is useful to investigators interested in analyzing application usage or evaluating usability. This survey examines computer-aided techniques used by HCI practitioners and researchers to extract usability-related information from user interface events. A framework is presented to help HCI practitioners and researchers categorize and compare the approaches that have been, or might fruitfully be, applied to this problem. Because many of the techniques in the research literature have not been evaluated in practice, this survey provides a conceptual evaluation to help identify some of the relative merits and drawbacks of the various classes of approaches. Ideas for future research in this area are also presented. This survey addresses the following questions: How might user interface events be used in evaluating usability? How are user interface events related to other forms of usability data? What are the key challenges faced by investigators wishing to exploit this data? What approaches have been brought to bear on this problem and how do they compare to one another? What are some of the important open research questions in this area?


international conference on software engineering | 1998

Integrating architecture description languages with a standard design method

Jason E. Robbins; Nenad Medvidovic; David F. Redmiles; David S. Rosenblum

Software architecture descriptions are high-level models of software systems. Some researchers have proposed special-purpose architectural notations that have a great deal of expressive power but are not well integrated with common development methods. Others have used mainstream development methods that are accessible to developers, but lack semantics needed for extensive analysis. We describe an approach to combining the advantages of these two ways of modeling architectures. We present two examples of extending UML, an emerging standard design notation, for use with two architecture description languages, C2 and Wright. Our approach suggests a practical strategy for bringing architectural modeling into wider use, namely by incorporating substantial elements of architectural models into a standard design method.


international conference on software engineering | 1998

An approach to large-scale collection of application usage data over the Internet

David M. Hilbert; David F. Redmiles

Empirical evaluation of software systems in actual usage situations is critical in software engineering. Prototyping, beta testing, and usability testing are widely used to refine system requirements, detect anomalous or unexpected system and user behavior, and to evaluate software usefulness and usability. The World Wide Web enables cheap, rapid, and large-scale distribution of software for evaluation purposes. However, current techniques for collecting usage data have not kept pace with the opportunities presented by Web-based deployment. This paper presents an approach and prototype system that makes large-scale collection of usage data over the Internet a practical possibility. A general framework for comparing software monitoring systems is presented and used to compare the proposed approach to existing techniques.


international conference on software engineering | 1991

Cognitive tools for locating and comprehending software objects for reuse

Gerhard Fischer; Scott Henninger; David F. Redmiles

The authors describe a conceptual framework to facilitate software reuse. It is shown that high functionality computer systems by themselves do not provide sufficient support for software reuse. Two systems that support this framework, CODEFINDER and EXPLAINER, are presented. CODEFINDER addresses issues on information access for software reuse. Support for comprehending software objects is demonstrated with EXPLAINER. A scenario describing how the two systems are used in a reuse situation is presented. The authors show how these systems fit into the bigger pictures of software development environments, address limitations of the systems, and discuss future directions.<<ETX>>


foundations of software engineering | 2004

How a good software practice thwarts collaboration: the multiple roles of APIs in software development

Cleidson R. B. de Souza; David F. Redmiles; Li-Te Cheng; David R. Millen; John F. Patterson

The principle of information hiding has been very influential in software engineering since its inception in 1972. This principle prescribes that software modules hide implementation details from other modules in order to decrease their interdependencies. This separation also decreases the dependency among software developers implementing modules, thus simplifying some aspects of collaboration. A common instantiation of this principle is in the form of application programming interfaces (APIs). We performed a qualitative study on how practitioners use APIs in their daily work. Although particularly interested in aspects of collaboration, we report all findings about their observed use. The findings include mundane observations that are predicted by theory, ways that APIs support collaborative software development. But the findings also include some surprises, ways that APIs hinder collaboration. The surprises indicate directions for further improvement of collaborative software development practices and tools.


international conference on supporting group work | 2003

Breaking the code, moving between private and public work in collaborative software development

Cleidson R. B. de Souza; David F. Redmiles; Paul Dourish

Software development is typically cooperative endeavor where a group of engineers need to work together to achieve a common, coordinated result. As a cooperative effort, it is especially difficult because of the many interdependencies amongst the artifacts created during the process. This has lead software engineers to create tools, such as configuration management tools, that isolate developers from the effects of each others work. In so doing, these tools create a distinction between private and public aspects of work of the developer. Technical support is provided to these aspects as well as for transitions between them. However, we present empirical material collected from a software development team that suggests that the transition from private to public work needs to be more carefully handled. Indeed, the analysis of our material suggests that different formal and informal work practices are adopted by the developers to allow a delicate transition, where software developers are not largely affected by the emergent public work. Finally, we discuss how groupware tools might support this transition.


Information & Software Technology | 2000

Cognitive support, UML adherence, and XMI interchange in Argo/UML

Jason E. Robbins; David F. Redmiles

Abstract Software design is a cognitively challenging task. Most software design tools provide support for editing, viewing, storing, and transforming designs, but lack support for the essential and difficult cognitive tasks facing designers. These cognitive tasks include decision-making, decision ordering, and task-specific design understanding. This paper describes Argo/UML, an object-oriented design tool using the unified modeling language (UML) design notation. Argo/UML supports several identified cognitive needs of software designers. This support is provided in the form of design tool features. We describe each feature in the context of Argo/UML and provide enough detail to enable other tool builders to provide similar support in their own tools. We also discuss our implementation of the UML and XMI standards, and our development approach.


conference on computer supported cooperative work | 2004

Sometimes you need to see through walls: a field study of application programming interfaces

Cleidson R. B. de Souza; David F. Redmiles; Li-Te Cheng; David R. Millen; John F. Patterson

Information hiding is one of the most important and influential principles in software engineering. It prescribes that software modules hide implementation details from other modules in order to decrease the dependency between them. This separation also decreases the dependency among software developers implementing modules, thus simplifying some aspects of collaboration. A common instantiation of this principle is in the form of application programming interfaces (APIs). We performed a field study of the use of APIs and observed that they served many roles. We observed that APIs were successful indeed in supporting collaboration by serving as contracts among stakeholders as well as by reifying organizational boundaries. However, the separation that they accomplished also hindered other forms of collaboration, particularly among members of different teams. Therefore, we think argue that APIs do not only have beneficial purposes. Based on our results, we discuss implications for collaborative software development tools.


new security paradigms workshop | 2002

An approach to usable security based on event monitoring and visualization

Paul Dourish; David F. Redmiles

The thorny problem of usability has been recognized in the security community for many years, but has, so far, eluded systematic solution. We characterize the problem as a gap between theoretical and effective levels of security, and consider the characteristics of the problem. The approach we are taking focuses on visibility -- how can we make relevant features of the security context apparent to users, in order to allow them to make informed decisions about their actions and the potential implications of those actions?


Knowledge Based Systems | 1998

Software architecture critics in the Argo design environment

Jason E. Robbins; David F. Redmiles

Software architectures are high-level design representations of software systems which focus on composition of software components and how those components interact. Software architectures abstract the details of implementation and allow the designer to focus on essential design decisions. Regardless of notation, designers are faced with the task of making good design decisions which demand a broad range of knowledge of the problem and solution domains. In this paper we describe Argo, a software architecture design environment that supports designers by addressing several cognitive challenges of design. Argos critiquing infrastructure supports decision making by automatically supplying knowledge that is timely and relevant to decisions at hand. Our discussion centers on a five-phase critiquing process that we use to motivate Argos features, structure a usage scenario and characterize related work.

Collaboration


Dive into the David F. Redmiles's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ban Al-Ani

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Gerhard Fischer

University of Colorado Boulder

View shared research outputs
Top Co-Authors

Avatar

Anita Sarma

Oregon State University

View shared research outputs
Top Co-Authors

Avatar

Paul Dourish

University of California

View shared research outputs
Researchain Logo
Decentralizing Knowledge