Music Apps on the iPad
COMP 150-ISW, Tufts University Department of Computer Science, Spring 2015
Overview
For your final project, your team will develop a functional music application with a few restrictions and requirements.
Guidelines and Restrictions
- The app shall not be used for organizing or downloading music libraries.
- The app shall not be not be a "DJ"-style app for manipulating playback of non-original music files.
- Teams are allowed to make changes or additions to their project proposal after it is finalized with consent of the instructors.
Requirements
Generally speaking, your team has a lot freedom to be creative. However your app must incorporate two items from the following menu:
- Work with MIDI input and/or output
- Record audio from app or audio input (e.g., microphone)
- Use a sequencer
- Use a sampler
- Use Bluetooth or some other wireless communication to connect to an external audio device
- Use Core Data or a related framework to add data persistence
- Post and get data to or from an external server
- Read and write MIDI files
- Use Audio Units to integrate Pure Data with Core Audio in some manner (e.g. AudioBus)
Your app must also do the following:
- Use visual feedback on user input
- Have a minimum of 2 effects, one of which must be an LFO or envelope connected to an effect
- Use multiple view controllers
- Use multiple gestures
- Have no pops or clicks when starting or stopping audio
- Have a help screen for instructions
Deliverables
There are five deliverables for this project:
- Project Proposal (on Thursday, March 12th) - Your project proposal shall be a two-minute elevator pitch, presented in class, that addresses (1) the problem(s) your team are trying to solve or (2) why your team chose this project. Do not prepare slides or hand in anything for this. Your team is strongly encouraged to propose more than one idea. The instructors have to approve the proposal and may suggest changes.
- Design Presentation (on Thursday, March 26th) - Your team will present design to the class. The design must outline:
- Core functionality of app
- Source (music/sound) requirements
- Inputs and outputs
- Anticipated challenges
- Mockup user interface screenshots (drawn electronically only)
- User Interface Presentation (on Thursday, April 2nd) - The purpose of this presentation is to make sure that your team has started building the app and to review the user interface. It is important that your app reasonably follows the Apple Human Interface Guidelines (the H.I.G): https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/index.html#//apple_ref/doc/uid/TP40006556-CH1-SW1. It is important to note that for this presentation, we are not expecting your app to be functional (i.e., user interface elements are not "hooked up" yet). The reason for this presentation is that in the past, we have seen many apps with shoddy user interfaces.
- Alpha Demo Days (on Tuesday, April 14th and Thursday, April 16th) This is a check-in, status report, of your team's progress. We expect some functionality in your app.
- Final App Demo Day (on Tuesday, April 28th)
Assessment
Your app will be assessed on six factors:
- Functionality - Something that works consistently. Remember, an app with fewer features that work is significantly better than one with numerous features, in which some either do not work or are buggy.
- Production - We are looking for an app that is polished (e.g., graphics), consistent (e.g., look-and-feel), and reasonably professional. Did you follow the Apple Human Interface Guidelines (HIG)?
- Complexity - The more original your app is, the better.
- Usefulness / Fun - Does your app fulfill a recognized need among musicians or educators, or is it just fun (or both)?
- Learning Curve - Is the app easy to understand at first, and does it offer a more rewarding experience as the user gets to know it?
- Technical Competency - Use good programming practices, consistent Git commits and pushes, meaningful Git commit messages used.