Feature Name New Installer UI
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.
- Name: Chris Lumens
- Email: firstname.lastname@example.org
- Targeted release: Fedora 18
- Last updated: (DATE)
- Percentage of completion: XX%
Benefit to Fedora
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
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.
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.
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.
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.
- Most all our documentation is linked from Anaconda/UX_Redesign
- Mentioning the lack of a text interface will be important. A 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 release. Hopefully that will mitigate some complaints.