DPS924 Projects Winter 2015

From CDOT Wiki
Revision as of 15:21, 28 February 2015 by Peter.liu (talk | contribs) (Project Milestones)
Jump to: navigation, search

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
Eldon Lai & Kelvin Ng All-In-One Diary A diary with multimedia functions that is suitable for casual note-taking, business presentation recordings, and event loggings. https://play.google.com/store/apps/details?id=net.nakvic.dromoris&hl=en
Luong Van Chuong QuestLog An agenda as a task management tool, with the influence of video games. https://play.google.com/store/apps/details?id=com.google.android.calendar

https://play.google.com/store/apps/details?id=netgenius.bizcal https://play.google.com/store/apps/details?id=com.clawdyvan.agendadigitalaluno

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
        • Read the design requirements below.
    • Weekly GitHub 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 (created by Pencil or a similar tool) [12]
    • 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) [13]
      • Google Design Guidelines - Material Design [14]
      • Creating Apps with Material Design
        • Android Developer website [15]
        • Implementing Material Design in Your Android app (24 October 2014) [16]
      • Examples
        • Develop android weather app with Material Design (November 3, 2014) [17]
        • Google Play Books for Android gets Material Design, skimming and browsing features (October 31, 2014) [18]
      • Android 5.0 Lollipop Material Design in pictures and video (October 17, 2014) [19]
      • UI Regions and Guidance [20]
      • Visual Guide to Android L Material Design - 7 Insights [21]
  • Create the Testing Environment.
    • Android versions (API levels)
      • dashboards (Android Developer website) [22]
    • configurations of emulators and/or Android devices
    • screen orientations (portrait and landscape)
  • Compatibility Issues (optional) [23] [24] [25]
  • 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