If the Desktop Live image is the default offering, does this mean the Desktop SIG defines the user experience for all of Fedora? What if another SIG disagrees?
The default offering is discussed here in more detail. User experience (UX) is ISO defined as "a person's perceptions and responses that result from the use or anticipated use of a product, system or service." User experience is thus subjective.
This writeup addresses the Fedora Desktop SIG unless noted otherwise. The Fedora Desktop SIG is made up not just of Red Hat Desktop team members, but other people in the Fedora community who are interested in the SIG's work.
Who makes designs?
Usage of the user experience (UX) term is slightly inaccurate, since we can't "define" how someone will feel in using Fedora. What we can do is design the way the operating system provides interactions that we believe will result in a positive UX. Some examples of this design might include the presentation of menus, the type and number of choices offered to the user when performing a specific activity, or the frequency and manner in which notifications that are delivered to the user.
Who provides these designs? In a perfect world, our project would be chock full of user interaction designers who would drive the process of design for these types of interactions. Furthermore, they would be able to grow the overall open source design community, and provide a more substantial culture of design in the Fedora Project specifically.
In late 2008, Fedora's Art team began a process of rebranding to become the Fedora Design team. Their mission is to provide vision and execution for the art, user interface, and look and feel of the Fedora Project and distribution. Beyond providing a regular refresh of art and theme for each Fedora release, the team also exists as a design resource for teams working on user interface elements. Designers can consult with developers on the user-facing functions of their work to improve the user experience of the end result. The Fedora Desktop SIG is often supported by the Fedora Design team in the creation of new UI, which is then driven and coordinated upstream in the appropriate community.
Where do design decisions happen?
- In upstream communities.
- Some decisions that involve UI design are driven entirely by the upstream communities that write the code for the UI. UI elements are designed and written upstream. For instance, the participants in the Red Hat Desktop team work in the GNOME upstream and other communities that provide UI elements. Discussions and work on these elements happen upstream.
- In Fedora as an upstream.
- Some UI is done in Fedora where code originates, such as in the case of system-config-* tools and other Fedora-specific projects. Discussions and work on these elements generally happen on the Fedora Design team's communication channels, such as their mailing list and IRC. Sometimes they happen in the Fedora channels that are specific to a team working on the project, such as an Infrastructure project being worked on in the #fedora-admin IRC channel or the infrastructure list.
- In Fedora when electing a different configuration from upstream.
- In general Fedora tries to stick closely to upstream projects. However, at times the the option for a distinctive Fedora look and feel needs to be decided by the Fedora Project. In these cases the Fedora Design team should be consulted to help make decisions on a consistent basis to support the overall user experience.
Not every team in Fedora that maintains a desktop environment drives the UI design and implementation to this extent, however. That doesn't mean those contributors cannot be involved in discussions around UI in Fedora's default image. In addition, the Fedora Design team is fairly small and we constantly look for ways to expand that team to include additional experienced designers. In the meantime, we realize that there will sometimes be a need for more design consultation than that team can provide. In those cases developers strive to make decisions that are consistent with good UI practice and the look and feel established by previous designs from the Design team and upstream.
Certainly members of the Red Hat Desktop team are involved in the Fedora Desktop SIG, which is responsible for the upkeep of the Fedora default image. The Fedora Desktop SIG also includes people not on that team, such as designers from the Fedora Design group and engineers from around the Fedora Project. The business of the SIG is normally conducted in public, both on their IRC channel and mailing list. Community members are encouraged on the Desktop wiki page to be involved in discussions there.
Who makes decisions?
Recently these communications channels have featured discussions about replacing specific elements of the default image, such as default applications for note-taking (Gnote) and photo management (Shotwell). Ideally, these ideas are considered and discussed by a team of designers who could weigh the various factors of UI involved to produce a constantly improving result. The standard process includes:
- Open discussion of the various options, and the predicted results/costs/benefits of each
- Consultation with members of the Fedora Design team
- A decision by the parties responsible for implementing the changes
This process is fairly identical to those used throughout the Fedora Project, as part of the meritocracy we practice.
Does the Desktop SIG define the UX for all of Fedora?
The Fedora Design team provides support for effective user interfaces, and works with the Fedora Desktop SIG to design a number of the components that are part of the default offering. Other designers also play a part because of their work upstream on code that is inherited by Fedora. (A side benefit of having Fedora community developers involved deeply in upstream code is the strong partnership that implies.) The Desktop SIG developers can't and don't do the same thing for all software in the entire Fedora distribution (repository). The Design team attempts to provide this service across the distribution, to the extent their time and personnel allow.
What if another SIG disagrees?
Anyone in Fedora has the ability to participate in the Desktop SIG's work, as is the case in other Fedora SIGs. However, alternate desktop environment SIGs exist because they may prefer the user interaction or experience provided by different upstream communities. Fedora offers alternate desktop environments that allow contributors who are interested in other user experiences to try them out instead. This can be done through Spins, or through simply installing the software needed for the alternate environment. SIGs often interact with communities outside the ones in which the Desktop SIG is involved. Therefore, SIG members have the ability and opportunity to influence work done in those communities if desired. SIG members also have the ability and opportunity to work on Fedora-specific upstreams, such as the system-config-* projects for example.
It's possible that a codebase supporting user interfaces or functions might cause a conflict, and there needs to be a clear way to resolve such conflicts. This might happen, for example, if a feature is introduced during the development cycle into the default desktop environment that affects alternate environment spins.
Fedora's role as a sort of research and development lab is best served by promoting innovative code, so often that approach doesn't favor holding back specific features until everyone catches up. However, this is the reason that upstream projects like freedesktop.org exist -- to provide standards and guidance so all upstream DEs can interoperate effectively. SIGs can bring upstream forces together to solve these issues, since that is usually preferable to carrying specific Fedora patches. In the example given, members of that spin's responsible SIG could work with the upstream community to ensure changes are made and tested to integrate properly with the new feature.
- ISO FDIS 9241-210:2009. Ergonomics of human system interaction - Part 210: Human-centred design for interactive systems (formerly known as 13407). International Organization for Standardization (ISO). Switzerland.