Re: Separate UI and core processes



As per our private email correspondence, I misread your reply and actually think it is a quite a good idea.

I think however that one problem would be that using ATK, or any other similar library for that matter would be too restrictive.  There would always be functionality that the developer would like to expose, although does not fit into the ATK interface.

Now excuse me if my ideas sound ignorant; I left the area of Computer Science a few years ago and I am currently engrossed in Mathematics. I think what you could do is simply make the user write their own interfaces to expose functionality of the program, like how one writes Java interfaces (I assume you could do the same with GObject code) and then UI could be written as plugins which run off that.  A whole lot of generic interfaces could be written, maybe taking some of the ideas from ATK and other libraries

My ideas are nothing new, I am simply trying to adapt ideas taken from web development and adapt them to desktop development.  I do not think it would be a good idea to reinvent the wheel. 

Regards,

Tristan

On Tue, Jan 27, 2009 at 5:50 AM, Brian Cameron <Brian Cameron sun com> wrote:

Tristan:


The main problem I think with that model, is that you will still have programs designed for one specific platform, ie. the desktop; and then have the UI essentially jury rigged to other platforms, using various UI plugins, resulting in a substandard UIs on the other platforms.  

It's probably true that there would be bugs.  Today some applications
using the ATK do not work well for blind users because the designers
didn't take certain a11y usability issues into consideration.  For
example, how focus order affects a blind users understanding of the
overall interface).  I'd imagine if an ATK-like interface were used to
make GNOME work on different types of devices, there'd be similar bugs
that would need attention over time.


Programs running on iPhones for example are constrained by screen space and use very different input devices to their Desktop counterpart.  It would then make sense to write completely different UIs for the two platforms, to take advantage of the features of each.  A complete separation would for example allow Canonical to really customise their flavours of Ubuntu for different platforms.  

The ATK interface currently supports users who are blind and users who
are not blind using very different usability models.  If the existing
interface can support such wildly different models, then I do not see
why we would assume that any non-desktop UI would be substandard.  I'd
say most existing GNOME blind users would, in fact, say otherwise.
Text-to-speech, in general, works better on a wider set of applications
in GNOME than it does on Windows, for example.

That said, the ATK has never been used to try to represent two different
graphical user interfaces in an interchangeable fashion.  It would
probably require some not insignificant effort to make it support this
sort of thing.  But probably considerably less work than designing
something completely new from scratch.

The main thing that is missing from the ATK is any sort of graphical
hinting to help a widget set determine how things should be visually
arranged.  This is not as much of a concern in the blind-user case as it
would be for creating a graphical interface like an iPhone interface.


You would also not recieve many of the other benefits I listed in my previous email, such as more UI experimentation.  

That is very subjective, and many is a fuzzy word.  Try being more
specific, and it would be easier to dig into these topics, I think.

Brian




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