Gnome, KDE & Mono A11y

2008 November 26
by Mark Doffman

Congrats Mono A11y

Many congratulations to Mono Accessibility, team for getting their first release out into the open.  The Mono A11y team must be one of the largest open-source A11y groups out there and I’m really excited about the work they are doing. WinForms and Moonlight are not yet my thing, but if Silverlight takes off the UIA provider they have created will undoubtedly form an essential part of Linux accessibility.

I don’t believe that it will be in the first release, but I’m really keen to see work start on the UIA client library for Mono. C# and Mono sound like a great place for developing new ATs.

AT-SPI D-Bus on freedesktop.org

For people who don’t know about Gnome accessibility or AT-SPI D-Bus:

AT-SPI D-Bus is a project which aims to use D-Bus instead of ORBit/CORBA as the IPC mechanism for Linux accessibility. For anyone interested in finding out about the Gnome accessibility architecture the developers page has some good information. Oddly enough KDE has a very good Gnome A11y overview, and Sun has a good diagram. Long story short the AT-SPI D-Bus aims to write a new, D-Bus based adapter for ATK, a registry daemon, and client libraries that are API compatible with the existing cspi and pyatspi.

The project has a new home on the freedesktop.org servers.

The code-base exists at:  git://anongit.freedesktop.org/git/at-spi2/at-spi2-core.git.

We are keeping a page on the linux-foundation wiki updated with all our progress. Unfortunately I’d say that the code is not yet ready for a first release. For reasons soon evident the code isn’t currently getting the love it deserves. (Help MUCH appreciated)

The reason we chose freedesktop.org and the Linux Foundation instead of Gnome hosting is that we wanted to emphasize the cross-desktop possibilities of a D-Bus based accessibility architecture.

Gnome, KDE & Mono: How it all fits together

The Mono A11y architecture diagram is missing something important that the AT-SPI D-Bus project can add - QT accessibility.

The drive to D-Bus accessibility came from ORBit deprecation, the embedded community and an ideal of cross-desktop accessibility. Its the last motive that has me most excited right now. QT currently has a D-Bus framework based heavily off AT-SPI, but unfortunately it has never been taken far enough to be compatible with existing AT-SPI ATs. The reason that the ATK, cspi and pyatspi libraries are not getting my attention right now is that I really want to get started on bringing QT into the mix.

A QT adapter for AT-SPI D-Bus will certainly round-out the Accessibility infrastructure on Linux. Not being involved in the KDE community I don’t have much say on how they do A11y, but I hope to make it as easy as possible for them to choose AT-SPI D-Bus. Along with the Mono work this could mean that QT, GTK, ATK, Winforms & Swing apps are accessible, using the same ATs, in both KDE and Gnome. I think that would be a fantastic achievement. If we work hard enough accessibility could be one of the big success stories of a joint Akademy/Guadec next year.

The book meme

2008 November 13
by Mark Doffman

I like this meme, its a fantastic window into how depressingly geeky we all are.

  • Grab the nearest book.
  • Open it to page 56.
  • Find the fifth sentence.
  • Post the text of the sentence in your journal along with these instructions.
  • Don’t dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.

“Some learned people are intelligent.”

From “Mathematics for the Nonmathematician” by Morris Kline. This is actually an excellent book supposedly for non-science majors to learn about mathematics. In reality its a very nice read on the history of mathematics, with some problems thrown in.

The choice of this book was a grey area according to the rules. The closest was a copy of Nature Genetics, but this is published in volumes and so started at page 700. The next closest was a stack of books, the top one being the latest Buffy comic. I’m not sure comics count. Can anyone make a firm decision about that?

Thoughts on the US elections

2008 November 7
by Mark Doffman

This is the first time I have been in the USA during national elections and its been a big eye-opener. During my life I’ve spent a-lot of time here, so I didn’t expect to learn as much as I did. All genuine Americans can tell me whether I stumbled upon a rather unusual election.

Presidential campaign

I met people with genuine enthusiasm for Obama, which was great to see.  People I’ve met here in Minnesota were really exited about him as a candidate, and very involved. No republicans as far as my eyes can see. Perhaps they were hiding behind a tree?

Hopefully the next UK elections in 2010 will get everyone ranting, raving and blogging just as much, but somehow I doubt it.

The only downer was his half hour political documentary. It offended my English sensibilities in so many ways. Fairness - Why does Obama get a half hour slot when Mcain doesn’t? Aloofness - I couldn’t stand the biscuit and gravy stories of real Americans. I want straight policy talk goddamit.

Al vs Norm

Here in Minnesota there was a pretty disgusting senatorial campaign between Al Franken and the incumbent Norm Coleman. Al Franken was, in his pre-political life, a comedian and writer, whose credits include SNL. The main thrust of Norm’s campaign seemed to be making Al out to be an angry, sexist, crazy man. Al on the other hand wanted to make us belive that Norm was a bribe taking crook.

Apparently this was the most expensive senatorial campaign in the country. At $30 million its getting close to an entire UK general election budget. Split that across a population of about 5 million and you get an Idea of how bombarded we were with negative advertisement. Its a relief to be watching “New connectionless light bulb” and “Conquer the neck” infomercials again.

The race isn’t over yet either. Both candidates are stuck at 42% with a recount to take place soon. I can only hope that someone in Washington just forgets about it and neither of them get the job.

D-Bus Accessibility - Its alive(ish)

2008 September 5
by Mark Doffman

This may not look like much more than another screen-shot of Accerciser. You’ll have to trust me that is Accerciser inspecting firefox-2 over D-Bus. Its the first visible step in a long project aiming to replace ORBit with D-Bus for the AT-SPI accessibility protocol.

D-Bus Accerciser

Mike Gorse and I have been hacking on this for a little over four months now, and its been pretty slow going. I’m very happy to finally have something to show for it.

So much to do…

What we have however isn’t quite the finished article. One of the main goals of the project is to help bring together Gnome and KDE accessibility. I believe that QT already has an ATK implementation, but I think it would make more sense for the QT accessibility interfaces to meet directly with the AT-SPI D-Bus protocol, a project that has not-yet begun.

On the ATK-Bridge / Pyatspi side there is still a huge amount of testing and bug fixing to do, along with a fair few missing features.

So much to test…

Its testing thats really occupying my thoughts at the moment. A while back, on a linux-foundation conference call, I remeber a conversation about how to test the pyatspi and cspi interfaces.

The conclusions were:

  • Have lots of small applications, each exposing only a few accessible objects and concentrating on a single accessible interface, such as the Component or Image interface.
  • Have a unit test written for cspi or pyatspi that is partnered with one of the mini applications, and inspects it over the AT-SPI protocol.

I have made a poor attempt to unit test pyatspi in this way, but I found it was a-lot of work to get any coverage. I think this is down to my choice of implementing a dummy ATK framework to create the applications. Mini GTK applications would have done just as well.

The advantage of lots of these mini applications and unit tests is that when someone comes to implement the AT-SPI protocol with a new widget set, or with new client side bindings they have something simple to validate against.

Where to go

The repository for the D-Bus AT-SPI work is still on the Codethink servers. It won’t be there for long though, there are plans for the project to be hosted at freedesktop.org soon.

A week in the life of a braindead hacker

2008 August 3
by Mark Doffman

Help needed

There was some discussion this week on desktop-devel about turning ‘Assistive technologies’ on by default in Gnome. See Willie Walkers original e-mailRob Taylor and I had discussed this previously, and at the time I didn’t have much of an opinion either way. After reading Willie’s e-mail though I was firmly in favor.

However Willie stumbled across a possible performance problem when accessibility is turned on. Using gtk-demo to test memory usage ‘top’ shows that accessibility can increase the ‘DATA’ memory section by 15mb, or over double the memory consumption. This was pretty shocking to me, so I tried to use massif to find the cause.

Thing is, massif reports that the memory allocation is not greatly increased by turning accessibility on.  The maximum stack size is not increased either. The ‘DATA’ field of ‘top’ apparently reports the DRS, or data resident set. The number of pages used by both the stack and heap. Rob suggested that fragmentation could be the problem, but in general I’m pretty stumped as to what is causing the discrepancy.

Help and suggestions greatly appreciated :)

Conduit conversations

We have John Carr in the office now. (Infact he’s been there more than Rob and I this week.) This means lots of conduit discussions. I was treated to a crash course on Conduit internals that left my brain feeling like a squeezed sponge, wrung cloth, and juiced orange all at once. This syncing thing is terribly hard and John has some difficult use cases that he wants to make work. (Tranferring contacts from his laptop go to GMail, and from GMail to the N810 and from that to his laptop. Whew.) Good luck to him. I think its the ‘Brain the size of texas’ award if he manages it.

The rest of the week…

Rob probably can’t blog to tell you this because he is gibbering somewhere in the corner muttering “Reference, Reference, where art thou?”. He’s been debugging lifecycle issues for a fortnight now. Its left us vowing never to touch ‘C’ again whenever humanly possible. (Which is not very often).

I have been working hard on the D-Bus version of pyatspi. Its going much slower than hoped, but i’ll get there in the end. I have a holiday coming this week, a trip to Finland for a friends wedding. I’m really looking forward to it. Were going to have a week of saunas in Lapland.