Re: Separate UI and core processes




Tristan:

Note that the ATK provides interfaces for controlling and getting state
information for all common GUI interfaces.  These interfaces are
widget-set neutral and currently both Java and GTK+ work with them.
KDE is on the way, I understand.

Currently libgail (the GTK+ ATK implemention) sits on top of the GTK+
library and provides ATK implementations for the GTK+ widget set.  The
current model is that any new widget set would need to write its own ATK
implementation and would then work with the ATK.  An alternative
approach would be for programs to not specify their GUI at all via a
specific widget set, and instead use ATK interfaces to specify what
functionalities are available at any point.

Then different UI plugins could be used to specify how those
functionalities are presented to the user.  For example, there could be
a GTK+ plugin, a Java plugin, a KDE plugin, etc.  Then different widget
sets could be swapped in or out easily for any program.  This would
also make it easier to develop applications that use very different
usability models.  A user interface for blind users, for example, would
not really need any graphical user interface running.  A 3-D user
interface would likely present data very differently than a 2-D one.
Separating the functionality of the program from how it is presented
to the user via a widget set would make it easier to implement such
wildly different user experiences.

I guess I am trying to highlight that much of the infrastructure is
already in place to make this sort of change, but I am sure this
approach would require some significant re-engineering of how GTK+ and
ATK work together, but it is one approach that could be used for
separating the model from the view.

Brian


With the recent shakeup to the computing ecosystem with the addition of netbooks, ipods, android, gmail, facebook, etc.; I was wondering what place gnome will have in the future. I was concerned with the platform inflexibility of programs such as Evolution, which is only really suitable to be run on a desktop or laptop; Gmail on the other hand works great on desktops, laptops, android phones, netbooks etc. I can also run Gmail from pretty much any ones computer, whether it be Linux, Windows or Mac OS.

Now what I am advocating is not a complete rewrite of Gnome to run on the web; I believe that this is implausible for the moment. What I would like to see is a concerted effort to provide greater separation between the UI and the core of Gnome programs, so the eventually there is a complete separation, ie. the UIs runs on a completely separate processes than the cores and so it would be possible to separate UIs and cores into completely separate development projects. Such separation would have a multitude of benefits. Most programs already try to separate UI code, from core code, as this is simply a good programming practice, so this would just be taking that to the next step. With the UI being a separate project, it would then be easy to fork this project and create a plethora of UIs, ones that work well on netbooks, ones for the web, even windows, mac osx and KDE ones (please don't shoot me, or start some flame war about using qt). Such a development effort I think will help future proof Gnome and prevent Gnome become a collection of monolithic applications that only run properly on outdated platforms. In the future I don't want to worry about what computer I am using, I just want to access my mail, music, documents, ect. in a consistent way no matter where the files are actually stored or where the core computations are actually done. The cloud computing dream could become within reach. It would also open Gnome up to a whole new set of potential open source developers; no longer will a developer have to understand the underlying architecture of an application to contribute to it. Programmers would be free to experiment will all sorts of new UIs, taking advantage of new technologies such as 'multi-touch', accelerometers, eye-tracking, speech-recognition, etc. New opportunities would exist for writing programs accessible for the deaf, or blind. Also, I am sure Intel and AMD won't mind a few more processes for there future zillion core CPUs to play with.

Anyway that is just my armchair observer 2-cents, feel free to ignore me :-)

Tristan


------------------------------------------------------------------------

_______________________________________________
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]