No Piloting – Removing the Pilot from the Equation
— Posted by Medhi Mugnier on November 6, 2015
As soon as we began envisioning the system that became HEXO+, we had our mind set on removing piloting from the aerial filming equation.
No Piloting Whatsoever
Our reasons were simple. Historically, aerial filming required a skilled pilot and camera operator. Yet even with a drone, piloting expertise and tremendous concentration were essential in order to produce compelling footage. Needless to say, we wanted to create a filming system that required no piloting skills, allowing you to focus on your adventures.
Developing a system that removed all manual control from the flight of the drone posed an incredible challenge with regards to both the technology and user experience it would require. And not only did we want to create a system for which there was no precedent, we were committed to developing one that produced exceptional footage while remaining easy to use. After all, we have always been more interested in snagging fresh shots than tinkering with a bulky remote control.
Building the Software
A dedicated app to intuitively control your camera movements.
As soon as we started dreaming up HEXO+, we had a clear vision for how the system would handle tracking—by incorporating a user’s smartphone. Thanks to its GPS, a smartphone is capable of providing a precise spatial position. Consequently, a drone could effectively track a user by receiving this information and interpreting it in conjunction with patterns for following and framing him or her. It all sounded very simple—until we started diving into the details.
The open-source code on which we had based our earliest prototypes ultimately proved to be unreliable. If there was one thing we always knew, it was that for an autonomous drone to be truly relevant and useful, it had to be exceptionally reliable. Consequently, we decided to rewrite nearly all of our code from scratch—despite the tremendous work it required (our six full-time developers invested over a year in this). We’ve reworked all application layers and features related to safety with our own processes.
To ensure the quality of this code, it’s subjected to 15,000 tests being run eight times per day. This allows us to detect any new bugs each time a developer submits code. For those of you who geek out on the behind-the-scenes details, we have a code coverage of over 95%. This is the foundation of our self-flying platform—it ensures the system is as safe as it is reliable.
Developing adequate algorithms for optimal flight and subject tracking also posed a tremendous challenge. You have to strike the perfect balance between re-activity to avoid losing your subject and smooth drone movements that ensure stable footage. Although the amount of testing and iteration surrounding this process can be tedious, it is essential. Ultimately, it dictates the success of all of our efforts.
Defining a Pilot-free UX
One of our first steps in developing HEXO+ was to define our expectations for the app and assemble the team that could translate these ideas into action. This required a mix of UI designers, ergonomics experts, and product stakeholders. Over the course of five months, we had weekly team-wide, day-long workshops.
Through this process, we developed five different apps, which ranged from proper figurative skeuomorphisms to fully flat, minimal abstract designs. Each version featured different user flows, levels of control for the user, and methods for choosing movements and landing modes.
Every time we had something that began to work—even just partially—we organized and filmed user tests with a wide range of user profiles and in different environments. Tests like these always yield constructive feedback—no matter how buggy or incomplete the product.
As we developed and refined our system, we put a tremendous focus on one particular aspect of the user experience: creating a strong relationship built on trust between the user and HEXO+. This required several key things:
Minimizing the lag between UI interactions and drone behavior
Providing the right level of control during all phases of flight (although the drone is self-flying, a user still needs certain features like the ability to cancel a flight)
Offering the right textual, visual, and audio feedback based on the phase of the flight
Letting the user know why certain drone behaviors occur
Addressing many additional minute decisions and details to ensure users feel confident trusting HEXO+
Overall, we aimed to strike a balance between minimizing interactions with the drone and allowing users to guide it. We wanted to stay true to the original idea of a friction-free experience while allowing users to have control over their flying camera in order to unleash new creative possibilities.
Initially, we had gravitated toward creating minimal interactions between the user and the drone. Yet regular user testing caused us to reconsider some of our initial assumptions and actually add signals and controls in the UI that we likely would have skipped in a different context.
Where We Are Today
At this stage in HEXO+’s evolution, we are confident about two things. First, our bet on having absolutely no piloting is proving to be successful. Within minutes of encountering the drone and interface for the first time, users are creating exceptional footage. Second, by using the software as the foundation for the system’s core knowledge, we can release continuous improvements and additional features that keep enhancing HEXO+, making it the best self-flying camera in the game.
It’s an incredible feeling to transform a dream into a reality. Yet the best part is just around the corner—placing HEXO+ in your hands. In just a few weeks, it will be you, the users, who ultimately decide if we have achieved our goal. You’ll also have the opportunity to shape the wish list of new features that we’ll be developing. We’re all ears—please chime in below!
Twitter: @hexopluslive – Instagram: @hexopluslive – Facebook: hexoplus