Android Media App Dev

IGME-590

Project 2 - Mobile App or Game of Awesomeness

Overview

Create a useful or entertaining Android app or game in teams of 2 to 3 students (3 requires prior approval). The target hardware can be Phone or Tablet or both. Previous submissions (in the iOS class) have included:

You have a lot of freedom here in what you can create for this project - use this opportunity well!

The assignment is worth 35% of your final grade, is graded out of 100 points, and no late submissions will be accepted, so post what you have before the due date to receive partial credit. An A grade will be awarded only for meeting the requirements below, and going sufficiently "above and beyond" what we have done in class.

If you publish this app on Google Play prior to the beginning of finals week, your project grade will be raised by 10%.

#1 - Create an Application Definition Statement

An Application Definition Statement is a one or two line statement answering these two questions: What's the app do? and Who is it for?

#2 - Proposal

Using your Application Definition Statement as a starting point, put together the following:

  1. Full list of features - Brainstorm a full list of features that could possibly be implemented by the application. Even though we would never think of building such an App, think "Kitchen sink" or "Word on iPhone" as you are creating your list of features.
  2. Filtered list of features - Distill these features down to only the most essential ones that allow the application to fulfill its Product Definition Statement. Apple's Mantra: Pick the few features, most frequently used, by the majority of your users, most appropriate for the mobile context.
  3. Do a competitive analysis - Discover your competition at least 3 existing iPhone Apps in the App Store that are similar to what you want to create. Also look for one similar Android App in the Android app markets. Read the descriptions in the App store, and download the apps if they’re free. Write a quick review of each App: include its features, user rating, its strengths and weaknesses relative to its competition, and what features you feel its missing.
  4. Iterate - head back to steps A and B - did you leave anything out? Are there features you should add or remove? Update your document.
  5. Sketch out the UI - Describe the UI, and produce some mock-ups. These can be drawn by hand or created in Photoshop or Storyboard it. Tip: The OS X Grab utility can grab some or all of the screen.
  6. Deliverable - Put the above in a PDF and post it to mycourses.
  7. Be ready to discuss your idea in class

#3 - Prototypes(4)

Getting a prototype up an running as fast as possible is critical.

  1. Put together the primary navigation of the App as quickly as possible, and find at least 5 people to try the app on actual hardware. Use the knowledge gained to add critical features, and fix navigation issues.
  2. Install on Android hardware and bring to class on due date
  3. You will have others in the class test your app

#4 - Final Deliverable Requirements

  1. Meets the Application Definition Statement - an "A-level" app is a "polished solution to a well defined problem".
  2. A polished User Experience that respects these Design Principles:
    1. Clarity - it should be clear what the app does, and people should be able to use it without instruction.
    2. Deference - content is front and center - the UI should fade into the background.
    3. Depth - it should be a vibrant and life-like experience, and people should not get "lost" or be confused about what state the app is in.
    4. If it's a game:
      • Controls: should be easy to use, responsive and intuitive. On screen D-pads usually don't work well in arcade style games. Stick with simple taps and gestures, or the accelerometer.
      • Teaching: The player should have no trouble figuring out how to play the game. You should probably provide instructions. Introduce only one game element per "level" - don't try to teach your player how to play the entire game all at once.
      • Feedback: The player should intuitively know what "state" the game is in, and if their actions hindered or helped their progress in the game. A score should be visible to the player.
      • Difficulty: Be nice to your players. The game should be easy at first, then it gets harder. The player shouldn't die in 2 seconds like Flappy Birds. And when they do die, they should have an idea how to play better next time.
      • Screens: Title/Navigation, Game, High Scores, & Credits. The name of the game, and the names of the team members should each be visible on one of the screens.
      • Media: Effect and background sounds, imported fonts, h-res graphics.
  3. Uses libraries that go well beyond what we've done in class this semester.
  4. Meets course coding standards (see below)
  5. Install on Android hardware and bring to class on due date

Coding Standards

#5 - Documentation

Grade Rubric

Deductions

Milestones