Re: Re: Cheese Architecture Redesign



Patryk Zawadzki wrote:

   On Sun, Jun 22, 2008 at 8:52 PM, Hernan Gatta <gattahernan gmail com
   <mailto:gattahernan gmail com>> wrote:
       Hello,

       Cheese has been evolving quite some recently and I've been
       looking at the
       ideas that you would like to see implemented in the upcoming
       releases in
       order to make Cheese even better. However, I have indeed looked
       at the code
       and I am afraid to say that as with almost any program coded in
       C, Cheese
       will exponentially grow in complexity as features are added.
       I've tried to
       add some of the features and the code-base is pretty complex to
       work with in
       terms of dynamically managing the Gstreamer pipeline, for
       instance. I would
       like to propose a new design based on Mono (.NET) that would
       allow a very
       simplistic (and even cross-platform) core filled with easy-to-write
       extensions based on the Mono.Addins framework (look at
       http://www.mono-project.com/Mono.Addins
       <http://www.mono-project.com/Mono.Addins>).

   You are free to write a new Cheese clone from scratch then get it
   included in GNOME. However I don't see how that makes handling
   gstreamer pipelines easier or how it makes the whole thing more
   portable (I know more machines that can process native machine code
   than .NET bytecode).

By cross-platform I meant being able to run on different operating systems, not different machines. Now, working on .NET does not make the handling of Gstreamer pipelines easier, a redesign of how Cheese works will, making it simpler to add effects and filters at certain stages of the pipeline and allowing to have more complex and dynamic pipelines to allow the usage of more capabilities should the user want to. Also, Cheese does not have a plugin architecture as far as I am aware, redesigning Cheese in that direction would make so easier (replacing functions with structures filled with function pointers is basically an architectural redesign).

       Applications like this one exist
       already and are seeing a growth in usage like Tomboy Notes and
       Banshee as
       well as the MonoDevelop IDE. I'd like to point out that the user
       interface
       need not change, just the underlying code; although I would like
       to see some
       sort of OpenGL-based GUI should the user's system support it in
       order to
       bring more "bling" to the program (using things like Clutter as
       a back-end -
       http://clutter-project.org/).

   That's what we (web developers) call "mystery meat" - letting "bling"
   take over the interface. It does not make the program easier to use
   and is the best way to cut yourself from the existing accessibility
   stacks and alternative input methods.

I do agree that "bling" should not take over the user interface. However, animations and smooth transitions within the application at times make its usage a lot nicer and comfortable. Moreover, a "blingy" user interface, provided that the program is useful and stable, is preferred by most non-technical users to normal non-animated user interfaces. I ought to mention that my idea is not at all to replace the usual GTK interface. Maybe have an OpenGL-interface as an option. It is, after all, an idea.

       I've started some work on this myself already
       and I will continue to work on it. I would like to hear your
       input on this
       idea and see what can be done about it.

   Best luck,

Thank you,

Hernan.


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