ImproveSoftwareManagement

Summary

Currently we have few more or less integrated tools that are responsible for packages management - installation, updates etc.

The problem is that they all are based on _package_ as something very important. While usual desktop user doesn't care about 'package' - he cares about features.

So, we should add higer abstraction layer to something that is obvious for power users, and we should provide effective and integrated system that could allow to install/remove/upgrade _features_ not packages.

We got gnome-app-install but this application doesn't resolve all problems and user still has to use synaptic to install individual applications or libraries.

And another problem is that update-manager is application that should work together with gnome-app-install but it does not.

update-manages uses package names taken directly from apt, and these names are not important or more - they are just confusing for beginners.

We could solve these problems in easy way - we only need to redesign GUI in apps that are affected. But problem is not so easy - dpkg and apt are very limited and not so friendly for beginners as most of Ubuntu/Debian users think.

My idea is to redesign software management in Ubuntu from scratch and provide new software management system that is focused on features and not technical jargony.

Rationale

Use cases

Scope

Design

Implementation

We Will Need To Come Up With A System That Somehow Automatically Retrieves A Master List Which Would List CSV Style: The Friendly Package Name Eg: File Reader Its Resulting Package Name Eg: fileread-gui-i586-0.0056 A Description ( Eg: This Program Provides Service To Read <files> ) & Its Dependancies Eg: fileread

This Would Allow It To Know Ahead Of Time What It Needs & Would Have The Added Benefit Of Helping The User, By Guiding Them About What Packages Do What, & If They Want To Add Others

A System Called Patterns That Would Have Sub-Categories Further Sorting It, Could Also Be Established. It Could Contain A Easy Way To Install Software That Does A Particular Job, This Would Allow A User Searching For A Development System For C++ For Example, To Filter By Development Packages & Then By The C++ Sub-Category.

This Would Have To Be Integrated Everywhere Including Installation & Any Future Software Management Of Any Kind ( Including Update ). Maybe Using A Core Database That Everything Reads Could Help. This Database Could Be Updated From Mirrors To Ensure That It Always Contained All Updates & The Latest Packages.

Code

Data preservation and migration

Outstanding issues

BoF agenda and discussion


CategorySpec

ImproveSoftwareManagement (last edited 2008-08-06 16:20:04 by localhost)