SRA-KTL(Key Technology Laboratory) is SRA's research branch that is dedicated to basic and applied research in the fields of software engineering and human-computer interaction. We aim to create values for our business clients and partners through the integration of academic research, technology consultation and production innovation.
Knowledge Collaboration Platforms for Teams and Organizations
The advance of information and communication technology has provided various means for knowledge workers to communicate and collaborate with each other. Despite the availability of technological infrastructure for knowledge transmission, distribution, and accumulation, efficient and effective knowledge sharing and collaboration among members of teams and organizations remains an ever more elusive goal. To turn communication technologies into effective knowledge sharing and collaboration platforms, our research aims at a better understanding of an individual knowledge worker’s needs for soliciting knowledge and collaboration from his or her co-workers; and based on this better understanding, we are researching for new communication paradigms of eliciting and accumulating knowledge within a social and organizational context that equally benefit both knowledge providers and knowledge seekers.
Knowledge Interaction Design
Knowledge interaction design studies the innovation and design of interactive experience with instruments and systems that support knowledge workers who are engaged in creative activities such as writing and creating impressive presentations. Collaborating with researchers from Research Center for Advanced Science and Technology, University of Tokyo, we have been exploring new approaches to convivial user experience through the incremental construction of ARTware, a set of software programs that support and facilitate creativity. The design and development of ARTware has been driven by the continuous collaboration between interaction designers and programmers through series of hand sketches and experiential prototypes. Careful observations of, and critical reflections on, the design process and progression of ARTware has led us to identify factors that are essential to the design of software systems with convivial interactivity.
Search-Driven Software Development
Programs and design documents are information artifacts, and software development activities such as project management, design, programming and maintenance are processes of both information gathering and information creation. It has been well observed that software developers are constantly engaged in information search activities to solve their tasks at hand. Search-driven software development is an emerging research field that focues on understanding and supporting software developer's situational information needs. We have been developing innovative mechanisms and tools that facilitate the easy and flexible access of task-relevant information for software developers. Our research products and prototypes include a code search engine, an on-demand learning environment for Java API, and an expertise locating mechanism with social awareness.
Modularization and Usability of Java Libraries
Following the state-of-the-art practices, such as Jigsaw and OSGi, of modularizing ever growing monolithic Java systems, we have been exploring new techniques and practices of modularizing Java libraries and systems. Our research is grounded in the experience of re-organizing and refactoring a large open source Java library we have been developing for the past decade. Our goal is to improve the easiness for application developers to discover, find, understand, use, as well as manage dependencies and evolutions of, Java libraries, through the provision of dedicated library servers and plugins for programming environments.
Communication Support for Software Development
Viewing software development as an activity of collective knowledge construction, we are concerned with a deeper understanding of the various roles that communication plays in software development. The increasing adoption of open source software practices and agile methodologies has changed the view of communication in software development as an overhead to be avoided to a quintessential activity to be nurtured. During a project development, software developers communicate with team members for a variety of reasons: for coordination, for awareness, for collaboration, and for knowledge acquisition. Different types of communication require different communication media and social considerations. Recognizing the fact that communication, miscommunication, over-communication and no communication are equally costly for a software project, we believe the key is to differentiate different communication purposes, and to design, based on the differentiation, communication mechanisms that are suitable for their purposes and social context, rather than the one-size-fits-all approach to communication support.
User Participative Systems
The success of user participative systems such as Web 2.0 systems depends not only on technical decisions but also on social considerations. It is imperative to take a socio-technical perspective to approach the design and development of sustainable user participative systems. Focusing on the interaction and inter-relatedness of technical aspects and social aspects, our research aims to establish new design approaches and principles for user participative systems. We have been developing frameworks for understanding and measuring community activiness, and have applied those frameworks to analyze open source communities and enterprise knowledge-sharing communities, to identify factors that prohibit or promote user participation.
Recommendation System
With the wide reach of the Internet and abundance of low-priced storage devices, the amount of information that an ordinary user deals with explodes. Recommendation systems attempt to present information items such as books, video, music, products, and news that are potential of interest to the user without explicit requests from the user. Recommendation is deemed an effective mechanism for users to discover useful information without explicitly dealing with the management of information finding and discovery. Our research focuses on the design of system architecture for recommendation systems, and novel applications of recommendation techniques in a variety of systems. We have been developing a recommendation framework that can be easily instantiated in and integrated with traditional information systems.
Annotation Framework
The capabilities of utilizing information available through the Internet will be greatly expanded if we are able to share the context of how the information is created and used. To fully utilize the potential of the Internet as the platform for information and knowledge sharing, we are exploring and developing new approaches to increasing mutual understanding and information sharing through the provision of context sharing. To enable context sharing, we have been developing mechanisms of capturing and representing how an information producer creates information, and how an information consumer utilizes a particular piece of information for his or her own purpose. Currently, we are focusing on the development of an annotation framework for multimedia information items. In this framework, a user’s interactions with multimedia information items such as viewing, forwarding, reversing, zooming, selecting are captured as annotations. Further more, users are able to add comments or create links to other information through the annotation framework.
Software Process Assessment and Consultation for Very Small Entity
Our research specializes in process assessment and improvement for Very Small Entities (VSEs) that include very small software organizations or very small projects. With the prevalence of outsourcing practices, more and more very small entities are contracted for a part of the lifecycle of a software project. Process assessment and improvement for VSEs are important for both sides of outsourcing. The organizations that outsource need a set of methods to quickly determine and monitor the development and management capabilities of its VSE partners; and the VSEs that provide outsourcing services seek for process improvements as well as proper assessment of their process capabilities. Existing process models such as CMMI (Capability Maturity Model Integration) and ISO/IEC 15504 require the assessment of the whole lifecycle of software projects and demand large amount of resources, and therefore are not suitable for VSEs. ISO is currently working on a standard that targets at the easy assessment and improvement of software processes for VSEs, and the standard is expected to be published in 2010. Based on this working ISO standard, we at SRA-KTL are developing methods and supporting tools for the easy assessment of development capabilities of outsource service providers.
Human-Centered User Interface and Interaction Design
We are undertaking research on the process, techniques, and practices of designing human-centered user interface and interaction, with a special focus on embedded devices. As embedded devices become more versatile, packed with ever expanding complex functionality, device usability has become equally critical as system quality in determining the value of devices because usability shapes the experience and satisfaction of users. The prevalent practice to usability is via the graphical design of each individual user interface, and this practice is becoming increasingly difficult as the system functionality becomes more complex and intertwined. Grounded in cognitive science and design theories, we are exploring new interaction principles and methodologies that improve system usability through the innovation of new types of user experiences.