Review Request: KDE Observatory (new plasmoid)
Aaron J. Seigo
aseigo at kde.org
Mon Nov 16 20:49:46 CET 2009
On November 16, 2009, Sandro Andrade wrote:
> somehow stable and with some minor enhancements to be done I think a
> review it's quite necessary because this is my first plasmoid :)
some thoughts:
* it should be in kdereview/plasma/applets/ and added to the build system;
i've done that now
* i see that it uses Qwt in one class. this is likely to diminish both the
user base of it as well as it's "plasma-ness". does Plasma::SignalPlotter give
you something similar? if not, then a check in the CMakeLists.txt file for Qwt
is required
* the collectors really look like something that would be better as a
DataEngine. putting data and visualization into one plugin is generally
frowned upon in plasma. things like the periodic updates of the collectors are
taken care of for you if you use a DataEngine, other widgets can more easily
use the results, the data can be shared between multiple instances of the
kdeobservatory widget and the widget would be more ready for remote widget
use. perhaps not necessary for 4.4, but should definitely be considered for
4.5.
* m_progressProxy should be a Plasma::Meter (i just made some relevant methods
slots in Plasma::Meter to make that even easier)
* collectFinished is probably getting called more often than needed as its
connected to multiple collectors; that means views and what not will get
updated for collectors that don't have new data?
* calling collection[something] as in "if (pair.second &&
m_viewProviders[view])" will create an entry in the collection if it doesn't
exist which is probably an unwanted (or at least unneeded) side effect; in
these cases you probably want m_viewProviders.value(view)
* passing in a rect and the code in IViewProvider::createView looks fishy and
indeed doesn't quite work; when KdeObservator::m_viewContainer changes
geometry, the views won't change their geometry. i'd suggest either using a
QGraphicsLayout or else putting an event filter on the view container and
adjusting the geometry of the views when the view container gets a resize or
related events.
* calls like m_right->nativeWidget()->setIcon are generally unecessary. use
m_right->setIcon() i'd look through all the nativeWidget() calls and see which
can be removed.
* on first update, it sat and spun for the better part of a minute writing to
disk. subsequent starts up are good. i wonder if this is because each commit
is added one at a time to the sqllite db instead of several at once? this is a
show stopper for first use in any case. it also happens when adding more days
to the context :/
* worse, it blocks the app while doing so. the db should either be updated
incrementally with regular returns to the mainloop to prevent blocking the
whole plasma application (e.g. plasma-desktop) or it should be done in a
thread (probably preferred in this case)
* the icon button in the Configure KDE Observatory page seems to have some
layout issues; here it overlaps the divider line at the bottom?
* sync'ing every minute might be a bit much for the default. 5 or 10 minutes
should be plenty for a default?
* speaking of defaults, is showing just one day of operations really enough to
give a decent and moral boosting overview? would the last week's worth of data
be better? a lot of projects see sporadic but regular commits and "one day"
may not be a whole lot of progress. plasma is active daily as are some of the
other big projects like kdepim ... but not all are so lucky. this does make
the db building problem worse, of course.
* why is "enable transition effects" an option?
* why are some view options in the global config options and others in the
Views page?
* from a user's perspective, why is there a "global config options"? would
another name be more useful?
* the automatic transitions are nice, but when trying to page through them
with the left/right buttons it really gets in the way. perhaps a "play/pause"
button could be added to the interface and automatically set it to "pause"
when one of the arrow buttons are manually pressed? perhaps the transition
could also pause when the mouse is placed over a graph; this would make the
tooltips more easily reachable, as right now getting tooltips is a bit of a
challenge when the animations are ongoing.
* it seems that whenever the data is updated, the "slide show" starts from the
beginning again; it looks a bit odd to have it start all over again. could it
simply keep going with the slideshow instead of restarting it?
* the scroll arrows feel "backwards": the right arrow should take me to the
"next" item, which means things should scroll to the left not the right.
* it would be really nice if it were possible to aggregate some project data;
e.g. "plasma" is really kdelibs/plasma + kdebase/runtime/plasma +
kdebase/workspace/plasmas + kdeplasma-addons ... not a required feature for
sure, but a nice one to have perhaps
* it would make the widget much more immediately approachable if there were
some project presets shipped, such as ones for kdelibs, kdepim, kdegames,
plasma, etc. do you have thoughts on how that would be best achieved?
ok, that's probably more than enough for now :)
--
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43
KDE core developer sponsored by Qt Development Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20091116/e43caf26/attachment.sig
More information about the Plasma-devel
mailing list