As any interaction designer knows, there’s rarely only one right answer, but there are usually about a million wrong answers. That’s why we’ve been experimenting with a variety of interaction models, including camera controls for Three.js.
// Isaac Cohen
I’m Isaac, and I’m an experience engineer at Leap Motion. I work exploring a newly discovered relationship with our hands. I’m intensely interested in communing with digital nature, and the tools that I use are Three.js, Web Audio API, and most of all, Leap Motion. Most of what I have done can be found at cabbibo.com where I have been working on constructing my own personal Ice Kingdom.
The process of instilling wonder has always fascinated me. It’s such an indescribable emotion, but so fervent and real. Attempting to make a person feel wonder is a marvelous quest.
In this post, I’d like to examine a project I worked on, called The Universe of Sound. It’s something that I’ve been working on for quite some time, and although it probably isn’t as cool as I hope to make it sound, I am proud of it, mostly because of how much of my life it consumed.
In my never-ending quest to figure out the ‘best’ way to interact with the Leap Motion Controller, I find a lot of my thoughts focusing on camera movements. In the case of the Universe of Sound, this meant flying from galaxy to galaxy by holding your hand flat, but I also wanted to explore other methods of camera movements.
Data is beautiful, there is no denying it. It might be hard to see this beauty when its in a JSON file or *shudders* an Excel spreadsheet, but data is immaculate. For me, one of the most exciting parts of the Leap Motion Controller is that it allows access to near-infinite data.
Creating interfaces is really difficult. It’s especially difficult when you are making interfaces for something that has not been researched before. The way you interact with the computer is different if you are using a trackpad, mouse, or touchscreen – and especially a Leap Motion Controller. Some actions are easier, and others are harder, so each interface should be made with these restrictions and freedoms in mind.
What wouldn’t have been possible without the Leap Motion Controller?
Every time I start a new project, this is the first question I ask myself. The answer is of course infinite, but to try and parse that infinity into a simple answer is always more difficult than I first expect. Many times, I’ll try to think about what another application looks like in ‘Leap Space’. For example, think about the game Snake. It may be the most simplistic application in the world, but what exactly would it look like in ‘Leap Space’?
Scrolling is awesome. It might seem like a trivial task to us because we do it so often, but when you stop to think about it, the ability to scroll absolutely changed the game of interfaces. It allows the user to read more without having a jarring page change, and lets you hold near-infinite material in a finite amount of space. Kinda like the TARDIS. The only problem with scrolling is that you need a way to navigate it.
When creating new demos for the Leap Motion Controller, the first question I tend to ask myself is: ‘How can I create something that was not possible to make before?’ This line of thought tends to lead me to a place of wondering how I can make a spaceship that lets me wing suit base jump on the moons of Jupiter, but sometimes it just makes me want to create a demo. One of the things that really excites me about the Leap Motion Controller is the extra dimension of interaction, especially when it pertains to 3D objects.