Mobile App Development: Final Project Checklist
This checklist (in addition to topics mentioned in class) may help you as you put the finishing touches on your app.
Concept:
- Will the 4000 character description and the app name entice people to try it? Why?
- Does this app have the potential to help someone in some meaningful way or to satisfy a real need? How?
- Does the app make realistic assumptions about what people will and will not do? In what way?
- Does the app take advantage of unique capabilities of mobile devices? How? Does it do something that could not be done well on a desktop app?
- Can you see this app becoming “hot” on the Play Store? Why?
- Are there other apps that do what this app does already? If so, what is unique about this new app that will make it stand out?
Design:
- Is it clear from the Play Store description what the app does?
- Does the app immediately create engagement when run? What hooks the user in?
- Is information gathering about the user deferred as long as possible until after engagement has occurred?
- Does the app let the user learn by doing, versus learning by explaining?
- Are all the app screens intuitive, not requiring explanation to understand?
- Does the app introduce complexity gradually so that the user can slowly expand his/her cognitive model of the way the app works?
- Does the app have game-like qualities that will make using it addictive? In particular ...
- Does the app have simple gameplay or a simple interaction model?
- Does the app have an element of mystery and intrigue?
- Does the app make use of a compelling storyline that is easy to remember?
- Does the app cleverly balance reward and challenge, as a good game does, and at multiple levels simultaneously?
- Does the app encourage and succeed at getting someone to try to try to do “just one more” thing because it is so engaging?
- Is the complexity layered so that both novices and experts will be engaged by the app?
- Is there clearly evidence that inspiration has been pulled from apps, especially addictive apps, that we know are successful?
- Can the app be used in bits and spurts and allow the user to make forward progress?
- Does the app provide feedback in some clear way when it is making use of sensor data? Can the user tell if there is a problem with the sensors and if they are working?
- Do the colors/graphics look clean and professional, not distracting from (and hopefully enhancing) basic use of the app?
- Where the app has “rules”, are as many as possible explained pictorially instead of using text?
- Do a small set of rules create a large amount of interesting app use?
- Is sound and vibration used only when necessary to enhance the user experience and in a way that will not get annoying with repeated use?
- Do all screens of the app exude simplicity, minimizing options wherever possible so as to make the app easy to use? Would a someone who is computer-phobic be able to, and want to, use this app?
- Are the button sizes and placements appropriate for mobile use on the go?
- Does the design account for the fact that measurement using the phone’s sensors will be noisy? Where there is randomness in the sensing , is it exploited by the app or does it weaken the app?
- Does the app require the user to remember to do things (e.g., logging) in an unrealistic way? Or is the app so compelling that people will remember to use it when they need it?
- If the app is logging something and it makes a mistake, can the user correct the information somehow?
- Does the app have staying power that is self-sustaining? That is, does it require an unrealistic amount of manual content generation to be fun, or does it use either automatic content generation or is it possible for the team to generate enough content to make the app fun a very long time?
- Will this app take more time or save people time? If the former, why will people still want to use it?
- Does the app primarily use positive reinforcement? (Because we know negative reinforcement will make people more likely to stop using it)
- Does the app use interaction between people in some creative way? (This is not required, but may enhance some apps)
- Does the app include a mechanism by which the developers can get feedback from app users about how to make the app better? (This is a GOLD MINE for the developers)
- Does the app prevent (or strongly deter) cheating? (Not doing so will reduce the fun-factor dramatically for many users)
- Are there rewards for using the app? What are they?
- If the app has virtual rewards, what evidence is there to believe people will care about gaining them and why will this stay engaging for long periods of time?
- Does the app NOT require any money to be successful at scale? (Apps should not be dependent on real financial resources)
- Does the app minimize typing on the phone? If it does require data entry, is it a reasonable amount given the phone’s relatively painful data entry?
- If the concept requires a large database of any sort to work, have the developers obtained access to that database so the app can be fully tested?
- Can the app be easily paused/quit and returned to later?
- Does the app avoid the use of hidden menus and commands that users would not know about without reading instructions?
- Have the designers clearly thought about pacing ad how to use (or to not use) it to enhance the app?
- Have the app developers clearly worked to avoid all “computerish” terms such as “enter” “accept”?
- Do all buttons, whenever possible, use action words/verbs? (e.g., rather than “Camera”, “Take picture” or rather than “New game” “Start walking”)
Implementation:
- Is the app robust? Does it run without crashing?
- Does the app handle rotation of the phone in a reasonable way (and not crash!)?
- Is the app zippy without sluggishness?
- Does the app continue to function well even when the phone doesn't’t have access to the Internet (i.e., put into airplane mode)?
- Does the app function properly when sensors it uses are not available (e.g., location based sensing turned off on phone in in course vs fine-grained mode)?
(and does the UI give appropriate feedback?)
- If the app uses sound, does it respect the user’s settings for sound on the phone?
- Does the app disable hardware buttons that are not necessary when using the app if they might interfere with use of the app in some way?
- Does the app function when the phone is plugged into a computer (disabling the sd card)?
- Does the app not crash if the phone is rebooted (and continue running if it needs to)?
Setup:
- Does the final project solution appear as MAD-[YourAppName] on the phone's app home screen after installing the apk? Does each team member's NUMAD-[Name] app also show up.
- When the final project app launches from each team member's home page, does it first display the info screen that shows the 4000 character market description and the names and emails of the team members?
- Does the final project app show up on the phone app home screen with a new icon appropriate for the final project concept?
Testing:
- Does the acknowledgement page clearly explain the origin of any artwork, sounds, or code incorporated from other sources other than the two team members, and does it list the phone model(s) used for testing?
- Does the app use the AuthorizationChecker code so that app only runs on class phones?
- If the concept requires a lot of data to be in the app/system before it can be tested, has it been seeded with that information so it can be properly evaluated?