PlasMate ~ UI and other stuff
Aaron J. Seigo
aseigo at kde.org
Mon Oct 19 21:20:31 CEST 2009
On October 18, 2009, Michael Rudolph wrote:
> On Sun, Oct 18, 2009 at 18:22, Marco Martin <notmart at gmail.com> wrote:
> > not sure about making it an overlay: has it enough "value" to be always
> > shown or can be usually hidden and shown only when needed?
>
> Hi Yuen Hoe, hi Marco,
>
> I don't think the preview should always be shown.
>
> If the preview feature were really, really good, it would still also
> be a distraction.
the entire point of using plasmate is to create a plasmoid/dataengine/runner.
it is the sole reason one is using it. i can't see how being able to easily
glance at what you have so far in your project is a distraction.
> Writing a plasmoid and testing it are two separate
> tasks or steps in the work flow, so it would be best to also separate
> them in the user interface.
here's the use case:
* i write a new plasmoid with three buttons and a text area that shows some
data based on which button i press
* i go to the preview area and click on a button and see it does nothing
(oops! i connected the wrong signal!); i fix this in the code
* i click a different button that does work and notice that the text area's
alignment isn't what i wanted so i change that in the code too
* i hit reload in the preview area and get to test my changes
this kind of tight code-test cycle is very productive for such components and
should be made easy. breaking it up into a multi-stage "work flow" would make
it unnecessarily hard to do such development.
if it's a distraction to you or you want to create a multi-stage workflow, you
can close/open or just move the preview elsewhere.
> But I hold, that one can't even get such a preview feature into the
> "good" state. For various reasons:
> - It would have to be "live", which means constantly saving and
> reloading and puts an unnecessary load on the system.
a) "unnecessary load" isn't bad when it comes to development tools if it makes
the tool more useful. unlike the desktop shell which must get out of the way
of applications at all opportunities, an app like plasmate can use the CPU
anyway it likes if it improves the experience
b) "live" makes no sense; only the user knows when it makes sense to reload
the widget after they've done a certain amount of coding. so this is a moot
point.
> - It's not obvious how to preview a data engine or a runner. (not
> really a big problem)
plasmaengineexplorer shows how this could be done. and for previewing runners
it would be the same thing: re-run a query or set of queries. they are
input/output beasts, so one creates a set of inputs and then the output can be
displayed.
fancier ways to drive this (e.g. scripts containing data sets and/or mappings
between input and expected output) are easy to imagine as well.
> - For most plasmoids previewing doesn't make much sense, they need to
> be "pre-interacted with", which further supports the claim, that
> writing and previewing are separate tasks.
i'm not sure what you mean by "pre-interacted" with, but i do know from
developing plasma applets and kicker applets before that that the most common
thing to do is "write some code, compile it, start the applet in the single-
window launcher (plasmoidviewer for plasma, i forget what the kicker analog
was called now, even!) and play with it, repeat. i don't know of any plasmoids
where this isn't the case.
if you mean that it would be nice to have the ability to script some "before i
start testing this feature, these N things need to be done" that'd be really
cool. it would also be way beyond what we have now with the existing tools, so
it isn't a deal breaker if we don't have such a feature right now.
> An additional advantage of not always showing the preview is that the
> user interface won't be that cluttered.
given that the entire point of using plasmate is to create these objects,
saying that showing the object somewhere is clutter is a bit odd. that said,
you can easily close/move a toolbox window.
--
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/20091019/a5ad40c8/attachment.sig
More information about the Plasma-devel
mailing list