atk/at-spi/at-spi_on_d-bus/dublinhackfest

Contents


Transfer of Information Summary 20th - 23rd April 2009


Attendees

  • Willie Walker
  • Mike Gorse
  • Mark Doffman
  • Brad Taylor
  • Li Yuan
  • Ke Wang
  • Rob Taylor


Transfer of information

Two people experienced with the code-base attended. Mark Doffman gave a brief overview of the specs and code tree. There has been a 300% increase in the number of people familiar with the project code-base.


API Crawl

As a group we did a review of the D-Bus specification referring to the CORBA IDL specification and the code. A number of inconsistencies were found and resolved including:

  • Passing of Attributes as a string rather than dictionary.
  • Enums vs ints.
  • Removed dead / unused API.
  • Fixed bugs in pyatspi where return-values were not marshaled as requested in the specification.
  • Fixed bugs in pyatspi where non-writable properties had 'write' methods.


Orca-based sanity check

As a group we tested AT-SPI D-Bus with Orca & gtk-demo. This brought up a number of previously un-discovered bugs which were resolved.


Remaining work

We discussed the work remaining and created a list of known problems and issues.

  • Migrate AT-SPI changes made since project branch (04-2008). (1 week)
  • CBindings (Unknown)
    • Complete cspi API not-necessary. C Bindings should be provided for the accessible-transfer and caching mechanisms.
    • Possibly gok will need re-writing or porting to the new API.
  • Possibly implement Collections API on the client side. (4 weeks)
  • Atk adaptor library does not handle containers with state MANAGES_DESCENDANTS.
    • Gail changes can remove MANAGES_DESCENDANTS from the GailTreeView ATK implementation. (DONE)
    • MANAGES_DESCENDANTS could be used to handle very large containers. Don't cache any children of a MANAGES_DESCENDANTS container. The container handles all of their method calls. (3 weeks)
  • Interfaces for dealing with 'infinite space' containers. (Unknown)
  • Discuss with D-Bus developers whether we should create an "X Session" bus for the purpose of accessibility. The purpose of this is to allow multi-user accessibility. (Dependency on external team, this change is a goal for Gnome 3.0 in general.)
  • Discuss the 'Login Helper' interface with Jon McCann. This interface was previously part of the AT-SPI specification.
    • Implement a login-helper registry as part of the AT-SPI registryd. (2 days)
    • Requires changes in GOK.
    • Requires changes in screen-saver.
  • The Device Event Controller makes synchronous method calls blocking the application that notified it of the event. This can cause deadlock.
    • Modify the 'notifyEvent' call in the atk-adaptor to be re-entrant. (DONE)
  • Pyatspi makes blocking function calls. This will cause deadlock when an AT attempts to access accessibility information about itself. For example, Orca cannot access its own preferences GUI.
    • Make all pyatspi D-Bus method calls re-entrant. (1 week with some external dependencies on python-dbus developers)
  • New infrastructure needs to be integrated into the Gnome desktop.
    • The registryd start-up process needs to be looked at. This includes the possibility of using DBus activation.
    • A JHBuild module-set needs to be created for the project. (1 week)
    • Gnome approval of external dependency for AT-SPI 2.
    • Create documentation of the protocol / pyatspi API. D-Bus XML to HTML conversion. (1 week)
  • Performance testing and improvements. (3 months)
  • Improving test coverage and bug fixing. (6 months)
  • Java access bridge needs converting to use the JNI and ATK adaptor. (4 months)
Groups: