- Milestone 0.0: Exploration of Project Ideas. [Week 1 - Week 3]
- Identify an application domain for your Android project.
- Gather information from end users (i.e. people who will use your app).
- Do market research (e.g. Google Play Store) if needed.
- Milestone 1.0: Submission of a Project Proposal. [Week 4 - Week 5]
- date of submission: February 15, 2015
- Watch the video (approx. 7 minutes) about creating user stories. [1]
- Create a business statement.
- key questions
- What kind of Android app are you going to build?
- Have you found similar apps on the market (e.g. Google Play Store)? If so, please include some links in your proposal.
- How does your app differentiate from other similar apps on the market?
- focus: application domain, end-user needs, business values
- key questions
- Create user stories (or use cases).
- Create a list of features on your app.
- Create a sketch of your design.
- Note: The design may change as your project goes through the iterations.
- Create a system diagram of your app.
- identify the key components (e.g. UI, database, Web API, server)
- an example:
- identify the key components (e.g. UI, database, Web API, server)
- Create a tentative timeline.
- based on the priorities of user stories/use-cases
- identify checkpoints/milestones
- Your proposal must include the name of your app, names of team members, and the date of submission.
- Milestone 2.0: Design and Implementation. [Week 7 - Week 12 (February 15 - March 31); 6 weeks]
- Submit
- the revised project proposal 2.0
- the Design Report
- Read the design requirements below.
- Weekly GitHub activities
- Weekly standup meetings on Fridays [5]
- What have I done since the last Scrum meeting (yesterday)?
- What will I do before the next Scrum meeting (tomorrow)?
- What prevents me from performing my work as efficiently as possible?
- Sprints (i.e. iterations) [6]
- Submit
- Milestone 3.0: Project Presentation and Final Report. [Week 14]
- April 13, 2015 (Monday)
- Milestone 4.0
- Project Evaluation Rubric [9]
Design Requirements
- Create detailed system diagrams.
- UI mockups (created by Pencil or a similar tool) [10]
- interaction between back-end components and the UI screens
- the flow of data between the UI screens and data stores such as database and Android file system
- the flow of data between the UI screens and Web API servers (URLs) or other devices, if applicable
- Apply Android Design Patterns or Material Design Guidelines.
- Note: If your project is UI-intensive, you are expected to apply Android design patterns or Material Design Guidelines as much as possible. If your project is data-intensive (e.g. use of database and graphics) or back-end intensive (e.g. use of networking and Wifi connectivity), you may apply Android design patterns or Material Design guidelines at the minimum.
- Android Design Patterns: Interaction Design Solutions for Developers by Greg Nudelman. Wiley, 2013. (Available as ebook at Seneca Libraries.)
- Android User Interface Design: Turning Ideas and Sketches into Beautifully Designed Apps by Ian G. Clifton. Addison-Wesley Professional, 2013. (Available as ebook at Seneca Libraries.)
- Smashing Android UI: Responsive User Interfaces and Design Patterns for Android Phones and Tablets by Juhani Lehtimäki. Wiley, 2013. (Available as ebook at Seneca Libraries.)
- Material Design Guidelines (Android 5.0, API Level 21).
- Material Design (Android Developer website) [11]
- Google Design Guidelines - Material Design [12]
- Creating Apps with Material Design
- Examples
- Android 5.0 Lollipop Material Design in pictures and video (October 17, 2014) [17]
- UI Regions and Guidance [18]
- Visual Guide to Android L Material Design - 7 Insights [19]
- Create the Testing Environment.
- Android versions (API levels)
- dashboards (Android Developer website) [20]
- configurations of emulators and/or Android devices
- screen orientations (portrait and landscape)
- Android versions (API levels)
- Compatibility Issues (optional) [21] [22] [23]
- Organize the Design Report.
- title page (like the one used in the project proposal)
- list of features (with priorities assigned, 1-highest, 10-lowest)
- timeline (organized by the list of features and sprints)
- system diagrams (including URLs of Web API servers, if applicable)
- design principles
- testing environment