October 2011 Coding Challenge/Challenges
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date.
- Weekend time box
- Needs to be interesting/exciting
- Open source and checked into our github/gerritt, or any other publicly accessible place
- No proprietary or non-free dependencies (other than in social networking mashups)
- Set expectation that deployment is not guaranteed
- Must support Wikimedia mission
Mobile Photo Upload challengeEdit
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.
- Android app frontend
- GeoNames API, example query
- Example API query to get images for multiple Wikipedia articles
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.
Making Wikipedia More AliveEdit
Thousands of people edit Wikipedia every day. Wikipedia articles are constantly changing, with the most popular articles getting updated upwards of xx times a day. But there is very little on the article page 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.
- Recent changes stream
- Article updated ping
- Trending articles
- Top editors today
- Post to social media
- A simple page view counter since a user's edit (for the editor as reader)
General dev resoucesEdit
- Manual:Coding conventions
- Manual:Pre-commit checklist
- Security for developers
- How to become a MediaWiki hacker
- Manual:PHP unit testing
- TODO: Make sure we have an up-to-date browser matrix (anything not supported by jQuery, >x% stats:wikimedia/squids/SquidReportClients.htm)
How to postEdit
- Option 1: Post it to mediawiki.org (especially suitable for user scripts)
- Option 2: Post to github.com or gitorious.org
- Make sure you attach a license statement
Mobile Photo Viewing challengeEdit
Help Mobile Wikipedia optimize selection of photos to view in more detail. Build an app, or extend the existing mobile gateway, to demonstrate your ideas.
Wikipedia is being accessed through mobile devices increasingly over time, but contribution through mobile devices is more challenging than on desktop computers. How can we make simple contributions, such as rating articles (ArticleFeedback) available to, and optimized for mobile devices.
Collaborative Photo ReviewEdit
The Commons media repository of Wikipedia gets thousands of images uploaded each day that need to be organized. Build an app, or extend the existing mobile gateway for making categorizing, sorting and labeling images be fun to use, targeting more casual computing devices such as tablets or mobile devices?
Social Networking Wikipedia ChallengeEdit
Everyone reads, chats, tweets on popular social networks about recent happenings around them. Wikipedia articles change at the speed of thought when events happen around the world. Wouldn't it be cool to have most recent major edited articles tweeted or a Commons photo you liked posted on Facebook. If you're an social app whiz, you can help.
- Build apps to integrate your edits or popular edits with Twitter and Facebook.
- Post favorite photos to Facebook on your friends walls.
- Tweet about an article you enjoyed editing or reading on Wikipedia.
(TODO: Add Pointers)
Many contributions to Wikipedia are granular and simple to perform, but relatively complex to find and perform. How do we build a framework for automatically finding work to be done, and providing users with a stream of small tasks they can perform in batches while reducing the effort required to perform them. How do we reward users for performing these taks. An example of a micro-contribution may be a possible spelling error: words in Wikipedia that do not exist in Wiktionary can be presented to a user who can determine if the word is really misspelled and select or enter the correct spelling.