Today Musical Android is proud and happy to present you all with an interview with the man of the hour!
Think for anyone that have any interest in Android music making or have been reading this website more than once will be aware of what Caustic is, if not you invest a small sum of money and buckle in for a big long kiss of mobile music making.
Without further ado.
Can you tell us a little bit of your musical background?
I did piano lessons from the age of 8 until maybe 12-13. Then my mind wandered to the cooler world of electric guitar so I took that up and played in bands throughout my teenage years.
How did you get started in programming ?
My dad bought a Commodore 64 when I was about 8 and of course it had a BASIC interpreter built-in. I managed to figure out the really simple commands like "print" and "goto" so I'd write these "programs" where the computer would ask what you wanted and you could choose things like a candy bar or instant noodles and the program would display some pretty ASCII art on screen and in my pretend world, food would come out. It wasn't really programming, but I was living in the future! I didn't do any programming after that until I started Uni in '96 and learned C++
What was your first more or less serious program/s that you did?
I have a whole pile of half-finished programs and games for Windows, but the first big one I did was a 3D editor. You could create models in 3D, apply materials, animation etc. I couldn't justify paying for bigger 3D suites and I wanted to make models for my games so I made my own editor!
How come that you choose Android?
My friend received an extra test device as part of a licensing deal for a game engine. It was a Nexus One. He already had one so he "sold" me his spare to help me get into apps. (I say "sold" because he never accepted payment for it, too nice a guy). His company has gone on to do great things and are doing really well too (www,defiantdev.com). The low barrier to entry for making apps on Android made it risk-free.
What is your advice for a budding developer of Android applications?
Hmm, that's hard. Probably the same thing I tell anyone who wants to get into any kind of programming. Start by finding a goal, a project that inspires you enough to want to finish it. I don't know how anyone could learn straight skills without practice or working towards a goal.
How did you get the vision for Caustic or so to speak what was your first inspiration?
I was brainstorming ideas with my friend after he gave me the Nexus One. My initial idea was because the device had a GPS, maybe I could create some kind of generative music app where the beat that played depended on your location and it would be unique for each location. I thought it would be cool because then you could tell your friends "come stand in front of my house and listen" or .. "try standing by that dumpster, it's a really cool beat". My friend then said my first step should be to create a simple synth, which I did and then he said: Why don't you just make a music creation app, there aren't that many good ones on Android.
What kind of programming language have you been using for Caustic?
Mostly C/C++. With all of its quirks, I love my C++. It's a like a quality, sharp knife that can do anything, but it's also really easy to cut yourself if you're not paying attention.
I've had to write some Java and Objective-C to wrap the app for various platforms, but it's usually just a few lines of code. I like to stay as close to the processor as possible.
How long time did it take more or less to put the first Caustic together?
From concept to release for Caustic 1 would have been ~6 months. I first wrote the subsynth as a proof of concept.Then of course Android's legendary latency made me reconsider a stand-alone synth so I focused on sequencing. I then wrote a simple drum machine to accompany the synth and wrote the pattern and piano roll editor for putting together a song.
Then came the early PCMSynth, which could just play 1 WAV file and pitch it across the keyboard. Later, I found some source code for a 303 synth and the bassline took off. At that point the app was looking more and more like a rack of machines than a simple groove box so I focused on that direction.
What was the biggest challenge?
The biggest challenge is keeping it all together. It's really easy to spread yourself thin over various support forums, email, Facebook etc. and until I can afford a PR rep. that takes a lot of my time. Keeping the app direction focused is also a constant challenge. Lots of users want different things from the app, so I try and find a middle ground that pleases the most people possible without blocking myself off for the future.
What has been the biggest challenge now with Caustic 3?
Calling it "done" and shipping something. After I broke free of the fixed rack with Caustic 2, my mind immediately wandered to the creation of new synths to insert in the rack. I've had countless prototypes and variations of new machines I'd like to develop, but at some point people want updates so you have to stop "playing" and buckle down to get something polished.
With the exception of the modular which of the synthesizers was the trickiest to get right?
The vocoder. Because it's so different than the other synths with the way it works, it has taken the longest to get running optimally and has probably had the most bugs during beta.
What do you feel is your biggest accomplishment with Caustic?
I'm really proud of how the app and its community has grown over the years. Mobile apps make it possible for one guy working part-time to slowly build up to something that's now placing next to much bigger companies, with a community that's closer and friendlier than anything I've seen on big websites.
Is there any specific smaller function that you feel extra proud of?
I really get a kick out of code optimization and I'd like to think people are impressed with how much this app can run at the same time, in real-time on such battery-sipping devices. As far as features within the app: I'm really happy with the new WAV editor. It's still very basic but it has lots of room to grow. Like the modular, it's a great avenue for expansion.
Is there anything that you would change in the basic setup that you feel have been nagging you after these years?
I wish I could easily rename the beatbox. You know how each DAW or plugin gives cool names to their synths, I wanted to avoid doing that. I just wanted to refer to the synths as to what they are. Unfortunately "Drum computer" was too long to fit in the machine label field so somehow I settled on Beatbox, even though it has little to do with acapella rap beats.
So what is the next step in Caustic 3?
I still have platform builds to put out for 3.0 and then after that it's Caustic 3.1. More connectivity options (especially on iOS), more MIDI fun and who knows what else. ;-)
Think that one thing that is very special for Caustic is the active forum and all the help and sharing going on. Not to forget about being able to share and upload presets, sample instruments and the song files for Caustic. Do you think that this has influenced in the success of Caustic and in this case how much?
I'm sure it has. I got an email one day from a guy named Mike saying he really liked the app and wanted to help build around it. The first thing he offered was to build a website and has been maintaining and improving it ever since. Since it launched, the community has grown to over 2500 users, with many of them quite active in discussions. This has saved me countless hours in email support and has grown into a great place to share and hang out.
What is your advice for somebody that start to produce music using Caustic?
If you've never used a DAW before, I'm confident this is a good place to start. I spent hours and hours making tutorials on all the basics and I hope people watch them and learn from them. If you're used to DAWs, especially rack-inspired ones like Reason, most of Caustic should be a breeze.
In your eyes what would you say is the most under appreciated function of Caustic?
Probably SoundFont import in the PCMSynth. There are thousands of free .SF2s still on the 'net and it opens things up to natural instruments, and wacky stuff you just can't make with a synth.
Do you have any other projects going on outside of Caustic 3?
I've got smaller stuff to keep me distracted like my falling sand game (https://play.google.com/store/apps/details?id=com.singlecellsoftware.sandpremium), but most most of my attention is focused on Caustic and its expansion. Writing code has become my creative outlet and I'm having way too much fun to stop.
What do you think will be the future of Android in about two years time say?
Who knows, I'm sure mobile devices will continue to expand and I'm confident mobile apps are the fastest growing segment as far as programming goes. More power, more pixels, the usual.
Is there any other Android music applications that you use or that you find interesting?
I honestly barely get the time to use my own app, let alone others. I have noticed an pleasant increase in quality looking synths being built for Android. Apps that show a bit of love as far as UI is concerned like Mikrowave, Heat Synthesizer, Zynth and Syntheogen are examples that come to mind.
Okay so please leave us with some last words?
Go buy my app?
Ok, more seriously: enjoy making music. If you're not having fun, stop.
-------------------------------------------------------------------------------------------------------------------------------------As a bonus here is some images from the first weeks of prototyping He felt a little bit embarrassed to show them but it is nice that he let us see them as we can see how everything great has humble beginnings.
Let us all wish him a big break after this year of getting Caustic 3 ready and released.
A great person and a fantastic application.
Now it is up to you make great music as with Caustic 3 there is no more excuses!