Calico is an intuitive sketch-based design environment for use on touch-based devices, with a particular focus on supporting the early stages of software design. Most software developers, when faced with a design problem, forgo existing modeling tools altogether in favor of pen-and-paper or the whiteboard to work through the problem and come up with a solution. A hallmark of this activity is that the developers sketch: they create rough, imprecise approximations of the design they have in mind that are modified and refined continuously as part of the design activity. Calico explores touch-based hardware, including electronic whiteboards, tablet PCs, slates, and iPads, to create a novel software design environment in support of software developers engaged in design sketching.
Calico’s features are designed to amplify various key practices in creative software design, including exploration of alternatives, frequent shifts in focus, use of a mix of typically low-fidelity notations, and incremental refinement from initial sketches to more complete diagrams. Highlights include:
Fluid interaction – Calico’s interface design balances the fluidity and flexibility of traditional whiteboard or pen and paper design with advanced features that seamlessly enhance the sketching experience.
Scraps – Scraps turn passive strokes into active sketches by “lifting” drawn content from the canvas onto first-class objects that can be freely moved, stacked, resized, rotated, combined, and connected.
Grid – Multiple drawing canvases are organized into a rectangular grid, where they can be rearranged, copied, compared, (selectively) merged, erased, and e-mailed for further consideration.
Collaborative support – A client-server architecture enables multiple software developers, each possibly using a different kind of device, to work collaboratively, even across geographically distributed locations.
History – Calico stores all interactions in a central archive, enabling developers to return to, replay, and branch from previous design sessions, as well as to reflect upon their own and others’ design practices.
A demo is now available. Please click the button below to launch Calico via Java Web Start.
The demo automatically connects to the public server, and will automatically assign your username based on your machine settings.
- N. Mangano and A. van der Hoek, The design and evaluation of a tool to support software designers at the whiteboard, Journal of Automated Software Engineering, Springer Netherlands, pp. 1 – 41.
- N. Mangano, M. Dempsey, N. Lopez, and A. van der Hoek. 2011. A demonstration of a distributed software design sketching tool. In Proceedings of the 33rd International Conference on Software Engineering (ICSE ’11). ACM, New York, NY, USA, 1028-1030. [acm download]
- N. Mangano, A. Baker, M. Dempsey, E. Navarro, and A. van der Hoek. 2010. Software design sketching with calico. In Proceedings of the IEEE/ACM international conference on Automated software engineering (ASE ’10). ACM, New York, NY, USA, 23-32. [acm download]
- N.Mangano, A. Baker, and A. van der Hoek. 2008. Calico: a prototype sketching tool for modeling in early design. In Proceedings of the 2008 international workshop on Models in software engineering (MiSE ’08). ACM, New York, NY, USA, 63-68.[acm download]