IMPORTANT: This article is being preserved for historical purposes and likely no longer reflects the state of AT-SPI over D-Bus.
ATSPI to D-Bus Migration tasks
- D-Bus: - Standardise Telepathy dbus introspection extentions (rough description, example) - - Estimated effort: 2 man weeks, given agreement between binding authors and dbus maintainers.
 
- Create initial D-Bus specification using telepathy extensions - - Estimated effort: 1 man week
 
 
- ATK-Bridge: - Write method for sending a subtree of the accesible object tree with varying levels of object properties - - Estimated effort: 1 man month
 
- Write marshalers for AT-SPI method calls and implement using ATK. - - Estimated effort: 1 man month.
 
- Implement signals for updating client-side caches - - Estimated effort: 1 man week
 
- Put it all together.... - - Estimated effort: 2 man weeks
 
 
- Write method for sending a subtree of the accesible object tree with varying levels of object properties 
- cspi: - Write client side marshalers for invoking AT-SPI methods.  - - Estimated effort: 1 man month
 
- GObject-based implementation of AT-SPI API, complete with caching infrastructure.  - - Estimated effort: 2 man months
 
- Implementation of current cspi abi. - - Estimated effort: 1 man month
 
- Test GOK, fix any outstanding issues. - - Estimated effort: 1 man month
 
 
- Write client side marshalers for invoking AT-SPI methods.  
- pyatspi: - Python binding to gobject-based AT-SPI API - - Estimated effort: 1 man month
 
- Test with Accerciser, fix any issues - - Estimated effort: 2 man weeks
 
- Test with Orca, fix any issues - - Estimated effort: 1 man month
 
 
- Python binding to gobject-based AT-SPI API 
- Registry daemon - Implement the registry deamon as a process for registering applications. A subset of the Accessibility-Registry interface. - - Estimated effort: 2 man weeks
 
- Implement a subset of the DeviceEventController interface and the DeviceEventListener Interface in D-Bus - - Estimated effort: 1 man month.
 
 
- Implement the registry deamon as a process for registering applications. A subset of the Accessibility-Registry interface. 
- Qt: - support for Q_PROPERTY change notification, and support in QDBusAbstractAdaptor
- AT-Server implementation using dbus spec.
 
- Java: - DBus Java bindings exist, are known good and are maintained.
- com.sun.java.accessibility - Should be implementable with dbus-java
 
- AWT - Unknown
 
- SWT - Unknown - does this fully expose everything with ATK on GTK backend?
 
- Swing - Unknown
 
 
- OpenOffice.org: - Uses ATK, so should mostly work.
 
First Stage Work
Tasks 1-5 form the first stage of the work. The following work units can *optimistically* be performed in parallel
| 1.i | 2.i | |
| 2.ii | 3.i, 2.iii, 4.i | |
| 4.i | 5.i | |
| 4.ii | 5.i, 5.ii | |
| 4.iii | - | |
| 5.iii | 6.i | |
| 5.iv | 6.ii, 6.iii | |
| Total time: | 8 man months | 8 man months | 
Total when parallised is 8.5 man months.
