Have you ever wanted to be a VJ? Christian “Decktonic” Montoya has been developing GIF Jockey for over a year to help interested parties answer that question. Decktonic feels pretty strongly about the current state of VJ software, describing them as requiring a “computer science degree to even make sense of”. This observation drove the development of the software, with Decktonic wanting there to be an option that is accessible to everyone from total beginners to seasoned pros.

When it releases, GIF Jockey will be available for Mac, Windows, Linux, iOS and Android. Past the fold, I’ll be taking the Desktop demo of GIF Jockey for a spin.



Straight away, you’ll be presented with a series of pre-built GIF collections to work from. If you’re taking GIF Jockey out for a spin yourself, I highly recommend testing out ‘Trippy Feels’ or ‘Cat Party’. Impressively, the controls are dead simple to use. With just the keyboard beneath your left hand, you can switch between the various GIFs in the collection you’ve selected. Press a key once to fade a GIF over a presently playing one, press it again to make it the main GIF.

There’s a fair number of simple playback tweaks available. ‘Direction‘ and ‘Zoom‘ are pretty straight forward to understand. A little less obvious, ‘Snap to Beat‘ will set the GIF to play fully with each beat, ‘Ping Pong‘ will play the GIF forward and then rewind it. A nice surprise is that while it doesn’t appear on the loading screen cheat sheet, you can use the 1-4 keys to control the state of those settings. Finally, the GIF playback speed will respond to the tempo at which you press the Space Bar. It seems to bottom out at 48 BPM, and in testing, I pushed it as far as 520 BPM.

The GIF custom collection builder is quite well done. The interface is clean, simple, and dead easy to understand. All that goes into the process is clicking a key to bind a GIF to it. The options on GIF selection aren’t bad either. The user has the option of searching on GIPHY, linking to a GIF directly, or uploading a file to the app. Using the GIPHY search function brings up a preview of all GIFs that match your search term, which will animate on hover. It’ll step you through loading files into the various hot keys.

There are a few features I wouldn’t mind seeing eventually added. Namely, image transforms to layer atop the GIFs, auto-tempo tracking, and some automatic sound wave visualizations that could be layered in. That said, at the end of the day, GIF Jockey is a really solid piece of software. First and foremost,I think it’ll be a great aid to anyone in the chiptune community looking to add some visuals to their sets. On a professional level, I would also like to give Decktonic a huge shout out for his attention to usability and documentation. Not only is the app itself filled with cues and cheat sheets, but Decktonic has made a real effort to make usable documentation. Not only do I admire the sincere professional effort, I feel it is the best response Decktonic could have for his criticisms of the difficult to use state of current software.

When I approached Decktonic about writing this review, I asked if he’d be willing to answer a few questions about the project. Not only was he kind enough to do so, he provided some really deep insight into his adventures in bringing GIF Jockey to fruition.

ViridianForge: What’re some of the observations you made working alongside VJs that convinced you to start working on GIF Jockey?

Decktonic: When I first started playing shows with VJs I quickly realized that the visuals added an impressive dimension to the whole experience. Honestly I get bored when I see a show that doesn’t involve a visual component these days. As I went about asking what kind of software these VJs were using and getting some insights into how they controlled these visuals, I realized that the applications they were relying on were extremely complex and sometimes very expensive. I tried taking a crack at a couple of them myself but I realized the learning curve for a beginner is huge.

I didn’t start building GIF Jockey thinking I would make a VJ app, though. I was experimenting with algorithms for playing GIFs at variable speeds and managed to put together a demonstration where I could synchronize a track from SoundCloud with any GIF in a simple web player. As I began adding some interactive controls to this interface I realized that I could turn it into a simple VJ interface, and that was how GIF Jockey was born.

VF: In particular, what observations of their tools inspired your design of GIF Jockey’s interface?

Decktonic: I noticed two things that were common across VJ app interfaces: a) they were usually skeuomorphic, meaning they imitated a physical video synthesis control deck, with virtual wires and plugs and 3D buttons to manipulate, and b) they usually involved a lot of buttons, knobs and sliders in some kind of “everything + the kitchen sink” interface with a very small window for viewing the current video output (assuming that the video feed was being sent to an external display). Almost none of the VJ software solutions I looked at appeared to be designed from the ground up as a native digital application. The few that were, tended to be so complex that you would probably need a computer science degree to make sense of them. I wanted to do something different.

For GIF Jockey I wanted to make a single-screen, unified interface so that in the simplest use case you could fullscreen it on your laptop or mobile device and just let it run as visuals to go along with your music (or duplicate your screen to an external display). I wanted to implement a minimal set of keyboard controls that would be easy to learn and remember, and avoid cluttering the interface with too many options. It’s minimalism to an extreme — an “occam’s chainsaw” approach to interface design — and I hope beginners and experts alike will find it to be a breath of fresh air.

VF: Have you been building GIF Jockey from the ground up yourself?

Decktonic: Yes and no. The core technology relies on an open-source tool called omggif that handles decoding GIFs into their individual frames, and some code that I lifted from another open-source tool called x-gif, and I’m using some Javascript frameworks to handle things like keyboard / touch events and interfacing with native APIs on desktop & mobile, but the core application is custom from the ground-up. I have some experience in this area from years of building games as an indie developer but this is easily a much more complex frontend app than anything I’ve done before. It’s interesting because I made a conscious decision early on to build the entire application with HTML5 and I’ve been pushing the limits of what browsers can do, successfully getting 60fps performance on desktop and mobile across OS’s. In order to do this I ended up writing most of the core application logic in pure Javascript rather than relying on libraries and using some tricks to do the bare-minimum of DOM manipulations necessary within the browser’s draw cycle. This core functionality is also portable, meaning that I could use it to build other types of applications in the future — think music videos made with GIFs or a VJ app where the visuals are generated by three.js, for example.

VF: What technologies have you been leveraging to make the project happen?

Decktonic: Javascript, CSS and HTML5 for starters. jQuery for some of the DOM manipulation and keyboard events on desktop. NW.js for wrapping the app in a native client on desktop, which provides an interface to Node.js for working with the filesystem, and Phonegap/Cordova for wrapping the app in a native client on mobile. For the backend, as of this writing I’m using Parse, but that’s going to be shut down in January so eventually I’m going to migrate this to something else. For content delivery I’m using Amazon S3.

VF: What would you say has been your greatest challenge in bringing GIF Jockey to fruition?

Decktonic: Unfortunately, dealing with the native app frameworks (NW.js and Cordova) has been a huge pain. There’s a lot of tedious things that can go wrong with them, the documentation is not great or in some cases, nonexistent, and the whole process has been a minefield in terms of issues that have popped up along the way. With NW.js, the API changed significantly since I started building GIF Jockey, and I had a week where I was just updating a bunch of code to work with the new changes and figuring out why and how things had broken. With Cordova, working with some of the community provided plugins has been a huge challenge, because they were either not well maintained or not well documented. Overall I’m very appreciative of these frameworks — they are still the best for what they do — but they kind of make you regret going down the HTML5 hybrid app route in the first place. Also, for the Mac desktop version I actually started out using a different framework called MacGap which was at least compact and simple, but I eventually had to abandon it because it didn’t provide any of the extra functionality (such as external display support) that I have with NW.js and Cordova.

VF: What about the most rewarding part of the process?

Decktonic: The most rewarding part has definitely been seeing people use and love the software even with the beta version that I’ve been able to share so far. The fact that someone like Dj CUTMAN has made GIF Jockey a core part of his weekly Twitch stream already feels like a huge win for me. I’ve also been able to use it to VJ during DESKPOP shows on Tinychat and people loved it. This is why I build software.

VF: To what degree have you been bouncing the interface off of other people to arrive where you’re at now?

Decktonic: I’ve been collecting feedback from users since the beginning, but for the most part the interface is my own vision. It’s also heavily inspired by GIPHY.com, which I consider to be one of the best designed websites around right now.

VF: So, after a year of development, what made you decide to do a Kickstarter?

Decktonic: To be honest, I didn’t want to do a Kickstarter. I only did it because I’ve run out of funds to continue developing the app. This is something I would like to focus on full-time and I’m a better developer when I’m able to work on just one thing consistently. I only did the Kickstarter so I could ask for the amount I would need to focus on this until launch.

VF: How will the Kickstarter’s success influence the future of GIF Jockey?

Decktonic: Well the first benefit of this Kickstarter campaign, which doesn’t even depend on whether it succeeds or not, is that I’ve been able to put a firm release date on the project and attract press on top of that. This resulted in a really cool feature in The Creators Project and will probably bring some more press coverage soon. It’s also helped me to encourage people to share the project and build hype for the release. If the Kickstarter succeeds, that will just allow me to accelerate the development plan for features that will get pushed back otherwise. Eventually I plan to deliver on everything regardless of whether the Kickstarter succeeds or fails — it’s just a matter of time.

VF: What future development goals do you have for the software?

Decktonic: The first goal is full MIDI support on the desktop version, so users will be able to configure MIDI-compatible devices to control GIF Jockey. Then I have a bunch of ideas… automatic tempo detection, curated GIF collections from GIF artists, more animation effects… there’s a lot that I can do with it. Of course, it all depends on how successful the launch is and whether or not there’s an audience for the app.

VF: Switching topics, do you have any new music in the works? Any performances your fans can look forward to attending?

Decktonic: I’m currently working on a remix for a new artist by the name of How to Fly which is exciting because it’s been a while since I had a remix commission. I also have a single due out soon on DESKPOP and a 5-track EP that is due out in September (I don’t know yet whether it will be on a label or self-released). No plans yet on shows… I do have a launch party as a stretch goal on the GIF Jockey Kickstarter but other than that I don’t have time to really think about doing a performance! My mind is almost entirely focused on launching this app :)

VF: Is there anything else you want to toss in?

Decktonic: I just want to say that even though I’m not involved in the chip music community any more, I do consider the tinkerer / DIY attitude among chip musicians to be a big motivation for me in setting out to build GIF Jockey. I’ve seen some really great stuff come from people I’ve met through chip music, such as 2xAA’s modV and audiovisual presentations including Maxo’s Chordslayer, George & Jonathan III and Note!’s Color Mechanica. I like to think of GIF Jockey as one way of giving back to something I was a part of for years, and I appreciate the support I continue to receive from chip artists and fans.

I highly encourage you to pop over to the demo and try it out for yourself. If you found the demo version useful, or you just want to support Decktonic in what he’s doing, he’s got a Kickstarter going on until May the 4th. He’s trying to raise enough money to see him through the rest of the development cycle, and has some pretty decent perks available in exchange for support. Especially the opportunity to grab the normally $19.99 pro version of the software for $9.99.

Now get out there, make some awesome happen, and enjoy Chiptune!

–VF

Links

Montoya Industries | thisisdecktonic | Bandcamp | SoundCloud | Twitter | iTunes | Spotify

Dig this article? Then consider supporting us on Patreon!