From Fedora Project Wiki
(Created page with "= Feature Name New Installer UI = == Summary == The existing anaconda graphical UI is really starting to show its age, both to the users and to the developers. Adding new featu...")
 
 
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Feature Name New Installer UI =
= New Installer UI =


== Summary ==
== Summary ==
Line 10: Line 10:
== Current status ==
== Current status ==
* Targeted release: [[Releases/18 | Fedora 18 ]]  
* Targeted release: [[Releases/18 | Fedora 18 ]]  
* Last updated: (DATE)
* Last updated: (August 17, 2012)
* Percentage of completion: XX%
* Percentage of completion: 80%


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriateA couple sentences suffices to explain the goal, but the more details you can provide the better. -->
The existing UI doesn't really have any cohesive design to speak of, nor has it seen any serious work in the past six or seven years.  As such, we are really starting to hit the limits of what we can do with it.  On some screens (for instance, the partitioning-related ones) there is entirely too much going on while other screens (like the root password) have very few widgets amid a sea of grey background color.  Further, adding to the UI means either everyone has to see the new screen, or we have to come up with clever hacks for only making it appear in certain situationsThere are also a whole lot of subtle little bugs due to the fact that much of our UI code is written by hand.
 
By replacing the existing graphical UI with our newly designed (and already being implemented) interface, we can fix all these problems.  We started about a year ago with extensive design discussions that pulled in a variety of community and corporate user groups.  We are now several months into implementation, during which time we are also modernizing the anaconda internals to allow us to be more responsive to future feature requests.


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
* The hub and spoke model (see the User Experience section) means every user doesn't have to go through every page, making for a faster user experience and allowing us to add new pages without making a more complicated UI.
* Third parties (rebuilders, etc.) will have a variety of methods for customizing the installer.
* Users should notice a more consistent experience and a better use of screen space throughout.
* Doing long-lived background tasks while the user is working on other things makes for a faster installation.


== Scope ==
== Scope ==
Line 23: Line 28:


== How To Test ==
== How To Test ==
<!-- This does not need to be a full-fledged documentDescribe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate themThe more specific you can be, the better the community testing can be.  
Most of the existing test plan relating to the user interface will need to be rewritten, obviouslyThis will require coordination with QAWhile the UI is being written, we have a wiki page describing which parts work and can be tested:  [[Anaconda/TestableUI]].


Remember that you are writing this how to for interested testers to use to check out your feature - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your feature.
We're putting images in front of QA right now, and the early results can be seen at [https://fedoraproject.org/wiki/Test_Results:Fedora_18_newUI_Install UI test results].


A good "how to test" should answer these four questions:
It is my hope that we can come up with some way to automate UI testing, but I have not yet seen anything very promising.
 
0. What special hardware / data / etc. is needed (if any)?
1. How do I prepare my system to test this feature? What packages
need to be installed, config files edited, etc.?
2. What specific actions do I perform to check that the feature is
working like it's supposed to?
3. What are the expected results of those actions?
-->


== User Experience ==
== User Experience ==
Line 41: Line 38:


We are also working on making a lot of tasks like repo metadata downloading happen in the background so the install is faster.
We are also working on making a lot of tasks like repo metadata downloading happen in the background so the install is faster.
Finally, there will not be any available text UI in the first Fedora with the new graphical UI.  This is simply due to a matter of time and manpower - there's not enough time to design and implement a second interface at the same time.  We are planning on having this finished up for the next Fedora release, though.


== Dependencies ==
== Dependencies ==
Line 55: Line 50:


== Documentation ==
== Documentation ==
* Most all our documentation is linked from [[Anaconda/UX_Redesign]]
* Our documentation is linked from [[Anaconda/UX_Redesign]]


== Release Notes ==
== Release Notes ==
* Mentioning the lack of a text interface will be importantA lot of users won't like that, but we need to explain that we're only taking it away in order to bring it back in a much improved form in the next releaseHopefully that will mitigate some complaints.
* I had previously stated there would not be a text mode for F18, which was a hedge given that no work had been put into it and no one was tasked with making it happen.  However, we found some people with some spare time so there is currently a basic text mode and I expect it will be much more complete (though perhaps still lagging the GUI a bit?) for this release.
* There will be no advanced filtering UI for this releaseMost Fedora users never even see this interface.  It's primarily for big enterprise installations and those users will not be completely out in the cold.  They will still be able to do installs but will just have to sift through all their many disks without helpThis will be fixed for F19.
* LVM partitioning is no longer done by default.


== Comments and Discussion ==
== Comments and Discussion ==
Line 64: Line 61:




[[Category:FeaturePageIncomplete]]
[[Category:FeatureAcceptedF18]]

Latest revision as of 14:03, 24 October 2012

New Installer UI

Summary

The existing anaconda graphical UI is really starting to show its age, both to the users and to the developers. Adding new features (especially for new storage technologies) is difficult, and there's no apparent overall design to the user experience. We'd like to fix that.

Owner

Current status

  • Targeted release: Fedora 18
  • Last updated: (August 17, 2012)
  • Percentage of completion: 80%

Detailed Description

The existing UI doesn't really have any cohesive design to speak of, nor has it seen any serious work in the past six or seven years. As such, we are really starting to hit the limits of what we can do with it. On some screens (for instance, the partitioning-related ones) there is entirely too much going on while other screens (like the root password) have very few widgets amid a sea of grey background color. Further, adding to the UI means either everyone has to see the new screen, or we have to come up with clever hacks for only making it appear in certain situations. There are also a whole lot of subtle little bugs due to the fact that much of our UI code is written by hand.

By replacing the existing graphical UI with our newly designed (and already being implemented) interface, we can fix all these problems. We started about a year ago with extensive design discussions that pulled in a variety of community and corporate user groups. We are now several months into implementation, during which time we are also modernizing the anaconda internals to allow us to be more responsive to future feature requests.

Benefit to Fedora

  • The hub and spoke model (see the User Experience section) means every user doesn't have to go through every page, making for a faster user experience and allowing us to add new pages without making a more complicated UI.
  • Third parties (rebuilders, etc.) will have a variety of methods for customizing the installer.
  • Users should notice a more consistent experience and a better use of screen space throughout.
  • Doing long-lived background tasks while the user is working on other things makes for a faster installation.

Scope

The changes are almost completely isolated to anaconda (there's some lorax patching required, but that's minimal). However within anaconda, this is a major body of work. We are taking this opportunity to also rewrite the packaging layer which is full of weird bugs, convert the internals to use pykickstart as a data store, remove old code, and more. This is on top of the design work and writing all the new UI.

How To Test

Most of the existing test plan relating to the user interface will need to be rewritten, obviously. This will require coordination with QA. While the UI is being written, we have a wiki page describing which parts work and can be tested: Anaconda/TestableUI.

We're putting images in front of QA right now, and the early results can be seen at UI test results.

It is my hope that we can come up with some way to automate UI testing, but I have not yet seen anything very promising.

User Experience

The graphical UI will be completely redesigned, so there will be a completely new user experience. The UI model we are following is called a hub and spoke. The user will get a limited number of screens up front that they must fill out (things like language), and then they will be put onto the first hub. From this hub, the user can choose what things to configure in the order they see fit. Then, they proceed to the second stage of the install where all their selections take effect.

We are also working on making a lot of tasks like repo metadata downloading happen in the background so the install is faster.

Dependencies

Since this new UI is making use of the latest versions of lots of GUI tools, lorax will require some changes to include new packages in installation images. Also, we are dependent upon those GUI tools and libraries not having any major bugs that stop our progress. So far, so good.

Contingency Plan

Development has been happening on a separate branch of anaconda git. We have a couple self-imposed deadlines, each of which is going to have a different contingency plans.

First, at some point before the development freeze, we need to merge the newui branch into master in git. At this point, regular anaconda builds will include the new UI and that's what everyone will see. Should we not get to a point where we're comfortable with merging before the development freeze, the contingency plan would simply be to not merge and wait for the next Fedora release.

Second, after merging we are kind of committed to taking this UI in for Fedora 18. It will be too large of a body of work to revert. Plus, much of our effort will have been spent on the newui branch which means regular bug fixing will have suffered. I do not have a good idea of what the contingency plan for this point will be.

Documentation

Release Notes

  • I had previously stated there would not be a text mode for F18, which was a hedge given that no work had been put into it and no one was tasked with making it happen. However, we found some people with some spare time so there is currently a basic text mode and I expect it will be much more complete (though perhaps still lagging the GUI a bit?) for this release.
  • There will be no advanced filtering UI for this release. Most Fedora users never even see this interface. It's primarily for big enterprise installations and those users will not be completely out in the cold. They will still be able to do installs but will just have to sift through all their many disks without help. This will be fixed for F19.
  • LVM partitioning is no longer done by default.

Comments and Discussion