Learn More
An Open Source Software (OSS) project is unlikely to be successful unless there is an accompanied community that provides the platform for developers and users to collaborate. Members of such communities are volunteers whose motivation to participate and contribute is of essential importance to the success of OSS projects. In this paper, we aim to create an(More)
An inherent dilemma exists in the design of high-functionality applications (such as repositories of reusable software components). In order to be useful, high-functionality applications have to provide a large number of features, creating huge learning problems for users. We address this dilemma by developing intelligent interfaces that support learning on(More)
End-user development (EUD) activities range from customization to component configuration and programming. Office software, such as the ubiquitous spreadsheet, provides customization facilities, while the growth of the Web has added impetus to end-user scripting for interactive functions in Web sites. In scientific and engineering domains, end users(More)
Complex design problems require more knowledge than any single person can possess, and the knowledge relevant to a problem is often distributed among all stakeholders who have different perspectives and background knowledge, thus providing the foundation for social creativity. Bringing together different points of view and trying to create a shared(More)
Studies have shown that programmers frequently seek external information during programming, from source code and documents, as well as from other programmers because much of the information remains in the heads of programmers. Programmers therefore often ask other programmers questions to seek information in a timely fashion to carry out their work. This(More)
The traditional notions of developer and user are unable to reflect the fact that many software systems nowadays are developed with the participation of many people of different interests and capabilities. The sharp distinction between users and developers gets blurred. Many researchers have used different concepts such as end-user developer, prosumer,(More)
Looking at software development as a collective knowledge activity has changed the view of the role of communication in software development from something to be eliminated to something to be nurtured. Developer-centered col-laborative software development environments (CSDEs) should facilitate software development in such a way, as individual software(More)