Landscape Rotation + Design System
ROLE & TEAM
Principal Designer on a team with
a PM and 2 iOS Devs at Schedaero
SUMMARY
We replaced our outdated framework by building a modern design system made in SwiftUI, giving us freedom, consistency, and landscape rotation.
Problem Statement
The research showed that our customers needed to use their device in landscape mode, but our existing implementation of UIKit was going to make it difficult to build. We also wanted to be able to add gesture functionality & accessibility tools, but UIKit didn’t support them. All the major feature improvements we had planned were blocked by our obsolete framework. My team decided that a full replacement, though costly upfront, would pay us back with future-proofed features and the latest OS functionality.
Research + Discovery
Discovery started when we noticed app-store reviews that requested landscape mode
In-app surveys received consistently low scores and comments that indicated they were frustrated about not being able to use the app with an external keyboard case.
In-person tours of customer cockpits revealed the environment they’re working in — whether strapped to a kneeboard or attached directly to the yoke (the steering wheel), the mounts were often set up for a landscape orientation
Pilot interviews revealed that up to ~40% of pilots use the Dynamic Text functionality on their phone to make text bigger and more readable. I discovered out many pilots struggle with far-sightedness due to their profession.
Iterations & Ideations
I wanted to make use of the ipad’s increased screen real-estate by implementing a full calendar — something that would be quicker to navigate over large time stretches.
We were also exploring multi-pilot interfaces for a Chief Pilot who was managing multiple people on the go, and knew that a bird’s eye view of their calendar would help them make decisions. We validated this idea by showing a prototype to 9 chief-pilots, 7 of which who responded positively to the new feature.
We tested these ideas internally and with customers but ultimately pinned them for a future iteration. As you’ll see below, switching over from UIKit to SwiftUI gave us dynamic text and gestures and that was more imporant.
Colors & Components (with variants)
I had already developed a few SwiftUI patterns by overhauling just one of our forms in a previous project. The developers were able to take those patterns and apply them to other forms in the app. But the pages that needed the biggest help were the main schedule page. There was still a clear question about how to display the synced data, and how much synced data did we need? We took the opportunity to redo the main schedule page with a new SwiftUI look.
Some components I designed: Nav & Tab Bar, Schedule Cards (with multiple states), and Calendar Picker
Mid-Project Issue: iOS18
The team had been deep in development when QA started reporting curious bugs about the top nav. This is how we discovered that the iOS 18 beta introduced a new tab bar specifically for iPads, and that it totally broke our partially updated navbar. We had to shift the design mid-development, so we paused our plans for a three-panel layout. The devs can add them back later once we add a sidebar as per the new guidelines.
Outcomes & Impact
Performance increase of 17% faster load times due to the new syncing structure we validated
15% Satisfaction increase for both chief pilots and pilots per in-app CES scores
47% increase in user time spent on iPad after we introduced rotation, indicating widespread adoption.
qualitative feedback was primarily positive, including the following comments…