Application Installation & Distribution



Hi all,

One of the to do items that came out of the GNOME OS BoF was for me,
Jon and Jimmac to come up with some guidelines for a new application
installation/distribution framework. I've been giving this a bit of
thought and have a few initial ideas that I wanted to share.

 * We need an app store. Having a centralised service for application
distribution would make it easier for people to find the applications
they are interested in, for us to generate revenue from those
applications (perhaps through donations that could be redistributed it
to 3rd party developers), and for handling application updates. The
app store can be online in the first instance. GNOME 3 will also need
a place where installed applications can be viewed and removed; this
could be part of System Settings or a separate application.

 * Core apps shouldn't be visible within the app store, and they
shouldn't be removable. Whether they are updated along with the core
OS or through the application framework seems to be more
of an implementation question.

 * Sandboxing is important from a security and a trust point of view.
Applications should be not be able to undermine or corrupt the core
OS, and we need a better way for unresponsive applications to be
detected and dealt with [1]. Applications should declare which data
and services (eg. location services, local storage) they want to
access. These should be visible when a user installs an application,
and there should be a place where users can review and potentially
revoke applications' permissions.

 * Online account access [2] can also be considered within the realm
of sandboxing. There are a few questions here. One is whether 3rd
party applications should be able to use online accounts that have
been set up using GOA. If they are, then we might want to include
these in per-application permissions.

 * Defined integration points: we should take this opportunity to
specify how applications integrate with the system. They should be
restricted to a single application launcher and be required to provide
an app icon of a certain size, for example. They should also be
required to follow the XDG naming spec, and we could also take this
opportunity to better define things like search and notification
integration.

 * We have yet to design a common sharing framework for GNOME [3], but
it is something that we would like and is another integration point
that we may want to define. I know that Colin is conscious of the
security implications of allowing applications to pass data between
one another, particularly in light of sandboxing. I guess that we need
to discuss this further.

 * OS version compatibility. This was already covered in the BoF, but
it's worth reiterating that ensuring that applications remain
compatible with the OS for a reasonable length of time is important
from a UX point of view.

 * We may want to take this opportunity to address issues with the
current application definition. One bug that comes to mind is [4].

Again, these are just initial thoughts, and they are only intended to
relate to user experience. They might serve as a useful starting point
though.

Allan

[1] https://live.gnome.org/GnomeOS/Design/Whiteboards/UnresponsiveApps
[2] https://live.gnome.org/GnomeOnlineAccounts
[3] https://live.gnome.org/GnomeOS/Design/Whiteboards/Sharing
[4] https://bugzilla.gnome.org/show_bug.cgi?id=646506
--
IRC:  aday on irc.gnome.org
Blog: http://afaikblog.wordpress.com/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]