Thanks Kristian, that gives a very clear picture of the situation and issues. Good luck My impression is that this will also act as a good basis for future advanced and innovative mag features.
-- Steve Lee -- Open Source Assistive Technology Software web: fullmeasure.co.uk blog: eduspaces.net/stevelee/weblog 2008/5/4 Kristian Lyngstøl <[EMAIL PROTECTED]>: > Reffering to various mail and IRC conversation, and the task page on > http://www.gnome.org/projects/outreach/a11y/tasks/magnification/ , > here's my proposal as to how to move forward with magnification. > > I know proposals are supposed to go to [EMAIL PROTECTED] > according to the rules, but I figure it's a good idea to send it here > first. > > Background > ======= > Magnification under GNOME today is limited to the use of gnome-mag, > optionally enhanced by Orca. It is made difficult by conflicts with > composite window managers which are the new trend. > > In addition to this, gnome-mag and Orca integration relies heavily on > ORBIT/Bonobo, which is on it's way out. While it was discussed at > GNOME Boston 2007 to keep ORBIT around for accessibility only, it was > concluded that this would require the accessibility community to > maintain ORBIT, which is not reasonable. > > For these reasons, and the wish to generally improve magnification, > the "GNOME Outreach: Magnification" task has come to be. > > > Summary of Goals > =========== > 1. Investigate exactly which features exist in gnome-mag and how they > differ from their equivalents in Compiz Fusion. Investigate what > information composite window managers could be interested in getting > from Orca that they currently are not requiring. > 2. Create a D-Bus based communication protocol to accommodate > communication between Orca and a Composite Manager. > 3. Give Orca the ability to directly configure accessibility parts of > a composite (window) manager with minimum visual changes to the > current UI. > 4. Mirror the functionality that gnome-mag has into Compiz. > 5. Create a hilight plugin in Compiz Fusion using the new D-Bus interface. > > > Details > ==== > 1. > We want an interface that can stay stable, simple yet powerful. The > point of the initial investigation is to break down what exactly the > communication protocol needs to accommodate. The goal is to make > information available from Orca without taking full control of the > composite manager. > > This investigation will also be a requirement for being able to mirror > gnome-mag functionality in Compiz Fusion. > > 2. > Creating a D-Bus interface is the true core of this project. The idea > is to avoid locking ourself to a specific application, be it Orca, > Compiz or something else. It should be a fairly straight forward > process. > > The interface should also allow for discovering what is available. A > composite manager might support magnification but not highlighting, > and allowing this to be discovered would enable us to gray out the > features in a configuration UI (or otherwise indicate that they are > not available). > > 3. > Orca has done a magnificent job uniting the different accessibility > features, and is able to control gnome-mag without requiring the user > to be aware that they are in fact two separate applications. Ideally, > a transition from gnome-mag to Compiz Fusion should not require the > user to configure Compiz using a second tool. Compiz Fusion already > allows for easy configuration through D-Bus, however, this is > application specific. There are a few different ways of solving this; > > - Use the application-specific interface in Orca. > - Create a small plugin for Compiz Fusion to relay the necessary > configuration request from a generic bus. > - Something Else. > > 4. > Most of the features Gnome-mag has are already present in Compiz > Fusion in one way or an other, however, gnome-mag, unlike Compiz > Fusion, has had a significant amount of input from visually impaired > users to get where it is today. Mimicking the features of gnome-mag in > Compiz Fusion should not be tremendous amount of work; it is mostly in > the glue, with some exceptions like split-screen magnification and > cross hair functions. > > 5. > As simple as it sounds. > > Concerns, limitations > ============ > A very common concern is the hardware requirement involved when > dealing with Compiz. Compiz currently requires composite, but more > importantly, OpenGL to work. OpenGL in turn requires moderately recent > hardware, which does pose a problem. However, this project would not > make gnome-mag unusable, it would simply add features to those who > have the recent hardware and prepare for the future. > > It can also be noted that there are plans to make Compiz less > dependent on OpenGL, and this can already be seen in the code base as > typical OpenGL commands are being switched for Compiz equivalents > (glTransform versus matrixTransform, etc), and it is a stated goal of > Compiz to someday be able to use different plugins for output. I.e: > XRender when OpenGL is unavailable. > > An other concern is that Compiz Fusion is not a GNOME window manager, > and it is only one window manager. The goal of this project is mainly > to create an implementation that can easily be copied to other > composite managers. Metacity in it's current state can not easily > accommodate these needed changes, thus Compiz should make for a good > alternative, specially as it is gaining ground and maturing. > > I've been asked where I see Compiz in the future, and I honestly don't > know. There are very ambitious plans for Compiz at the moment. These > plans would make Compiz more flexible with regards to hardware, and > hopefully more robust and mature. At any rate, it is an application > very much alive. > > Project schedule > ========== > Most of this work would be done during summer, as I am a student. And > this schedule is quite likely to change. > > Some of these tasks overlap naturally, specially tasks where I expect > I will need assistance, which is mainly when it comes to Orca. > > June: > - Initial definition of what the protocol needs to accommodate based > on gnome-mag and community discussion > - Write basic highlight plugin, possibly without remote control. > (Easily done at the side while waiting for feedback, etc) > - Determine more specific plans for Orca integration. > > July: > - Write and publish a specification draft for the API / Protocol. > - Start working on basic Orca integration. > - Determine how to go ahead with split screen zoom in ezoom and > cursor cross hair. > - Implement cursor cross hair. > - Decide on how to allow easy configuration. > > August 1-15: > - Working Orca / Compiz integration at a level worthy of demonstration. > - Ability to configure Compiz accessibility features through the Orca > UI (without cluttering the UI). > - Split screen zoom in Compiz Fusion. > > September 15th: > - Finish > > Beyond this, it'll obviously be bug fixing, tweaking etc in august and > september. > > > Personal Experience > ============ > I've already written Enhanced Zoom for Compiz (And several other > plugins and core code), and I don't expect I'll need any technical > assistance on that part of the project. I've also been interested in > magnification for about a year now, and already looked at Orca > integration on a very superficial level. > > I'm used to working with others code and I like to believe I have a > high standard when it comes to quality. > > I'm familiar with all the technologies involved in the project (some > more than others), the complexities and so on, partially from working > on magnification, partially from participating in discussions > regarding accessibility and magnification. > > - Kristian > _______________________________________________ > gnome-accessibility-list mailing list > gnome-accessibility-list@gnome.org > http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list > _______________________________________________ gnome-accessibility-list mailing list gnome-accessibility-list@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-accessibility-list