Difference between revisions of "DPS924 Projects Winter 2015"

From CDOT Wiki
Jump to: navigation, search
(Design Requirements)
(Design Requirements)
Line 116: Line 116:
 
** UI mockups
 
** UI mockups
 
** interaction between back-end components and the UI screens
 
** interaction between back-end components and the UI screens
** 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 data stores such as database and Android file system
** flow of data between the UI screens and Web API servers (URLs) or other devices, if applicable
+
** the flow of data between the UI screens and Web API servers (URLs) or other devices, if applicable
 
*'''Apply Material Design Guidelines OR Android Design Patterns.'''
 
*'''Apply Material Design Guidelines OR Android Design Patterns.'''
 
**Note: If your project is UI-intensive, you are expected to apply 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 Material Design guidelines at the minimum (e.g. toolbar vs action bar) or adopt Android design patterns.
 
**Note: If your project is UI-intensive, you are expected to apply 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 Material Design guidelines at the minimum (e.g. toolbar vs action bar) or adopt Android design patterns.

Revision as of 16:37, 25 February 2015

Overview

  • Learning Objectives.
    • Build a useful and interesting Android app by the end of the semester.
    • Have a sense of achievement after building an operational Android app with feedback from end users.
    • Develop your applied research skills as you need to search for additional knowledge in order to complete the project.
      • use Android packages not covered by this course
      • integrate with another API (e.g. a Web API, Twitter API, Facebook API, Flickr API,...)
    • Demonstrate your potentials, creativity, and technical skills.
    • Use GitHub to build an Android app.
    • Use agile software development approach.
      • user stories(from the perspective of end users)
      • sprints (i.e. iterations)
      • weekly standup meetings
  • Be innovative.
    • market research
    • start-up companies and career opportunities
      • seven Canadian tech startups (2014) [1]
      • 1000 startups [2]
      • startup companies in Toronto [3]
    • startup career in Toronto [4]
    • entrepreneurs and start-ups (Ontario Centers of Excellence) [5]
  • Team size: 1-2 persons.

Gallery of Projects

Author(s) App Name Description Links (similar apps)
Elsi Nushaj & Hyungryu Chun RWG (Random Workout Generator) App creates workouts for you and lets you track exercise times to improve and compare against others https://play.google.com/store/apps/details?id=com.workout.generator
Vasil Rimar & Norbert Curiciac AdPulse This application allows advertisement agencies throughout the GTA, who currently rely on paper based methods to keep track of and organize information. ???
Kevin Kofler & Petr Bouianov Pupillary Distance Meter An application which measures pupillary distance, i.e. the distance between the pupils of your eyes. This metric is needed while purchasing prescription eye wear. https://play.google.com/store/apps/details?id=air.PupilMeterAnd&hl=en
Jordan Wieb Mobile Tactics A turn-based, tile-based, multiplayer strategy RPG with no server between two devices. https://play.google.com/store/apps/details?id=com.mangobile.kingturn&hl=en
Albert Kim Marvel Tracker Downloads Marvel Event information and displays details about them including characters involved and reading order. https://play.google.com/store/apps/details?id=com.marvel.comics&hl=en
Shianne Lee Hello Healthy! Keeps track of weight, gives tips on fitness, diet, and all around health and tracks daily food intake. https://play.google.com/store/apps/details?id=com.fitnow.loseit&hl=en

Project Milestones

  • 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. [6]
    • 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
    • Create user stories (or use cases).
      • key question
        • How is a user going to use your app?
      • SCRUM User Stories (from the perspective of an end-user) [7] [8]
      • an example from a CDOT project [9]
    • 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:
    • 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 2.0
        • Read the design requirements below.
    • WeeklyGitHub activities
    • Weekly standup meetings on Fridays [10]
      1. What have I done since the last Scrum meeting (yesterday)?
      2. What will I do before the next Scrum meeting (tomorrow)?
      3. What prevents me from performing my work as efficiently as possible?
    • Sprints (i.e. iterations) [11]
  • Milestone 3.0: Project Presentation and Final Report. [Week 14]
    • April 13, 2015 (Monday)

Design Requirements

  • Create detailed system diagrams.
    • UI mockups
    • 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 Material Design Guidelines OR Android Design Patterns.
    • Note: If your project is UI-intensive, you are expected to apply 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 Material Design guidelines at the minimum (e.g. toolbar vs action bar) or adopt Android design patterns.
    • Android design patterns: interaction design solutions for developers by Greg Nudelman. Wiley, 2013. (available as ebook at Seneca Libraries)
    • Material Design Guidelines
      • Material Design (Android Developer website) [12]
      • Google Design Guidelines - Material Design [13]
    • Examples
      • Develop android weather app with Material Design (November 3, 2014) [14]
      • Google Play Books for Android gets Material Design, skimming and browsing features (October 31, 2014) [15]
    • Android 5.0 Lollipop Material Design in pictures and video (October 17, 2014) [16]
    • UI Regions and Guidance [17]
    • Visual Guide to Android L Material Design - 7 Insights [18]
  • Create the Testing Environment.
    • Android versions (API levels)
    • configurations of emulators and/or Android devices
    • screen orientations (portrait and landscape)
  • Compatibility Issues