L20n – what to add before 1.0

As I mentioned in my last blog post, we’re narrowing down the list of features that we’re willing to consider for inclusion into L20n 1.0 prior to its freeze and release.

Here’s the list:

Name Driver Target Milestone
difference between entities/macros from the resource and variables provided by the developer stas 1.0
difference between public and private attributes/entities gandalf 1.0
default values for hashes/arrays gandalf 1.0
globals namespace gandalf 1.0
import command gandalf 1.0
conditional blocks gandalf 1.0
value as ID (gettext mode) stas ?
string as ID (simple gettext mode) stas ?
key as string stas ?
relative referrals gandalf 1.0
dependency list gandalf 1.0
computer readable comments gandalf ?
multi-language resource files gandalf 1.0
Switch expression gandalf ?
attribute indexes stas 1.1
nested indexes gandalf 1.0
Expression errors gandalf 1.0
workflow gandalf 1.0
resource file syntax stas (support from: kaze, fantsai) 1.0
forbid referencing public entities stas ?
Macro attributes gandalf ?

All of those features represent some feedback item we got and we’re trying to evaluate it ASAP in order to finalize the parser/interpreter couple and work on the workflow toolchain for L20n 1.0 next.

If you want to discuss any of the items, join our localization-20 group and start a new thread for each feature.

If you want to add a new feature to be considered, start a wiki article in L20n/Features namespace.

 

L20n, feedback round

Last months have been extremely busy for L20n. I basically focused 100% of my time on the project, driving simultaneously multiple aspects of the project to completion.

L20n is a very complex project, not only technically, but also socially. Localization technologies have always been of minor importance for most of the software world so we never really develop technologies that could anyhow match the complexity of the human languages. The most common mindset, even among those who have to deal with localization, is that you can get “most of the stuff” done with simple key-value pair lists where English string is a key, and target localization string is a value.

It’s a bit like claiming that most of Firefox front end could be written in BASIC.

L20n is on the other side of the spectrum. It brings the localization technology to the new level, and in result breaks almost all paradigms of what people are used to do with l10n and breaks how it “usually works”.

In result, the major challenge when helping someone learn what L20n is, is to convince the person that she has to stop trying to match its components to the concepts the person knows from other l10n frameworks. It will just not do.

The reward is that once you get beyond the game of “how does L20n relate to Gettext / DTD / Properties?” people get into the “Oooh!” moment and what follows is a litany of ideas of what would be nice to have if we are about to reinvent the localization technologies. I love it :)

As many project leaders before me have observed, getting close to a target milestone always turns you from a visionary leader that sets the goals and drives them to completion into some sort of a butcher that says “no” to everything except the most crucial additions in the fear of never ending cycle of adding more and more without getting your project released.

So here we are. For the last month we’ve been working pretty close with several projects – Boot 2 Gecko, Jetpack, Firefox – and we got plenty of feedback, from minor additions to major suggestions. Now is the time to narrow down the list of changes we’re ready to incorporate for 1.0, close the list, work toward the release, and push everything else back to L20n:Next.

In the next blog post I’ll list the proposals and the status of the discussion on those.

Mozillians on Digital Freedom

Matjaz wrote a blog post on his presence in ACTA debate in Slovenia. With multiple interviews, shows and a speech at a government organized roundtable discussion, Matjaz became an ad-hoc representative of our collective in front of the audience that we rarely interfere with. That is just awesome Matjaz! Congratulations, dude!

But it’s not only Matjaz! Mozillians have been active all around Europe in the public debate on ACTA. Me and Staś have been both helping the civic NGO side on ACTA front in Poland, Otto in Estonia, and Bogo in Sofia, just to mention a few.

Three things that strike me about this are:

1) The whole generation of Mozillians who gained their experience by shaping local Mozilla communities in Europe are now becoming respected public figures precisely because of what we are doing at Mozilla project. For years we’ve been responding to what was needed, adapting to the changing landscape on the cross of the local and global Web, growing up to roles that had to be filed. It’s amazing to see that our experience and cred gained by fighting for the Open Web is now placing us in the spotlights when the future of the Internet is being debated.

2) We all seem to intuitively build our positions on a small set of principles that we wrote just a few years ago.
I remember the time when Gerv has been driving the conversation at FOSDEM trying to isolate the limited set of statements and principles that unite us, Mozillians, and I even remember voices questioning the need for such a document arguing that we were successfully able to raise and grow our project without it.
These days, the very first thing that we do when we face something that we intuitively feel is wrong for the Internet, is that we cross check it against the Mozilla Manifesto.

We are united under this manifesto, it does work as a written summary of what we believe in and now it serves us as a point of reference when we face proposals that are not in line with the Internet that we want to see. Just take a look at Polish Mozilla Community position on ACTA, or read Matjaz’s speech.

It  grows far beyond what we originally expected and everyone who worked on this document should be proud now. I certainly am!

3) As individuals, but also as representatives of Mozilla project, we are being asked to speak, because people want to know what Mozilla thinks. It’s important. Like in all other debates that we took part in, web standards, browser wars, web video formats or privacy, Mozilla has a unique role and it’s fundamental for us to walk this thin line of subtle balance that we aim for with our hybrid nature. I’m particularly proud to read Mitchell’s words and also journalists commenting on our statement in a way like the following:

Essential statement on ACTA by Polish Mozilla Community
(…)
It’s worth pointing out, that the community’s position is very rational, calm and stripped of the emotions that are driving most of the conversation these days.
(…)
Polish PM, Donald Tusk, has said that Poland will not ratify ACTA if the there will be any doubts, and this statement by the community clearly presents those that are of vital importance for the information society.
(…)
The statement written by the Mozilla community in Poland is important for yet another reason. Its authors are not connected to any market player. Mozilla Community is not an NGO or political organization. Usually, Mozilla and its community do not comment law related topics.
(…)
Those are the people that usually avoid law related topics focusing on their great, a bit crazy vision.
Apparently what has happened, made them feel they have to speak up.

In cases like SOPA in US or ACTA in Europe, Mozilla DNA that has shaped all of us, is being injected and influences the debate in a profound way.
The same vision that has shaped Firefox, Thunderbird, Drumbeat and tons of other projects and products, and through this influenced how the Web looks like today on both, technological and social layer, has also shaped our minds and beliefs, and through this is now impacting the public debate that is being held all around the world on the future of the Interent.

Isn’t that just amazing?

p.s. We’re igniting a newsgroup devoted to the topic of digital freedom. Join us there!