Jimbo: A Collaborative IDE with Live Preview
📝 Abstract
Team collaboration plays a key role in the success of any multi-user activity. Software engineering is a highly collaborative activity, where multiple developers and designers work together to solve a common problem. Meaningful and effective designer-developer collaboration improves the user experience, which can improve the chances of success for the project. Learning to program is another activity that can be implemented in a more collaborative way, students can learn in an active style by working with others. The growth of online classes, from small structured seminars to massive open online courses (MOOCs), and the isolation and impoverished learning experience some students report in these, points to an urgent need for tools that support remote pair programming in a distributed educational setting. In this paper, we describe Jimbo, a collaborative integrated development environment (IDE) that we believe is beneficial and effective in both aforementioned activities. Jimbo integrates many features that support better collaboration and communication between designers and developers, to bridge communication gaps and develop mutual understanding. These novel features can improve today’s CS education by bringing students closer to each other and their instructors as well as training them to collaborate which is consistent with current practices in software engineering.
💡 Analysis
Team collaboration plays a key role in the success of any multi-user activity. Software engineering is a highly collaborative activity, where multiple developers and designers work together to solve a common problem. Meaningful and effective designer-developer collaboration improves the user experience, which can improve the chances of success for the project. Learning to program is another activity that can be implemented in a more collaborative way, students can learn in an active style by working with others. The growth of online classes, from small structured seminars to massive open online courses (MOOCs), and the isolation and impoverished learning experience some students report in these, points to an urgent need for tools that support remote pair programming in a distributed educational setting. In this paper, we describe Jimbo, a collaborative integrated development environment (IDE) that we believe is beneficial and effective in both aforementioned activities. Jimbo integrates many features that support better collaboration and communication between designers and developers, to bridge communication gaps and develop mutual understanding. These novel features can improve today’s CS education by bringing students closer to each other and their instructors as well as training them to collaborate which is consistent with current practices in software engineering.
📄 Content
Jimbo: A Collaborative IDE with Live Preview Soroush Ghorashi School of EECS Oregon State University Corvallis, OR, USA 97331 ghorashs@oregonstate.edu
Carlos Jensen School of EECS Oregon State University Corvallis, OR, USA 97331 cjensen@eecs.orst.edu
ABSTRACT Team collaboration plays a key role in the success of any multi- user activity. Software engineering is a highly collaborative activity, where multiple developers and designers work together to solve a common problem. Meaningful and effective designer- developer collaboration improves the user experience, which can improve the chances of success for the project. Learning to program is another activity that can be implemented in a more collaborative way, students can learn in an active style by working with others. The growth of online classes, from small structured seminars to massive open online courses (MOOCs), and the isolation and impoverished learning experience some students report in these, points to an urgent need for tools that support remote pair programming in a distributed educational setting. In this paper, we describe Jimbo, a collaborative integrated development environment (IDE) that we believe is beneficial and effective in both aforementioned activities. Jimbo integrates many features that support better collaboration and communication between designers and developers, to bridge communication gaps and develop mutual understanding. These novel features can improve today’s CS education by bringing students closer to each other and their instructors as well as training them to collaborate which is consistent with current practices in software engineering. ACM Classification Keywords D.2.6 [Programming Environments]: Integrated Environments; D.2.2 [Software Engineering]: Design Tools and Techniques— Distributed/Internet based software engineering tools and techniques; Keywords Jimbo; IDE; collaboration; communication; user awareness; live preview; designer-developer collaboration; collaborative learning; distance learning; pair programming; web development
- INTRODUCTION The development of software systems is a collaborative process, where team members work together to solve a problem by producing quality code. The designer-developer relationship at the heart of many of these collaborations is the force that moves a software project toward success. Unfortunately, in current software development practices, designers have no direct engagement with developers in the development process, although the products performance depends on both. If we want to improve this relationship, and encourage better software products, we need to build development tools that improve the collaboration and work-flow for designers and developers. One of the most popular and effective collaboration methods used in CS education is pair programming, which has been shown to be a very beneficial technique for teaching and engaging students with programming and new computing topics. The need for tools that support remote pair programming is becoming pressing with the growing popularity of massive open online courses (MOOC). While employing pair programming in a collocated classroom setting is relatively straightforward, there is a dearth of good options for distributed classroom settings. As students struggle to master concepts and build confidence in their skills, a tight code- artifact feedback loop/mechanism that allows students to verify that a change had the intended result is important. We have built an IDE, called Jimbo, to facilitate the involvement of designers in the development process as first-class citizens. Our focus is on the development of web applications, which often require extensive interactions between designers and developers. In this paper, we briefly describe our tool, its main design goals, and then describe two major collaboration scenarios in which Jimbo can be effective and useful.
- JIMBO
Jimbo is an IDE that enables users to more easily collaborate
around a common project. We have tried to make the user
interface easy to learn and memorable, but have also considered
external consistency with other popular IDEs.
Jimbo is a web-based tool, which means that users only need a standard web browser and the setup time is zero. Sarma provides a comprehensive classification of collaborative tools for software development [1]; Jimbo could be considered a seamless tool at the top level as it provides many novel features to automate the development workflow and minimize user effort. In the following sections we describe these features briefly. 2.1 Synchronous and Asynchronous Collaboration. Currently, distributed collaborative software development largely revolves around working in parallel on separate copies of the code, and integrating the resulting efforts using a source code version control system. Though this is an effective strategy, there is a lac
This content is AI-processed based on ArXiv data.