gsoc/usability_enhancements

Usability and Efficiency Enhancements for Transifex

proposed by: Diego Búrigo Zacarão <diegobz /at/ fedoraproject.org>

Abstract

For a better user experience and a better tool for translators, our application to submit translations (Transifex) should receive some enhancements. These enhancements are related to usability, efficiency, and accessibility for non-English native people.

Our goal is to improve Transifex to an easy administration with all application internationalized and finally allows users to have a great efficiency on all interactions over the application. Make Transifex User Friendly and Efficient, in order to bring more contributors and save valuable time for existing translators.

Detailed Description

There are three goals for this project. i18n support, administration enhancements, asynchronous support.

Currently Transifex does not have i18n support for translators to be able to translate it. For a tool designed specifically to help translators, this is a highly valuable feature, since many translators use a non-English language as their source one. The tool Fedora uses for translation statistics has i18n support already, however once she goes to submit her translations for a module on Transifex, the interface is provided only in English. This can be a problem for translators, mainly for new translators, and for the website itself, because the website should seems like a unique integrated tool and not two separate ones.

Transifex's administrative interface needs some enhancements. Currently we only have the option to add modules and repositories, but we can not edit or remove them. Handling modules and repositories is an important thing. Many times we need to edit some information in Transifex, because some modules undergo changes at their repositories. Handle this information is crucial for the website operation, and this also provides a way for more people get involved with the website administration easily. In addition, it might prove very useful to allow project maintainers to edit the title of their modules.

Transifex's user interface could be made faster and more efficient by using Ajax calls with JSON. This could improve the user experience and ease of use for all translators. Ajax calls are used to do asynchronous requests to the web server without reloading the entire web interface. It allows the user to only request information relevant to the current operation being executed, without breaking the user's interaction with other application resources.

Once the user is logged in, all interactions over Transifex could be made with Ajax calls. This means that JavaScript? code should keep running for all user sessions and must handle the user interactions without breaks/stop the application.

In Transifex, Ajax calls would be implemented in the repositories and modules forms, for example, to validate certain fields before committing them. Also, over the submit form, we could asynchronously pull information quickly from the module repository and/or show the commit preview without refreshing the web interface.

Also, right now we have two modules lists on our website, one for stats (Damned Lies) and another one for submitting translations (Transifex). This is a problem which can confuse translators. A unique modules list is enough for a translator select the modules that he is looking for. We must merge those two lists and provide all relevant information for translators in an integrated way. This will reduce the confusion and redundancy present on our current site.

However, that task depends on some work around to move the Damned Lies datamodel over to the Transifex SQLObject model. That's going already. Asgeir Frimannsson is working on it, but it's not fully done yet. So, this task could be a add-on of this application for be done in case of the move datamodel is completed successfully in time.

Importance

The Fedora Localization Project (FLP) is one of the most important sub-projects of the Fedora Project, with more than 300 active translators and around 2000 contributors in the commit history. The FLP translation teams are responsible for the translations of all resources, documentation and applications of Fedora. The translators work hard to provide great translations for their language, which allows us to distribute Fedora around the world for many people as possible. Moreover, using the FLP tools, translators also can contribute with upstream projects directly, sending translations through Transifex.

Translations are very important and having User Friendly tools for translators is crucial for us to continue improving the FLP.

What do we need to do?

  1. Add i18n support;
  2. Improve the Transifex's forms with add/edit/delete options;
  3. Use Ajax calls in all Transifex forms, probably using JQuery library.
  4. Merge Damned Lies and Transifex's modules lists (as add-on);

Proposed Schedule

  • Week 1: Overview Damned Lies and fedora-web's i18n support and decide which i18n framework to use. Study how other applications translate strings that exist in the database;
  • Week 2: First prototype of Transifex with i18n support
  • Week 4: First prototype with modules and repositories' forms improvements
  • Week 5: Look for JavaScript? library projects with Ajax support and decide which one to use
  • Week 7: (mid-term) First prototype with modules and repositories' forms using Ajax calls
  • Week 9: First prototype with many application forms handled by Ajax calls;
  • Week 10: Decide the best way to merge the two modules lists at translate.fedoraproject.org
  • Week 11: First prototype with an unique modules list
  • Week 12: Hook-up with Web App.

About me

My name is Diego Búrigo Zacarão and I am a graduate of Computer Science at the Universidade do Extremo Sul Catarinense - UNESC, Brazil. Fedora Project involvement: I am one of the Brazilian Portuguese language maintainers and I have been working on it for 3 years. I am responsible for the Docs and Website's translations like release-notes and fedora-web, for example. On the Fedora Localization Project I have contributed also with some tests, configurations, patch and some code implementations for ours websites. As ambassador I have attended some events around my region, included FISL (for 3 years), the most famous event about Free Software in Brazil. I have been involved in web development for a long time. My monograph in the college was about web development using Ajax. So, I feel able to work on this application.

If you need more information, please contact me.