Downloads

Moebius_Project.tar.gz - tarball containing code and XCode projects
Moebius.tar.gz - just the application (for use with jailbroken iPhone)

Summary


Moebius

Moebius is a drum machine with a 16-step sequencer and a 16-track sampler with web-enabled file sharing and browsing. For documentation of the prior version of Moebius, which covers the basic functions of the sequencer, see my hw3 page. This page will present the vision behind web-enabled Moebius, and the new web-based features.


Usage Instructions

This image shows the main UI and controls:



The new features are as follows:

  Save a file - Save your current seqeunce by touching the disk button. You will be prompted to enter a name for your pattern.

  Load a file - Touch the folder button to be presented with a listing of pattern files on your iPhone.

  Download a file from the server - Press the globe button to view the contents of the server and select a pattern.

  Upload a file - Upload your current pattern to the server by touching the up arrow.

  Download a random file - Be surprised with a random file from the server by pressing the question mark!

Strategy

The web features of Moebius were developed using a web server and database. When the user uploads a file, the device's UDID and geo-location are stored along with the pattern data and file name. Thus, the groundwork has been laid for a more sophisticated pattern browsing interface, which is part of the vision behind these features.

Motivation / Vision

One issue common to drum machines is that no matter how sophisticated their feature sets, users are limited by the synthesis engine or sample library proving the drum sounds. Many drum sampler applications exist, and a wide variety of sample content is available for purchase over the internet. Furthermore, many products have fertile online communities where users share their content. The vision for Moebius is to leverage users' enthusiasm for sharing their content in order to encourage the proliferation of high quality content and interesting musical patterns. This goal is attainable by exploiting the iPhone's 'always online' state in order to enable users to share and browse content from within the application itself. By bringing the online commutiny directly into the instrument, Moebius becomes the exer-expanding drum machine.

Of course, all of this is much easier said than done. Here is a picture of how my vision might be implemented:



At the same time I created this diagram, I also created the "reality" diagram to outline what I could actually get done within the time frame of the 256b final project:



Most of these basic features were realized in minimal-essential form in the final product of the project.

Challenges

The primary challenge in the development of Moebius was learning how to set up a MySQL database is PhpMyAdmin, query MySQL with PHP, and execute server requests and parse results in the client code. A huge thanks goes out to Jorge and Ge for holding tutorial sessions and being very responsive to questions. Nevertheless, all these topics were brand-new to me, so it took considerable tinkering to get the new features up and running. As always with 256 assignments, the knowledge I have gained will carry me a long way in developing future applications.