October 2011 Coding Challenge/FAQ

From mediawiki.org

What are the challenges?[edit]

There are three challenges:

  • Mobile Photo Upload: Upload images and video via smartphone
    Of course, Mobile Wikipedia is great for learning about the things around you. But: We need pictures. Millions of people have phones. How can we take advantage of location and mobile cameras? Build an app, or extend the existing mobile gateway, to demonstrate your ideas. More info
  • Making Wikipedia More Alive: Surface change in real-time
    Wikipedia articles are constantly changing, with some articles getting updated upwards of 100 times a day. But there is very little that tells the reader that anything has changed. We would like to make the articles on Wikipedia appear more alive, so that our readers understand knowledge is a dynamic, not static, thing. More info
  • Wikipedia Slideshow: Showcase Wikipedia's beautiful multimedia
    How can we bring the millions of pictures in Wikipedia to our readers beyond the current low resolution thumbnails in articles? Find a way to invoke a beautiful, interactive HTML5 slideshow that works well on the desktop (extra points for tablet or mobile implementations), from any Wikipedia article. More info

When is the deadline, again?[edit]

The deadline is November 7th, 2011 at 23:59 UTC. All submissions must be received by the deadline. Code changes made to external repositories after this date will be disregarded. Read the rules for more details.

How do I sign up for a challenge, or return to my challenge page?[edit]

Make sure you're logged in on MediaWiki.org, then go to the welcome page.

If you have not yet signed up for a challenge, you will be taken through the signup process.

If you have already signed up, you will automatically be redirected to your challenge page, where you can manage your submission.

Submitting your code to a public repository[edit]

All contestants in Wikimedia coding challenges are required to upload code to public code repositories. The currently acceptable repositories are:

The reasoning for this restriction is simple. We want to provide contestants with the freedom to edit their code continually -- but we also want to know when all code commits take place, so that code committed after the end of the challenge can be disregarded.

License and documentation[edit]

  • The code must have a LICENSE file, or in the case of User Scripts uploaded to Mediawiki, text that clearly states the license under which the software is offered. This license must be one of the free software / open source licenses allowed in the rules.
  • The code must be accompanied by a README that clearly describes installation and use of the software; or in the case of User Scripts uploaded to Mediawiki, accompanying text that describes the use of the software. Be clear. If the judges cannot figure out how to install your code, or how to run your code once it's been installed, then it's unlikely that your submission will be a winner.

Can you give me an example license header?[edit]

Sure thing. Add the following header to each relevant file:

Copyright (C) 2011 YOUR NAME <YOUR EMAIL>

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to

Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor
Boston, MA   02110-1301, USA.

Also add a file called LICENSE which contains the text of the GPLv2, or, for a wiki page, add a link to it.

Are there any programming language restrictions?[edit]

The vast majority of code in MediaWiki is written in either PHP or Javascript, and being able to integrate code directly into MediaWiki will definitely be an advantage. However, code that does not integrate tightly but uses the MediaWiki APIs effectively and improves the MediaWiki experience will certainly be acceptable as well.

Can I collaborate with others?[edit]

Absolutely. Understand that the Coding Challenge is still a contest, and only one Grand Prize can be awarded per challenge -- but collaboration is encouraged nonetheless. If multiple participants help to create a winning entry, WMF reserves the right to choose the individual winner. Consult the rules for details.

If you want, you can also list your work in progress on this page.

Help! I'm stuck! Who can I talk to?[edit]

If you've consulted the new developer resources, including public communication channels, and this FAQ, and you're still stuck, send a note to codingchallenge at wikimedia dot org, and we'll try to help you out ASAP.