Do you want to hear some news about GNOME and accessibility?

Follow-up hackfest

This year we organized an ATK/AT-SPI hackfest on May at Igalia offices. Almost one year after its time to organize a follow-up hackfest. On January a new ATK/AT-SPI2 will be organized, or more in general, an Accessibility hackfest. You can see the details in the the announcement that I sent today and in the live gnome page about the Hackfest, but the summary is that a Hackfest with the target to improve the free accessibility framework will be organized this January (18-22) on Coruña, at Igalia offices. If you want to come to the hackfest put in contact with the travel committee. I want to thank GNOME Foundation and Igalia for their sponsorship.

Friends of GNOME campaign to support Accessibility

Probably you already read Juanjo Marín announcement, but just in case. GNOME has recently started a Friends of GNOME campaign in order to push the effort to make GNOME really accessible. As the campaign says “Help make 2012 the Year of Accessibility for GNOME”.

Friends of GNOME

Summer is over

The other day I realized that the summer is over. And I realized that only one month late.

This was a really busy summer, so I will try to summarize it as it was busy but without too many posts.

Joanmarie is coming!

This was one of the last news of the summer, but it was the most important one. Although I announced the hiring some time ago, this week became effective. Last week (week 42) was the first week of Joanmarie as a igalian. Welcome to the Jungle!

Desktop summit

Again a Desktop Summit, not “just” a GUADEC. And as usual some people expressed their concerns about how effective is having two communities organizing this kind of events (example here).

In my personal case it was useful. In theory, one of the advantages to port at-spi from CORBA to DBUS (at-spi2) was that in that way at-spi could became a freedesktop technology. And finally this is starting to be true. Qt at-spi2 bridge has improved a lot during the last year. This means that more people will be looking and testing at-spi2. I was able to talk again with Frederik Gladhorn, and also met Simon developer.

GNOME 3.2 is here

Well, nothing new to add to what we all already know. Just saying that this my first GNOME release as ATK maintainer (again, thanks Li Yuan).

Unity accessibiltiy

During this summer I was also working on improving the accessibility support for Unity3D. Unfortunately all the branches with the last additions on the ATK support were not ready before the feature freeze, so Ubuntu Oneiric was released without them. For anyone interested, I created a extra-a11y ppa with a modified version of Unity with those branches integrated.

F123 & Mais Diferenças

During this summer Igalia was contacted by F123. F123 is a Brazilian project which purpose is allow the access to the education and employment opportunities using free software accessibility technologies. They are willing to help on improving the GNOME accessibility stack, and we started to define some first projects in collaboration with them during the summer (as the code already shows). I will like to thanks F123 for this effort, and I hope that this could be the starting point of several accessibility collaborations.

Joining a new band

In addition to my rock band SiVE and my participation as a student on the Jazz Ensemble from Coruña Municipal School (and playing with a GNOME T-Shirt 😉), this summer I joined a new band, “Los Wattsons”. In this case pop/rock band. Not really complex but really funny. More that 6 concerts now, and a little EP, that you can listen on Jamendo.

New Igalia hiring: Joanmarie Diggs

I’m really proud to announce new Igalia hiring: Joanmarie Diggs

I think that I don’t require to explain too much why I’m really proud about this hiring. Forgetting biased opinions after working on accessibility stuff with Joanmarie hand-by-hand during last two years, Joanmarie is one of the most passionated free software developers that I ever meet. If you say that you know someone loving more the work that Joanmarie does, doing with more passion and effort you are probably wrong or just lying. Fact: GNOME would be worse without her.

Not too much else to say. The title itself says it all.

Doing new things: releasing and some Jazz

Last week+weekend was really busy for this tired igalian.

Releasing!

Monday 13th started with my first ATK release (announcement here). Just some weeks ago I became ATK co-maintainer. Again, thanks to Li Yuan.

And then GNOME 3.1.2 release. Somewhat messy. And delayed more than one day. Announcement here. Thanks to all the release members that helped me doing the release, especially Kjartan Maraas, who was something like my tutor here.

More of that Jazz

This Saturday I made a visit to Vigo, in order to participate on the “7º Festival de Jazz de Vigo Imaxinasons” (7th Imaxinasons Vigo Jazz Festival). This is the fifth time that the Jazz band at “Escuela Municipal de Música de A Coruña” (Coruña Municipal Music School) participates on this festival.

I’m a student on this school and I joined the jazz group the last year, so I’m somehow the rookie here. This is the first time that I go to this festival. We were part of the group of bands that played on the street (as most of the concerts were the typical “in-house” concerts). So we had 4 concerts this Saturday. Hey, but we only played all the repertoire in the last one 😉 So almost 4 hours playing music. Then you add the time setting up all the stuff and then cleaning up … well it was a really busy Saturday 😛

ATK/AT-SPI2 Hackfest 2011: Day 5

Well, I planned to make more posts about the ATK/AT-SPI2 hackfest that we are organizing here at Igalia offices, but I was really busy attending it. So we are right now on the wrap up day.

In general most of the time used on the hackfest was in order to make a full review of the agenda that we created on day 1. This hackfest was somewhat different to other hackfest I attended before. While most of those were mostly focused on coding, with some discussion and analysis, this ATK/AT-SPI2 hackfest was more discussion and analysis, with some coding. But the good new is that right now we have a better understanding of the current situation, and the next steps in the future in relation to improve ATK/AT-SPI2, and summarized on the page that originally was our agenda.

Some other things happened these days. For example, some of us (native spanish speakers) gave some accessibility talks at FIC (Coruña Computer Science Faculty). Good way to promote accessibility among computer science students. Although it is true that we didn’t have a really big amount of students on those talks. Collateral effects of doing those talks on the last month of the academic course.

Although he was not on the offices, during the hackfest Benjamin Otte started a interesting thread about the relation between GTK and ATK. In summary he thinks that the best solution to improve the current accessibility support on GTK should be the removal of ATK, merging his functionality with GTK. And AFAIK, he has also some doubts about the existence of AT-SPI2. This is similar to current Qt approach, as they don’t use ATK, although they don’t have any problem with AT-SPI2 (in summary they had an qt-bridge instead of an atk-bridge). In fact, Frederik Gladhorn, a Qt developer, was here in this hackfest, and he provided a lot of valuable proposals.

Although it is true that adding intermediate abstract layers have their cons and pros, I’m still one of the ones that thinks than the benefits are more than the drawbacks. Specifically taking into account that ATK is implemented not only by GTK+ (also Clutter, Mozilla, LibreOffice, Unity, etc). Anyway, it is an interesting thread. Lets see what we can extract from it.

Finally, you can find a group photo here (the photographer was Mario Sanchez).

Again thanks to all the sponsors, Igalia, GNOME Foundation, GPUL, Xunta de Galicia and Mozilla Foundation Inc.

ATK/AT-SPI2 Hackfest 2011: Day 1

ATK/AT-SPI2 hackfest has started today at Igalia offices.

The first task of the morning was organize the bugs that we detected that we need to discuss on the hackfest. That was not easy, as currently our “Towards ATK 2.0” metabug is including about 40 bugs, and we also included some items that doesn’t have an explicit bug.

In summary we mostly did a quick review of each bug, seeing how that affect different components, and trying to prioritize them. Finally we were able to get a proper Agenda.

After the lunch, and now with all the hackfest people, we started the discussion of each specific item detected on the agenda, starting with Table implementation (like stated in this bug and this other one).

In the previous picture you can see some of the people on this discussion. Left-right you can find Fernando Herrera (Firefox), Frederik Gladhorn (Qt), Alexander Surkov (Firefox), Mario (WebkitGTK) and Joanmarie Diggs (Orca). A good amount of different projects inside those brackets.

Again thanks to all the sponsors, Igalia, GNOME Foundation, GPUL, Xunta de Galicia and Mozilla Foundation Inc.

ATK Hackfest is coming!

Just a reminder, the next GNOME hackfest will start in a little more than a week. As usual, we are organizing it on the wiki, but in summary, the tasks that will be the basis for the debate are managed by bug BG#638537.

As I explained on my previous post, the objective of this hackfest is a kind of ATK 2.0 kick off. ATK has served well during these years, but was mostly unchanged during almost ten years. After all these years it is time to use the experience from implementors and AT developers to improve it.

New sponsors

We have confirmed new sponsors to this hackfest, joining the original ones, GNOME Foundation and Igalia: GPUL and Xunta de Galicia.

GPUL supports the ATK HackFest organizing an open session about accessibility. GPUL also provides economical support. This contributions is possible thanks to the budget from the agreement between Galician Free Software Asociations and the Xunta de Galicia (Galician Regional Goverment) in 2011

In related news:

One important new from the last a11y weekly meeting.

One of the drawbacks of at-spi2 was that due lack of resources, there wasn’t any plan to create a replacement for C-SPI. That means that only pyatspi2 was available, so any AT tool that wanted to interact with at-spi2 was supposed to be written using python (note that I’m talking about the AT side, application accessibility support based on ATK is still mainly written in C).

This has changed, as one of the last changes made by Mike Gorse on how the python bindings are created is write a core C library, and use gobject introspection. So now any AT developer has libatspi available. It is not API compatible with C-SPI, and it is not planned a compatibility layer, but at least now it is in theory possible to write an AT tool in C, and any existing one would require to migrate to it.

The next step would be improve libatspi documentation, in order to upload that to GNOME developer documentation page.

Announcing ATK/AT-SPI Hackfest

This will come as no surprise to many of you at this point, as we already talked about it during the weekly accessibility meetings, but I would like to officially announce that we are having an ATK Hackfest in May.

For the new people, ATK is the accessibility toolkit. Right now the main and more extensive implementation is GAIL (GNOME Accessibility Implementation Library), although it is also used in Clutter (Cally), Java (via the Java Access Wrapper), and others. AT-SPI is the accessibility service provider interface. Accessibility tools “uses” AT-SPI in order to interact with the applications. ATK works as the common language that target applications uses to expose themselves to AT-SPI, so a deep change on ATK would require an update also in AT-SPI. In the same way, we would like to get a one-to-one relation between the interfaces on ATK and AT-SPI as much as possible.

Applications and toolkits do not all implement ATK consistently. This has a negative impact on the assistive technologies ability to provide a consistent cross-application user experience. Even in applications and toolkits in which the ATK implementation is complete, the information obtained from a single event and/or object is not always sufficient for an AT client to proceed immediately; instead it is often necessary to perform further queries and make decisions based on heuristics rather than concrete data. This has a negative impact on both performance and reliability.

Accessibility team has come to the conclusion that this is time to improve on ATK no matters if that means an API break. The primary goal is to take what we have learned from years of ATK/AT-SPI and make things better for all involved, and create the basis of what ATK 2.0 should be.

Location: Igalia (A Coruña, Galicia, Spain)
Dates: 9-15 May

Who Should Attend?

  • Developers of applications and toolkits which implement ATK
  • Developers of ATK and AT-SPI
  • Developers of Assistive Technologies which rely upon AT-SPI
  • Developers of testing solutions which rely upon AT-SPI

For more information, including the proposed task, pre-event “homework,” venue, and associated costs, please see:

For the moment the event is sponsored by Igalia (Venue, part of the food) and the GNOME Foundation (travel+hotel costs as far as the current a11y budget allows it). If any other company want to fund this hackfest somehow, please contact me or Joanmarie Digss (and thanks in advance)

GNOME Shell accessibility status

These days some people have started to ask about the current GNOME Shell accessibility status, probably a collateral effect of the Boston Summit, as Joanmarie Diggs and Alejandro Leiva (Orca maintainers) were talking there with GNOME Shell developers, mainly about the current Universal Access UI and how fit Orca on the new ui experience. They are planning to make a summary post so stay tunned.

Anyway, I would like to share my view of the current accessibility status on GNOME Shell. Using the GNOME Shell roadmap as a guide:

  • Magnification: Joseph work has been integrated on GNOME Shell. Not as a extension or something like this, it is a real feature of GNOME Shell. So good news.
  • Design and implement keyboard navigation: Some months before GUADEC Dan Winship started to work on on keyboard navigation, and it has been really active these past months. This includes support on the Shell Toolkit itself (already on master), and then use this on the different regions of the shell, like the overview or the chrome, which provides a promising keyboard navigation. Note that in the case of the overview this is somewhat on a idle, as it is planned a overview relayout (check the overview-relayout branch).
  • Hook up accessibility to ATK: basic ATK support is right now directly provided without loading any Cally module, as Cally is now part of Clutter, and part of the stable Clutter 1.4 release. It is true that Cally can be more complete (this statement applies to any library), but the current status should be enough for GNOME Shell purposes. Of course, new bugs can be detected, and I should need to take a look to this bug, but I don’t see Cally as the main issue here. In the same way, I provided a patch proposal to load the atk-bride on GNOME Shell. The main problem with this patch is that although working, it is not clear if it is the final solution.
  • Comprehensively make controls accessibility: new elements are being defined on the Shell Toolkit, and most of them would require to export appropriate roles and actions. I have started to review this, so I have already created a patch for StLabel, and I have some other items in my TODO, like StWidget tooltips, and the new objects declared on the Javascript code. This is related with the previous keyboard navigation task, as I’m detecting most of then while testing the keyboard navigation patches. So I reported some additional bugs related to provide extra ATK information on the overview navegation (with patches) and the chrome. As there isn’t anything equivalent to gtk widget mnemonics those patches are using direct calls to ATK methods.
  • Theming: it is already reported as a bug, but AFAIK, there is not immediate plans to implement it.

So, if you apply all these patches, you get Orca speeching out most of the events from GNOME Shell. Part of the sections of GNOME Shell can be used using just the keyboard. In the cases that GNOME Shell is using the new core keyboard navigation support Orca reacts to the focus change, although the information exposed is only meaningful on part of the cases.

Apart from this, GNOME Shell includes an accessibility tray icon, with the intention of switch on/off the accessibility features, or start the Universal Access UI to configure those tools. But it is not still complete for the moment, and it seems more a mock-up. The screen reader switch doesn’t starts any screen reader, and although you can start the GNOME Shell magnifier you can’t configure it on the settings dialog (right now you need Orca to do that).

Conclusion

Most (all?) of the missing accessibility holes are detected, and a lot of them have provisional solutions. The process to manage the GNOME Shell with just Orca and the keyboard has started. In fact in my short-medium term plans was updating and finishing the current additional ATK support required on the keyboard navigation support, and create something like a branch or PPA and ask some user feedback (so new bugs). This will be postponed, due last changes on keyboard navigation and the overview-relayout.

But, most of then are provisional solutions, and it is still required to analyze them. Although it works, it is not clear if the current proposal to load the atk bridge, or start to add atk calls to the ui javascript code are the best options. Those should be also good solutions. Using Owen Taylor words “In my mind accessibility has to be held to the same high standards as everything else in GNOME”.

So as it was already stated, it would be really unlikely that GNOME Shell will ship with full accessibility support for GNOME 3.0.

BUT, as the roadmap states, accessibility is being taking into account. People are working on it, with several bugs, patches, and continuous patch review. So what now is a “rough draft”, at that moment will be a “real draft” of the required accessibility support on GNOME Shell, enough at least to start to ask users for feedback, and with a perspective of what it is missing, with the purpose of polish them for the following releases.

GNOME Accessibility Hackfest is over

Hackfest Logo
As you probably already know, most of the gnome a11y community were this week on Seville, on the GNOME Accessibility Hackfest, taking the most of the fact that some of them were already planning to assist the first international AEGIS conference.

Not too much blogging during this week, sorry. It was a really busy week. Assisting the conference or trying to hack something (I’m cooking some patches, imminent bug report).

Although it was a exhausting week (and somewhat a jinx week), I really think that it was worth the effort. Being face-to-face allow us to have meetings, coordinate ourselves, check the current status of GNOME accessibility and planning the priorities having in mind GNOME 3.0. And of course code. You can see in the following picture that Mario can work on WebKitGtk a11y in any place, and that he can’t stop in the middle of a task:

Mario Hacking

In the same way, the conference allow us to promote GNOME, and GNOME accessibility in particular, to a different public. Several AEGIS presentations were related to GNOME projects, some of them about specific GNOME modules and other about projects using GNOME, like the Guadalinfo project.

For any reason I received the award “Best accessibility project in the spirit of AEGIS”, due my work related to Cally and gnome-shell accessibility. In my opinion other people deserve it, like Joseph Scheuhammer, as his gnome-shell magnification solution is already integrated on gnome-shell, while my patches are still WIP. In fact, IMHO, this award should be granted to the GNOME accessibility community as a whole. Probably I fit more in the “spirit of AEGIS” because the most repeated word on AEGIS presentations were “prototype”. Who knows.
Aegis Award

I hope that all the presentations and the extra publicity of this award becomes a push to the interest to GNOME from the people attending the conference.

Finally I want to say “thank you” to a lot of people. I will try to not forgot anyone. If this is the case, please forgive me.

Thank you to the GNOME Foundation. Without his sponsorship most of the attendees would lost the hackfest. Thanks to the local team, mostly Emergya people, to coordinate several parts of the hackfest and behave like the perfect hosts during our time there. Special remark to Alejandro Leiva, as the in-theory common task of find and book the hotel was finally a little hell-in-earth. Thanks to Emergya and Yaco for sponsorship the BeerFest. Thanks to Joanmarie Diggs, as I’m always learning new accessibility things from the wisdom she irradiates.Thanks to all the people to make the effort to come to the hackfest.

And finally, thanks to the GNOME accessibility team for this really big and heavy present that they give me during the hackfest (if anyone doesn’t catch the joke, please check this video).

Cat herder

Wow, this was a really big post.