= !BluePrint - Guidelines = We use [http://en.wikipedia.org/wiki/Blueprint BluePrints] to capture ideas, features, requirements and design options for Sahana Eden components. These can either be a simple collection of rough ideas about features you need or formal documentation following our [wiki:BluePrint/Guidelines/Template BluePrint Template]. This can start with a simple [http://en.wikipedia.org/wiki/User_story User Story] (or a full [http://en.wikipedia.org/wiki/Use_case Use Case]). These can be simple stories which describe how Sahana Eden could be used in different scenarios. A good User Story should answer the following questions: * Who the user is * What they want the application to do for them? * Why they want it to do that? (Purpose) '''A wants the system to so that .''' More information: - [http://mekongict.org/2010/06/user-oriented-design/ User-Oriented Design] - [http://www.jnd.org/dn.mss/activity-centered_design_why_i_like_my_harmony_remote_control.html Activity-Centered Design] User stories depend on the purpose of each deployment, and on the roles of the users of that deployment. Since the types of deployments and the roles and needs of their users are not limited to specific features or projects, add descriptions of types of deployments and types of user roles to the collection of [wiki:BluePrint/Guidelines/UserStories Deployment Types and User Roles for User Stories], so they can be shared. It can then be mocked-up using [http://webstyleguide.com/wsg3/10-forms-and-applications/4-design-process.html Wireframes] or other diagrams (a picture tells a thousand words), using tools like: - '''[http://code.google.com/p/evoluspencil Evolus Pencil]''' (FOSS, also as Add-on for Firefox 3.5+, GPL2) - Install Pencil as Firefox Add-on directly from [http://code.google.com/p/evoluspencil/downloads/detail?name=Pencil-1.2-0-fx.xpi here] - [http://live.gnome.org/Dia Dia] (FOSS, GPL) - [http://balsamiq.com Balsamiq] (non-OSS, US$79) - [http://doc.google.com GoogleDoc]'s new Drawing functionality !BluePrints can be used by yourself or other contributors to: - develop and evaluate solutions - develop [wiki:Projects] for others to work on - develop [wiki:DeveloperGuidelinesTesting test cases] - write documentation