Good article on designing iphone UI’s
http://www.the-soulmen.com/blog/2009/02/09/on-prototyping-iphone-ui/
The article talks about the challenges of designing a UI for such a small screen, and how you have to design elements to be bigger for a touch interface than you do for a mouse clicking interface - something I immediately noticed myself when I began designing my iphone app. Worth a read.
Hiatus alert
I'm going to be taking a short hiatus from Genome to work on an iphone app. Should take 1-2 months. I hope to still do one or two things on genome each week so I don't get totally rusty on the codebase. I am planning to do an analog synth/drum machine (think of a Korg Electribe A and R combined). There are already a ton of drum machines on the iphone but most are sample based and the output is not really anything unique or interesting. For instance, there are several Rebirth clones, but they don't offer parameter automation which results in some boringly static basslines. Other synths don't feature drums or are limited to mono sounds. I'd like to make a flexible drum/bass synth with up to 16 parts. Each part could be a synth drum sound or a mono bassline. All parameters would be automatable with easy to draw graphs. The goal would be to give it a lovable character of it's own similar to how LSDJ on the gameboy has spawned an entire genre of music with it's unique sound. We'll see whether the iphone's 667 mhz processor is up to the challenge.
I am already learning a lot about how to design a touch-based application for a small screen, especially one that involves a lot of parameters like a synthesizer. I'll post a few of my wireframes oon.
I'm looking to use LibNUI for this project since it supports iphone development in C++. I'd love to use Juce, but no telling when it might support the iphone. (With my luck it will be out just as I am finishing this project up). Expect a post comparing LibNUI and Juce. They are both pretty similar in terms of design goals (cross platform frameworks supporting sound, gui, networking, etc). I still like Juce better, but there are some interesting features features of libNUI that deserve a look.
Currently I have a simple application up and running on my iphone and I already coded my first custom NUI GUI widget.. I have lots of code ready to go in the synthesis department, so it will mostly be a lot of GUI work. I will be using a version of the same audio framework I developed for Genome. It will give me a chance to try out some optimization tweaks I've been thinking of for Genome, on the iphone.
Module View I
- Implemented tags for modules
- Added a more proper module menu. It can be configured via XML and is based off tags.
Work Log
- modified alt-drag behavior in piano roll. No longer destroys notes as you drag
- fixed a bug that was breaking undo behavior in the piano roll
- Other bug fixes and updates to the piano roll. One or two other fixes left to do here, but I am gonna move over to the module view next.
To do:
Implement tagging of modules and improve the module creation process.
