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 Design team is responsible for the look and feel of Fedora. The Desktop SIG is responsible for the default image and should work with the Design team on Fedora-specific configurations or upstreams for a consistent look and feel in that product. There are ample opportunities for all SIGs to work with the Design team and with upstream projects to improve modularity, compatibility, and interoperability.
This is a complicated issue to answer with a few simple sentences. Instead it is more useful to break down into a series of smaller questions that can be answered individually.
Who makes designs?
The Fedora Project has a Design team that acts as somewhat of a service team for other groups, consulting on and producing user interface designs and other outputs that can improve UX in Fedora.
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. Developers sometimes create interfaces without design input, and some do have sufficient UI experience to produce satisfactory results, but this isn't an ideal solution. A goal for the Design team is to increase the number of user interaction designers involved in Fedora, 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. Some examples of designs 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.
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.
Who participates in the process?
Any interested Fedora participant who can constructively contribute to the design process with focused analysis, critiques, or input.
Many of the members of the Desktop SIG are also developers of core desktop technologies in various upstream projects. Not every team in Fedora that maintains a desktop environment drives the UI design and implementation of that environment to the extent of the Desktop SIG. 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.
How are decisions made?
The standard process for decision making in this context is fairly identical to those used throughout the Fedora Project, as part of our meritocratic practice:
- Open discussion of the various options, possibly including the predicted results/costs/benefits of each
- Consultation with members of the Fedora Design team who have expertise in the UI/UX area
- A decision by the parties responsible for implementing the changes
- Notifying the community of the decision
Does the Desktop SIG define the UX for all of Fedora?
No. 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.
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.
- 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.