Re: Module semi-proposal: gnome-shell
- From: Willie Walker <WillieWalker charter net>
- To: Owen Taylor <otaylor redhat com>
- Cc: desktop-devel-list <desktop-devel-list gnome org>
- Subject: Re: Module semi-proposal: gnome-shell
- Date: Mon, 02 Nov 2009 20:15:46 -0500
Hi Owen:
Many thanks for making this a formal proposal for comments. I think we
all want to get behind GNOME Shell as a nice whiz-bang feature to make
people want to move to GNOME 3. With the magnification support going
into GNOME Shell, the accessibility team is also building in a
dependency on the success of GNOME Shell. So - we want to see it
succeed.
GNOME Shell is currently pretty much inaccessible, however, with the big
deal breakers being keyboard traversal (try to accomplish GNOME Shell
activities without a mouse) and AT-SPI support (try to examine and
interact with GNOME Shell components via accerciser). Theming is also
another issue, but perhaps not as strong as the other two.
Since accessibility is a core value of GNOME, these things really need
to be addressed before GNOME Shell is fully blessed, IMO.
Thanks!
Will
On Mon, 2009-11-02 at 17:12 -0500, Owen Taylor wrote:
> Oh, the deadline was *last* Monday? Actually, I knew that, but it snuck
> up on me, then it took me a few days to figure out what I wanted to say
> here...
>
> This should be read as a semi-proposal: at this point I don't think
> gnome-shell is going to be ready to be shipped as a final component on
> the 2.30 schedule. But getting it into people's hands is important for
> having it be ready for GNOME 3.
>
> So what makes most sense to me is to view 2.30 as a dual release; to
> have a set of stable modules that make up the normal GNOME 2 desktop
> release and a set of preview modules that can be added on to get a
> beta of the GNOME 3 experience. (By beta I mean not a release candidate,
> but rather a stabilized version that is suitable for widespread use
> and testing but may undergo substantial changes before the final
> release.)
>
> Purpose:
>
> GNOME Shell is intended to replace gnome-panel and Metacity in the
> GNOME 3 desktop; it takes on roles such as switching to windows,
> launching applications, and displaying and letting the user interact
> with notification.
>
> Target:
>
> In GNOME 3, GNOME Shell will be a core part of the GNOME desktop.
>
> Dependencies:
>
> In addition to standard GNOME platform and desktop modules, GNOME Shell
> currently depends on:
>
> Clutter: gnome-shell-2.30 will depend on Clutter 1.2 which is
> planned to be finalized around January.
>
> GJS and SpiderMonkey: Currently gnome-shell is build using the
> GJS bindings to Javascript which work with the Mozilla SpiderMonkey
> Javascript engine. The comparison to seed/JavascriptCore has been
> discussed quite a bit in the past, I don't want to go into in
> detail here; basically the advantages for us are:
>
> - We have it working right now and don't have to spend time
> converting things over.
>
> - We get access to a range of nice, but not essential, extensions
> to Javascript that have been added by the Mozilla developers
> based on their needs developing a complex application with JS;
> these include:
>
> - Destructuring assignments: [x,y] = event.get_coords();
> - let variables with lexical scoping
> - Array.forEach()
>
> In one sense SpiderMonkey is not a problematic dependency;
> SpiderMonkey is distributed as part of xulrunner, and will be
> present on virtually any computer where GNOME is available.
> GJS is a very small library on top of SpiderMonkey and poses
> few issues in its own. It probably would be a preview desktop
> module in the same category as Mutter and gnome-shell.
>
> On the other hand: it is conceptually messy for GNOME to depend
> on two Javascript implementations and runtimes and it might be
> a PR problem in presenting GNOME as a project that knows where
> it is going :-)
>
> And SpiderMonkey has another issue; it is distributed only as
> part of xulrunner, and the xulrunner libraries have no binary
> compat guarantees between minor versions, so things linked against
> SpiderMonkey can need a recompile for Firefox security updates.
>
> My feeling right now is to leave figuring out the Javascript
> engine situation as something to do as time permits, perhaps it
> will get clearer on its own if let sit. But if this is seen
> as a major problem, then we can prioritize to make sure that it is
> done early on.
>
> Mutter: Mutter is a conversion of Metacity to be a Clutter-based
> window manager and compositing manager. In addition to being used
> in gnome-shell, it is is a core component of Moblin. It's
> maintained jointly by me and Tomas Frydrych.
>
> (I'm not going to do a separate module proposal for Mutter, read
> this as a proposal for both; I'm not aware of any issues with
> Mutter that aren't a subset of those discussed in this proposal.)
>
> ? Zeitgeist: I'm a little uncertain about this; we have patches
> around (that I've promised to review, but haven't yet :-() that
> integrate the 0.2 branch of Zeitgeist into gnome-shell in a very
> straightforward way without changing the UI - it's basically used
> as a replacement for .recently-used.xbel.
>
> This is a reasonable first step to integration, but in itself
> doesn't motivate adding an extra dependency; that needs to be
> motivated by a better understanding of what it will do for users and
> what the user interface will look like for GNOME 3.
>
> My initial understanding of the Zeitgeist engine was that it was
> a data collection engine to collect a rich view of how the user
> used their computer over time, which would then be used to build
> an OLPC style journal interface; but that understanding fuzzes
> at the edges when people are pressed about this, things like
> deducing related documents from temporal overlaps and tagging
> enter into the picture. This doesn't make me comfortable.
>
> There are also questions here of the relationship with Tracker. If
> Tracker really lives up to its promise, shouldn't timeline
> information simply be extra metadata added in the Tracker store;
> after all, a timeline really is just an indexed and extended
> view of the classic ctime/mtime/atime metadata?
>
> If querying the Tracker database for this is a) not sufficiently
> efficient b) too cumbersome to code c) requires expert training
> in RDF, then that, to me, would throw doubt on the whole Tracker
> enterprise.
>
> What would make us most comfortable would be a comprehensive
> picture of how Tracker, Zeitgeist, and Nautilus work together
> with the shell to allow finding your stuff. Now it is probably
> not completely realistic for me to hang await for this to show
> up in my inbox in finished form, so the first step (from my
> technical perspective) is to get a clear statement of what the
> Zeitgeist engine does, what new user interfaces are enabled by
> that operation, what it does *not* do, and how it relates to
> Tracker.
>
> If the Zeitgeist people are interested in being in GNOME 2.30,
> perhaps they can provide a similar preview module proposal to this
> and answer that question there.
>
> Resource usage:
>
> GNOME Shell is the gnome-shell module in GNOME Git, the gnome-shell
> product in bugzilla.gnome.org, gnome-shell-list gnome org, and
> #gnome-shell on irc.gnome.org.
>
> Adoption:
>
> Packages of GNOME Shell are available for most major operating systems
> and distributions that use GNOME as a desktop either as part of the
> latest versions or from 3rd party sources. Nobody is currently
> using it as the default GUI.
>
> GNOME-ness:
>
> In addition to the use of GNOME resources as mentioned above;
> GNOME Shell development is being done as close to possible to the
> GNOME community; it has been a major topic of discussion at last
> years and this years Boston GNOME Summit and at GCDS this summer;
> the GNOME art and design community have been extensively
> consulted (we could use more help!), it is translated by the
> GNOME translation teams, and so forth.
>
> License:
>
> GPL
>
>
> _______________________________________________
> desktop-devel-list mailing list
> desktop-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/desktop-devel-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]