Remotify: an application forged out of frustration

by John Carney last updated Apr 10, 2017

I’ve been an Ableton user for quite a number of years now. 

I love to make trance & techno in my home studio, any spare time I get I’m in there working away on creating a new spine tingling Melody or driving bassline.

Currently I own 8 Midi Controllers including the Akai MPD32, Novation Launchpad, Midi Fighter Twister and was blessed to be given an Ableton Push 2 as a christmas present from my generous family.

some of the midi controllers in my collection

When I bought one of my first controllers (Midi Fighter Twister) I already had an idea in my head of how I was going to control Ableton with it. What I love about it is it’s simply a box with 16 chunky encoders, the controls haven't been laid out with a specific purpose in mind leaving you to use your imagination in what you want to do with it.

midi fighter twister midi controller

After a couple of days getting to grips with the controller, I was using it one night and suddenly thought to myself “how the hell do I control the first 8 sends on the currently highlighted track?”.

It was something I had wanted to do when browsing online for my purchase but had temporarily forgotten about. I couldn't see an option to do it in Ableton and after a few minutes searching online, it became clear that functionality for controlling various parameters on the highlighted/selected track couldn’t be done with the built in mapping engine. So this ruled out controlling those sends I wanted.


I was totally stuck :(

I would have given up there and then thinking it wasn't possible but I had seen other Midi Controllers such as the APC40 had selected track control so I knew it could be done.

But how the hell were the companies who made these products doing it?

After a lot more searching, I came across someone talking about this thing called “Midi Remote Scripting”, they said it was what the midi controller manufacturers actually used in order to program their products for integration with Ableton. They also mentioned that selected track control functions could be added with it…

I was instantly sold!

I then spent the next few weeks learning about Midi Remote Scripts. At this point I was already very experienced in the world of coding, already being a website developer as my day job for a number of years.

Despite this, getting to grips with Ableton’s python code was a serious job in itself, even for me!

 python code for a midi remote script


It soon became clear that writing one of these scripts was an insanely difficult job and any documentation online for it was hard to come by, outdated and confusing. So it wasn’t as though I could just google the answer to issues whenever I ran into them (which believe me was often!)

Eventually, after about a month of broken scripts and headaches I had all but given up.

Here’s my actual cry for help on the djtechtools forum back in 2015.

As you can see from the forum thread, it begins with me being at a total loss and although doesn't fully illustrate just how frustrated I was at the time it shows me managing to put bits and pieces together and actually making my first fully working midi remote script.

I named it “sendstorm” (y'know send instead of sand... well I thought it was clever anyway); a script for the midi fighter twister which was based around controlling those first 8 sends on the selected track that I had always wanted.

You can still view the details of it here:

SendStorm


This was a big achievement for me but soon I began getting requests from users asking for the script to be ported to other controllers. 
I managed to help out one person with a port to the BCR2000 controller. This was great but the whole task was extremely time consuming and filled with endless headaches.

"What if I created some sort of interface which people could use to build their own scripts?"

As I now had a basic understanding of writing midi remote scripts, my developer brain had kicked in… it seemed crazy to keep building scripts from scratch by hand.

If I could develop some sort of App which gave people the ability to build their own scripts without the need to go through the pain of actually writing code themselves. I could help empower countless producers and performers to build the setups of their dreams with equipment they already own!

I’m sure you’ve bought a controller which doesn’t quite do the thing you need it to.
If you could just tweak its functionality yourself then you could control the exact parts of Ableton that you need to.

The concept was born... now how the hell is this supposed to work?

From this point, to our official launch in summer 2016 I had the massive task of not only designing the app and how it would work but actually developing a working prototype to launch with.

It was hard enough writing a hardcoded midi remote script without if breaking constantly.
Building what is essentially a framework to automatically generate this code for a working script based on countless variations selected by the user was a whole new ball game.

I hired other developers at various points to work on specific aspects of the project which I didn’t have time to do. Holding down a full time developer job and working on this in my spare time meant I didn’t have time for everything and this honestly pushed me to breaking point a number of times.

head in hands captain picard

I had countless frustrating evenings were I made absolutely no progress and almost quit the whole project. I would always come back to it though as I was driven on by my passion to make this idea a reality, I knew it could help so many people so couldn't give up!

We finally launched the first version of Remotify in July 2016.

It contained a number of awesome features including selected/highlighted track control for all mixer functionality, device control (we've since expanded this with our Advanced Device Control release) and UI features such as 'Midi Learn' which was a big achievement for the project as it used some quite cutting edge web technology to achieve.

remotify app

After initial feedback, it quickly became clear that there was a lot of functionality which people desperately wanted adding so it was only then that I began to get a real sense of the work still to do.

The Ableton/Music Production community are extremely vocal and have pulled apart every aspect of the app along the way. This usually happens late at night in a personal email to me as I’m about to go to bed lol.

At first this was quite stressful, especially after I had worked so damned hard to get it launched (grumble) but I learned to use these comments / suggestions / complaints as indicators of what we need to work on next and our user's feedback is now a core part of the development process.

As a user of the App myself, I have my own ideas too but I’m just one person so I usually let the majority decide.

The more features we release, the more we come up with or are suggested to us. My aim is to make Remotify a feature packed essential requirement for all Ableton producers and performers out there.

The great thing now is I’m receiving more and more messages where people have successfully created the exact script they had dreamed of and that to me means we’re succeeding!

oh one last thing, thinking of a name for your business is hard…


It’s a lot trickier than you would think. 
I went through every name I could think of related to music production, performing, controlling etc but everything was used. I researched other ways to come up with names and began to get a little bit more abstract.

Taking the lead from websites that have names, nothing to do with their actual business (google, skype, uber etc) I came up with some odd ones. I almost went with “honcho” at one point, thinking it sounded like a fun, techy brand. Until I searched the name online and found that it’s also the name of a certain men’s adult publication, "probably best not to get confused with that" I thought :/

In the end I was combining words together and landed on “Remotify”. It worked and “you never know” I thought, people might even use it to describe the act of building a midi remote script i.e. “I’m just remotifying my controller, I'll see you at the club in a bit” or something like that.

So, which controller are you thinking of “remotifying” next? :)

Create your own perfect Midi Controller integration for Ableton

Become a Pro Now