Assignment 8: Sensor Processing / Trickiest Part of Project
Due Sun Nov 11 by 9PM
This is a TEAM assignment.
The purpose of this assignment
is to help you learn about use of Android sensing and make progress on your final project. You will develop the trickiest part of your final project app. For most teams, this will involve getting some aspect of the sensing to work smoothly and robustly.
Take the following steps:
- Finalize your project idea design. The more you work out your design carefully in advance, the easier the programming will be. Just for emphasis, the more you work out your design carefully in advance, the easier the programming will be. As discussed often in class, your app design and the complexity of programming that app are linked.
- Revise or develop your entire interface on paper. The entire interface should be developed so you know exactly what you are really building. This design should include:
- Sketches of every screen in the interface
- Documents will all necessary content
- Outline of critical logic that indicates how key components of the app will work (e.g., dynamic adjustment of game play in games, dynamic adjustment of interface in response to sensing)
- Identify the part or parts of your app that are the most critical to the success of the app. These are the parts that may be tricky to program and must work smoothly and robustly for the app to be successful. For most projects, this will be the part of the app that uses the phone sensors. Often it will include the key part of the code with the tight human-app feedback loop, driven by the sensing. In some cases this will will involve obtaining and display key information (e.g., info about the city map that may or may not be easy to obtain and render). In short, this would be the part of the app design someone might look at and say, "Are you going to be able to do that?" or "Are you going to be able to make that work?" or "Is that really going to be fun?" or "Is that interaction going to be fast enough and feel right?" Setting screens, login screens, and other parts of your app that may be necessary but that you should be able to program quickly later if you have carefully designed them on paper first would NOT be included in the Trickiest Part.
- Implement the hardest part of your app. Set it up so that when we run it, we can test it out and will feel confident that you can pull it off as the main part of your final project.
Both team members should add a new button to their apps on the Play Store: "Trickiest Part." As in Persistent Boggle, one team member will just call the Activity in the other team member's package. Your main app will then have 6 buttons: About (with your team info), Generate Error (generates error), Quit (exits), Sudoku (runs Sudoko from Assignment 1), Boggle (runs assignment 4), Persistent Boggle (runs assignment 6), and your new button. Do not add a new icon and launcher for this game ... It should be launched from the home screen of the same app you had for Assignment 1.
Those using sensors who do not have access to phones will probably need to come to help sessions to test on real phones.
Turn in:
- A copy of your app design
- A paragraph or two that explains why your "Trickiest Part" app is really the trickiest part of your project and outlines the strategy you have used to pull off the coding.
- Any information we need to understand how to test the Trickiest Part
- List the phone models you have tested the Trickiest Part with (we'll try to use those phones)
- Your updated app on the Play Store
- Your updated Git repository on Bitbucket
Grades will be assigned as follows:
- A: Design is fully fleshed out; Trickiest Part app works and does seem to actually cover the trickiest part of the design; Team has made convincing progress on the project app
- B: Design mostly fleshed out; Trickiest Part app works but could use improvement
- C: Design has missing parts or weaknesses; Trickiest Part app has not conveyed confidence that the team is going to be able to pull off the design as proposed
One member of each team should send an email with subject line "Assignment8". The email should include the names of both team members and the information requested above. Please send to both Elica and ...@neu.edu.