DPS924 Projects Winter 2015

From CDOT Wiki
Revision as of 22:15, 3 March 2015 by Andrew Li (talk | contribs)
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

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
Author(s) App Name Description Links (similar apps)
Elsi Nushaj & Hyungryul 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
Sandeep Saldanha and Kris Vukasinovic Habit@ Based on lifestyle choices, the application decides if you are being environmentally friendly. ???
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

Krishanthan Lingeswaran Car Finder An app that allows users to browse and search for cars. Car Catalog: https://play.google.com/store/apps/details?id=com.wiget.carcatalog
Tai Nguyen & Yong Kim BookBagList An app that allows students to find or post classified textbook ads for school. Kijiji: https://play.google.com/store/apps/details?id=com.ebay.kijiji.ca
Dylan Segna & Jacky Siu D&D Character Manager An app for creating and managing D&D characters that can dynamically load game rules https://play.google.com/store/apps/details?id=com.wgkammerer.testgui.basiccharactersheet.app
Rene Anderson & Wesley Hamilton Music/Video player with one way file sync This application allows the user to seamlessly synchronize media files to the android device and play those file without the need for additional apps. Double Twist: https://play.google.com/store/apps/details?id=com.doubleTwist.androidPlayer

SyncMe : https://play.google.com/store/apps/details?id=com.bv.wifisync

Joshua Byer Macro nutrient Calculator This application allows you to calculate your macronutrient intake for the day, along with providing tips for improvement. http://www.appszoom.com/android_applications/health_and_fitness/cals-macros-free_dfaxs.html?ref=list_referer
Andrew Li Travel Speak This app will speak out vocabulary and phrases added by the user to assist communication when travelling abroad. N/A