kde plasma workspace structure
Aaron J. Seigo
aseigo at kde.org
Sat Jun 9 11:37:30 UTC 2012
On Saturday, June 9, 2012 13:11:21 Alex Fiestas wrote:
> On Sat, Jun 9, 2012 at 11:13 AM, Aaron J. Seigo <aseigo at kde.org> wrote:
> As notmart said in one of the threads where we discussed the vision,
> does the user want to execute an application or what he/she wants is
> to read the pdf?
that does not make the application a part of the workspace. otherwise EVERY
application that some group of users relies on is part of the workspace.
it seems people are confusing "needed by a user" to mean "is part of the
workspace".
what is in the workspace is not determined by importance. it is determined by
thematic inclusion: what is part of the computer system (hardware interaction,
application interaction, search, settings, ..) and what are things (windows,
applications, however you wish to divide them) that deal with *my* data and
information.
that is a clean logical split and one you'll find most users naturally
gravitate towards.
they don't see the panel as an application. they do see their photos as
something different. why? because they have a different personal relationship
with those tools.
that is the division we're striving for.
btw... if "is important for users" is the metric for workspace inclusion,
ksysguard (and all process monitoring UI) does not meet that requirement and
should not be part of the workspace.
but if the workspace is about the division between "sytem" and "user" tasks,
then it quickly sorts itself out cleanly.
(and btw, there are computers used every day out in the real world that never
view a single photo. these limited use systems are found in offices all around
the world ..)
this does not mean that the applications should be random in appearance or
have no points of integration (in fact, the workspace representing the system
means it must integrate for things like background jobs or passive
notifications). it just means that these components are not part of the
workspace itself.
when you start to work on the design of a desktop shell and then switch to an
application, the different design requirements start to become apparent. you
can get away with a lot more in application code than you can in workspace
code, from resource usage (CPU, etc.) to UI uniqueness to API design to
ergonomics ...
> > the desktop shell, the command runner, the window manager and various
> > other
> > components are started on behalf of the user to make the system
> > essentially
> > usable.
> >
> > system settings and similar applications are there to interact with the
> > system itself, not to grant access (view/manipulate) the user's own
> > information (files, contacts, websites, etc.)
> >
> > if we go down the path of "what application is essential to the user"
> > we'll be utterly screwed because:
> >
> > * that changes over time
>
> Great ! if we are aware of this we can react quickly and provide
> applications that will fit our users needs.
which users, which time scale, do they all change at the same pace / time?
> > * that changes between use cases
>
> We have to define personas, targets, whatever it takes so we can focus
> in a group of people.
> If the group of people is large enough then we should give priorities to it.
you can't make the messy world tidy just by wishing it was tidy.
90% of users use 10% of the features, but which 10% they use is different
between users. (Linus was the first person i heard say this clearly :)
one finds that the choices are:
* go for a large user base and deliver enough features to cater to them
* go for a limited user base and offer a tightly focused feature set
the latter doesn't work out economically. for proprietary systems you can't
make enough money to pay for the engineering. for open source systems you
can't keep enough developers to get the engineering done.
> Good example of this is Active, even if we had a super wonderful
> workspace in there (which we do) it wouldn't so useful if we weren't
> able to view pictures, browse the web etc...
again, "important" is not the same as "it's part of the work space"
> So what is really worth is Active workspace + bunch of applications
> that will make the experience complete.
agreed .. but the applications are still not part of the workspace.
they are not designed with "this is part of the workspace" in mind.
if we want to get dolphin, gwenview, etc. more harmonized and following more
common ideas that's terrific and i am very much in favour of this.
we can certainly also find integration points with the workspace that they can
use (SLC is one example that springs to my mind, of course :)
and yes, this will make them even more compelling when paired with the
workspace.
but the workspace is not the applications. and the applications are not part
of the workspace.
btw, this also ensures the workspace remains a happy place for people who,
say, use KDevelop or do video editting or $WHATEVER_ELSE. this clear mental
separation is critical to keeping the workspace generally useful as opposed to
highly useful only for a mythical persona and poorly useful for everyone else.
if you don't believe me, look around at the other options out there right now.
see which ones people like and which ones people are having a hard time
swallowing. the success of MacOS isn't that the applications are part of the
workspace; the lack of enthusiasm around gnome-shell is inspite of their
taking a "everything is part of the workspace" approach.
instead, try to sort things into categories:
* workspace
* core apps
* everything else
design the workspace to be an awesome frame and set of support tool for the
latter two.
make the core apps seamless with each other, ensure they use all the
integration points offered by the workspace.
everything else will then take care of itself.
--
Aaron J. Seigo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20120609/c961e5cb/attachment.sig>
More information about the Plasma-devel
mailing list