Ronda: A Fine Grained Collaborative Development Environment

  • Fernando Olivero
  • Michele Lanza
  • Marco D’ambros
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7467)


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.


Direct Manipulation Integrate Development Environment Class Shape Main Vehicle Collaboration Support 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    Goffman, E., Wootton, A.J.: Exploring the interaction order. Polity Press (1988)Google Scholar
  3. 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
  4. 4.
    Hutchins, E., Hollan, J., Norman, D.: Direct manipulation interfaces. Human-Computer Interaction 1, 311–338 (1985)CrossRefGoogle Scholar
  5. 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. 6.
    Marco, T.D.: Peopleware - Productive Projects and Teams. Dorset House (1999)Google Scholar
  7. 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. 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. 9.
    Smith, D.A., Kay, A., Raab, A., Reed, D.P.: Croquet - a collaboration system architecture. IEEE Computer Society (2003)Google Scholar
  10. 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. 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. 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. 13.
    Weinberg, G.: The Psychology of Computer Programming, silver anniversary edn. Dorset House (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Fernando Olivero
    • 1
  • Michele Lanza
    • 1
  • Marco D’ambros
    • 1
  1. 1.REVEAL @ Faculty of InformaticsUniversity of LuganoSwitzerland

Personalised recommendations