App installer design: click packages

Matthew Paul Thomas mpt at
Fri May 10 10:45:37 UTC 2013

Hash: SHA1

Colin Watson wrote on 08/05/13 11:14:
> ...
> So, at Steve Langasek's request, I've been putting together a
> proof of concept of a low-level app package installer and
> packaging format. Highlights of what it can do so far are:
> ...
> * installs each app to an entirely separate directory
> * entirely declarative: maintainer scripts are forbidden

Do these two entail that an installation/update/removal can be
interrupted at any point without corrupting the system?

This is, as I understand it, a long-standing problem with deb/dpkg. A
PC has a power outage or a kernel panic while a package is installing
or updating, and the packaged software becomes unusable, and possibly
stymies future package operations too.

An interruption like this is much more likely to happen on a phone or
tablet, because it's much more often on battery while you're
installing something.

> ...
> To do, but not in this project:
> * package acquisition

While designing session-installer error messages, I was told that apt
returns localized error messages but not error codes, making it
impractical for a UI wrapper to respond appropriately to different
kinds of error (e.g. providing a "Try Again" button only when trying
again might actually work). Avoiding this in any new system would be

> * indexing support and other frontend things (i.e. the app store)

That will affect the package format. For example, each package
providing metadata in multiple languages.

> ...
> Is there anything else people can think of that a system like this 
> needs to consider?
> ...

A system that aims for an order of magnitude more applications, than
Debian or Ubuntu has packages, should not rely on every package having
a unique name. For example, a package should not determine the name of
the installation directory itself.

Finally (and most bikesheddingly), a system initially aimed at phones
and tablets should not be named after something you do with a mouse.

- -- 
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with undefined -


More information about the ubuntu-devel mailing list