Desktop/Whiteboards/UpdateExperience

From FedoraProject

Jump to: navigation, search

Contents

Problem

We currently provide our users with a very poor experience when updating their operating system.

Our current package-centric view of OS software updates is less than ideal. Most people are not interested in learning about updates to hundreds of tiny packages they have never heard of.

These myriad individual updates aren't even well coordinated. They arrive at the user's computer and pester her to update them in a random and seemingly continuous stream. This does not show respect for the user's time.

The many combinations of packages that are possible due to this lack of coordination means that we don't actually test any of them. There is no set that is canonical or even most likely.

So, basically, what we have today is:

A very poor user experience.

Requirements

All releases

This section applies to all rawhide releases, and stable releases.

Stable releases

Rawhide


Impact

Community Organization

Having well defined and agreed upon checkpoints is one of the only ways to manage large open source communities. We agree that using a time based release process for stable releases is worthwhile but we give up on that the moment the release goes out the door.

By elevating Rawhide to something that people can actually use we can bring the community back into the Fedora development process.

QA

The Quality Assurance team's job becomes tractable. The OS can be tested as a well defined unit. If someone wants to deviate from that - they are in uncharted waters. But right now we're all in charted (untested) waters. And that is scary.

Release Quality

Giving QA a job they can actually do is only one part of this. Having a larger community testing and using (dog-fooding) Rawhide before a release is also essential. As it stands, we don't even have a majority of the core Desktop design and development teams using Rawhide until shortly before the release.

Documentation

Documentation teams will have opportunity to document release updates where required.

Increased visibility into the design and creation process (during Rawhide) should also be a big win.

Marketing

Obviously, being able to avoid embarrassing oversights is an important goal. So is being able to tell a story about why Fedora is good for you.

Certainly, having well defined checkpoints allows a marketing team to schedule work more easily.

Having marketing folks be closer to the design and development phases of Fedora should facilitate building roadmaps for future releases and creating good stories about current ones.

Increasing visibility into the Rawhide cycle allows more viral marketing to occur - and to build anticipation for a release.

Software Developers

Being able to give (third-party) software developers some idea of what they can expect to use and depend on in Fedora would be helpful. Giving developers a chance to test their own apps with newer releases is important.

There is a lot more we can and should do here.

Upstream Contributors

Making Fedora the best choice for working on upstream software really requires making Rawhide more usable. This helps build the Fedora development ecosystem.

System Administrators

Want to be able to test changes before they hit users. Want better documentation of changes. Want to see what is coming in future releases before they arrive. Have a strong incentive to see that updates are automatically or timely applied. Are overworked and would love to set up things on autopilot provided they never break things. In many cases wish to or need to delegate some authority to users to install apps or to perform updates. I hope that we can address each of these things.

Users

Basically just want things to work and not disrupt or annoy them. Which means they trust us. Until they don't - and then they are gone.


Testing

NOTE: THIS PART IS SKETCHY

All snapshots (including nightly Rawhide) should ensure they don't break the following: System boots and can get to a web page to get help for minor issues if needed

In detail this means the following must work:

This is essentially what Critical_Path_Packages_Proposal is about.

Related Work