Last day of summer

“One of these mornings you’re gonna rise up singing…”

UX-Hackfest + GUADEC

This  year I was present at the UX-Hackfest which was held at Igalia’s headquarters in Coruña. While I’m not really very involved with  the UX team, having this event in the same place I work every day gave me the opportunity to see first-hand how the designers work, take an in-depth look at the features they are  working on, and be the voice of the Accessibility Team if required. For me it was a very good experience. And in the end I didn’t need to be that voice, as several of the designs were already taking accessibility needs into account.

In other stay-at-home news, I also attended GUADEC which took place here in Coruña, the city I have been living in most of my life, and at the same Faculty where I studied computer science several years ago. It was great having GUADEC so close to home this year, no flights and so on.

As everyone has already mentioned in their posts, this year GUADEC was really successful, from the point of view of the organization (kudos to all the people involved) as well as the content and community. Although it is true that there were a lot of challenges, we had a lot of energized people working hard to make the project a success.

From my side this GUADEC was really busy. After a release-team meeting, we gave a “five minute” presentation at the AGM that, unlike most of the other presentations, started a little debate. Some people feel that the challenges faced in producing GNOME require someone pushing the community in the short-medium-long term, and some think that the release team is that “someone”. Whether or not this is the case, and how to do that pushing if it is, is something that we are still debating.

I also gave a presentation at the AGM as a representative of the Accessibility Team, summarizing the work done and the features and fixes which will be included in 3.6. I gave a longer and more detailed talk about the same (slides here). As probably you already know, for GNOME 3.6 the most important accessibility feature included is “Accessibility always on”. Instead of needing to activate the accessibility support, log out and log in again, now the support is always there.

Becoming a WebKitter too: Thanks to F123&Mais Diferenças

After GUADEC, Joanmarie and I began working on the accessibility support of WebKitGTK/Epiphany, specifically the support with Orca, resuming the development already done by Mario.  This work will be included in the next GNOME stable release, so Epiphany 3.6  will have a better accessibility support. But not only Epiphany will benefit: Because most of the work was done in WebKitGTK, all applications based on WebKitGTK will have improved accessibility support. This includes Geary, Evolution, and Yelp.

I would like to thank F123&Mais Diferenças for supporting this development and continuing to help improve the accessibility support on the GNOME platform.

GNOME 3.6 is coming

There have already been a number of posts (not to mention the in-progress release notes) describing what’s new for GNOME 3.6. In fact, some even talk about accessibility support (like this one from Matthias). So I won’t repeat what they have said. The tl;dr version is this:

  • Accessibility always on
  • WebKitGTK accessibility support improved
  • GNOME Shell improved (wifi and power top panel menu items now accessible)
  • All the stack reviewed and improved

Next?: going to Randa

Tomorrow I will be heading off for the KDE Sprint in Randa.  This year some of the developers will be discussing and hacking on accessibility. Because KDE and GNOME share several key components of the accessibility stack, collaborating with the KDE community to improve accessibility support is essential. Mind you, this will not be the first time such collaboration has occurred. In previous AT-SPI2/ATK hackfests we were joined by Frederik Gladhorn and José Millán. This time I will be the GNOME guy attending a KDE event. I am looking forward to once again working with Frederik and José, meeting other KDE accessibility developers, and continuing our joint efforts towards more accessible free desktop environments. Many thanks to the KDE community, and especially to Mario Fux, for the invitation and funding to attend this event. And talking about funding (better late that never), in this link you can find a pledgie created to fund this Sprint.

“… and you’ll spread your wings and you’ll take to the sky”


GNOME 3.4: Finally Orca+GNOME3

GNOME 3.4 is here!

Well, this is not really something new, but GNOME 3.4 was released. And as the release notes explains and Mathias Clasen advanced on his blog, one of the things improved was the screen reader support. On some of my old posts, I already mentioned how some stuff were slowly being added (like here and here). Although that work was also required, was mostly low level ATK stuff, and not really impressive from the POV of the user. After that work the outcome was GNOME Shell exposing some info through the accessibility technologies and Orca knowing that GNOME Shell is there. But it was mostly babbling.

For GNOME 3.4 we finally made a whole review of the GNOME Shell UI. Now most of those UI elements expose the proper combination of name, role (if the element is a button or not) and state (if a toggle button is checked or not). Adding the improvement on the stability and performance of the accessibility technologies (both at-spi2 and Orca), we have now something that we can ask Orca users to test. You can take a look to the result on this video:

[Video in Vimeo] [Full quality video in Ogv]

And now?

This is the first release of GNOME 3.4 with a proper Orca support, so the first one that we can proudly show to our users, so for sure we will get some feedback and some additional stuff to improve. But after all, GNOME has a bugzilla for a reason. During this cycle some users reported some issues with gdm, so we would require to review that part. For sure GNOME 3.6 will have a better accessibility support.

In the same way, don’t forget that GNOME Shell has other accessibility related features. Since GNOME 3.2 has a built-in magnifier, and now, with GNOME 3.4 it is fully configurable on the Universal Access Settings dialog. And for 3.6 it will have brightness and contrast functionality (something that Joseph Scheuhammer finished just after the code freeze) and hopefully focus-tracking.

Acknowledges and conclusions

This release shows how having people with some time to work on the accessibility stack can make things improve. Gtk accessibility is in a better shape thanks to Benjamin Otte. at-spi2 thanks to Mike Gorse. GNOME Shell magnifier thanks to Joseph Scheuhammer. Orca thanks to Joanmarie. Although GNOME 3.2 was an step over GNOME 3.0, the fact is it is more noticeable on GNOME 3.4, and it is mostly due the fact that for GNOME 3.2 (and perhaps 3.0) people were more busy on other stuff. Lesson learned: we need to find a way to keep people working on accessibility and getting more people.

Finally, I would like to mention that this is the first GNOME release since Joanmarie Diggs joined Igalia. Having her on Igalia and getting a release with a noticeable improvement on the accessibility support for GNOME Shell, and the performance and stability of Orca, is not a mere coincidence. Her experience, energy and motivation was a push to the work that Igalia has being doing.

ATK/AT-SPI2 Hackfest 2012: Days 2,3,4,5

Well, as in the previous hackfest, I planned to make a post per day, but in the end I didn’t. Next time I will not make any plan.

Yesterday we had our last day of the hackfest. It was, in my opinion, a productive Hackfest where each one had the opportunity to work with other people working in the same field, and discuss several topics regarding the current situation. If you want to know all of the details and conclusions, you could read a minutes-like brainstorming document on the wiki. But If you were to ask me to pick just one, I would mention the discussion about enabling the accessibility support by default. The main conclusion was stop to use the atk-bridge as a module, and instead have that feature integrated. Doing that has several advantages, including having it compiled (and thus tested) when someone compiles GTK+ or any GTK+ app, and not only when you want to compile the “accessibility stuff”. The implementation details are still not clear. Convert atk-bridge to a library and add a dependency on GTK+ and others? Integrate it in ATK (making the bridge something like the DBUS backend)? Integrate it in GTK+? Forget ATK, and let GTK+ talk directly with the accessibility tools using GDBUS (an option that I feel is too drastic or non practical, but still in the mind of Benjamin)? Now is the time to debate it, in order to have something decided by 3.4, which we can start to testing properly at the beginning of the 3.6 cycle. Interesting times these days.

As in the previous hackfest, other conclusion is that there is a lot of work to do, but not a lot of people to do it. And this was reflected by the amount of people in attendance (some photos here). Anyway, although we were not a lot of people, we had a lot of different backgrounds represented at the hackfest. People from GTK+, ATK, AT-SPI2, WebkitGTK, Mozilla, assistive tools and QT. For example, in several discussions Frederik Gladhorn explained how the qt-bridge implements certain features, in some cases in an different way than how atk-bridge does the same thing, as Mike noted recently on his blog.

Finally, I want to thank everyone who came to this hackfest, as they made this hackfest possible. I also want to thank Igalia, GNOME Foundation and Mozilla Foundation for their sponsorship.

ATK/AT-SPI2 Hackfest 2012: Day 1


Today the ATK/AT-SPI2 Hackfest 2012 started. This time there are fewer people than last year, but we have the addition of Benjamin Otte. During the morning the main topic was global events versus per-object events. Although being simplistic the idea would be just listening to the focused object, things get complex when you start to add some practical examples, like searching. On a web page, or in GNOME Shell overview, the focus is on the text entry. But when you start to search, the content of the search result changes, and you also want to expose that. This could be solved with global-events and filtering, or with direct per-object connection to “relevant” objects. If per-object is used, it is required to decide how and with which objects, to avoid missing notifications. In any case, if we decide to keep global events, the current implementation of the global event listening in ATK seems to not be the most appropriate (as it is based on g_signal add_emission_hook, that has some problems and could be considered overkill).

During the afternoon the main topic was the removal of key grabbing in GTK, or going into more detail, deprecating gtk_key_snooper_install. The controversial part was that the code using that on the accessibility support for GTK was removed. The reason is basically that key event emission shouldn’t be done there for a lot of reasons (as we already concluded during the previous hackfest), so that removal could be justified. *But* at this moment there isn’t any alternative implemented, so several things were broken. So in the end, the conclusion was reverse that change until there is an alternative. Probably this is a good task for this hackfest (anyway, any X expert over here?).

Going to dinner can be hard

Since today was the first day, we decided to keep it simple, and try to have dinner near the hotel where most of the people are staying. So after finding that our first option was closed, and wandering around for a while, we entered a place that seemed ok. Well, typical tascas in Galicia are in general not really vegetarian friendly, and although you can find really nice places (like “Taberna Gaia”), some people can still surprise yourself. Note: it doesn’t matter if macaroni are a kind of pasta. If the sauce includes meat, it is not vegetarian. Additionally, it was a bar with TV. And although it was not too loud at the beginning, it became totally noisy when the soccer match started. Yes, we forgot about the Real Madrid-Barcelona match.

Day 2 is coming

And tomorrow there will be more. We have plenty of things to discuss and bugs to solve, so for sure it will be a busy day. Finally I want to thank Igalia, GNOME Foundation and Mozilla Foundation for sponsoring this event.

GNOME FoundationMozilla Foundation

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.


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.