Social About Dialog
teo.mrnjavac at gmail.com
Sun Apr 11 12:30:30 BST 2010
Dear KDElibs people,
as you might know, last year I created a Social About Dialog for
Amarok based on the Attica library , which fetches contributors'
data from an Open Collaboration Services provider such as
openDesktop.org. As far as I can tell the reception has been positive
from both users and contributors, and even contributors who choose not
to share their OCS data appear in the dialog in a way that doesn't
look out of place.
At the time, the status and future of Attica was uncertain so I left
proper KDE integration for some time later. This time might just be
now. However, there are some design issues I'd like to bring to your
attention and request some advice.
1) In Amarok I chose to keep KAboutData intact, for this reason I had
to resort to a nasty hack: I created a QList< QPair< QString,
KAboutPerson > > to map OCS usernames to KAboutData person entries.
Now there's a chance to do everything the right way, so I just wanted
to ask if it would be ok for me to add an optional QString to
KAboutPerson to store the username of the contributor who wishes to
make his data available through the Social About Dialog. I would also
need to add a single provider ID string to KAboutData.
2) Attica is currently a mandatory dependency of kdelibs, but I can
imagine that mobile/embedded people might want to throw it out some
day, so there should be a way to use an offline About Dialog. On the
other hand, maintaining two dialogs would be extra hassle, especially
if we want them to look similar, and if apps get to choose which one
to use we'd have inconsistent behavior across the KDE desktop. So what
I would suggest, and would appreciate some feedback on, is this:
having a single About Dialog, which would present the usual offline
about data when there's no internet connectivity (or if Attica becomes
optional and is not available), and fetch the additional data through
Attica in all other cases for contributors who have added their
usernames. I'd use the current About Dialog as starting point, with
GUI elements from Amarok's Social About Dialog.
More information about the kde-core-devel