Mobile App Development: Final Project Instructions
Your final project is the culmination of all your hard work in the course. Your goal should be to produce an app that will be a strong addition to your programming portfolio that is creative, well-designed, addictive, useful, and robust. Your app must have a clean design that feels simple, operates smoothly and without sluggishness, doesn't crash, and has a clever twist. The app must take advantage of one or more of the unique capabilities of the phone and have the potential to stay interesting even after extended use. No explanation should be necessary to use the app beyond what someone might read on the Play Store when downloading it. The design should respect the ideas we have talked about in class and be in the scope of helping with some health-related issue.
Your team will present your idea during the last class using the Final Presentation Template (This will be revised based on the amount of time we have for the last class). The template describes the structure of the presentation. Please make sure you have checked that your presentation doesn't have any of the problems mentioned in the tips document.
Hand-in:
Your team should email your presentation with subject line "Final Presentation" to the TAs the evening before your presentation by 8PM. Please name the file [TeamMember1FirstName][TeamMember1LastName][TeamMember2FirstName][TeamMember2LastName].finalpresentation.ppt
As in all prior assignments, you will submit your assignment by publishing on the Play Store (alpha version). You will also update your Git repository. Prior to grading, the latest version will be pulled from the Play Store, so it is to the advantage of teams to update if they find bugs or make improvements, even after the submission date.
This is a team assignment so teams will only be actively using one Bitbucket account, which should be the same account as in the prior assignment. The non-primary Bitbucket only needs updating to add the new buttons for this assignment and the final project assignment. We will test by installing BOTH student assignments on the phone for each team when testing.
Please carefully follow these instructions:
- Both team members should add a new button to their apps on the Play Store (alpha testing): "Final Project". As in prior assignments, one team member will just call the Activity in the other team member's package. Your main app will then have all your prior buttons (e.g., About (with your team info), Generate Error (generates error), etc.) and your new "Final Project" button. Clicking this app should start an Activity that includes (1) the name of your app and (2) the 4000 char or less description of the app that would appear on the Play Store. This description should be well done, professional, and typo free. It should be credible and entice people to want to try your app. Please DO NOT put this description on the app store, because we do not want to attract attention to your app from people not in the course (this is why there is is this special screen). There should also be a button that will run your app. You should also include a button to your acknowledgements screen here if you have not embedded the acknowledgements in the main part of the application.
- Please have your apk put a new icon that is appropriate for your app in the launcher, and name it "MAD16S-[Your app name]". Installation of your apk will lead to two icons being put in on the app launch screen. Your old NUMAD16S-[your name] and the new MAD16S-[your app name]. Clicking this latter icon will start your final project directly. It should NOT show the app description screen. In other words, clicking this button starts the app in the same way a person would normally start it, who had already read the description on the Play Store. Make sure you look at the slide from class so that you have this right.
- Please double check that your app installation is leaving no other icons on the app launcher screen.
- Your app must include all information needed to use it. There should be no additional instructions, because people downloading the app from the Play Store wouldn't have anything like that. For apps that use special hardware, the app should include instructions of what someone needs to do with the special hardware, but you can assume that your users know what they are and how to charge/use them.
- Update your acknowledgements screen so that it includes all content used for the final app and also indicates what models of phone you have tested on. Acknowledgements that you would include in the app itself coudl be accessible from the main app. Acknowledgements or special notes that would only be for NUMAD could be included from the NUMAD-16S-[your name] "Final Project" activity.
- For students working as part of a team, each team member should send an email to Prof. Intille with the subject "My contribution: [your name]" clearly describing what how you and your team member worked together.
The heuristic checklist (and other items discussed in class) should be considered as you put the finishing touches on your app.
Evaluation/feedback:
The final project will be evaluated according to the criteria listed on the syllabus:
- Superior, striking, or unexpected pieces of work with excellent
effort demonstrating a mastery of the subject matter and a skillful use of
concepts and/or materials discussed in class; work robustly and fully
implemented; work that shows exceptional imagination, elegance of presentation,
originality, creativity, and effort.
- Good work demonstrating a capacity to use the subject matter and
the ability to handle problems encountered in the course.
- Work that is adequate but that would benefit from increased
effort or preparation.
- Work that is inadequate and does not suggest mastery of course content.
Course work falling into these categories correspond roughly to A, B, C, and D
grades.