← Back to team overview

ubuntu-accomplishments-contributors team mailing list archive

Re: viewer now needs a gwibber-gtk package dependency to work

 

I know several possible solutions to this problem, and am unsure which
is the most appropriate.

1. Add `gir1.2-gwibber-gtk-0.2' as a dependency of the
`accomplishments-viewer' package.
     This is uncool, because `gir1.2-gwibber-gtk-0.2' pulls in some
gwibber libraries, which pull in gwibber itself. That would mean
everyone who uses accomplishments-viewer would be forced to have
gwibber installed too. Although gwibber is installed by default, some
people remove it for many reasons, and it would be unfair if we
required them to install gwibber to use the Accomplishments Viewer.
[That's the solution we temporarily agreed on with Jono, aiming to fix
it afrter 0.3 only if it turns out to be a significant issue for many
users.]

2. Add `gir1.2-gwibber-gtk-0.2' as "Recommends:" of Viewer package,
and display the "Share!" button only if GwibberGtk module is present
on user's system.
     This solves the above problem, as you can choose on your own
whether you are into social networking and want to use gwibber, and it
leaves the Viewer fully working if one chooses to remove gwibber from
his system. Using "Recommends:" would display `gir1.2-gwibber-gtk-0.2'
as an optional addon to the Viewer when installing it from Ubuntu
Software Center - however, it would be displayed as "Typelib file for
libgwibber-gtk2", and I doubt if anyone would guess this has to be
installed to enable social integration...

3. Use a custom package that pulls in `gir1.2-gwibber-gtk-0.2'.
     In 2) the problem is that description of gir1.2-gwibber-gtk-0.2
is confusing, this might be solved by creating an empty package
"accomplishments-viewer-gwibber-integration" that would have a clearer
description and thus would make it easy to understand that this has to
be installed to enable gwibber integration. Of course this package
would Depend on gir1.2-gwibber-gtk-0.2, and accomplishments-viewer
would Reccomend this package. This way this additional feature could
be simply enabled from USC. The drawback is that this would mean
maintaining one more package (although it's metadata might be stored
withing accomplishments-viewer branch), and I am not sure if we want
it.

4. Display the "Share!" button always, but if GtkGwibber module is not
present, encourage user to install `gir1.2-gwibber-gtk-0.2'.
     This solution also enables user to use accomplishments-viewer
without gwibber. The idea is to simply show a message ("To enable
integration with social networks, you need to install
gir1.2-gwibber-gtk-0.2 package.") in case the package is not installed
when clicking "Share!". This would, of course, affect user experience
- when one wants to share something for the first time
(gir1.2-gwibber-gtk-0.2 is not installed by default), he clicks
"Share!", then has to read a message, go to USC, wait till things
install, then return to viewer, and retry sharing. This is not very
friendly. [Although we might implement a feature that if you answer
"Yes" to a similar message, then the package gets automatically
installed and the user does not need to go to USC etc. at all, but
that would be difficult to correctly implement - according to Stuart,
we would have to manually deal with lots of possible problems when
installing the package, eg. lost connection, broken package, and tons
more.]

This pretty much sums up solutions I am aware of.

In our previous discussion with Jono we have decided that we may go
for the 1) option, forcing everyone to use gwibber, and see if this
gets a common problem for people - if yes, then we would fix it after
0.3 release. However, if anyone else knows any other solution, or
wants to share his opinion on any of above, I encourage to do so :-)


Follow ups

References