Automated Software Engineering

, Volume 19, Issue 4, pp 381–421 | Cite as

The design and evaluation of a tool to support software designers at the whiteboard

Article

Abstract

Despite the availability of advanced software design tools, software developers are known to frequently turn to the whiteboard when faced with a specific design problem. Free from any restrictions, they engage in an informal form of software design that relies heavily on sketching. However, whereas whiteboards afford flexibility and fluidity, they at the same time limit a designer in only being able to draw and erase content. This paper presents Calico, a novel software design tool that leverages electronic whiteboards to enhance the design experience with explicit support for the creative, exploratory aspects of design. Specifically, Calico offers a grid to partition the drawing space, scraps to organize and manipulate the content, and a reusable palette together with gesture-based input to address several natural behaviors exhibited by software designers, including frequent shifts in focus, use of low-detail models, use of a variety of notations, and a tendency to refine representations. To evaluate Calico, we performed a laboratory experiment involving the design of an educational traffic simulator. Through a three-pronged analysis examining the use of Calico’s features, design behaviors exhibited by the participants, and the nature of the design conversations, we show how Calico benefits the design process as it takes place at the whiteboard.

Keywords

Design Software design Sketching Creative exploration Electronic whiteboard Informal drawing 

Notes

Acknowledgements

This work is partially supported by the National Science Foundation under grant numbers DUE-0920777 and CCF-1118052. We thank Hitachi for donating three FX-Duo Starboard interactive whiteboards.

References

  1. Baker, A.: Bringing software to design: theoretical and empirical studies of software’s role as a design discipline. Ph.D. thesis (2010) Google Scholar
  2. Ball, L., Onarheim, B., Christensen, B.: Design requirements, epistemic uncertainty and solution development strategies in software design. Des. Stud. 31(6), 567–589 (2010) CrossRefGoogle Scholar
  3. Bederson, B., Grosjean, J., Meyer, J.: Toolkit design for interactive structured graphics. IEEE Trans. Softw. Eng. 30, 535–546 (2004) CrossRefGoogle Scholar
  4. Brooks, F.P. Jr.: No silver bullet essence and accidents of software engineering. Computer 20, 10–19 (1987) CrossRefGoogle Scholar
  5. Brooks, F.P.: The Design of Design: Essays from a Computer Scientist, 1st edn. Addison-Wesley Professional, Reading (2010) Google Scholar
  6. Buxton, W.: Sketching User Experiences: Getting the Design Right and the Right Design. Morgan Kaufmann, San Mateo (2007) Google Scholar
  7. Chen, Q., Grundy, J.C., Hosking, J.G.: Sumlow: early design-stage sketching of uml diagrams on an e-whiteboard. Softw. Pract. Exp. 38, 961–994 (2008) CrossRefGoogle Scholar
  8. Cherubini, M., Venolia, G., DeLine, R., Ko, A.J.: Let’s go to the whiteboard: how and why software developers use drawings. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI’07, pp. 557–566. ACM Press, New York (2007). doi:10.1145/1240624.1240714 CrossRefGoogle Scholar
  9. Chung, R., Mirica, P., Plimmer, B.: Inkkit: A Generic Design Tool for the Tablet pc, pp. 29–30. ACM Press, New York (2005) Google Scholar
  10. Csikszentmihalyi, M.: Flow: The Psychology of Optimal Experience. Harper Perennial, New York (1991) Google Scholar
  11. Damm, C., Hansen, K., Thomsen, M., Tyrsted, M.: Supporting Several Levels of Restriction in the Uml, pp. 396–409. Springer, Berlin (2000a) Google Scholar
  12. Damm, C.H., Hansen, K.M., Thomsen, M.: Tool support for cooperative object-oriented design: gesture based modelling on an electronic whiteboard. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI’00, pp. 518–525. ACM Press, New York (2000b). doi:10.1145/332040.332488 CrossRefGoogle Scholar
  13. Dekel, U., Herbsleb, J.D.: Notation and representation in collaborative object-oriented design: an observational study. ACM SIGPLAN Not. 42(10), 261–280 (2007), 1297047 CrossRefGoogle Scholar
  14. Ferguson, E.: Engineering and the Mind’s Eye. Cambridge, London (1992) Google Scholar
  15. Goel, V.: Sketches of Thought. The MIT Press, Cambridge (1995) Google Scholar
  16. Goldschmidt, G.: The dialectics of sketching. Creat. Res. J. 4(2), 123–143 (1991) CrossRefGoogle Scholar
  17. Grisham, P., Iida, H., Perry, D.: Improving design intent research for software maintenance. In: Proceedings of Workshop on Accountability and Traceability in Global Software Engineering, pp. 13–14 (2009) Google Scholar
  18. Grundy, J., Hosking, J.: Supporting generic sketching-based input of diagrams in a domain-specific visual language meta-tool. In: Proceedings of the 29th International Conference on Software Engineering, pp. 282–291 (2007), 1248861 Google Scholar
  19. Guimbretière, F.: Fluid interaction for high resolution wall-size displays. Ph.D. thesis (2002) Google Scholar
  20. Hailpern, J., Hinterbichler, E., Leppert, C., Cook, D., Bailey, B.: Team Storm: Demonstrating an Interaction Model for Working with Multiple Ideas During Creative Group Work, pp. 193–202. ACM Press, New York (2007) Google Scholar
  21. Hendry, D.: Sketching with conceptual metaphors to explain computational processes. In: Visual Languages and Human-Centric Computing, pp. 95–102. IEEE Computer Society, Washington (2006) CrossRefGoogle Scholar
  22. Hong, J., Landay, J.: Satin: A Toolkit for Informal Ink-based Applications, pp. 63–72. ACM Press, New York (2000) Google Scholar
  23. Johnson, G., Gross, M.D., Hong, J., Do, E.Y.L.: Computational support for sketching in design: a review. Found. Trends Hum.-Comput. Interact. 2(1), 1–93 (2008) CrossRefGoogle Scholar
  24. Jones, J.: Design Methods. J. Wiley, New York (1970) Google Scholar
  25. Ju, W., Lee, B., Klemmer, S.: Range: Exploring Implicit Interaction Through Electronic Whiteboard Design, pp. 17–26. ACM Press, New York (2008) Google Scholar
  26. Klemmer, S.R., Newman, M.W., Farrell, R., Bilezikjian, M., Landay, J.A.: The designers’ outpost: a tangible interface for collaborative web site. In: Proceedings of the 14th Annual ACM Symposium on User Interface Software and Technology, UIST’01, pp. 1–10. ACM Press, New York (2001) CrossRefGoogle Scholar
  27. Kramer, A.: Translucent patches—dissolving windows. In: Proceedings of the 7th Annual ACM Symposium on User Interface Software and Technology, pp. 121–130 (1994), 192474 CrossRefGoogle Scholar
  28. Landay, J.: Silk: Sketching Interfaces Like Krazy, p. 399. ACM Press, New York (1996) Google Scholar
  29. Larkin, J., Simon, H.: Why a diagram is (sometimes) worth ten thousand words. Cogn. Sci. 11(1), 65–100 (1987) CrossRefGoogle Scholar
  30. Lawson, B.: Design in Mind. Butterworth Architecture, Stoneham (1994) Google Scholar
  31. Mangano, N., Baker, A., Dempsey, M., Navarro, E., van der Hoek, A.: Software design sketching with calico. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ASE ’10, pp. 23–32. ACM Press, New York (2010) CrossRefGoogle Scholar
  32. Mangano, N., van der Hoek, A.: A tool for distributed software design collaboration. In: Proceedings of the ACM 2012 Conference on Computer Supported Cooperative Work, CSCW ’12. ACM Press, New York (2012) Google Scholar
  33. Moran, T.P.: Design Rationale: Concepts, Techniques, and Use. L. Erlbaum, Hillsdale (1996) Google Scholar
  34. Myers, B., Park, S., Nakano, Y., Mueller, G., Ko, A.: How designers design and program interactive behaviors. In: IEEE Symposium on Visual Languages and Human-Centric Computing, 2008, VL/HCC 2008, p. 177–184. IEEE Press, New York (2008) CrossRefGoogle Scholar
  35. Mynatt, E., Igarashi, T., Edwards, W., LaMarca, A.: Flatland: New Dimensions in Office Whiteboards, p. 353. ACM Press, New York (1999) Google Scholar
  36. Newell, A., Simon, H., Science, C.M.U.P.P.D.O.C.: Human Problem Solving, vol. 104. Prentice-Hall, Englewood Cliffs (1972) Google Scholar
  37. Newman, M.W., Lin, J., Hong, J.I., Landay, J.A.: Denim: an informal web site design tool inspired by observations of practice. Hum.-Comput. Interact. 18, 259–324 (2003) CrossRefGoogle Scholar
  38. Nickerson, J., Corter, J., Tversky, B., Zahner, D., Rho, Y.: The spatial nature of thought: understanding systems design through diagrams. In: Proceedings ICIS 2008, p. 216 (2008) Google Scholar
  39. Olson, G., Olson, J., Carter, M., Storrosten, M.: Small group design meetings: an analysis of collaboration. Hum.-Comput. Interact. 7(4), 347–374 (1992) CrossRefGoogle Scholar
  40. Olson, G., Olson, J., Storrøsten, M., Carter, M., Herbsleb, J., Rueter, H.: The structure of activity during design meetings. In: Design Rationale: Concepts, Techniques and Use, pp. 217–240 (1996) Google Scholar
  41. Olson, J., Olson, G., Storrøsten, M., Carter, M.: Groupwork close up: a comparison of the group design process with and without a simple group editor. ACM Trans. Inf. Sys. 11(4), 321–348 (1993) CrossRefGoogle Scholar
  42. Ossher, H., John, B., Desmond, M., Bellamy, R.: Are flexible modeling tools applicable to software design discussions? Technical Paper, RC24949, pp. 1–13 (2010). http://domino.research.ibm.com/library/cyberdig.nsf/papers/3D2652F041D95A71852576EA004C67A5 Google Scholar
  43. Ossher, H., van der Hoek, A., Storey, M.A., Grundy, J., Bellamy, R., Petre, M.: Workshop on flexible modeling tools (flexitools 2011). In: Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11, pp. 1192–1193. ACM Press, New York (2011) Google Scholar
  44. Pedersen, E.R., McCall, K., Moran, T.P., Halasz, F.G.: Tivoli: an electronic whiteboard for informal workgroup meetings. In: Proceedings of the INTERACT ’93 and CHI ’93 Conference on Human Factors in Computing Systems, CHI ’93, pp. 391–398. ACM Press, New York (1993) CrossRefGoogle Scholar
  45. Petre, M.: Team coordination through externalized mental imagery. Int. J. Hum.-Comput. Stud. 61(2), 205–218 (2004) CrossRefGoogle Scholar
  46. Petre, M.: Insights from expert software design practice. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE ’09 pp. 233–242. ACM Press, New York (2009) CrossRefGoogle Scholar
  47. Petre, M., van der Hoek, A., Baker, A.: Studying professional software designers 2010: introduction to the special issue. Des. Stud. (2010) Google Scholar
  48. Plimmer, B., Apperley, M.: Computer-aided sketching to capture preliminary design. In: Proceedings of the Third Australasian Conference on User Interfaces, pp. 9–12 (2002) Google Scholar
  49. Plimmer, B., Grundy, J.: Beautifying sketching-based design tool content: issues and experiences. In: Proceedings of the Sixth Australasian Conference on User Interface, AUIC ’05, vol. 40, pp. 31–38. Australian Computer Society, Darlinghurst (2005) Google Scholar
  50. Putnam, L.: Procedural messages and small group work climates: a lag sequential analysis. Commun. Yearbook 5, 331 (1981) Google Scholar
  51. Schön, D.: The Reflective Practitioner: How Professionals Think in Action. Basic Books, New York (1983) Google Scholar
  52. Schutze, M., Sachse, P., Römer, A.: Support value of sketching in the design process. Res. Eng. Des. 14(2), 89–97 (2003) Google Scholar
  53. Shipman, F., Marshall, C.: Formality considered harmful: experiences, emerging themes, and directions on the use of formal representations in interactive systems. Comput. Support. Coop. Work 8(4), 333–352 (1999) CrossRefGoogle Scholar
  54. Stefik, M.: Wysiwis revised: early experiences with multiuser interfaces. ACM Trans. Inf. Syst. 5(2), 147–167 (1987) CrossRefGoogle Scholar
  55. Streitz, N.A., Geißler, J., Haake, J.M., Hol, J.: Dolphin: integrated meeting support across local and remote desktop environments and liveboards. In: Proceedings of the 1994 ACM Conference on Computer Supported Cooperative Work, CSCW’94, pp. 345–358. ACM Press, New York (1994) CrossRefGoogle Scholar
  56. Suwa, M., Gero, J., Purcell, T.: Unexpected discoveries and s-invention of design requirements: important vehicles for a design process. Des. Stud. 21(6), 539–567 (2000) CrossRefGoogle Scholar
  57. Tversky, B.: What do sketches say about thinking? In: Proceedings of AAAI Spring Symposium on Sketch Understanding, pp. 148–151 (2002) Google Scholar
  58. Virzi, R.A., Sokolov, J.L., Karis, D.: Usability problem identification using both low- and high-fidelity prototypes (1996) Google Scholar
  59. Wong, Y.Y.: Rough and ready prototypes: lessons from graphic design (1992) Google Scholar
  60. Yamamoto, Y., Nakakoji, K.: Interaction design of tools for fostering creativity in the early stages of information design. Int. J. Hum.-Comput. Stud. 63, 513–535 (2005) CrossRefGoogle Scholar
  61. Yatani, K., Chung, E., Jensen, C., Truong, K.N.: Understanding how and why open source contributors use diagrams in the development of ubuntu. In: Proceedings of the 27th International Conference on Human Factors in Computing Systems, pp. 995–1004. ACM Press, New York (2009) CrossRefGoogle Scholar
  62. Zannier, C., Maurer, F.: Comparing decision making in agile and non-agile software organizations. In: Agile Processes in Software Engineering and Extreme Programming. Springer, Berlin/Heidelberg (2007) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2012

Authors and Affiliations

  1. 1.Department of InformaticsUniversity of California, IrvineIrvineUSA

Personalised recommendations