Application-centric interface for Update Manager
Name: Dylan McCall
Background: I'm an undergraduate student at Simon Fraser University in Vancouver, Canada. There I'm learning about software development, classical mythology, brains, and other things. I have a solid grasp of web and software development, especially with front-end work. For the last year I have been doing web development for the David Suzuki Foundation, which is a small ENGO in Canada. In 2010, I did a GSoC project for Ubuntu, touching up harvest.ubuntu.com with a fast and attractive interface. I have never really ventured into Debian land before, but omens keep telling me I should. This feels like a nice opportunity to start.
Project title: Application-centric interface for Update Manager
Project details: Changing the user interface for Update Manager, used in Debian's GNOME desktop, to be more friendly and more excellent.
My goal is to improve several parts of Update Manager's interface to bring it in line with how package management is starting to look, on the desktop, in Debian and many derivatives. My project stems from MPT's specification at wiki.ubuntu.com/SoftwareUpdates.
Armed with that specification, I want to change Update Manager to provide an application-centric view of updates, reducing some of the clutter and complexity that can trouble users when they encounter updates on Debian systems. By focusing on applications, we can provide a friendlier experience for users who are less comfortable with package management.
Benefits to Debian:
This does feel a little out of place, but Update Manager _is_ focused on Debian, and it is an important part of Debian's GNOME desktop. I believe improving this component will improve the experience people have with package management in Debian itself, as well as the rich population of distributions that are built on Debian. This project will certainly be spreading its love to many different places, and for that to work as well as possible I think it's important to work on this somewhere close to the roots.
Deliverables: A branch of Update Manager, ready to merge, with an interface similar to the specification, including packages grouped as applications.
Project schedule: how long will the project take? When can you begin work?
April 23 to May 21
- Become familiar with the Update Manager codebase.
- Research how current package management applications relate packages to applications. From the looks of it these things are not particularly beautiful yet. It might be a good idea to work out (and cement) components that can be shared.
- Additional planning for UI, including a wireframe with an update details pane.
May 21 to July 9
- Update UI outside package / application list. Remove empty space.
- Establish a nice data model for packages being updated, to allow for fancier display later on.
July 9 to August 13
- Detect application packages being updated
- Group updates by dependencies and source packages
Would be nice
Wireframes and implementation for DistUpgrade component.
- Detect need for system restart in advance of updates. This is in the specification, but it's difficult because reboot-required notifications are fired by a postinst script. Perhaps there is a nice way to know this in advance for some packages. It may feel tidier, and it might help in some more advanced scenarios as well.
- Investigate implementation of optional updates that are never installed automatically. This might require changes in strange places like apt, so possibly out of scope for this project.
Exams and other commitments: I may be continuing with a small amount of other web development work, but I don't expect it to interfere. I will keep you posted.
Other summer plans: If anyone is going to UDS-Q or PAX (okay, it's a long shot), it will be fun to meet you! Otherwise, no other plans
Why Debian?: I'm interested in learning more about the package management world, and in using Python for a desktop application. I have always found the Debian system to be a lovely thing, but I have usually stuck to Ubuntu. I'm interested in learning more about how things work in Debian, and meeting some of the cool people who are involved with this project.
Are you applying for other projects in SoC?: Nope.