Re: Modulesets Reorganization



Hey Lucas,

Overall this sounds good to me.  Definitely a step in the right direction.

...
> In summary, this means that the GNOME releases would be composed by the
> following modulesets:
>  - Desktop
>  - Platform
>  - Extended Platform
>  - Mobile

A few questions about this list.  Is Platform a platform for creating
an OS core or a platform for creating applications?  There is a
difference.  Today, our story there is muddy.  We don't really have a
strong application development platform.  Certainly, for example,
nothing like:
http://developer.palm.com/index.php?option=com_content&view=article&id=1654

If Platform really means OS Platform then I'm not sure it makes sense
to identify this separately from the product release (that which we
call Desktop now).

Why is Mobile separate?  I suppose this really means Mobile OS
Platform since we don't yet have a GNOME user experience for mobile
devices.  However, since GNOME 3 is already targeting netbooks and
tablets we will soon.  I would say that we shouldn't dilute the GNOME
brand and resources on a Mobile module set until we have a GNOME user
experience for handhelds.

GNOME 3 is not a grab bag.  It is a set of experiences around an OS.
This OS is defined by the user experience of the core (or shell) and
the vibrancy of the marketplace of add-ons (applications).  The
vibrancy of the marketplace is at least partially related to the
simplicity, coherency, and suitability of the application development
platform.

To me, GNOME offers three things:
 1. Core OS user experience
 2. Application developer experience
 3. Application ecosystem

With GNOME 3, so far, we have been focused on addressing 1.  And this
proposal partly reflects that.  But I think we'll need to eventually
shift our focus to the other two.  We haven't really tried to design 2
much yet - not from an experience design perspective anyway.

So, what is part of 1 and what is part of 3?  One way would be to
start by ask the following questions:

 * Does the overall design of the system call for it?
 * Is it compatible with the core system design?
 * Does it integrate tightly with the core system?
 * Does it meet all of the minimum requirements for the core system?
 * Are you willing for it to have a generic identify or lack a
distinct identity and be only part of the system core?  (See
http://blogs.gnome.org/mccann/2009/08/08/whatchamacallit/)
 * etc.

If the answer to any of those is no then it should not be a part of
the core user experience I think.

Here are three examples.  (to be more concrete but please don't get
sidetracked by them)

Example 1: Empathy

The overall system design calls for including chat and contacts
functionality.  It meets most or all of the requirements.  It is a
great app made by folks committed to the success of GNOME.  However,
with such a rubric we'd want to rename the tool to "Chat" or similar
and ensure that it continues to be more integrated with the core.  The
good news is that it sounds like this is ongoing or under
consideration already.

Example 2: Caribou

The core system design calls for an on screen keyboard:
http://live.gnome.org/GnomeShell/Design/Whiteboards/ScreenKeyboard .
However, we haven't yet determined the details of the design or how it
would integrate or cooperate with the Shell or a11y or i18n input
methods etc. (help appreciated there btw)  So, unfortunately until we
do that it shouldn't be in the core.  Not due to any failings of the
tool authors at all.  But the default should be out, not in.

And there are many other examples of quality applications that (it
seems) would very much prefer to remain separate and have a separate
brand identity: gedit, inkscape, shotwell, etc.  So, they should not
be part of the core either.

That said, we aren't doing anyone a service by just turning our backs
on great software.  On the contrary, we need to foster and encourage
it (this is number 3 above).  Communities and ideas like this need a
place to make them seem real.  Even if that place isn't the only one
and even if it is only symbolic.  I propose that we create a GNOME
Marketplace for applications, games, and utilities that aren't part of
the GNOME core.  If we do it well then this will actually provide a
lot more value to the application authors than we ever could by simply
accepting it into a list of desktop modules.  Think of it as a living
module set.

Once we decouple application development from the core OS development
we'll quickly find that our application developer experience is less
than ideal (number 2 above).  So, ideally, it would be better if we
work on them in concert.

So, what does this mean with respect to your proposal?  Maybe:
 * Rename Desktop to Desktop Core (or similar)
 * Drop Mobile for now until we start to design a Mobile user experience
 * Drop Platform for now until we start to design an Application Platform
 * Create a GNOME Marketplace website and service with client support
built into the Desktop Core

Things not directly related to the moduleset proposal include:
 * Start designing an Application Developer Experience
 * Focus GNOME release management on the core image

Personally, I think these things would be really exciting and I hope you do too.

Thanks,
Jon


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]