Wikimedia blog

News from inside the Wikimedia Foundation.org

Technology

News and information from the Wikimedia Foundation’s Technology department (RSS feed).

Announcing the Official Wikipedia Android App

Two weeks ago, we submitted the official Wikipedia Android App into Google’s Android Market. Since then, we’ve seen an amazing reaction from our Android users. We’ve had over 500,000 installs, we’ve become #4 in top free books and reference, and we held the #1 trending spot in the whole Android Market last week. Those stats don’t even reflect how great we’ve been doing internationally. Thank you to our users for supporting us.

We wanted to do this blog post sooner, but we had a busy news week helping to protect the Internet and releasing two important updates to fix GPS and performance related issues. Now, we’re excited to talk about it.

Developing the App

Our Android app marks a really important turning point for the Wikimedia mobile projects and the open web in general. Instead of developing a native application as we had done previously with our iOS Wikipedia app, we opted to simplify our development efforts by using PhoneGap. Fully embracing HTML5, CSS3, & Javascript commits us to the open Web technologies of the future. Rather than diving into proprietary frameworks and SDKs, our application has been built on the same foundation as the open mobile web. And not only does this allow us to prepare for the future, it also accelerates our ability to develop across numerous platforms.

Within a short amount of time we’ve already developed a testing version of our iOS app with PhoneGap and we’ve established our first complete community port to the BlackBerry PlayBook. This demonstrates the power of using open tools and communities to improve the Internet as a whole and it is a critical component to our long term goals.

But there is a lot more to do. We’ve received excellent feedback from our reviewers and we’ve started to incorporate it into our roadmap. Future versions of all of our apps will include a lot of what we’ve heard from our users, but we need help to get there. Our code is all open source and its easy to get involved. Fork our code, reach millions, and help educate the world.

The App and our Global Mission

Given Android’s significant smartphone market share, having an Official App may be a “must” these days, but there are additional reasons that this release is important for us.  First, the app is truly international. Unlike our iOS app, which was only localized into four languages, our Android app already has complete localization for 25 languages, nearly-complete localization for over 50 languages, and it can be translated to over 250 languages languages through translatewiki.

As importantly, it opens up new distribution opportunities for people to discover Wikipedia. As we develop mobile partnerships throughout the Global South, (see our recent announcement with Orange), we hope to distribute this app through operators’ local app stores in addition to Android Market. This not only broadens Wikipedia’s reach, it also gives our operator partners a free, unique, and locally relevant offering for their customers, strengthening the overall impact of these partnerships.

Finally, the rise in low-cost Android smartphones is making the web more broadly accessible to people who may not have had Internet access previously. This is in alignment with our mobile mission to reduce barriers to accessing free knowledge.

We’re excited to celebrate this release, both as a development milestone and a mission-aligned achievement. And we are thrilled to get the app into the hands of more people around the world. Now, let’s make some noise.

Tomasz Finc, Director of Mobile and Special Projects
Amit Kapoor, Senior Manager, Mobile Partnerships

FeaturedFeeds brings syndication feeds of featured Wikimedia content

Example of the English Wikipedia
featured articles feed generated by FeaturedFeeds

Yesterday, we deployed a new MediaWiki extension,  FeaturedFeeds, to all Wikimedia wikis. It creates syndication feeds (Atom or RSS) of Wikipedia’s featured content, such as featured articles or pictures of the day, giving the projects a new way to deliver content to readers and users.

For now, links to the feeds only appear in page metadata; in the future, we will add them to the sidebar on main pages, if communities wish so.

FeaturedFeeds integrates with the existing main page infrastructure: it uses data from templates to show content based on the current date.

Because user-generated content is involved, local wiki administrators need to make a few edits to MediaWiki pages to set up the extension. Instructions and a FAQ will guide you through the process. You can also use my edits to set up FeaturedFeeds on the English Wikipedia as an example.

If you have questions, you can ask for help on IRC, in #mediawiki and #wikimedia-mobile; we’ll be happy to help you set up the extension on your wiki.

Max Semenik
Mobile team developer

Tutorial for using the Translate extension

On Saturday 28 January 2012 at 20:00 UTC there will be a workshop on Translation tools. It will take between 60 and 90 minutes and will consist of an introduction of use cases and features, as well as a Q&A. (local times)

The workshop will focus on the use cases covered by the Translate extension on Wikimedia Meta-Wiki for the following user roles:

  • writers: those who write texts that need to be translated
  • translation administrators: those who mark pages for translations and post-process translations when they have been made

Please put the following page on your watchlist and write your name down if you would like to attend. The workshop is held online using WebEx. I would advise you to log in 15 minutes in advance to ensure you have ample time to set up your computer if you have not used WebEx before. WebEx can be used in desktop environments on Linux, OSX and Windows.

If you would like to familiarise yourself with the technology before the workshop, please take a look at the elaborate documentation, which includes some tutorials. In the next two weeks, the already present documentation for translators will also be completed.

Credit goes to Pete Forsyth for proposing to have this workshop. Hope to see you online Saturday!

Siebrand Mazeland
Product Manager Localisation
Wikimedia Foundation

Free Mobile for Wikipedia Starts with Orange

The Wikimedia Foundation is working to make knowledge freely available to every person in the world, but for many potential readers in developing countries, the only way to access the Internet is by paying for data on a mobile phone. Cost is a barrier that prevents data usage and makes access to a vast repository of knowledge like Wikipedia impossible. In some developing countries, the poorest fifth of the population already spends over 20 percent of their income on mobile phone services [1]. We don’t want people sacrificing their basic human needs to spend money on data, so we decided to do something about it.

Today we are proud to announce [2] a significant step in breaking down barriers to free knowledge: the Wikimedia Foundation and Orange are partnering to offer access to Wikipedia for Orange mobile customers free of charge. Orange has committed to provide this service in twenty countries across Africa and the Middle East, for three years, and has included access to all of Wikipedia’s enormous store of images. We have worked with Orange over the last few years and they have really come to understand the value of our mission. Thanks to their leadership, we will reach tens of millions of people that wouldn’t otherwise have access to Wikipedia — and all for free.

Over the past year, we’ve been urging mobile operators around the world to consider waiving data charges to access Wikipedia, even when we didn’t have the internal capacity to support such an endeavor. Despite not having a full-time mobile developer on staff until eight months ago, we operated in the mode of “if we build it, they will come.” I’ve focused our mobile team to help in developing countries, as we’ve fostered negotiations with operator partners.  And over the last six months we’ve grown our mobile team to six people, with additional contractors (and more hires on the way). Many people on our mobile team have been critical to making this happen including Amit Kapoor, Patrick Reilly, Phil Chang and Tomasz Finc, with special help from tech ops including CT Woo and Asher Feldman – and dozens of volunteers from around the world.

The Orange rollout will begin over the next several months, starting in Tunisia and the Ivory Coast, with four to six more countries including Mauritius and Cameroon and others shortly after.  The first countries will require a lot of testing and if you’re an Orange customer in one of the regions where the rollouts are happening, we’d love your comments. You can read more about this partnership via our Q&A [3]. We’ll keep you updated on our progress in future blog posts.

Orange has helped us get one step closer to making it possible to give everyone free access to the sum of all knowledge. We sincerely thank them for that. This is a really important precedent. Now we need more operators around the world to join in offering Wikipedia to their customers free of data charges. The movement for free mobile for Wikipedia has just begun.

Kul Takanao Wadhwa
Head of Mobile

The end of a slushed sprint

Consolidation was the name of the game for the past sprint for Wikimedia’s Localisation team. A bug triage, testing, documentation and bug fixes were the activities designed to make our software more stable and more usable. When you read the bug triage report it becomes clear how much the devil is in the details; real native language expertise is needed to understand and assess the issues  we aim to solve. Read the report and you will see how much we rely on our community, on people like Srikanth and Nemo_bis.

Now that we are writing documentation in a central place, like here on the language statistics of the Translate extension, we are now able to provide you with a help text that is specific to the context. For the language statistics it is a help text about “statistics and reporting“. This functionality is ready but will become available in the deployment of January 30. You can help us and yourself by reading and understanding the text. Ask when you have questions and you can translate the text and make the text that much more your own.

Narayam is another extension that has been improved with user documentation. This documentation is completely new and it can effectively replace existing documentation. The existing documentation has the benefit of being written in the local language and we expect that what is written will be similar to the Narayam documentation. It is therefore that it will be the choice of the language communities to decide if they want to point to the local documentation. Like all our software, the Narayam documentation will be available for translation. Having the translation ready may be one of the considerations.

A lot of work is going into the description of the many input methods like the Inscipt layout for Assamese. These descriptions are “must have” help information when you do not know a particular keyboard layout by heart. They also provide a wonderful opportunity to verify if our implementation for a particular keyboard method is correct. This is yet another instance where native speakers can help us a lot.

Testing and getting to grips with the different tools was a major goal for this sprint. PHPunit and Qunit is what is used to test PHP and JavaScript and the tests developed are used in an environment called TestSwarm and Jenkins (respectively for PHP and JavaScript). As our team is so much into language support, we are learning what the limits are for testing for different languages and scripts.

All in all there may have been a slush and we have done a lot of code review, but we also managed to make sure that our functionality has gained stability for this and future releases. Additionally, work was done on grammar support for JavaScript, but the patch for that was stuffed in a bug report because of the slush, as the story was moved to the next sprint. Grammar support is what fills the gap in localisation support between JavaScript and PHP and makes it available to any and all other developers.

Thanks,
Gerard Meijssen
Internationalization / Localization outreach consultant

 

Sprinting ahead when there is a “slush”

When there is a code freeze or a slush, the potential for what is to be delivered is curtailed. It is official; you will not deliver new code, you will work towards consolidation of the new MediaWiki release.

One of the objectives for this and the next release is that the time between releases will decrease. Even though the Localisation team works in two week sprints, it can help with getting the release out of the door. The first thing to do is help even more with code review, the other thing is make sure that its code will be optimised for easy coding, testing and use.

When you check out mingle, (user guest, password guest), you will find that the developers of our team are learning about the various testing tools. They are even updating the developer documentation to make it easier to understand how to set up new automated tests.

When you are testing, it is necessary that code provides information about its execution. This realisation means that the code needs to be refactored in order to allow for testing. Documentation is another part of the puzzle that helps stabilise code; you will find a prodigious amount of documentation that is scheduled for this sprint.

All this translates in quite a minimal deployment for the first week. Its highlights are:

Translate:

  • Better error checking and handling in Special:Translate
  • Translatable page id prefix changed from page| to page-
  • Don’t reuse messages from core

WebFonts:

  • Fixed download of Vemana Telugu font
  • Added font for Ahirani (ahr)

Narayam: Some fixes to Assamese transliteration rules

Core: the cropping of text in level 1 headers is fixed for Indic languages

Thanks,
Gerard Meijssen
Internationalization / Localization outreach consultant

Addressing the many

When you have a message, you use the appropriate language and tools to address multiple people. We do not use our eyes to see how many people we address and we do not use a bull horn to be heard. Our MediaWiki software knows the numbers involved and a plural enabled message will be formed according to the rules of the language.

When we implemented plural support for JavaScript, we checked our new implementation for plural with our implementation in PHP and we checked against the standard for such things, the CLDR.

The Localisation team does not know the language rules for the 280+ languages that have a Wikipedia. We prefer to implement what the standard tells us but we support more languages than the CLDR. We want to channel our need for support through “Language Support teams” and we want them to help us understand  and fix the inconsistencies and add the missing information to the CLDR.

Inconsistencies with the CLDR
  • Belarusian – ‘other’ form missing in MediaWiki
  • Belarusian-tarask – ‘other’ form missing in MediaWiki
  • Bosnian – ‘other’ form missing in MediaWiki
  • Manx - CLDR has 3 , MediaWiki has 4 forms
  • Hebrew – CLDR has 2, MediaWiki has 3 forms
  • Croatian – ‘other’ form missing in MediaWiki
  • Ripoarian / Colonian – order of forms different. CLDR says 0,1, other. MediaWiki says 1,other,zero
  • Latvian – CLDR defines zero, one , other forms. MediaWiki has only two forms, one for (1, 21, 31, 41, 51, 61…) and another for rest of the forms.
  • Macedonian – CLDR defines forms[0] for n!=11. MediaWiki defines forms[0] for n%100!=11
  • Polish: ‘other’ form is not defined in MediaWiki.
  • Russian : CLDR defines 4 plural forms. Form with decimals missing.
  • Slovenian – MediaWiki defines a zero form which is not present in CLDR
missing in CLDR
  • Church Slavonic
  • Lower Sorbian
  • Scottisch Gaelic
  • Upper Sorbian

Please make a difference for the support for your language and join the Language support team.

Thanks,
Gerard Meijssen
Internationalization / Localization outreach consultant

End of sprint 6; Translate and other goodies

Every two weeks a sprint and every week a deployment. The Localisation team aims to bring you new and updated functionality when we have it.

As you can see in the summary below, the focus this sprint has been very much on the Translate extension. Management of translations and the translation process is what we have worked on. When texts are translated in a Wiki, they often are only needed within a specific time frame; it is now possible to mark a text as no longer needing any effort. For many languages there are multiple people involved in the work flow for the creation of a document that is well written in translation. When they are to work well together, it helps when their work changes its state so that it is clear that for instance something has been proofread.

The person who manages the publication and distribution of a page needs work flow states to decide what more needs to be done and what is ready. To do this he can make use of states that already exist or define additional states. These states are available as local messages and are available for translation.

Translate extension features

  • Message work flow states help translator translate, review and making ready for publication
  • There is now a new message group for recent translations. This message group makes these states possible in translation
  • Special:MyLanguage can now be used with language sub pages to be used as the default fall-back instead of providing an untranslated version
  • Pages marked for translation can now be marked as “discouraged”. They will no longer show up in the usual places. This prevents translators from translating them needlessly.
  • Added {{#translationdialog:title}} for creating a link to the translation dialogue

Translate bug fixes

  • The flash of unstylized content effect is reduced
  • Made the extension work without legacy JavaScript globals
  • The summary row in Special:LanguageStats and Special:MessageGroupStats is no longer sorted with rest of the rows.
  • Fixes to the sizing of the translation editor dialogue
  • Fixed a fatal error that sometimes occured when translation page title used GRAMMAR and the page was viewed with English UI.

Miscelaneous changes

  • Parserfunctions ifexist magic word Italian translation fixed to ‘ifexist’
  • Narayam preference wording changes from disable to enable
  • The WebFonts icon no longer overlaps with the menu text
  • WebFonts preview allows you to preview a text with a font. You can download these freely licensed fonts to your system.
  • GENDER and PLURAL support are now available for use in JavaScript.
  • Consistence updates for grouppage-* messages, for LocalisationUpdate
  • Fixing be-tarask grammar forms

Changes deployed last week

  • WebFonts was deployed for the Bishnupria Manipuri language; it uses the Lohit Bengali font
  • Support for gendered name spaces was deployed for the Russian wikis.

As always, you are welcome to have a look at our sprint backlog (user:guest password: guest) and bug us in bugzilla with whatever needs fixing.

Thanks,
Gerard Meijssen
Internationalization / Localization outreach consultant

Wikimedia engineering December 2011 report

Major news in December include:

(more…)

The localisation team sprints into the new year..

WebFonts is the first extension that gets user documentation served from MediaWiki.org. At the time of writing, the documentation has been written, it does serve people with help text about WebFonts and it is ready for translation. People looking for help will be served help in the language of their user interface if there is a translation.

WebFonts drop down on or.wikipedia.org

In a way it seems like a minor thing but consider;

  • MediaWiki can serve help texts for its functionality
  • this help text may differ based on the language of the user
  • the help text can be translated
  • a new community for MediaWiki help text translation is needed
  • functionality like Narayam will surely get its user documentation in the near future

It will be a challenge to other developers and developer teams to adopt and refine the way assistance to our users is provided. We learned at translatewiki.net that documentation did improve the quality of the localisations. We hope that user documentation will reduce confusion and makes for happy editors and readers.

The WebFonts user documentation was deployed last Tuesday. This and some other changes can be found in the deploy list. As the holiday season is in full swing, sprint 6 has started; it will run into the new year.

In this sprint stories will be developed that will make “Translation review” feature complete. When this is implemented, it will help translators and localisers review each others work and assign a status to their work for further considerations. As you can imagine, the different statuses themselves will become available for translation; card 326 defines this and will make this possible. This is just one of many stories that make up this feature.

For the localisers of the MediaWiki software a long held ambition will be realised; card 206 will see “plural” support implemented for JavaScript. When this functionality is deployed, it will result in a long list of future changes that will see changes to the actual messages.

The new year will bring us many new challenges and opportunities to the many many language communities. The Wikimedia Localisation team will work hard to provide you with the tools to be efficient in any language to get our message out and provide information in any language. For some of us the new year starts at a different moment so it will be very much business as usual; we welcome you to have a look at our sprint backlog (user:guest password: guest) and bug us in bugzilla with whatever needs fixing.

Thanks,
Gerard Meijssen
Internationalization / Localization outreach consultant