Calico – Collaborative Drawing Tool

Project Calico

Open full document


The vision of Calico is that using Calico should be as intuitive as using a whiteboard, and minimally streamlined as using a digital platform. Both technologies can mitigate each other’s setbacks while building on each other’s strengths. For example, sketching on a whiteboard is limited to the size of the whiteboard, but with the electronic components, a user would be able to pan the canvas to never run out of space. Users would be able to use Calico collaboratively and independently. Because of its minimalistic interface, sketching on Calico would be intuitive and there would be a very minimal learning curve.

Sustainability Plan

Sustainability Plan Adapting non-functional requirements that fulfill the five dimensions of sustainability described in Infusing Green: Requirements Engineering for Green in and Through Software Systems [5]. The requirements seek to fulfill human sustainability, social sustainability, economic sustainability, environmental sustainability, and technical sustainability. The benefit of adopting such a goal is in the long-term health of the people involved, the business, and the environment. Being a longterm plan, the company is not expected to implement these within the two years of starting up. Below is a diagram summarizing and illustrating the plan. The plan can be read in full detail below the diagram.


Illustrates the goals and reasoning behind the features of the software. “Goals form an essential part of the rationale for requirements and build a basis early on for traceable requirements, prioritization of requirements, [and so on].” [6] Elicitation of the goals allows for one to illustrate why and how a system should be developed.

System Vision

Gives a birds eye view of the use and unique features of the software. “The system vision is a joint vision of the system agreed upon by all stakeholders.” [6] It’s purpose is to communicate to all stakeholders the agreed upon model, and it serves as the agreement.

Usage Model

Illustrates the various ways the software can be used. “A usage model describes the system behavior from the point of view of the user (Black-box) by modeling interaction sequences. It specifies the use cases. A use case is a series of system events triggered by an actor that leads to results for the actor.” [6]


I think writing the requirements specifications for Calico really helped me grasp the idea of what a requirements specification should be. I used to think such things were boring, and that they weren’t really necessary, but now I see their true value, especially in their potential to shape the sustainability of the whole technological ecosystem. Ordinarily though, i think the value that comes from requirements specifications is from its ability to layout the whole plan for a business, and even help it acquire funds, and plan out a budget. It really takes care of all the nitty gritty details, and that is an asset to a business which can because of it start off running on take off. In writing these requirements I will take note that I had trouble say that along the way i had trouble adding sustainability to the requirements. I tried to at times but it felt like I was just sprinkling environmental jargon here and there. And it was also quite abstract. I really couldn’t get my head around how i could be more explicit with it. That was until I decided to just make a sustainability plan. This really freed up my creativity and gave me enough room to write everything with my only concern being sustainability, instead of other requirements for example. It was one of the most fun things i had to do for the requirements specification because it made me think deeply and in a broad context.