Re: Lowering barriers

2007-11-14 Thread Rich Burridge
 It would be really sleek if we came up with a utility that could do this
 for Gnome/GTK apps, and I think it would lower the barrier for people to
 try to start developing.  If we had something that worked like, say:
   ghack --python --docs --intl projectname

A few years ago, when I was starting out with 
GNOME, Gtk+ and the autotools, whenever I wanted 
something like this, I'd fire up glade-2 and 
create a mini-project with all the files I needed 
by clicking on the Build button.

I'd then munge the generated files to get what I 
wanted.

Maybe ghack could start from the old glade-2 code
to get what you want.

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: Rise of the Plugins

2007-11-14 Thread Dylan McCall
I think bumping functionality to plugins is a pointless operation,
especially in a desktop environment that tries to follow the idea of having
a lot of small programs that each do simple tasks very well. Interfaces like
D-Bus let us create top-level applications (for lack of a better term in my
dictionary) act like plugins by communicating all sorts of information with
applications in an intuitive, generic way. The coolest thing with that sort
of functionality is that there is a lot of room for standardization, such
that programs can interoperate via D-Bus with other programs that they were
not even intended to work with.

This plugins madness, on the other hand, involves every program having its
own silly way of doing plugins. In addition, like joined windows handled by
individual programs themselves to represent multiiple documents (a ramble I
will leave for another day; bottom line: Fluxbox does it right), the extra
processes are effectively concealed from lower level systems. I can't say I
am hugely knowledgeable about the lower level systems that I vaguely
mention for fear of sounding like too much of an oaf, but I know there are
already systems that handle resource distribution and memory management for
processes they know how to handle. These plugin systems tend to do that same
thing in their own ways, but those ways happen to be much less carefully
crafter and do not have years of attention behind them.

Besides that, those plugin systems rarely offer functionality we cannot get
through even a separate program. One unusual example is Epiphany's
extensions. Those tend to be very simple plugins that trigger single
additions to the core behaviour of the program. Going through the dialog
where they are chosen, it feels a lot like regular program preferences, and
that is made moreso by the unusual ability for extensions to immediately
start working without the need for a browser restart. For example, I can
turn on the Tab Sizer extension and have my tab bar immediately sized to
always fit on the screen with no need for scrolling.

In theory, Evolution's plugins would offer that same feel, but they don't
really. I think a reason for that is they often add /a lot/ of functionality
and require configuration; one must peel through two layers of configuration
tools to get what he needs. Instead of Epiphany (Resize tabs to fit
window? Block ads? Scroll with middle mouse?), Evolution's plugins are
a lot of groups of yet more options (IMAP Features) -- although this isn't
always the case, for example with Block plain text.

Frankly, I think the underlying flaw is in Evolution's core design. It is
built to be a very big program, promoting very big plugins; if each plugin
there just did a single thing each, we would have not just tens, but
hundreds of them!
Clearly, the problem of having an enormous core was observed and acted upon,
but the solution just creates a new problem: A lot of plugins, which feels
frighteningly similar to KDE. A smoother course of action, and one which
fits more with the expected behaviour of GNOME software, would have been
(and still would be) to split Evolution into a bunch of individual programs.
Not just sub-programs handled by a miniature operating system, but actual
individual tools; Mail, Calendar, Notes, etc.
This way they are modular components in a way that other applications can
easily work with, and, most importantly, those preferences dialogs shrink to
a tiny fraction of their initial size. No need to split Mail, Calendars,
etc. via tabs; the options can be easily divided and quickly figured out by
the easy idea that these are different programs, with different top-level
windows. In the places where plugins do still serve their purpose, they can
be much simpler plugins built for each component. Plugins could be nicely
aimed at certain components, so instead of being for Evolution as a whole,
being for Evolution's mail handling system.

Most importantly, when functionality so significantly unusual that it
couldn't fit in the core of Evolution still wants to work within Evolution's
systems, it would not have to be implemented as a huge plugin, but as a
simple alternative to one of its major components, easily implemented by
adhering to some standards so that it looks the same as the old component
(to Evolution's different programs), and otherwise being a completely normal
application visible in the main menu.

Bye,
-Dylan McCall


On Nov 14, 2007 12:50 PM, Baptiste Mille-Mathias 
[EMAIL PROTECTED] wrote:

 On May 17, 2007 5:26 PM, Vincent Untz [EMAIL PROTECTED] wrote:

  Moving features to plugins/extensions
  =
  (thanks to Baptiste for having raised this specific issue)
 
  One of the first thing people are doing with plugins/extensions is
  moving some of the current features there. It often makes sense from the
  code point of view, since things will be cleaner. But it doesn't always
  make sense for the user.
 

 I wanted to bring back 

Re: Rise of the Plugins

2007-11-14 Thread Philip Withnall

On Wed, 2007-11-14 at 14:26 -0800, Dylan McCall wrote:
 I think bumping functionality to plugins is a pointless operation,
 especially in a desktop environment that tries to follow the idea of
 having a lot of small programs that each do simple tasks very well.
 Interfaces like D-Bus let us create top-level applications (for lack
 of a better term in my dictionary) act like plugins by communicating
 all sorts of information with applications in an intuitive, generic
 way. The coolest thing with that sort of functionality is that there
 is a lot of room for standardization, such that programs can
 interoperate via D-Bus with other programs that they were not even
 intended to work with. 

*snip*

 Frankly, I think the underlying flaw is in Evolution's core design. It
 is built to be a very big program, promoting very big plugins; if each
 plugin there just did a single thing each, we would have not just
 tens, but hundreds of them! 
 Clearly, the problem of having an enormous core was observed and acted
 upon, but the solution just creates a new problem: A lot of plugins,
 which feels frighteningly similar to KDE. A smoother course of action,
 and one which fits more with the expected behaviour of GNOME software,
 would have been (and still would be) to split Evolution into a bunch
 of individual programs. Not just sub-programs handled by a miniature
 operating system, but actual individual tools; Mail, Calendar, Notes,
 etc. 
*more snippage*

I think you've hit on a great point here, and while I don't know much
about the logistics and internals of Evolution, I would certainly
welcome splitting it into several smaller programs. While a large
all-in-one program is better for office environments which use all the
functionality, everyone else is less likely to use all of it. For
example, the memos and tasks parts of Evolution may be usurped by Tomboy
for certain people; other people might want to just use the e-mail
functions, and not bother with calendars or tasks. Yet others might want
to use Evolution's tasks and memos, but keep their e-mail on Gmail.

Another problem I've been thinking about is how Soylent could/should
interact with e-d-s as far as contacts go. I can foresee people wanting
to use Soylent to manage all their contacts, but use Gmail for their
e-mail. Soylent would require e-d-s to be installed though, and they
wouldn't want or need it for anything else. This big, monolithic daemon
is being installed and run, and they're only using a small part of its
functionality. There should be a better way.

You could solve this with huge plugins, but as you say, I think we might
want to look at splitting Evolution up, and having the components
interact via DBus so that no functionality is lost, but instead extra
flexibility is gained.

I hope that something like this can happen, and while I can't currently
have a go at it myself, I'd hope to in the future.

Philip

 Most importantly, when functionality so significantly unusual that it
 couldn't fit in the core of Evolution still wants to work within
 Evolution's systems, it would not have to be implemented as a huge
 plugin, but as a simple alternative to one of its major components,
 easily implemented by adhering to some standards so that it looks
 the same as the old component (to Evolution's different programs), and
 otherwise being a completely normal application visible in the main
 menu. 
 
 Bye,
 -Dylan McCall
 
 
 On Nov 14, 2007 12:50 PM, Baptiste Mille-Mathias
 [EMAIL PROTECTED] wrote:
 On May 17, 2007 5:26 PM, Vincent Untz [EMAIL PROTECTED] wrote:
 
  Moving features to plugins/extensions
  =
  (thanks to Baptiste for having raised this specific issue) 
 
  One of the first thing people are doing with
 plugins/extensions is
  moving some of the current features there. It often makes
 sense from the
  code point of view, since things will be cleaner. But it
 doesn't always 
  make sense for the user.
 
 
 I wanted to bring back to discussion to the list because
 originallythe
 the thread ended in a discussion about licence, but there was
 no
 discussion about the UI / usability of plugins in the GNOME 
 applications.
 
 I've just open a bug concerning Evolution regarding the way
 plugins
 are handled.
 (http://bugzilla.gnome.org/show_bug.cgi?id=496839)
 
 As more and more application comes with their plugin
 infrastructure,
 it would be nice to have a great solution :)
 
 Thank you
 
 --
 Baptiste Mille-Mathias
 Les gens heureux ne sont pas pressés (merci vuntz) 
 ___
 desktop-devel-list mailing list
 desktop-devel-list@gnome.org
 

Re: Bumping avahi requirement for GNOME to 0.6.21

2007-11-14 Thread Elijah Newren
On Nov 14, 2007 9:44 AM, Shaun McCance [EMAIL PROTECTED] wrote:
  Oh, and didn't we agree at the last r-t meeting to have build break
  requests moved from d-d-l to release-team@, in order to lower the mail

s/build break requests/external dependency changes/

What in the world does build break requests mean anyway?  I need more
sleep or something...

  volume there?  We need to update that wiki page with the new
  instructions...

 That would preclude me from seeing the requests.  While none
 of the freezes require approval from the documentation team
 approval, the release team often makes their UI freeze break
 approvals contingent on approval from the documentation team.

This has nothing to do with freezes and freeze break requests and
there are no plans to change those.

 On a related note, is this the authoritative page for freezes?
 http://live.gnome.org/ReleasePlanning/Freezes
 I thought it was agreed that UI and string breaks required
 notification to the documentation team, but I don't see any
 mention of that on the page.  I'll gladly fix it, unless I'm
 mistaken about the notification requirement.

Um, it almost looks more historical taking a look at it, but we have
page that is more official.  Feel free to fix it up.  Thanks!

Elijah
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Evolution Plugins (Was Re: Rise of the Plugins)

2007-11-14 Thread Sankar P
Hi All,

Some of the issues that were discussed (here and in #496839) and my
personal take on them will be:

1) Plugin list being un-manageable 

I am thinking of adding a smart-search-box which will query based on
plugin-names and pre-defined-tags associated with each plugin. This will
make it easy to find out the plugin that you are looking for.

Do you have any suggestion for how you want the Evolution Plugin-manager
to look like ?  Can you send any mockups that you have in mind ?

2) Some plugins should not be shown 

This may not be possible as people may not want a functionality
implemented by a plugin. Disabling this plugin helps them to save
screen-real-estate (menu-items etc) and reduces memory foot-print. 

If any of the core feature is implemented as a plugin, I accept that it
should not be shown in the plugin-manager and will happily remove it
from the plugin-manager list. (It should have been core-code than a
plugin in the first place though) 

HTTP Calendars and IMAP Featuers are not core features since it may not
be needed by everyone. Say a corporate Evolution-GroupWise user.

3) Splitting Evolution into individual applications

I have seen this asked by people a few times. But I wonder what good a
mail-client or Calendar-client will be without an addressbook. 

Evolution shell will not load a component (Tasks or Notes) unless you
click open the component (except for addressbook) explicitly. But some
people have a mis-conception that all components are always loaded (and
hence consumes memory etc.)

IMHO a better approach will be to make the user choose what components
he want to see in his Switcher. Say if someone wants to use only Mailer
and Address-book, do not bother showing the Calendar component in the
switcher.

Atleast for me, It will be far more useful than launching two or three
applications everyday morning (Mail/Calendar/Tasks)

4) Evolution Preferences Dialog is Horrendous

Yes. This is a terrible thing to have especially when you are working in
low resolution. The reason why this was so mammoth was because even the
plugin configurations were added to the General preferences. 

From 2.12 onwards, we have Configure support for plugins and hence
people can configure plugins within the plugin-manager window itself.  

attachment-reminder plugin's configure UI has been already moved from
General preferences to Plugin-Manager-Configure already. Work is on for
Automatic-Contacts and other plugins already.

One another option will be to show the preferences of the current
component alone. Like if you launch preferences from Mailer component
then only Mailer preferences should be shown.

-- 
Sankar
Gnome-Evolution Plugins Maintainer

 Novell, Inc. 
Software for the Open Enterprise™
http://www.novell.com
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: Evolution Plugins (Was Re: Rise of the Plugins)

2007-11-14 Thread Philip Withnall
Hi,

On Wed, 2007-11-14 at 23:56 -0700, Sankar P wrote:
 Hi All,
 
 Some of the issues that were discussed (here and in #496839) and my
 personal take on them will be:
 
 1) Plugin list being un-manageable 
 
 I am thinking of adding a smart-search-box which will query based on
 plugin-names and pre-defined-tags associated with each plugin. This will
 make it easy to find out the plugin that you are looking for.
 
 Do you have any suggestion for how you want the Evolution Plugin-manager
 to look like ?  Can you send any mockups that you have in mind ?

To me, this just sounds like a work-around for the problem of simply
having too many plugins, although it will probably work OK if the
current system is kept.

 2) Some plugins should not be shown 
 
 This may not be possible as people may not want a functionality
 implemented by a plugin. Disabling this plugin helps them to save
 screen-real-estate (menu-items etc) and reduces memory foot-print. 
 
 If any of the core feature is implemented as a plugin, I accept that it
 should not be shown in the plugin-manager and will happily remove it
 from the plugin-manager list. (It should have been core-code than a
 plugin in the first place though) 
 
 HTTP Calendars and IMAP Featuers are not core features since it may not
 be needed by everyone. Say a corporate Evolution-GroupWise user.
 
 3) Splitting Evolution into individual applications
 
 I have seen this asked by people a few times. But I wonder what good a
 mail-client or Calendar-client will be without an addressbook. 

We currently have the other extreme: several different applications each
have their own take on the address book (and then each have their own
different ways of integrating/syncing it with e-d-s). Why not just have
one desktop-wide address book (I'm thinking Soylent here), and have the
mail application use that instead? This would give us the opportunity to
swap out the address book application in favour of other things if
necessary, such as an application which would use some web service as an
address book.

 Evolution shell will not load a component (Tasks or Notes) unless you
 click open the component (except for addressbook) explicitly. But some
 people have a mis-conception that all components are always loaded (and
 hence consumes memory etc.)

I must admit I had that misconception, and I'm glad to hear that
Evolution lazy-loads things like this, but I can't help thinking that
it's a bit of a work-around for having a program which is just too big.

 IMHO a better approach will be to make the user choose what components
 he want to see in his Switcher. Say if someone wants to use only Mailer
 and Address-book, do not bother showing the Calendar component in the
 switcher.

But that's effectively like turning the components into plugins, and
then disabling some of them; it comes back to the problem that core
functionality shouldn't be in plugins, and you might as well split off
such plugins into separate applications.

 Atleast for me, It will be far more useful than launching two or three
 applications everyday morning (Mail/Calendar/Tasks)

Isn't that what your startup programs list is for? :-P

Regards,
Philip

 4) Evolution Preferences Dialog is Horrendous
 
 Yes. This is a terrible thing to have especially when you are working in
 low resolution. The reason why this was so mammoth was because even the
 plugin configurations were added to the General preferences. 
 
 From 2.12 onwards, we have Configure support for plugins and hence
 people can configure plugins within the plugin-manager window itself.  
 
 attachment-reminder plugin's configure UI has been already moved from
 General preferences to Plugin-Manager-Configure already. Work is on for
 Automatic-Contacts and other plugins already.
 
 One another option will be to show the preferences of the current
 component alone. Like if you launch preferences from Mailer component
 then only Mailer preferences should be shown.
 


signature.asc
Description: This is a digitally signed message part
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list