This case study explores how I executed the design hand-off of Switch to Dark mode user journey along with dark mode foundational style guide and component library.
Choose Your Viewing Style
Explore this case study at your own pace! Swipe through the slides below for a quick overview, or scroll down for the full case study in detail.
This case study explores the journey of implementing a user-centric dark mode for Kijiji's mobile application
Focused on enhancing user experience and accessibility, the project entailed developing a comprehensive dark mode style guide and a seamless user journey for theme selection. Through strategic design and UX operations, this initiative aimed to provide users with the flexibility to choose their preferred theme, thereby improving user satisfaction and engagement.
Problem Statement
Challenge Addressed
Users increasingly seek customizable app interfaces to suit their preferences and reduce eye strain in low-light conditions. Kijiji lacked a dark mode option, affecting user retention and app usability during night-time hours. Dark mode has also become an industry standard in the product landscape as there are rules and guidlines established by various design systems.
User Pain Points
- Difficulty using the app in low light, leading to eye strain and reduced session times.
- Inaccessible and difficult to use for users with visual impairments, such as photophobia (light sensitivity).
Business Implications
Potential decrease in user engagement, expectation and satisfaction, impacting Kijiji's market competitiveness.
Goals & Objectives
Primary Goal:
Enhance User Experience through Dark Mode Integration
To introduce a Dark Mode feature in the Kijiji mobile app that aligns with the highest standards of user accessibility and preference, ensuring a comfortable, customizable browsing experience across all lighting conditions.
Objectives:
We believed that differentiating the reply experience for LTR tenants / landlords by enabling viewing requests will:
Enhance User Experience through Dark Mode Integration
Achieve and maintain WCAG AAA compliance, making the app accessible to a broader range of users, including those with visual impairments.
Adhere to AODA standards to ensure inclusivity for all users, irrespective of their physical abilities.
Develop a Comprehensive Dark Mode Style Guide
Create a foundational style guide for Dark Mode, encompassing UI components and color palettes, to serve as a blueprint for current and future development.
Utilize inspiration from Material UI guidelines and other leading design systems to inform the color scheme and contrast ratios.
Facilitate User Choice for Theme Selection
Implement a user-friendly interface within the app settings, allowing users to seamlessly switch between Dark Mode, Light Mode, or system default settings based on their preference.
Ensure the theme selection process is intuitive and accessible, enhancing the overall user experience.
Discovery Phase
Dos and Donts of Designing for Dark Mode
Inspiration was drawn from Material UI’s Dark Mode guidelines, alongside a thorough analysis of various design systems for benchmarking. User testing and stakeholder feedback formed the backbone of our discovery phase, ensuring the design direction was both innovative and user-focused.
Research Methods
Benchmarking against leading design systems, user feedback collection, and stakeholder consultations.
Dos:
Use Dark Gray Instead of Pure Black
Pure black can create a high contrast with text and other elements, making it harder to read. Using dark gray offers a softer contrast that is easier on the eyes.
Adjust Color Saturation and Brightness
Bright colors can be more glaring against dark backgrounds. Reduce saturation and brightness to maintain legibility and comfort.
Ensure Adequate Contrast
While you want to avoid harsh contrasts, ensuring enough contrast between text and background is crucial for readability. Follow accessibility guidelines like the WCAG to ensure text is easily readable.
Test with Real Users
Different users have different preferences and sensitivities. Testing your design with a real audience can help you understand how your choices affect user experience.
Provide an Easy Toggle Between Modes
Allow users to easily switch between light and dark modes based on their preference or ambient conditions. This enhances user autonomy and comfort.
Ensure Parity between Light and Dark mode
Users should have seamless experience when they switch their themes avoiding confusion when they see the UI in different set of colors.
Don’ts:
Don’t Ignore System Settings
Many devices allow users to set their preference for dark mode at the system level. Your application should respect this setting by default.
Don’t Use the Same Assets for Both Modes
Icons, images, and other assets may need to be adjusted for dark mode to ensure they are clear and visually appealing.
Don’t Overuse Pure White
Just as pure black can be too harsh, pure white can be blinding in dark mode. Use softer tones of white or off-white for text and other elements.
Don’t Forget About Opacity and Shadows
hese elements may need to be adjusted in dark mode to ensure elements are distinguishable and maintain depth and separation.
Don’t Overlook Disabled Elements
Ensure disabled text and UI elements are still distinguishable in dark mode, using color and opacity effectively.
Don’t Neglect Accessibility
Dark mode should also be accessible to all users, including those with visual impairments. Ensure your design meets accessibility standards.
Design Ops & Stakeholder Alignment
The project was split into two main components:
Creating foundational style guide on Figma for designers
For ease of design and to leverage the color libraries feature on figma, it was crucial to create a dark mode colors to the existing library.
Implenting the global colors on the component library
After adding the colors to the figma library, the next priority was to implement the global colors on the exisiting components as variants so that its easy for designers to create mockups using dark mode UI kit.
Collaboration with stakeholders was crucial to align the project goals with Kijiji’s vision, ensuring a smooth transition between design and development phases.
Stakeholder Engagement
Regular meetings and feedback sessions with stakeholders were conducted to align the project goals with business objectives and user needs.
Iterative Design Process
Adopted an iterative approach, incorporating stakeholder feedback and user testing insights into the design process to refine the dark mode theme and user journey.
Design Process
Developing a New Color Palette
Color Experimentation
Engaged in hands-on experimentation with competitive benchmarking to identify industry trends. I began drafting the colour palette focusing on aesthetics and accessibility.
Primary Background Color
I selected a dark grey, avoiding pure black, to serve as our primary background color. This choice was made to minimize eye strain and create a visually soothing experience for nighttime browsing.
Secondary Colors
I adjusted our secondary colors for text, icons, and UI components, ensuring optimal contrast against the dark background while staying true to our brand identity.
Accent Colors
For our accent colors, critical for highlighting call-to-action buttons and important features, I opted for tones that would pop against the dark backdrop yet remain gentle on the eyes.
User Testing
Conducted user testing sessions to gauge the effectiveness of different color schemes in meeting user expectations and accessibility standards.
Implementing the Palette in Figma
With our new color palette defined, the implementation phase commenced. Using Figma, I meticulously applied our chosen colors to the existing UI kit, transforming each component to align with our dark mode vision. This process involved:
Adapting Components
Every component, from buttons to text fields, was revisited. I ensured that they not only adopted the new color scheme but also maintained legibility and aesthetic appeal in dark mode.
Prototyping and Feedback Loop
Prototypes were then crafted within Figma, simulating real-world application use. These prototypes underwent rigorous user testing, providing invaluable feedback that guided iterative improvements.
User Journey for Theme Selection
Entry Point (Profile)
Integrated the theme selection option within the user’s profile settings to ensure easy access without cluttering the app interface.
Theme Application
Enabled immediate application of theme changes to allow users to quickly experience and decide on their preferred theme setting.
Tooltip Guidance
Implemented session-controlled tooltips to guide users to the new theme selection feature, enhancing user awareness and engagement.
Accessibility and Final Touches
A critical aspect of my design process was ensuring our dark mode met the highest standards of accessibility. Utilizing Figma’s contrast checker, I fine-tuned the color palette to exceed WCAG guidelines, guaranteeing that our app remained accessible to all users.
Dynamic Theme Switching
Flutter Implementation
Leveraged Flutter to implement dynamic theme switching, adding colors to ThemeData to facilitate real-time theme changes.
Technical Challenges
Faced and overcame challenges related to ensuring smooth theme transitions and maintaining app performance during dynamic theme changes.
Dev & QA Support
Dynamic Theme Switching
Collaboration with the development team was key in translating the design vision into a tangible user experience. Detailed documentation of color codes and component specifications facilitated the handoff, while involvement in QA testing ensured fidelity to the design intent.
Launch Strategy
Documentation & Coordination
Close coordination with developers for theme implementation using Flutter. Provided documentation of detailed style guides and facilitated any requirements, feedback and changes.
QA Testing
Actively participated in the bug bashes, testing phases to address any discrepancies before MVP roll out.
Launch & Implementtion
The user-centric approach extended to the launch phase, with tooltips introduced to guide users towards the new theme selection feature. This strategy prioritized immediate usability and personalization, allowing users to effortlessly switch themes based on their preference or system settings.
MVP Rollout Plan
Staggered launch with initial tooltips guiding users to the theme selection feature.
Beta Testing Insights
Utilization of session-controlled tooltips to enhance user awareness and engagement with the Dark Mode feature.
Conclusion & Impact
The user-centric approach extended to the launch phase, with tooltips introduced to guide users towards the new theme selection feature. This strategy prioritized immediate usability and personalization, allowing users to effortlessly switch themes based on their preference or system settings.
Increased user engagement
Post-implementation, there was a notable increase in user engagement and satisfaction, with positive feedback on the dark mode feature’s usability and accessibility.
Success metrics
Successfully met and exceeded WCAG AAA and AODA accessibility guidelines, making the app more inclusive and user-friendly.
Professional Growth
The project showcased my ability to balance user needs with technical requirements, manage stakeholder expectations, and deliver a highly demanded feature that significantly improved the user experience.
Lessons & Reflection
This project underscored the importance of integrating user feedback into the design process, highlighting the value of accessibility and personalization in enhancing the user experience. Learning to navigate the complexities of creating a design language and theme implementation in Flutter provided valuable knowledge into dynamic theme switching, enriching my skills as a designer.
Personal Growth:
Enhanced understanding of accessibility standards and the technical aspects of theme implementation.
Next Steps
After wrapping up the project, the design team recognized the need for having boolean style components in figma for easy handoffs for both light and dark mode. The initiative was driven by me as I was the subject matter expert for accessibility and design ops.