CodingTeam is a free and easy to use forge designed for you. Your projects need simplicity and intuitivity!

CodingTeam

Blog: codingteam

Feed subscription: or .

Categories

 

Survey results, future prospects

It's now the time to publish the results of our survey. I want to thank you all for your participation, as we get nearly 80 answers to the "CodingTeam survey 2011".

Even so our survey suffered from a few weaknesses like the fact that a few questions not addressed to all of our users were mandatory, the result provide us a lot of useful informations. The problem with our mandatory questions (features scores) is that the scores are devalued and there were confusion in the responses.

So, let's start!

The CodingTeam software forge is a young project and it's used by young people! 57.89% of our users report being between 15 and 25 years. There are 38.16% of our users between 26 and 60 years. On the other side, there are fewer users that are more than 60 years (2.63%) or less than 15 years (1.32%). Thus, we can see that the majority of our users are young, with nearly 60 percent of them under 25.

In the beginning, CodingTeam was an attempt to provide a good forge to the French-speaking community, and we can see that 67.87% of the users are from France. Other well represented countries are Belgium (8%), Switzerland (6.67%), Brazil (2.67%), Germany (2.67%) and Slovakia (2.67%). There are also users from Australia, China, Czech republic, Ireland, Madagascar, Russia and Vietnam. Therefore, it's an international project, although we can bemoan the lack of users from United States, United Kingdom, Spain etc. Note that we know a few users from India too.

It's interesting to take a deeper look to the SCM usage question. We asked if our users were using a (distributed) version control system or not, and which one. It appears that 21.34% of the interviewed CodingTeam users don't use an SCM. Thus, we can conceive that the work we did on the HCI allows users who are not developers to use our software forge: translators, graphic artist, packagers… It may be the sign that we successfuly created the easy-to-use interface we wanted. The others 78.66% are using various systems:

  • Subversion (50%)
  • Git (21.43%)
  • Mercurial (16.07%)
  • Bazaar (5.36%)
  • CVS (5.36%)
  • Darcs (1.78%)

It also appears that 33.96% of users discovered the project by a friend (many thanks to them!), 28.30% by a project using it, 20.75% by a news article and 16.99% by an Internet research.

On the communication subject, we asked our users how they want to be advised of project news. Thus, 59.375% of them would accept to receive a newsletter from time to time. This may not be done because of the large 40.625% of our users that don't want at all. It's also interesting to see that only 54.69% of our users knew that the CodingTeam blog exists, the others just ignored it!

Thereby, our users give a rating of 6.52/10 on the quality of our project communication. We already know that it was one of our weakness and we will take into account the remarks made by them, like:

  • the usage of the French in addition to English
  • modernization of the appearance
  • ATOM feed (hey, that already , just follow this blog, man!)
  • interesting tutorials/links

Another user complained about the fact that the communication is too oriented toward the group of French-speaking people on the XMPP chatroom. This can explain the large majority of our users from France. We should focus other countries and languages to reveal our software forge across oceans!

It's very interesting to know that the CodingTeam software forge is mainly use on CodingTeam.net (73.69%), but it's also used elsewhere:

  • users own forge (19.30%)
  • forge installed for a single project (3.49%)
  • companies (1.76%)
  • research laboratories (1.76%)

Our users seems to be satisfied with CodingTeam! The software forge gets a global score of 7.75/10.

The translation system is rated 6.55/10 (the next release will bring a few improvements as the reduction of the loading time). The bug tracker gets a 6.88/10 (again, the next release will bring improvements like pre-selected filters). The documentation system is rated 6.50/10 (users seem to don't like CamelCase and ergonomics).

The top rated features are the SCM support (7.29/10) and the communication tools (7.13/10).

The feedbacks sent by our users are also very interesting. Most of the opinion are positive (encouragement, congratulations) and a few features requests.

It is not surprising to see that among the 39.44% of users that are using another software forge, the most used are Launchpad and Teamforge/SourceForge.net (both 18.42%), followed by Redmine and Trac (both 15.79%), Github (10.54%), InDefero and FusionForge (both 5.26%) and BitBucket, CodePlex, Google Code and Savane.

We asked for the opinion of our users on certain probable features for the future of the project. Here are the podium:

  1. more statistics (27.45%)
  2. unbelievable technology from outer-space (26.47%)
  3. agenda and calendar (25.51%)
  4. website hosting (21.57%)

A lot of work have been done on the development version of CodingTeam on the statistics. We are glad to announce that projects will soon benefit from detailled statistics! The current stastistics page will be extended with a global activity report (commits, bug tracker, forum topics, translations and documentation in a table and a graph), and a source code analysis!

We also plan to send someone in space to bring back a piece of magic Moon rock, that will give us the ability to provide a software forge for galaxies and mice!

More seriously, our users asked for a few features, like:

  • ability to fork a project
  • installation script (planned)
  • work on the appearance
  • German translation
  • API to communicate with CodingTeam (take a look at this post)
  • overview: late bugs, notifications

Among these features requested, some will be part of the next release:

  • Git (it seems to be more popular than Justin Bieber)
  • timeline by developer
  • teams associated with projects

Finally, we collected a lot of useful informations on our users and how they see and use our software forge. I also started to develop what users have asked in this survey. So it was very important to take the quizz, and again, thank you all!

See you for the next release!

Translate your projects via CodingTeam

It's time to start this blog with an interesting subject: online translation inside CodingTeam. This post is a full introduction to this new feature in the CodingTeam software forge.

As it stands in the release notes for the 0.9.2:

CodingTeam 0.9.2 reintroduces the gettext-based online translation system. It was already in our forge up to the 0.42 but this had disappeared with the full-rewrite of the 0.9. Now, you can easily translate your software online with CodingTeam! The process is simple: you upload a gettext translation model (a .pot file) and then users can translate all your strings in their language. If you already have a gettext translation file (a .po), you can upload it to automatically translate all the strings in the database. When you want to get the translated strings in order to release your software, just export the translation file for all available languages and it's done! And by the way, to prepare the next release, you will import your new .pot file, which will cause the automatical update of your strings database (deleted strings will be deactivated).

This feature is very new and we release it early to get feebacks on this implementation, in order to make it better and better with the time. But here it is, you can now translate your softwares with CodingTeam!

Thus I write this step-by-step howto in order to fully explain this feature, its use and operation to the CodingTeam users and more generally to anyone who may be interested.

Before starting, it is necessary to mention some important points. First, CodingTeam is a software forge, that means that you can do everything to develop your software in one place with varied tools from bugs tracker to source code management. This software can be used, if you have a free software (as in freedom) project, on the CodingTeam.net website!

The method used to implement internationalization (also known as i18n) inside the CodingTeam software forge is based on gettext. It's the GNU library for internationalization and localization. gettext is somewhat a de facto standard to develop multilingual programs. The use of this library is very simple. Programmers put their strings in the gettext function (commonly aliased _). Then, they run xgettext that generates a .pot file wich is a template (it means that this file contains the list of translatable strings extracted from the sources). Afterwards, the translator derives a .po file from this template with msginit or msgmerge and the translation is made in this file. He just send it back to the developer who uses msgfmt to generate a .mo file wich is a binary. These binary files will be used by the program.

With CodingTeam, all the translation work can be made online. The fact is that a lot of people are unwilling to use gettext. Therefore in the context of free software, an easy-to-use appliance can only increase the number of translators who will contribute to your project! And, in an enterprise, it's just necessary to save time.

First step: upload a .pot file.

Just click on the "Administration" link to enter the panel and select your base language.

If you're going to import a template of translatable strings of your programs currently written in English, thus your base lang is English. Just import this file and you're done, strings are now ready to be translated.

English is now hidden in the list of the internationalization homepage. This is because you won't translate strings that are already translated!

Second step: upload a .po file.

Now, you can import an existing translation files if you have it. Just fill this form and this language will be updated.

It's useful in order to maintain on a CodingTeam forge the translation that you've already started elsewhere. The .po import is designed for that and for prehistoric animals that still contribute to translation without using online interfaces.

Third step: translate a string.

The third step is the most interesting of all. Here is the translation string view:

You can see the string that you have to translate and the current proposed translation. If you are registered on the forge, you can add your own proposition (and tag it as translation, correction or reformulation). You can also see where this string is located in the sources (file and line number), this kind of information can be very useful to understand the meaning of a sentence taken out of context.

And below you have the revision history for this translation. Indeed, CodingTeam's internationalization system works as a sum of suggestions, the last one is the translation that ends up being used. Thus, to limit abuse, administrators can delete any suggestions.

When someone contribute to translations, this work is shown in the project's timeline (and therefore in the dashboards). You can also get (through this timeline's entry) a summary of all translation work made in a day by all translaters on all languages.

Fourth step: export a .po file.

Once translation work is finished, you can export the translated .po files. You will just have to compile .mo files from them.

Well done!


Well, you know everything you should know about CodingTeam's online translation system!

But, as I said in the release notes, this feature is very new. It lacks a lot of functionality and can be improved by the time. Some of the needed (and planned!) things to make this internationalization system better are:

  • linking the source code repository and the internationalization system (update on commit, build and commit translation files…)
  • handling plural forms

If you have another great idea, feel free to write it here!