Our engineering blog is home to our stories sharing technical knowledge and lessons learned. But that's only part of the story: we hire passionate people who love what they do and are invested in mastering their craft. Today we launch "The Side Hustle," an occasional series highlighting some side projects from our devs while off the Shopify clock. When Gabriel O'Flaherty-Chan noticed quadcopter controllers on mobile mostly translated analog controls to digital, he took it upon himself to find a better design. 7 minute read For under $50, you can get ahold of a loud little flying piece of plastic from Amazon, and they’re a lot of fun. Some of them even come with cameras and Wi-Fi for control via a mobile app. Unfortunately, these apps are pretty low quality — they’re unreliable and frustrating to use, and look out of place in 2017. The more I used these apps, the more frustrated I got, so I started thinking about ways I could provide a better solution, and two months later I emerged with two things: 1. An iOS app for flying quadcopters called SCARAB, and 2. An open-source project for building RC apps called QuadKit
Overview
The article discusses Gabriel O'Flaherty-Chan's journey in developing SCARAB, an iOS app for controlling quadcopters, and QuadKit, an open-source project aimed at building RC apps. It highlights the challenges faced in improving user experience and the technical steps taken to reverse engineer existing quadcopter apps.
What You'll Learn
How to design a user-friendly interface for quadcopter control apps
Why reverse engineering is essential for developing compatible software for quadcopters
How to implement a Swift framework for quadcopter communication
Prerequisites & Requirements
- Understanding of mobile app development and user interface design
- Familiarity with reverse engineering tools like class-dump and Hopper(optional)
Key Questions Answered
What is SCARAB and how does it improve quadcopter control?
What is QuadKit and how does it facilitate quadcopter communication?
What challenges did the author face when developing SCARAB for watchOS?
Technologies & Tools
Some links below are affiliate links. We may earn a commission if you make a purchase.
Key Actionable Insights
1Prioritize user interface design for mobile applications by focusing on touch interactions rather than mimicking physical controls.This approach can significantly enhance user experience, especially in applications where quick and intuitive control is essential, such as in quadcopter flying.
2Leverage existing resources and community knowledge when reverse engineering products to save time and effort.Utilizing documented experiences from the hardware hacking community can provide valuable insights and accelerate the development process.
3Consider the implications of hardware limitations when designing software for wearable devices like the Apple Watch.Understanding the constraints of the device can help in creating more effective and user-friendly applications that align with the capabilities of the hardware.