Saturday, January 24, 2009

Вы запах смешно - The Pain of Website Internationalization

Let's face it, internationalization is a pain in the ass. Zero fun. Often termed i18n and l10n, these two are God's punishment for trying to reach for the heavens.

I have recently started an effort of translating one of my sites http://www.dumpr.net to a range of languages, while maintaining a clean and loose code that can be later be put in use for other projects.

My plan is to make a 3-parts post. First, I will talk about what are my goals from the translation system. In a later post, we will review how technically other websites managed to both internationalizate and keep sanity. Third and last post will conclude: pitfalls you should know about, pains I've been going through and some tips for a better life.

As a rule of thumb, when I face with such a tremendous problem, I first head out and seek who has already achieved this goal. While there are plenty of websites that manage to translate several keywords a page (zooomr, photofunia,) there are two distinct websites I look up to: flickr und facebook.

I consider Flickr as the mother of all website architectures. In his bible book: "Building Scalable Websites", Cal Henderson explains lots of the architectural redesign and growing pains they had with Flickr. Nowadays Flickr supports a wide range of 8 languages, all left-to-right.

Facebook, on the other hand, has always impressed me with their amazing development framework and ability to adapt fast. They make sure their effort can then be helpful for other programmers. Their Translation application is so powerful and easy to use, that 20,000 people from France localized the entire website within 24 hours. (wow!) Also, Facebook supports right-to-left languages as well (ie, hebrew and arabic,) which also affect the website layout (completely mirrored.)

Drilling down, the following bullet points make up the bigger picture:

* Translating is done online. I have tried to maintain a csv or a google document for translating, it's just unbearable. Being a man-in-the-middle and transferring strings back and forth to translators is absolutely a no-no and can result in a brain damage.

* Strings list generated automatically. The gettext approach demands that the person in charge updates a list of translatable strings. Rapid development will be hurt and wounded if I have to update the same string in two places.

* No keywords or tagging, see what you are translating. It's hard to write and design an html with placeholders and copywriting is strictly impossible.

* No translation goes online without approval. Some authorization and permission-levels are required. Whether you are crowd-translating or using a hired professional, you still can't trust every person you meet on the internet. Facebook breaks this problem into finding the most fit translation (via voting,) and publishing the selected translation online.

* Person translating might not know html. Strings should not contain any markup text. Don't rely a 3rd party not to break your html compatibility.

* Rapid-translation (tm). Translators must find this task easy and fun. They should be able to see results in real-time, and not be dependent on anybody else.

Have you ever made your website appeal to other locales? Got tips to share? What problems did you face? I want to hear all about them! efterlade en kommentar!

Tower of Babel by fimoculous (cc).

Friday, January 16, 2009

Get Your Gig Going: Social Media For Entrepreneurs

eClub HUJI had a great speaker last night. Kfir Pravda of Pravda Media presented a kickass lecture titled "Social Media For Entrepreneurs".

Pravda laid out a list of dos and don'ts for using the latest buzz bingo term "Social Media" for your own gain. From using the available services to network with people in your field, through being accepted as an expert in the subject. This media can make or break your business, and it's very important for us entrepreneurs (and more importantly, solo-entrepreneurs) to learn how to utilize this for our needs.

The talk was taped, thanks to our friends at israelhightech.tv. I will post a link to the video when it's up online and narrated in English.

So what have I learned from this. Have you ever been in a situation when somebody tells you something, and it seems so goddamn obvious to you, and yet, you haven't done it yourself? This is how it felt. There is some kind of enlightenment when a respectable person not only reawaken your dead cells, but also gives proofs (again and again) and real life examples how these tricks have changed his business and life.

1. A Business Card Is Just The Beginning of a Relationship
More often than not, I'd visit a conference or a lecture, network with a bunch of interesting people, exchange cards and then shelf them for a time in need. Now, why would you do that? A person gave you his business card, she has done so because she is interested in hearing more from you. Go home now, take all of your business cards, and add each one to your Facebook friends, LinkedIn connections and Twitter friends. Cause you know what? A week after meeting her, she had probably forgotten and there goes a valuable contact.

And here is an example from my life: a while ago I was at the Amazon AWS Meetup In Tel Aviv. After the meetup, I started talking to this guy. Now, I consider myself a great listener, but I just couldn't get the guy to talk much. Eventually we parted after exchanging business cards. That same night, he added me on Facebook and LinkedIn.

A while later, I attended the Facebook Developer Garage meetup, and there he was again. Just this time, he was accompanied with other important people from the field. Having me as his friend on these platforms, he checked my cv, updated on what I'm doing and realized the potential. He introduced me (now he did all the talking) to his partners in such an enthusiastic manner, that I was blushing immediately. Now I'm friends with important contacts closer to what I am doing.

2. LinkedIn Answers Is Your Greatest Tool
LinkedIn Answers has been there for quite a while. From time to time, I'd get these questions on my email. Basically, it's a platform for LinkedIn users to ask their peers a question. The question is published publicly, and other people can participate. I always answer the questions that I receive.

After Kfir's talk (and again, proving how important it is for his business,) I decided to give it a try. I asked a question in Startups And Small Businesses category. I have to admit I was stunned. It took 45 seconds for the first answer to arrive, and from a person I have never known before. It has been less than 12 hours, than I already got 15 different replies. It is really an amazing tool, not only to get help with decisions, but also to find people who are interesting and influential in your field of expertise.

3. Get Your Story Straight, Kiddo
There is a distinct different between, "what's your story" and "what's your job". I have learned this the hard way. If you were to ask me 5 years ago, who are you, I would reply "Gil Megidish: Programmer". Ask me the same question today, and I would tell you "I'm an entrepreneur filled with motivation and creative ideas. I am a proud owner of dumpr.net, a hobby that turned into a successful business. I am very open about my work, I share my knowledge with others and help other startups get on their feet".

With all modesty, I must say that the later answer invokes more questions and interested.

Kfir lectures quite often (and all over the world), so make sure you follow him on twitter and maybe attend his upcoming talks.