System76: Designing the Styling and Design System for Pop!_OS

A screenshot of the system's setting
Year 2022
Client System76
Role Lead Product Designer - User Research, Interaction, Visual Design, Prototyping & Testing
Time 2 Months
Goals Create a coherent and visually pleasing design system that enhances the overall user experience.
Deliverables Research, ideation, UI design, end-to-end prototype and testing
Tools Figma, and Adobe Creative Suite

What is Pop!_OS? 

Pop!_OS is an open-source Linux distribution developed and maintained by System76, a hardware manufacturer that specializes in Linux-based computers. Pop!_OS is designed to provide a user-friendly and efficient operating system experience for desktop and laptop users. It is based on the Ubuntu Linux distribution and uses the GNOME desktop environment as its default user interface.

A screenshot of the custom terminal.

Goals and Objectives

Problem Statement

The challenge of creating a cohesive and user-friendly styling and design system that enhances the overall user experience while maintaining its unique identity. The existing design components are were consistent across the operating system with GNOME's guidelines; however, this lead to usability issues, visual discrepancies, and potential difficulties for users in customizing their experience.

Guiding Questions

Comparative & Competitive Analysis


A comparative and competitive analysis for Pop!_OS in the Linux environment involves evaluating how Pop!_OS stacks up against other Linux distributions, highlighting its strengths, weaknesses, and unique features. Here's a comparative analysis of Pop!_OS against some popular Linux distributions:

Ubuntu:
Strengths: Pop!_OS is based on Ubuntu and inherits many of its benefits, such as a vast software repository, community support, and a strong developer ecosystem.
Unique Features: Pop!_OS adds its own styling and design system, which offers a more modern and visually appealing user interface compared to the standard Ubuntu desktop.

Linux Mint:
Strengths: Linux Mint is known for its user-friendly approach, with a traditional desktop interface. It offers a wide range of pre-installed software, codecs, and multimedia support.
Unique Features: While Linux Mint focuses on a traditional desktop environment, Pop!_OS emphasizes a more modern, visually attractive design with its own custom icons and UI components.

Fedora:
Strengths: Fedora is often praised for its cutting-edge technology, focus on open-source software, and strong commitment to security.
Unique Features: Pop!_OS distinguishes itself by targeting a more user-friendly and visually appealing interface, catering to a different user segment compared to Fedora's focus on innovation and enterprise use.

Manjaro:
Strengths: Manjaro is known for its rolling release model, providing users with the latest software updates quickly.
Unique Features: Pop!_OS, on the other hand, maintains a stable release cycle with its design-focused approach, appealing to users who prioritize a polished and consistent experience.

Arch Linux:
Strengths: Arch Linux is renowned for its flexibility, allowing users to build a customized system from the ground up.
Unique Features: Pop!_OS, in contrast, aims to provide a user-friendly experience with an emphasis on design and aesthetics, making it a more accessible choice for users who prefer a pre-configured environment.

Zorin OS:
Strengths: Zorin OS is similar to Pop!_OS in that it focuses on user-friendliness and aesthetics. It includes a "Windows-like" interface for users transitioning from Windows.
Unique Features: Pop!_OS differentiates itself with its unique visual identity and its affiliation with System76, a hardware manufacturer specializing in Linux-based computers.

Ideation

In the context of designing the styling and design system for Pop!_OS, the ideation phase is instrumental in shaping the project's direction and vision. Its goal is to stimulate creative thinking, explore various design concepts, and generate innovative ideas for the final design system. Collaboration among the design team, developers, and stakeholders is crucial. During ideation, we aim to enhance both the visual appeal and the overall user experience of Pop!_OS while ensuring alignment with the OS's core values.

This involves brainstorming sessions focused on color palettes, typography, iconography, and UI components. We also strive to maintain compatibility with diverse hardware configurations and consider responsiveness, accessibility, and user customizability to create a cohesive yet adaptable design system. Throughout this phase, we challenge conventional thinking and seek innovative solutions to design challenges.
View Partial Design File

Design Principles

Pop!_OS, as a Linux distribution developed by System76, adheres to a set of design principles that define its user interface and overall visual identity. These principles guide the design of the operating system, shaping its aesthetics, functionality, and user experience. The following are some of the key design principles associated with Pop!_OS:

Simplicity: Pop!_OS places a high value on simplicity in design. It aims to offer a clean and uncluttered user interface, minimizing visual noise and complexities. This simplicity makes the OS more approachable for users of all experience levels, facilitating a smooth onboarding process.

Clarity: Clarity is a cornerstone of Pop!_OS's design philosophy. It emphasizes clear, intuitive, and straightforward user interactions. Users should be able to quickly understand the purpose of UI elements and how to use them without ambiguity.

Consistency: Maintaining consistency in design across the operating system is paramount. Pop!_OS seeks to ensure a unified and cohesive experience for users, with design elements, iconography, and UI components that align with the overall visual identity of the OS.

Accessibility: Accessibility is a core principle of Pop!_OS's design. The OS is designed to be usable by individuals with varying abilities, offering features like keyboard navigation, screen reader support, and high contrast themes to enhance accessibility for all users.

Modern Aesthetics: Pop!_OS places a strong emphasis on modern aesthetics. The design system integrates contemporary visual elements, custom icons, and a pleasing color palette to provide a fresh and visually appealing user experience.

User-Centric Approach: Pop!_OS places the user at the center of its design philosophy. The OS is created with the intention of enhancing the user experience, promoting user satisfaction, and addressing user needs and preferences.

Customizability: While maintaining a consistent design system, Pop!_OS also values user customizability. Users are empowered to personalize their experience, adapting the OS to their individual preferences without disrupting the overall cohesiveness of the design.

Performance Optimization: The design system takes into account the need for performance optimization. It is designed to be resource-efficient and responsive, ensuring a smooth and efficient experience even on a variety of hardware configurations.

These design principles collectively contribute to the unique identity of Pop!_OS, setting it apart in the Linux ecosystem. They reflect the project's commitment to providing an accessible, user-friendly, and visually appealing operating system that caters to a broad user base while maintaining its own distinct design language.
View Partial Design FileThe Pop!_OS logo.

Prototype

Prototyping is a crucial phase in the development of Pop!_OS, allowing designers and developers to create tangible representations of the user interface and functionality before implementation. The prototyping process for Pop!_OS involves several key elements:

Wireframing: The initial stage typically involves creating wireframes. These are basic, low-fidelity sketches that outline the layout and structure of the user interface. Wireframes help in establishing the placement of various UI elements and the overall flow of the system. This phase is more about structuring the design rather than focusing on visual details.I

nteractive Prototypes:
Once wireframes are in place, the next step is to develop interactive prototypes. Interactive prototypes are high-fidelity representations of the user interface that allow for user interaction. Designers and developers use tools like Figma, Sketch, or Adobe XD to create these prototypes. Interactive prototypes enable usability testing, feedback collection, and the evaluation of the user experience.

User Testing: User testing plays a significant role in the prototyping phase. A group of representative users is given access to the interactive prototypes to explore and interact with the proposed design. Their feedback, insights, and observations are invaluable in identifying pain points, usability issues, and areas for improvement. This iterative process helps refine the design based on user input.

Iterative Design: The feedback gathered from user testing is used to make iterative improvements to the prototype. The design team collaborates to address issues, optimize the user experience, and make necessary adjustments. This cycle of testing and refinement continues until the design reaches a satisfactory level of usability and aesthetics.

Usability Testing: Beyond the visual aspect, usability testing is crucial during the prototyping phase. This includes evaluating the ease with which users can perform common tasks within the OS. Usability testing helps in refining the user interface and ensuring that it aligns with the design principles and user expectations.

Accessibility Testing: Given Pop!_OS's commitment to accessibility, prototypes undergo thorough accessibility testing to ensure that the design is usable by individuals with disabilities. This involves evaluating features like keyboard navigation, screen reader compatibility, and the clarity of visual elements.

Documentation: Throughout the prototyping phase, detailed documentation is maintained. This includes design specifications, guidelines, and annotations that provide clarity to developers and ensure that the final implementation remains faithful to the prototype.

Development Collaboration: Prototypes serve as a bridge between design and development teams. They help developers understand the visual and functional requirements, leading to a smoother implementation process.

In summary, prototyping in the development of Pop!_OS is a dynamic and iterative process that combines user-centered design principles with accessibility considerations. It plays a pivotal role in refining the OS's user interface, ensuring its aesthetics and functionality align with the design principles and the overarching goal of delivering a visually appealing, user-friendly, and accessible operating system.

User Input

Beta testing with beta branches is a crucial phase in the development of Pop!_OS, allowing users to actively participate in the refinement of the operating system before its stable release. The process typically begins with official announcements, informing the Pop!_OS community about the availability of beta releases through various channels. Users who are interested in contributing to the testing process gain access to the beta branch or repository, where they can either upgrade their existing installations or perform fresh installations on separate systems.

User engagement is a vital component of this phase, with developers and product managers actively participating in discussions, addressing user questions, and guiding testers through the testing process. Regular communication helps ensure that users understand their role and the objectives of the beta testing phase.

Scalability and Future-Proofing

In the context of Pop!_OS, scalability and future-proofing are pivotal aspects of the operating system's design and development strategy. Scalability is addressed through several key approaches, including hardware compatibility, a stable release cycle, modularity, and support for containerization and virtualization. The OS is engineered to run on a broad spectrum of hardware configurations, making it accessible to a diverse user base. Its stable release cycle ensures a consistent and predictable platform for users and organizations, particularly those requiring long-term stability. Pop!_OS's modular design allows for the gradual addition of new features and components, accommodating organic growth. Furthermore, support for containerization and virtualization technologies enhances scalability, making it versatile for various use cases.

Closing Thoughts

In closing, Pop!_OS stands as a testament to the power of user-centric design and a commitment to a high-quality, accessible, and visually appealing operating system. Through its design principles, extensive user testing, and an unwavering dedication to scalability and future-proofing, Pop!_OS has carved a distinct niche within the Linux environment.

Its unique combination of modern aesthetics, user-friendliness, and hardware integration has attracted a dedicated user base. The strong community engagement, collaboration, and open-source ethos ensure that Pop!_OS remains adaptable, competitive, and aligned with evolving user expectations.

As it continues to evolve, embracing emerging technologies and user needs, Pop!_OS not only represents a compelling Linux distribution but also embodies the principles of user-driven innovation and design excellence. Its journey serves as an inspiring example of how an operating system can adapt, grow, and thrive in the ever-changing landscape of technology. With an eye on the future and a strong foundation in the present, Pop!_OS is poised to remain a shining star in the world of Linux operating systems.

Project Learnings

1. User-Centric Design and Feedback Integration
One of the core principles of Pop!_OS's design philosophy is its commitment to user-centric design. This case study demonstrates the value of actively involving users throughout the design and development process. Gathering user feedback through beta testing and iterative design plays a pivotal role in creating a user-friendly and visually appealing operating system. This learning can be applied to various design and software development projects, emphasizing the importance of listening to end-users, understanding their needs, and adapting designs to meet those needs effectively.

2. Balancing Aesthetics with Functionality

Pop!_OS successfully strikes a balance between aesthetics and functionality. It integrates a modern and visually appealing design while maintaining a user-friendly interface. This case study underscores the importance of aligning aesthetics with the core values and mission of the project. It serves as a valuable lesson for design projects, emphasizing the need to harmonize visual appeal with usability to create an engaging and efficient user experience.

3. Community Engagement and Open Source Collaboration
Pop!_OS leverages the strength of the open-source community and fosters active collaboration between developers, users, and stakeholders. This case study highlights the power of community engagement in the development process. The open-source model encourages collective innovation, accelerates problem-solving, and ensures that an operating system remains adaptable and competitive over time. This learning can be applied to open-source projects across different domains, emphasizing the significance of community-driven development and collaborative problem-solving.