Posted by & filed under Content Views, Navigation, PatternFly, UX Research.


The UXD Research team recently conducted a study to explore differences between light and dark visual themes for PatternFly’s navigation component. Previous research on this topic yielded inconclusive results, so the PatternFly team wanted to follow-up on that study to determine if meaningful differences in performance, perception, or preference existed or not between the two themes. 

The test approach

For this study, a mixed methods approach was used in which data collection was conducted through unmoderated and moderated techniques. All data was collected through the Loop11 platform, an online user testing platform. Fifty-six participants performed task scenarios in the unmoderated protocol, while eight participants performed the same tasks in moderated testing. 

 

Participants were presented with one of four variations of the interface (shown below).

PatternFly interfaces with List (left) and Dashboard (right) views.

Participants were asked to complete five tasks as part of the study. The first four tasks were designed to measure participants performance (i.e. task completion time) and perception (i.e. how readable is this interface?). The fifth task was designed to measure the participant’s preference for dark theme or light theme. 

 

Following each question, participants were given a chance to explain why they responded the way they did. This method allowed us to gather quantitative and qualitative data to build a complete picture. 

The results 

Data analysis on the quantitative data revealed that there were no statistical differences between light and dark navigation themes in terms of performance or perception. There was, however, a statistically significant difference in preference between the themes. Participants significantly preferred the dark theme more than the light theme and indicated this preference was due to the reduced strain on the eyes and the increased contrast between the navigation bar and the content area. For more details, check out the PatternFly Visual Theme Results PDF

What’s next? 

The PatternFly team has decided to move forward with a dark theme for navigation, as opposed to the light version given the research results. From a visual design perspective, the intent of the light navigation theme was to use dark imagery and backgrounds in the content area of the applications. The heavy dark content required a lighter navigation style to balance it.  As PatternFly has been adopted, we realized that not all the applications and pages have data visualizations that use the dark imagery. For this reason, it made sense to adjust the approach to the dark theme for navigation. 

 

Development will begin immediately to introduce the dark navigation theme to PatternFly. To ensure applications have adequate time to adopt and migrate, the dark navigation will be added to PatternFly as an opt-in solution. The plan is to deprecate the light navigation at a later date, after adequate time for adoption has passed.

Posted by & filed under PatternFly.


After careful research and consideration, the latest version of PatternFly is introducing a new standard for buttons, recommending left-alignment for button groups in forms, with primary buttons always appearing as the first button in the button group. This approach is being applied across components like form, wizard, and modal, and the updates will be rolled out to the community in the coming weeks.

A form embedded in a page, showing that the form submit buttons are left-aligned with the form, with the primary action first.
Form embedded in a page
A form in a modal, showing that the form submit buttons are left-aligned in the modal footer with the primary action first.
Form in a modal
A form in a wizard, showing that the form submit buttons are left-aligned in the modal footer with the primary action labelled "Next" first.
Form as a wizard

Members of the PatternFly community have questioned this decision for a few different reasons, but most commonly it’s because this alignment isn’t the convention users are most familiar with. So, why is PatternFly challenging designers and developers to move away from a familiar standard? Very simply, it’s not compatible with universal design, and it doesn’t align with our PatternFly principles.

The PatternFly principles ensure that, even as we evolve, we’re always staying true to the original goals we set out for the design system.

By following the principles of modularity, accessibility, and responsive design, we made several key decisions:

  • To maintain consistency, the order and position of form submit buttons shouldn’t change based on context. Alignment should be the same whether we present a form on a page, a form in a modal, or a form in a wizard.
  • To prioritize the user’s primary task, the primary action button should be presented first.
    • This approach reinforces a natural, conversational style where affirmative choices are generally presented first.
    • Accessibility standards require that actions be presented visually to users in the same order they are defined in the DOM. As a result of responsive design, interfaces can be laid out differently depending on screen size, meaning actions could be displayed to users horizontally or vertically. If the first action in a vertical stack of actions should be the primary action, then the first action in a row of actions should also be the primary action.
    • An observation made by a low vision student who participated in a UX design and research workshop confirmed that it would be beneficial to have primary actions presented first. [1]
  • To make it easier for users to complete a form, submit buttons should be presented in the same scan line as the form inputs.
    • This approach benefits users displaying the webpage in full screen mode on a large monitor. Based on previous feedback, we realized a large spatial gap between form content, like input fields, and buttons caused users to miss critical parts of their workflow.
    • This approach also benefits low vision users who use screen magnification devices to view the contents of a web page and rely on related information, like form inputs and form submit buttons, being in close proximity. The straw test is a great way to test the accessibility of a layout for these users.
    • Finally, this approach is consistent with a finding provided by Luke Wroblewski in his book Web Form Design. [2]

If you’re interested in learning more about how the PatternFly principles helped guide this decision, we go into further detail in the following sections.

Modularity and flexibility

Modular design systems enable you to take very isolated interaction patterns and combine them to build complex designs that can support different user tasks. Modularity helps ensure consistency, since isolated patterns shouldn’t change much between different contexts. With this in mind, we felt it critical for PatternFly that form submit buttons remain consistent in order and position as they are moved between various contexts.

When deciding on button placement, we considered every possible context: forms on pages, in wizards, in small modals, in large modals, forms with a single input, forms with numerous inputs. Because considering all possible scenarios—and not just your basic use case—is important when creating a design system.

After reviewing every possible variation, one approach—to align form submit buttons to the left with the primary action appearing first— emerged as the pattern that could be successfully applied to any context with consistency and without concern of creating any pain points for users.

Button placement remains consistent whether a form is placed in a page or a modal.
Button placement remains consistent whether a form is placed in a page or a modal.

Accessibility

Accessibility adds a new level of challenges and forces you to consider all the possible ways that a user can experience a web page. Are users sighted? Are they using magnification? Is the page full screen on a huge monitor, or on a screen the size of a phone? Are they using a keyboard to interact with the form? Are they using a screen reader?

When you start to consider all the ways that a user can interact with a web page, you realize that small things like alignment, proximity, and order can have a huge impact on their experience. Using spatial concepts to reinforce the progression of a workflow aren’t applicable to all users, specifically low vision, no vision, and also mobile users. Low vision users benefit from having the form submit buttons in the same scan line as the form fields. No vision users benefit from having the order of form submit buttons be consistent across any context. As designers, we should be willing to recognize that the spatial concepts we applied in the past to the placement and order of buttons were optimized to the needs of sighted users with good vision. Sometimes being inclusive means letting go of the standards we have been following for so long when we realize they no longer satisfy the needs of all users.

Left aligning the primary action facilitates scanning and ensures that it will come first in the tab order for keyboard users.
Left aligning the primary action facilitates scanning and ensures that it will come first in the tab order for keyboard users.

Responsive design

Standards that exist for desktop applications aren’t always applicable to the design of web applications. Designers of desktop applications have a lot control over the presentation and layout of UI elements, whereas users of web applications access the interface on a variety of devices and screens. Web designers have to consider every possible viewport size. This means the order of elements have to be considered sequentially, where the most important elements come first and least important elements come last. This way, when elements need to be stacked vertically, the most important things are encountered first. This also means that when elements are presented in a row, the most important items (e.g. the Next button) should be presented on the left.

Left aligning the primary action will ensure that it comes first whether buttons are inline or stacked.
Left aligning the primary action will ensure that it comes first whether buttons are inline or stacked.

We hope the research and rationale outlined in this post helps shine some light on the updated approach we’re taking to button alignment on forms. As always, we welcome and encourage feedback from the community. For additional questions or concerns, feel free to reach out to us on the PatternFly forum.


Footnotes

  1. Presenting the primary task first was something noted by one of the low vision students in a user research workshop we had with students at Governor Morehead School in Raleigh. When presented with a card that stated “Previous & Next Page” she stated, “Next should be first because it’s the action I most likely want.”
  2. Luke Wroblewski makes the following statements in his book Web Form Design:
    • In chapter 3, Path to Completion, he provides two examples and states: “One has a clear scan line that starts at the first information point, ends at the primary action, and allows people to take in all the information they need to review quickly. The other has a number of different visual treatments that break up the path to completion into a series of zigzagging eye movements. A single path makes it easier to process the questions a form is asking through a consistent layout.”
    • In chapter 6, Actions, when talking about the style and placement of form submit buttons, he states: “According to the data we collected, the most effective designs of the six we tested all shared a common characteristic: they presented their Submit and Cancel options left-aligned with the input fields and labels above them.”

Posted by & filed under PatternFly Design, UX Research.


A peek into the research being done around the dark or light visual theme for PatternFly 4 navigation

A major goal with PatternFly 4 was to create an updated, modern look and feel with our visual design language. To meet that goal, we revamped every component to provide something that looks great and is flexible enough to be applied across the system.

One of the most obvious differences between the new visual language and previous versions of PatternFly is the direction to proceed with a light versus a dark visual theme for the navigation.

So far, the new light theme has been met with mixed reactions from the PatternFly community, so we leaned on research to help us make an informed decision on the best direction forward. To proceed with the light theme, or adjust to a dark theme?

examples of dark and light navigation color themeLight theme vs. dark theme

Here’s a recap of what’s been done and what’s still to come..

The Study

At Red Hat Summit 2019, we conducted a study to gather both objective and subjective feedback on two visual design variations for PatternFly’s navigation system. The light theme was designed for PatternFly 4, and the dark theme came from a previous version of PatternFly (see image above). In addition to the navigation color, the themes also differed in font, overall spacing, and layout.

During the study, we  gathered 68 survey responses and worked with 6 participants in a moderated research setting. We also worked remotely with 61 Mechanical Turk users from IT domains to reach higher confidence in reporting the results. In total, we had 135 respondents who were primarily Engineers, SysAdmins, and Developers.

We looked at the designs from three different user perspectives: performance, perception, and preference. Participants were asked to complete two first-click tasks and two general tasks within the mock-ups to gather performance data. Then we asked participants to provide feedback on their perception and preferences.

The Data

Quantitative

  • Performance: There were no statistically significant differences between the two variations
  • Perception: There were no statistically significant differences between the two variations when users evaluated each theme individually
  • Preference: Users generally preferred the dark variation when they evaluated the two themes side-by-side

Qualitative

A good number of respondents suggested that the light theme seemed higher quality and they liked the simplicity of it. However, most respondents also stated that the light version appeared “too white/plain and need[ed] more contrast”. They also mentioned that they liked the clear separation of space in the dark variation.

Discussion

Results showed that the dark variation is generally preferred mostly due to  the higher contrast between different sections of the page. However, respondents suggested that the light theme looked more modern and high quality compared to the dark theme.

Also, while performance data suggested that the light theme resulted in a slightly higher success rate (though not statistically significant), we can’t be confident this result is due to the color of the navigation. We suspect that the bigger font and better spacing in the light theme may have made the text more legible and easier to read, but we can not be sure at this point.

Study Constraints

  • Since the two variations were different in terms of font, spacing and layout, and navigation color, we can’t say which UI factor played a more prominent role in the results, especially when it comes to the legibility of the designs.
  • We utilized a survey as the main method of data collection at the Summit because that seemed to be the most feasible method for that context. But that resulted in presenting design variations in a non-realistic format.
  • The mockups of PF3  that were used in the survey missed a vertical visual pointer on the left side of a category in the navigation bar. We suspect that mistake could have impacted the success rate of a task in the dark variation.
  • Additionally, according to our previous research we suspect the content areas may also affect user preference and perception and requires further investigation.

Future Research

Given the constraints, in the next round of study we’ll:

  • Have consistent font, spacing, and layout across variations to investigate the effect of color more precisely.
  • Use an unmoderated platform that will allow participants to see the designs in their real states.
  • Make sure the test materials are identical and that the only difference is the color theme.
  • Include two different variations of the content area (list view vs. dashboard).

Our goal is to address the following questions in the upcoming follow-up research to help the team to make an informed decision about the color theme:

  • Which color theme results in a better performance?
  • Does the content within the content area affect performance?
  • Do color and content interact to affect performance?
  • Do users prefer one color over the other?

We expect to complete this study and have a summary of the results in the coming weeks. Once we have this, we will post another update sharing the findings and explaining PatternFly’s next steps. Feel free to reach out in the meantime with any questions or comments.

Posted by & filed under PatternFly.


PatternFly 4 version rc.2 is live!

We’ve added a bunch of features and improvements with our latest release. Check out what’s new and changed:

What’s new

Refined and improved charting in React now available on the website
Improved TypeScript support – updated 23 components that were using handcrafted d.ts files to natively written TypeScript

What’s fixed

Updates and fixes to documentation for tables, charts, alerts, about modal, and grid props
– Added support for groups in dropdown, compact wizard nav width, alerts in about modal, nodes in Alert title, and dropping columns in a table

Breaking changes – PatternFly 4 React charts

Due to improvements and updates made to charting, this release includes breaking changes that could impact any products that have adopted the React charting package in PatternFly 4.

In order to help resolve these breaking changes in products quickly, we added detailed information about what’s changed and instructions on how to resolve issues in release notes for charting.

Check out the latest updates on the PatternFly 4 website. For more information, see our GitHub release milestones for React and Core or check out our release notes for React and Core.

If you have feedback or questions, head over to the PatternFly forum. New ideas are always welcome!

Posted by & filed under PatternFly.


PatternFly was built to drive product consistency and unify teams. With its guidelines, standards, and code, PatternFly has made it possible to scale usable and consistent design across the entire company.

We’re excited to announce the official launch of PatternFly 4!

An updated look

We’ve completely revamped the look and feel of the system to provide something modern, clean, and flexible enough to work for all of our products, personas, and use cases.

A fresh website

The new PatternFly 4 website focuses on helping you make the most of the design system, with updated styling, overarching improvements to search and information architecture, and a new approach to design guidelines that help you use the right components and patterns to solve common design challenges.

A completely new PatternFly

PatternFly 4 is built to be accessible, responsive, and modular, so it’s easier to adopt and maintain. It’s also decoupled from Bootstrap, meaning we have full control and are no longer tied to another team’s product decisions or release cycles. And our streamlined focus on the React framework helps ensure consistent design, development, and community support.

What’s been added since beta?

Since the release of the PatternFly 4 beta, we introduced 41 modular, accessible, and responsive components and demos.

We’ve also onboarded several teams, like Red Hat Managed Integration, OpenShift, and Red Hat Insights and cloud services, who have begun successfully developing using PatternFly 4.

We want to extend a thank you to those teams for all of their help and collaboration throughout the beta!

Get connected

To follow along as we continue to improve (or become a contributor, if you’re feeling ambitious), take advantage of GitHub, join us on Slack, and subscribe to our mailing list. You can also ask questions and get support on the PatternFly forum.

Get PatternFly 4 today

Visit the new PatternFly 4 website to take a look at the updated visual design and explore our styles, guidelines, and code samples.

If you’re a PatternFly 3 user interested in migrating to PatternFly 4, be reassured that PatternFly 3 and PatternFly 4 will work side-by-side so you can migrate at your own pace.

Check out our PatternFly 4 migration guide to learn more.

Posted by & filed under PatternFly.


We’re excited to announce a new beta release of PatternFly 4!

PatternFly 4 introduces updates to our visual language along with improvements to modularity, accessibility, and responsiveness. This beta milestone represents the hard work of our Red Hat UXD team combined with fantastic support and feedback from our product teams.

This release includes breaking changes that will potentially impact products that have adopted PatternFly 4. The reason for these changes include absorbing recent brand changes as well as refinements to the architecture. For specifics, you can check out the GitHub Milestones, React release Milestone and Core release Milestone.

In order to help resolve these breaking changes in products as quickly and easily as possible, we have provided information about what has changed as well as direction on how to resolve it in our Core release notes and our React release notes.

Interested in getting your hands on the latest and greatest? Check out the PatternFly HTML/CSS workspace or the PatternFly React workspace to get started. If you have feedback or questions, head over to the PatternFly forum. We always welcome new ideas, so don’t be shy!

Posted by & filed under PatternFly.


We’re excited to announce the beta release of PatternFly 4!

PatternFly 4 introduces updates to our visual language along with improvements to modularity, accessibility, and responsiveness. The beta milestone represents the hard work of our PatternFly team combined with fantastic support and feedback from our product teams.

With this beta, we delivered a prioritized set of HTML/CSS components and also took on a number of infrastructure issues to improve stability across the system.

Interested in getting your hands on the latest and greatest? Check out the PatternFly HTML/CSS workspace to get started. For everyone who has already started using an earlier alpha release of PatternFly 4, heads up: the npm package has changed for beta and you’ll need to change your package.json to point at @patternfly/patternfly.

If you’re kicking the tires on the beta release and have feedback or questions, head over to the PatternFly forum. We always welcome new ideas, so don’t be shy!

The team will continue to develop and deliver new components. Take advantage of GitHub to stay on top of everything we’re working on.

Posted by & filed under PatternFly.


The PatternFly team is always looking for new ways to improve communication with the PatternFly community. A while back, we sent out a survey to get a better understanding of how you want to receive information and share feedback.

We got responses from 22 people, a mix of designers and developers, and discovered that 70% of participants liked the idea of a forum for all things PatternFly.

Why a forum?

  • It allows you to easily search for information.
  • It gives you access to old conversations.
  • It provides the ability to categorize information and organize conversations, making it easier to find what you’re looking for.

Well, you spoke and we delivered! Today, we’re happy to announce the PatternFly forum!

Posted by & filed under PatternFly.


After lengthy discussion, the PatternFly team has chosen React as the JS implementation for PatternFly 4. We want to stress that we will continue to maintain our current PatternFly 3 Angular repos (angular-patternfly and patternfly-ng).

The JS framework question has gotten a lot of attention, so we wanted to talk a bit about how we made our decision and why we think it’s the best way forward for the project.

  • We chose React based on its popularity within the PatternFly community as well as the broader industry.
  • We elected to focus on one JS framework because this approach will enable our team to ensure quality design, development, and community support.

The React strategy was discussed at length and we took many factors into consideration. If you’re interested in understanding more of the history and reasoning behind our decision, read on!

Quick History

We started the patternfly-ng and patternfly-react repos over a year ago in response to rising requests to provide PatternFly implementations for the newer JS frameworks.

The Metrics

At the time, we didn’t have any metrics to help us prioritize one framework over another, and so we made the best choice that we could and decided to add both. Since then, we have evaluated the activity and contributions around the various repos and observed that patternfly-react had become significantly more popular in recent months. We also took a look at observations from the broader industry and factored that research into our decision-making process.

Given all of this, we made the informed decision to take a more focused approach, enabling our team to improve PatternFly 4 and ensure quality design, development, and community support.

A big thanks to the PatternFly community for all of the engagement and interest we’ve been getting around PatternFly 4. Stay tuned for more updates.

Posted by & filed under PatternFly.


As development on our shiny new design system continues to push forward, we wanted to share a quick update about migration for existing users of PatternFly 3. Let’s dive in.

What’s the plan?

This is the question we get most frequently, and we’re still working to fully flesh out tooling and best practices. Here’s what we know:

  • PatternFly 4 component documentation will provide information about the PatternFly 3 component it replaces so you can easily map one design system to the other
  • We’ll provide examples of the PatternFly 3 HTML structure alongside the updated PatternFly 4 code so you see exactly what’s changed
  • PatternFly-React users will be provided with codemods (scripts) to migrate components from PatternFly 3 to 4
  • PatternFly 3 and PatternFly 4 will be able to work side-by-side so you can migrate at your own pace

How are we going to address inconsistencies between PatternFly 3 and 4 as different project teams start to adopt the new system?

The UXD and PatternFly teams are exploring avenues to address inconsistencies introduced to applications and the Red Hat portfolio. Investigations are ongoing and we’re making POC’s a priority. Stay tuned.

How long will we maintain PatternFly 3?

PatternFly 3 isn’t going anywhere. To learn more, check out our latest blog on this topic.

Head over to our GitHub to stay on top of everything that’s happening, from issues to milestones. Finally – we are tracking work around migration via issues in GitHub and tagging them accordingly.