Yoshi: Your Loyal Development Companion
Our teams at Prolific use a variety of helpful debug tools to support application development, such as switching API environments and reporting bugs from within the app itself. Investing time to set up these tools upfront has always benefited us immensely over the course of development. However, we are consistently met with the challenge of how to best access these tools from the app we use to test.
Fortunately, we’re a team of problem solvers—which led to the development of Yoshi.
Yoshi is an open-source library for iOS (written entirely in Swift) that helps you easily create menus and access them via a force touch, multi-finger touch, or a shake. Out of the box, Yoshi provides easy-to-implement date, list and custom menus. We used Yoshi to create a “debug menu,” which is a consolidation of all of our debug tools into one easily accessible place.
We have been using the menu extensively in our product development and have had a great experience using it to unblock development and improve product quality.
Why Make Debug Tools Easily Accessible?
My favorite application of Yoshi so far was using it to unblock development of an important feature for a high-end retailer. In this particular case, we wanted to start our project with the piece that is typically the most complex in the first version of a commerce app: checkout.
The APIs were available and we had a full team ready to tackle the challenge. However, to purchase a product, there first needs to be some concept of a “product view” and a way to add the product to the cart.
We worked with the quality assurance team to pull together a list of the of many product variations—such as multiple colors, gift with purchase, long product name, or eligible for a promotion—and made the list accessible via the debug menu. Tapping any of those products went to a basic product view that displayed only the product’s name, price, and an text button that added the item to the user’s current cart.
All of this was built to be viewed only from the debug menu and not visible in the user-facing application, allowing the team to get started on implementation without the cost of designing and developing a full product view feature.
Improving Product Quality
Yoshi’s debug menu has also been incredibly powerful for quality assurance testing. The list of product variations we created to unblock checkout development was also super helpful when it came to testing throughout the entire project. Previously, a list of products like this would have lived in a spreadsheet and involved a lot of manual in-app searches, some frustration, and the occasional incorrect steps to reproduce.
Prolific extends Yoshi with a variety of features that supercharge testing, including:
- Selecting different backend environments
- Changing app settings
- Starting a new user session
- Displaying an in-app bug reporting tool, such as Instabug
- Populating a form with dummy information
- Showing content scheduled for a future date
- Turning specific features on and off
Yoshi for Product Development
Debug tools are essential for product development. We’re constantly finding new and inventive ways to help our development process move faster and more smoothly, and consolidating all of our tools into one place with a menu makes it that much easier to focus on what matters most: the product.
Head over to Github and check out Yoshi to get started!