Ronda: A Fine Grained Collaborative Development Environment
Programmers seldom work in isolation: Software development is a social human activity, which therefore requires collaboration among the involved programmers. We argue that the main vehicles for programming—the integrated development environments (IDEs)—were designed without collaboration in mind. IDEs focus on a single viewpoint of the system, hence team members are aware of system changes only after the code is committed to the versioning system, which delays discussions that would otherwise prevent conflicts.
We propose a novel IDE, named Ronda, devised from the ground up, to fully embrace the collaborative nature of programming. Such an IDE allows a team of developers to take part in development sessions, both individually and in a group, within the same environment, promoting awareness and coordination, by tracking, broadcasting and visualizing fine-grained changes to the system.
KeywordsDirect Manipulation Integrate Development Environment Class Shape Main Vehicle Collaboration Support
Unable to display preview. Download preview PDF.
- 1.DeLine, R., Rowan, K.: Code canvas: zooming towards better development environments. In: Proceedings of ICSE 2010 (32nd ACM/IEEE International Conference on Software Engineering) - Volume 2, pp. 207–210. ACM (2010)Google Scholar
- 2.Goffman, E., Wootton, A.J.: Exploring the interaction order. Polity Press (1988)Google Scholar
- 3.Hattori, L., Lanza, M.: Syde: A tool for collaborative software development. In: Proceedings of ICSE 2010 (32nd ACM/IEEE International Conference on Software Engineering), pp. 235–238 (2010)Google Scholar
- 5.Lieberman, H., Fry, C.: Bridging the gulf between code and behavior in programming. In: CHI, pp. 480–486. ACM/Addison-Wesley (1995)Google Scholar
- 6.Marco, T.D.: Peopleware - Productive Projects and Teams. Dorset House (1999)Google Scholar
- 7.Olivero, F., Lanza, M., D’Ambros, M., Robbes, R.: Enabling program comprehension through a visual object-focused development environment. In: Proceedings of VL/HCC 2011 (IEEE Symposium on Visual Languages and Human-Centric Computing), pp. 127–134 (2011)Google Scholar
- 8.Sarma, A.: Palantir: enhancing configuration management systems with workspace awareness to detect and resolve emerging conflicts. Ph.D. thesis, CalState University (2008)Google Scholar
- 9.Smith, D.A., Kay, A., Raab, A., Reed, D.P.: Croquet - a collaboration system architecture. IEEE Computer Society (2003)Google Scholar
- 10.Smith, R.B., Maloney, J., Ungar, D.: The self-4.0 user interface: Manifesting a system-wide vision of concreteness, uniformity, and flexibility. In: OOPSLA 1995 Conference Proceedings, pp. 47–60 (1995)Google Scholar
- 11.Smith, R.B., Wolczko, M., Ungar, D.: From kansas to oz: collaborative debugging when a shared world breaks. Commun. ACM 40 (1997)Google Scholar
- 12.de Souza, C.R.B., Redmiles, D., Dourish, P.: Breaking the code, moving between private and public work in collaborative software development. In: Proceedings of GROUP 2003 (International ACM SIGGROUP Conference on Supporting Group Work), pp. 105–114. ACM Press (2003)Google Scholar
- 13.Weinberg, G.: The Psychology of Computer Programming, silver anniversary edn. Dorset House (1998)Google Scholar