Difference between revisions of "DPS924 Projects Fall 2014"

From CDOT Wiki
Jump to: navigation, search
m (Reverted edits by Chris Tyler (talk) to last revision by Kirill Sochnev)
 
(90 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
* build a useful and interesting Android app
+
*Learning Objectives
** real users/clients
+
**Build a useful and interesting Android app by the end of the semester.
* be innovative
+
*** 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
 
** market research
 
** start-up companies and career opportunities
 
** start-up companies and career opportunities
Line 9: Line 13:
 
*** startup companies in Toronto [http://www.techvibes.com/company-directory/toronto/tag/startup]
 
*** startup companies in Toronto [http://www.techvibes.com/company-directory/toronto/tag/startup]
 
** startup career in Toronto [https://www.waveapps.com/about-us/jobs/]
 
** startup career in Toronto [https://www.waveapps.com/about-us/jobs/]
** entrepreneurs and Star-tups (Ontario Centres of Excellence) [http://www.oce-ontario.org/our-companies/-in-Category/Categories/community/entrepreneurs-start-ups]
+
** entrepreneurs and start-ups (Ontario Centers of Excellence) [http://www.oce-ontario.org/our-companies/-in-Category/Categories/community/entrepreneurs-start-ups]
* demonstrate your potentials, creativity, and technical skills
+
 
 +
 
 +
== Gallery of Projects ==
 +
{| border="1" cellpadding="4" cellspacing="2" style="border: 1px solid black;border-collapse:collapse;"
 +
|-
 +
! 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.
 +
|
 +
[http://zenit.senecac.on.ca/wiki/index.php/File:Screenshot_1.png]<br>
 +
[http://zenit.senecac.on.ca/wiki/index.php/File:Screenshot_2.png]<br>
 +
[http://zenit.senecac.on.ca/wiki/index.php/File:Screenshot_3.png]<br>
 +
[http://zenit.senecac.on.ca/wiki/index.php/File:Screenshot_4.png]<br>
 +
[http://zenit.senecac.on.ca/wiki/index.php/File:Screenshot_5.png]
 +
|Google Play Store
 +
|[https://play.google.com/store/apps/details?id=com.seneca.mobile.torontogreenpadvisor]
 +
 
 +
|-
 +
|Sochnev,Kirill
 +
|GEOtagged Memo Application (GEO tama)
 +
|GEO tama is an application that allows users to create, edit and view memos. But it isn’t a simple memo app, this application stores location where each memo was made and displays memos on interactive map as markers. Beside expected functionality of creating, editing, deletion of memos, GEO tama can also connect to user's Facebook app (using Facebook API) and share any selected memo as a link to Google map, text and date.
 +
 
 +
This application is targeted at people who travel a lot and want to somehow leave themselves a reminder about places they see and want to remember! Or this application can fit interests of any other ordinary user – after all, it’s practically a notepad with location and Facebook share capabilities.
 +
|[http://zenit.senecac.on.ca/wiki/index.php/File:GEOtama_Main_Screen.png]<br>
 +
[http://zenit.senecac.on.ca/wiki/index.php/File:GEOtama_Save_Memo_Screen.png]<br>
 +
[http://zenit.senecac.on.ca/wiki/index.php/File:GEOtama_Facebook_Share_Screen.png]<br>
 +
[http://zenit.senecac.on.ca/wiki/index.php/File:GEOtama_Settings_Screen.png]
 +
|[https://www.dropbox.com/s/y197hetmcf2e2ml/GEOtaggedMemoApplication.apk?dl=0]
 +
| -
 +
 
 +
|-
 +
| Rashid,Kabeer
 +
| Torontourism
 +
| Torontorusm is an application that displays information about current events that are occurring in Toronto at the moment. The information provided for the    events is from http://www1.toronto.ca. Once the an event is clicked upon you are able to call them, view their website, view the location using a map, add the event to you personal calendar. With all of the events you are able to view their poster picture if it is available.
 +
|
 +
|[https://www.dropbox.com/s/yyun02i1wcvos4k/Torontourism.apk?dl=0]
 +
|
 +
|-
 +
 
 +
|-
 +
| Artemy Matvienko
 +
| Gamer Watch
 +
| Gamer Watch is a light and efficient release date tracking app that conveniently lets you know when your most anticipated games are coming out. This is an essential app for anyone who wants to know when a game is being released without the hassle of manually keeping up with release date information. The intuitive notification system used by this app keeps you informed as games release and release dates change, which sets Gamer Watch apart from other release date tracking apps and methods.
 +
 +
Features include:
 +
* Simple and clean interface
 +
* Watch List containing all the games that you have added
 +
* Easy removal of games from your Watch List
 +
* Search capability for finding and adding the games you are interested in to the Watch List
 +
* Automatic background updates to the game release dates
 +
* Notifications that let you know if:
 +
** the release date of a game in your Watch List has changed
 +
** a game on your Watch List is coming out today
 +
** any games on your Watch List are releasing the following week
 +
|Google Play Store
 +
|Google Play Store
 +
|[https://play.google.com/store/apps/details?id=com.cohaven.gamerwatch]
 +
|-
 +
 
 +
|-
 +
| David Novodchuk & Sana Shariff
 +
| Recipe Organizer
 +
| Recipe Organizer is an app the allows users to organize recipes on the Android device.
 +
 +
Features include:
 +
* Minimalistic and intuitive interface.
 +
* Saving new recipes on app's database:
 +
** From the Internet - users can search for recipes provided by external api.
 +
** From scratch - users can add their recipes by typing.
 +
* Editing recipes - users can edit recipes that was added from the Internet and from scratch.
 +
* Deleting recipes from the database.
 +
|
 +
[http://zenit.senecac.on.ca/wiki/imgs/Add_from_internet.jpg]<br>
 +
[http://zenit.senecac.on.ca/wiki/imgs/Add_from_scratch.jpg]<br>
 +
[http://zenit.senecac.on.ca/wiki/imgs/Edit.jpg]<br>
 +
[http://zenit.senecac.on.ca/wiki/imgs/Delete.jpg]
 +
|
 +
|
 +
|-
 +
 
 +
|-
 +
|???,???
 +
|???
 +
|???
 +
|???
 +
|???
 +
|???
 +
|}
  
 
== Project Milestones ==
 
== 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]'''
 
*1.0 '''[DONE]'''
** due: 11:59 pm, September 9 (Tuesday)
+
** Due: 11:59 pm, September 9 (Tuesday).
 
** Task: Identify 1-3 application domains or user/client groups for your project.
 
** Task: Identify 1-3 application domains or user/client groups for your project.
 
*** [[detailed requirements]]
 
*** [[detailed requirements]]
** Example: application domain: Guide for International Students, user group: international students at Seneca
+
** Example: application domain: Guide for International Students, user group: international students at Seneca.
*1.1    Project Proposal (Draft Version)
+
*1.1    Project Proposal (Draft) '''[DONE]'''
** due: 11:59 pm, September 23 (Tuesday)
+
** Due: 11:59 pm, September 23 (Tuesday).
** requirements posted below
+
** Requirements: posted below.
*1.2    Project Proposal (Revised Version)
+
*1.2    Project Proposal (Revised) '''[DONE]'''
*2.0    Design and Implementation of Essential Features.
+
** Due: 11:59 pm, October 7.
** tentative starting date: October 1 
+
** 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)''' [http://en.wikipedia.org/wiki/Scrum_%28software_development%29#Sprint]
 +
***What have you done since last week?
 +
***What are you planning to do this week?
 +
***Any impediments/stumbling blocks?
 
*2.1 User Feedback & Evaluation.
 
*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.
 
*2.2 Rework the design and implementation.
 
*3.0 Design and Implementation of Additional Features.
 
*3.0 Design and Implementation of Additional Features.
 
*3.1 User Feedback & Evaluation.
 
*3.1 User Feedback & Evaluation.
 +
** '''Submit a half-page memo.'''
 +
** '''Due: Nov.30 (Sunday)'''
 
*3.2 Rework the design and implementation.  
 
*3.2 Rework the design and implementation.  
*4.0
+
*4.0 '''Project Presentation, Final Project Report & Submission'''
** due: December 3, 2014
+
** '''Due: <strike>December 3</strike>  December 5, 2014.'''
** Project Presentation & Evaluation
+
** 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. [https://scs.senecac.on.ca/~peter.liu/dps924/FinalReport_template.doc]
 +
*** 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 [https://scs.senecac.on.ca/~peter.liu/dps924/ProjectSubmission.txt]
  
 
== Project Proposal: Requirements ==
 
== Project Proposal: Requirements ==
 
'''Imagine that you are submitting a proposal to a group of investors who may fund your project.'''
 
'''Imagine that you are submitting a proposal to a group of investors who may fund your project.'''
*What is the business value or possible impact of your project?
+
#What is the business value or possible impact of your project?
*Who are your users/clients? (You should have at least 3 users and only one of them may be your classmate.)
+
#Who are your users/clients? (You should have at least 3 users and only one of them may be your classmate.)
*What are the use cases of your Android app? (Include some diagrams if possible.)
+
#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.
*What is your Testing Environment?
+
#What is your Testing Environment?
** configuration of emulators
+
#* configuration of emulators
*** Note: An emulator does not support Google Maps unless you do additional work.
+
#** 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)
+
#* configuration of real Android devices (if available)
** Read the Dashboards to support your choice of the API level. [https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net ]
+
#* Read the Dashboards to support your choice of the API level. [https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net ]
*What is the timeline for your project?
+
#What is the timeline for your project?
*What resources do you need to complete the project?
+
#What resources do you need to complete the project?
** 1 or 2 developers (names), specific Android device, other devices,...
+
#* 1 or 2 developers (names), specific Android device, other devices,...
*What is the description of your Android app?
+
#What is the description of your Android app?
** Read "App Developer Best Practices", especially the section on creating "a great app listing page"! [http://developer.android.com/distribute/essentials/best-practices/apps.html]
+
#* Read "App Developer Best Practices", especially the section on creating "a great app listing page"! [http://developer.android.com/distribute/essentials/best-practices/apps.html]
** Draft a concise description of your Android app.
+
#* Draft a concise description of your Android app.
* Submit your project proposal (Word document) at Blackboard. If you are working as a team of 2 people, one submission is sufficient. If you want to receive A or A+, your proposal must be free of spelling errors and address all the questions listed above.
+
# 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 ]] ==
 
== [[Android Design Principles and Patterns ]] ==
 +
* '''"Design apps that behave in a consistent, predictable fashion."'''
  
 
== [[Android Best Practices ]] ==
 
== [[Android Best Practices ]] ==
 +
* Interaction and Engagement, User Interface, User Input, Background Jobs, and Performance
  
 
== The Android Platform ==
 
== The Android Platform ==
 
*Dashboards [https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net]
 
*Dashboards [https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net]

Latest revision as of 19:32, 23 April 2018

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.

[6]
[7]
[8]
[9]
[10]

Google Play Store [11]
Sochnev,Kirill GEOtagged Memo Application (GEO tama) GEO tama is an application that allows users to create, edit and view memos. But it isn’t a simple memo app, this application stores location where each memo was made and displays memos on interactive map as markers. Beside expected functionality of creating, editing, deletion of memos, GEO tama can also connect to user's Facebook app (using Facebook API) and share any selected memo as a link to Google map, text and date.

This application is targeted at people who travel a lot and want to somehow leave themselves a reminder about places they see and want to remember! Or this application can fit interests of any other ordinary user – after all, it’s practically a notepad with location and Facebook share capabilities.

[12]

[13]
[14]
[15]

[16] -
Rashid,Kabeer Torontourism Torontorusm is an application that displays information about current events that are occurring in Toronto at the moment. The information provided for the events is from http://www1.toronto.ca. Once the an event is clicked upon you are able to call them, view their website, view the location using a map, add the event to you personal calendar. With all of the events you are able to view their poster picture if it is available. [17]
Artemy Matvienko Gamer Watch Gamer Watch is a light and efficient release date tracking app that conveniently lets you know when your most anticipated games are coming out. This is an essential app for anyone who wants to know when a game is being released without the hassle of manually keeping up with release date information. The intuitive notification system used by this app keeps you informed as games release and release dates change, which sets Gamer Watch apart from other release date tracking apps and methods.

Features include:

  • Simple and clean interface
  • Watch List containing all the games that you have added
  • Easy removal of games from your Watch List
  • Search capability for finding and adding the games you are interested in to the Watch List
  • Automatic background updates to the game release dates
  • Notifications that let you know if:
    • the release date of a game in your Watch List has changed
    • a game on your Watch List is coming out today
    • any games on your Watch List are releasing the following week
Google Play Store Google Play Store [18]
David Novodchuk & Sana Shariff Recipe Organizer Recipe Organizer is an app the allows users to organize recipes on the Android device.

Features include:

  • Minimalistic and intuitive interface.
  • Saving new recipes on app's database:
    • From the Internet - users can search for recipes provided by external api.
    • From scratch - users can add their recipes by typing.
  • Editing recipes - users can edit recipes that was added from the Internet and from scratch.
  • Deleting recipes from the database.

[19]
[20]
[21]
[22]

???,??? ??? ??? ??? ??? ???

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) [23]
      • 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. [24]
      • 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 [25]

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. [26]
  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"! [27]
    • 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