Due Date: October 1
You must watch the Design Principles lecture before starting this milestone.
For this milestone your group will work out in detail the design of your app. You will use a diagramming tool like Pencil, figma, justinmind, balsamiq, mockflow.com, or just your favorite paint program . If you are building a game or other widget-free app then a paint program will be easier to use.
Your design should include:
An image for each of the major screens and dialogs of your app. Show all the widgets in their proper placement. Name each screen and write some text to explain how actions in one screen will lead to other screens.
In the case of a widget-free apps, you should include diagrams for all the major 'areas', animation stills that detail the most common animations and game mechanics (for example, Super Mario would have a set of drawings showing Mario jumping, punching up, and landing on a Goomba's head), as well as story boards if they are more relevant to your game.
A goal of the design is for you to think about the usability of your app. Try to 'use' the app in your mind: simulate how a user might use the app. Printing the screens into sheets of paper of the correct size and shuffling them as you pretend to use the app is a very common way to test the usability.
Another goal is to save you time. Remember that making a change now, like adding or deleting a screen, is a thousand times easier than if you wait until after you have written the code.
Before you start drawing your design with a tool, I recommend you do some rough designs by simply sketching out ideas with paper and pencil. Use these to pretend to use your app, as one of your customers will use it. This will help you determine if the navigation or layout you have chosen will work, or if your users will hate it. It will help you figure out which are the main screens of your app.
Once you know which are your main screens and what goes inside each one of them then you are ready to start using one of the drawing tools.
Add one page to your wiki called "Design" and add the images of your design here, along with some textual description of each screen and what it is used for. You can split it into multiple pages but, if you do, make sure the "Design" page has links to all of them (so, it works as an index page).
Do not make any changes to the wiki pages used for this milestone after the deadline. Wait until after you receive the grade for the milestone to make any further changes to these pages.
Uploading images to GitHub wiki
Since 2022 GitHub allows you to upload images to wiki pages the same way you do so for Issues. So, workarounds are no longer needed.
Grade is 100 minus the total points lost, with minimum of 0.
Points lost are:
- Is there a drawing for each one of the main screens of the app? 0–50 points.
- Did you add some English text associated with each screen which explains what that screen is used for? in the case of a game, what happens in this screen? 0–40 points.
- Color scheme(s) for your app? 0–40 points.
- Are these drawn in a wireframing or design tool? 0–60 points.
- Are the images embedded in the wiki page? and hosted at github? Is the wiki page easy to read? 0–40 points.
- Do the screens correspond to the core (most frequently used) functionality of the app? 0–80 points.
- Is there a clear way to navigate between screens? 0–40 points.
- Are the most common (frequently used) navigations short? easy to find? 0–40 points.
- Are there widgets for everything the user wants to do (create, edit, delete, share, re-order, sort, etc.) ? 0–50 points.