DPS924 Projects Fall 2014

From CDOT Wiki
Revision as of 00:11, 24 December 2014 by Alek Minassian (talk | contribs) (Gallery of Projects)
Jump to: navigation, search

Overview

  • Learning Objectives
    • Build a useful and interesting Android app by the end of the semester.
      • real users/clients
    • Have a sense of accomplishment after building an operational Android app with feedback from real users (including me).
    • Develop applied research skills as you need to search for additional knowledge to complete the project.
    • Demonstrate your potentials, creativity, and technical skills.
  • 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]


Gallery of Projects

Author(s) App Name Description Screenshots Download Site Google Play Store
Alek Minassian Toronto Green P Advisor This is an Android application that allows you to search for parking locations near a given address. The address can either be your current location or an address you specify. Parking locations can either be viewed in a list or on a map. Features of the application include:
  • View the listing sorted by distance.
  • View details of a parking location such as address, cost, distance, maximum capacity, and payment options.
  • Get driving directions from your location to the parking location.
  • Look at the street view of the parking location before you go.
  • Parking information is downloaded periodically from the parking database server. The frequency of these updates can be specified in the application settings.
??? Google Play Store pending...
???,??? ??? ??? ??? ??? ???

Project Milestones

Notes:

  • All milestones will be used to evaluate your performance and contributions in the project.
  • You must document the sources (e.g. URL links) if you have copied the code from the websites or other places.
  • 1.0 [DONE]
    • Due: 11:59 pm, September 9 (Tuesday).
    • Task: Identify 1-3 application domains or user/client groups for your project.
    • Example: application domain: Guide for International Students, user group: international students at Seneca.
  • 1.1 Project Proposal (Draft) [DONE]
    • Due: 11:59 pm, September 23 (Tuesday).
    • Requirements: posted below.
  • 1.2 Project Proposal (Revised) [DONE]
    • Due: 11:59 pm, October 7.
    • Task: Revise the draft according to the professor's feedback.
  • 2.0 Design and Implementation of Essential Features. [STARTED]
    • Due (Design Report): 11:59 pm, October 21. [DONE]
    • Design Requirements: posted below.
    • Submission Requirements: You must submit a design report that has design diagrams (e.g. mock-ups, system diagrams, information flow diagrams) and a list of essential features. In the report, you should also mention briefly the design principles that you have used. The cover page of the report should include your name(s) and the name of your Android application. No late submission will be accepted.
    • Weekly Scrum Meeting (every Friday, starting from Oct. 31) [6]
      • What have you done since last week?
      • What are you planning to do this week?
      • Any impediments/stumbling blocks?
  • 2.1 User Feedback & Evaluation.
    • Collect feedback from real users and submit a half-page memo.
      • a list of comments from the users and a list of actions you will take in light of user feedback
    • Due: Nov. 16 (Sunday)
  • 2.2 Rework the design and implementation.
  • 3.0 Design and Implementation of Additional Features.
  • 3.1 User Feedback & Evaluation.
    • Submit a half-page memo.
    • Due: Nov.30 (Sunday)
  • 3.2 Rework the design and implementation.
  • 4.0 Project Presentation, Final Project Report & Submission
    • Due: December 3 December 5, 2014.
    • Presentation Time: 9:50 am, December 5 (Friday)
    • Blackboard Submission: 11:59 pm, December 5 (Friday)
      • Please use this template to write up your Final Project Report. [7]
      • You must include the URL link in a comment if you have copied code from a source on the Internet (e.g. stackoverflow.com).
      • Submission Requirements of Your Project [8]

Project Proposal: Requirements

Imagine that you are submitting a proposal to a group of investors who may fund your project.

  1. What is the business value or possible impact of your project?
  2. Who are your users/clients? (You should have at least 3 users and only one of them may be your classmate.)
  3. What are the use cases of your Android app? (Include some diagrams if possible.) This should be the core section of your proposal. You should provide enough details for each use case.
  4. What is your Testing Environment?
    • configuration of emulators
      • Note: An emulator does not support Google Maps unless you do additional configuration. Check out the Discovery Zone on the course wiki.
    • configuration of real Android devices (if available)
    • Read the Dashboards to support your choice of the API level. [9]
  5. What is the timeline for your project?
  6. What resources do you need to complete the project?
    • 1 or 2 developers (names), specific Android device, other devices,...
  7. What is the description of your Android app?
    • Read "App Developer Best Practices", especially the section on creating "a great app listing page"! [10]
    • Draft a concise description of your Android app.
  8. Submit your project proposal (Word document or PDF) at Blackboard. Give a name to your project and it should also be the name of your Word document. If you are working as a team of 2 people, one submission is sufficient. Note: If you want to receive A or A+, your proposal must be free of spelling errors and address all the questions listed above.

Proposed Project: Design Requirements

  • Design Objectives: a user-friendly AND responsive Android application.
  • Design Tasks (based on use cases)
    • Design the flows (e.g. user/UI flow, information flow) of your app.
      • include the design of any back-end components (e.g. download data from a server, saving of data to a database)
    • Identify a list of essential features that you are going to implement on a weekly basis. The list will be used as a checklist when we go through SCRUM exercises.
    • It is understood that your design and the list of essential features may be refined and modified as we go through the iterations of development.
  • Adoption of relevant design principles
    • relevant UI design principles from Dr. Olivier St-Cyr's course
    • relevant Android Design Principles and Patterns on the Android Developer website
  • References
    • Android Design Patterns: Interaction Design Solutions for Developers by Greg Nudelman. John Wiley & Sons, 2013. (Available as eBook from Seneca Library.)
    • Building Mobile Experiences by Frank Bentley and Edward Barrett. MIT Press, 2012. (Available as eBook from Seneca Library.)
      • Figure 2.1

Android Design Principles and Patterns

  • "Design apps that behave in a consistent, predictable fashion."

Android Best Practices

  • Interaction and Engagement, User Interface, User Input, Background Jobs, and Performance

The Android Platform