The WebTranslateIt Blog

i18n news and Product Updates about WebTranslateIt

June and mid-July Status Update

By Edouard on 13 juillet 2009

Wow, how can it already be mid-July? We have been pretty busy refactoring Web Translate It and adding new features. Here is what we have been up to.

It feels like June went very quickly, and when we look back it seems we haven’t done much this month. The truth is that we have been working on some rather tricky features.

Gettext .po, Apple .strings, Rails .yml, you name it

Gettext .po is widely use, but we really wanted to support two other file formats: Apple .strings and Rails .yml. This is now implemented, which means you will be able to use Web Translate It to translate your Mac and iPhone applications, as well as Ruby on Rails websites! Along the way we refactored and improved our importer/exporter engines to be more abstract, so supporting more file formats will now be easy. We’re quite thrilled about this.

Import and Export jobs improvements

Remember our CPU-hungry processes we run as background jobs? They took a little while to perform, without any feedback. Not anymore: we thought giving our users a little bit of feedback wouldn’t hurt.

Also, downloading every single file one by one can quickly become unpleasant if your project is translated in lots of different languages. You can now download all your language files in a zip file containing all your language files.

Next

The next release will be mainly focused on improving the interface usability, particularly the on the interface to assign jobs to your team, and invite other team members, which is rather cumbersome at the moment.

We will also improve our import/export engines a bit more. We will introduce support for plural forms in .po and .yml, which is a big piece of work.

What’s left after all this? We need to rework the translation interface: better interface for comments, code colorisation in translation forms, ability to filter strings by status, etc, and finally implement a payment system.

Once it will be completed it will be finally time to launch! We’re getting there.

Let’s get in touch

For frequent updates, follow us on twitter or subscribe to our RSS feed. If you want us to contact you as soon as we launch join our mailing list on the Web Translate It website.

We also have our customer support forum on GetSatisfaction if you have any ideas, enquiries or suggestions.

April and May Status Update

By Edouard on 31 mai 2009

June is here. While we still don’t have much to show you, a lot of things have happened during these last two months.

We have been busy working these last two months and made lots of improvements on Web Translate It.

We hope to have something substantial to show you this summer. Here’s what we have been up to.

House cleaning and a few new features

Back in April we launched a temporary front page for Web Translate It to present our product. Since then, a lot has happened.

We’ve been working on a brand new design, implemented a few new features, dusted off some scalability problems and have drastically simplified our product’s architecture.

A new design

Remember the sketch we posted a few weeks ago?

Well, after using it ourselves, it didn’t felt right so we went back to our pencils and came up with something dramatically simpler.

This is very green. If you don’t like it, you will be able to change the background and header colour to your taste.

This new design is much more simple and will allow easier modifications in the future.

New Features

We worked on a new page we call the “String Log” (screen-grab above). This is basically a page showing the details of what happened on a string: translations changes, status changes, comments posted, in a chronological order. We still have a bit more cosmetic work to do on it.

We also worked on implementing string export, so you can actually fetch your languages files once the translation work is done. It’s not entirely finished yet, but the engine is here and ready to use.

Scalability

We noticed some performance issues while importing large languages files to our system. These kind of tasks simply take too much time to perform online.

So we moved these CPU-hungry tasks as background jobs. It was a very interesting project to do. We’ll write another post later to share our experience on this.

Simplification

As much as we try to keep things simple, some parts of our product seemed very complex to use so we reworked them in a much more simple way.

We also rewrote our .pot file parser from scratch, as the one we were using was blatantly inefficient.

System

Some of our work cannot be seen. We set up a communication system, a server monitoring system, and tuned our backup system.

Our source code and our database are backed up to an offsite server every day.

We also installed some tools to help us code better.

Continuous Integration

We now have a continuous integration server, Integrity.

Every time we we push code to the main branch, Integrity runs the website’s batch of tests and tells us the result on Campfire.

Of course we test our code locally on our computers while we code, but several times we committed code breaking the test suite without noticing.

It is now impossible to ignore it.

Metrics

“You can’t control what you can’t measure”. We run software metrics on our code since four days now.

It seems promising and will help us a lot to improve our code.

Inspired by the good folks at Thoughtbot we chose metric_fu, a tool to generate software metrics for ruby code.

Basically, metric_fu calculates everyday a few software metrics from our source code and notifies us from design issues, code smells, missing test cases, duplicated or too complex code.

Tools like Reek, Flay,

Flog and Rcov are amazingly useful.

Now, the vanilla metric_fu doesn’t look so hot. So we decided to go ahead and use Thoughbot’s fork which is aesthetically more appealing, and since we were at it we made it a bit better.

Our fork automatically generates and includes graphs showing our day-to-day progression. Grab our fork at Github.

Edit: our changes have actually been pull to the official metric_fu.

Getting in touch

We launched our company website/blog a few weeks ago to be as transparent as possible and talk about what we are doing.

We are really pleased to read you left us a few comments and we hope we’ll have the opportunity to discuss more.

If you want to hear from us or get in touch, you can use the comments here, or use our customer support forum at GetSatisfaction or send us an email.

If you prefer to just watch what is going on you can subscribe to the RSS feed for frequent updates, or join our mailing list if you want to get an email when we launch our product.

In Search for Convivial Communication

By Edouard on 18 mai 2009

Since Étienne and I work remotely from France and Sweden we crafted an efficient internal communication tool based on Campfire. Check out how we work.

Étienne works from Paris, France and I work from Linköping, a middle-sized town in Sweden. We are about 1600 kilometers far away. Luckily we don’t have any time-zone on the way, but we do have day jobs, which means we often work asynchronously.

We use 37Signal’s Campfire for our daily talk.

Campfire logs everything that has been said in a transcript and that’s very convenient: it allows both immediacy and asynchrony.

For example, if I am away for a few days I can look through Campfire’s transcripts when I come back and see what Étienne did and what were his blocks and problems.

Since I see every details on the transcript, I don’t need to ask him anything. It’s a great time saver.

In the same handy fashion I can ask a question to Étienne on Campfire while he’s away. He will answer me the next time he logs in, even if I am not logged in myself.

On top of that we run a few notification scripts shaped to our needs.

Revision control system notifications

We use Git for our code versioning. Every time we push code to our repository a notification message is displayed on our Campfire chat room.

This is great for awareness and to discuss about code changes.

This is really an easy script, but we’ve open sourced it.

Issue tracking system notifications

We use Redmine to keep track of our features and bugs.

This is a great open source web-based tool for collaborative work, but since all our attention is focused on our Campfire chat room our actions on Redmine lacked of visibility.

So we made a plugin to notify each-other of every ticket changes, edits on our internal wikis and forums.

This is very convenient, we can see how a project is going at a glance.

We made this Redmine plugin available.

Deployment notifications

This is important to notify each-other when we deploy in case something gets awry. So we display a notification message as well as a message explaining what the deploy is for.

Alerts!

This one is quite new and is not really usable yet. We setup our monitoring system to display alerts for some of our most critical processes.

Note: this is not an actual alert

We can also easily display monitoring graphs on Campfire to quickly show what’s wrong and discuss on how to fix it.

Here our server’s memory usage seems quite high.

That’s about it! Using this tool is really handy, and I don’t think we could work as efficiently without it.

Announcing our first product: Web Translate It

By Edouard on 2 mai 2009

Since a few months we’ve been working on a secret project. Do you have a website or an application you want to open to the world? Read on!

Did you know that the European Union has 23 official languages? That Spain has 4 official languages? That the spanish government’s websites are multilingual? That even though their languages are related, people from different Nordic Countries don’t understand each other? How many kilometers are in one mile?

You got it. Win a foreign market requires some internationalisation and localisation efforts.

Website or application internationalisation is not easy. Some developers cook a “home-made” translation system which is most of the time not very usable by the translation teams.

There are also a few translation solutions, but they too complicated to use and don’t allow easy communication within the translation team, or between the developer and the translation team. They also have poor support for iterative project development.

So, Web Translate It!

We decided to scratch that itch and develop ‘Web Translate It’ to make all that easy.

It’s still under development. We started working on it a few months ago and we already have an usable software, but some things aren’t quite finished yet.

We expect to have everything ready to launch by the end of August or early September and we’ll keep you posted about our progress on this blog.

Above: an idea of the project page on Web Translate It.

Web Translate It will be:

  • web-based. You will use Web Translate It in your web browser over the internet. You don’t have to worry about anything: just work and collaborate easily.
  • commercial. Although everything seems to be free on Internet nowadays, we develop software for a living. We believe our product will be superior than the open source alternatives and that it will worth every penny. We haven’t clearly defined the price yet, but we really want it to be fair, as in bring more value than it costs, and we will likely use the “pay as you go” model. At some point we will introduce a free plan for open source projects.
  • a translation tool. We will support the translation files formats we’re used to in the course of our jobs: Gettext .pot, yml and Apple Strings (the iPhone and Mac apps translation format). We plan to support more file formats later on. We also plan to integrate a translation memory, although this feature may come a bit later.
  • a communication tool. Stop emails! Assign jobs and deadlines on the tool itself. Ask questions to the project owner, all the project stakeholders will be able to communicate very easily, and everything will be really visible.
  • a tool for developers. We’ll integrate Web Translate It to the major web development frameworks. We plan to integrate first those we use and love: Ruby on Rails and Django.

Get in touch

For frequent updates, subscribe to our Atom feed. If you want us to contact you as soon as we launch join our mailing list on the Web Translate It website.

We also have our customer support forum on GetSatisfaction if you have any ideas, questions or suggestions.

Let’s start talking

By Edouard on 1 mai 2009

We’ve been actively working for months without saying a word. Now it’s time to introduce ourselves and talk about what we are doing.

Étienne and I are the co-founders of this not-yet-officially-created software company called Atelier Convivialité.

A few months ago we decided to work together and start our own software company. We like to work for ourselves and we share the same philosophy on how tools should be.

Software with a philosophy

Our company is named after Ivan Illich’s essay Tools for Conviviality which enlightened us very much.

In a nutshell, Illich’s essay states that a convivial tool should be efficient without degrading the user’s autonomy.

This simple idea may sound like common sense but most computer tools don’t even come close to that. It means a lot to us and we are taking it very seriously.

Many craftsmen are struggling with tools unadapted for their work. People end up doing work that should be automated.

Why is that? It may be because a specific tool don’t exist for their craftsmanships, or because the available tools became unadapted due to the new technologies. Or it could also be because they are poorly designed.

Bad tools get in the way and hurt. Good tools ought to be forgotten and help you work better.

So we decided to develop software that solve simple problems with this naive idea: we can do better and simpler.

Our tools will do less than our competitors because you ain’t gonna need it.

We also wrote a little red book. We want to develop convivial tools. We want our products to be simple and secure, and we want to be as transparent as possible.

Stay tuned

There’s plenty of ways to keep in touch. You can subscribe to our blog feed and follow us.

We also have a customer support forum on GetSatisfaction. You can also use the comments here or send us an email at info@atelierconvivialite.com.