San Francisco Hackathon January 2012/Teams

Join a team! At the hackathon, what do you want to work with others on?

Top teams so far


These teams currently have a critical mass of members:

If you're not in a team with at least two other members yet, please consider signing up. These teams have two members:

Updated: --Eloquence 18:07, 21 January 2012 (UTC)[reply]



Pretty Wikipedia references


Play with this cute toy that generates pretty references to Wikipedia.

Central Notice API


Central Notice powers almost all of the banners that you see on Wikipedia and the sister projects. The recent fundraiser exposed some limitations in the interface that would we greatly alleviated by having a read-only API to query information such as:

  • which campaigns are enabled and where are they targeted?
  • what banners are associated with a campaign?
  • what are the banner allocations in a certain country/project/language?
  • etc

In addition to providing resources for fundraising and other campaigns, the API would allow for mashups with services such as Google Earth enabling geographic visualizations of enabled campaigns and banners.

Interested participants are:


(Your team)


Who & what



For a full list of feature ideas, see Feature corral.

For all things mobile, go to the Mobile Projects page.

Active projects


SMS and Twilio (see below) - demo

  • Judy
  • Romy
  • Neilk
  • Deeb
  • OpenVBX, open source alternative to Twilio

Nearby map view in mobile site - demo

  • anon. contributors like WikiTrip,
  • ClustrMaps for viewers
  • IP2location
  • Rupa
  • Rosemary

Nearby articles to an article-demo


Android tablet homescreen widget (see below) - demo

  • Elizabeth Mezias
  • Kenneth Ng

WikiTabletWidget project on GitHub

Geolocation data missing in articles robot - demo


Android app integration into QSP (Google search on home screen) - demo

  • Bob

iOS app (see below) - demo

  • Brion
  • Suyash Joshi
  • TheDJ Derk-Jan Hartman

"Did you mean" addition to search - demo

  • Arthur
  • Patrick

Wikipedia to Twitter or RSS - demo

  • Jesse, embeddedlinuxguy

Article slideshow on iOS

  • Suyash
  • Paul

WinPhone7 PhoneGap app

  • IE problem
  • Daniele
  • Ben
  • Doug
  • Yuvi

Save app to SD card

  • Tomasz

Proofreading, Wikisource extension


Category prompt when editing - demo

  • Adam Souzis
  • Adam White

UI and usability

  • Slideshow
    • Make images in Wikipedia and Commons come alive!
  • Wikipedia Menu
    • Help design the way Wikipedia looks and works on mobile!
  • "Did you mean" suggestions for search
    • Surface the search alternatives on mobile
  • Access map link in articles
    • There is a little-known link in many place-related articles that could be a mobile-friendly map view
  • Wikipedia on a tablet
    • Rethinking how users interact with the projects
  • Accessibility
    • Checking and improving accessibility of Mobile website and applications

Tomasz Finc and Patrick Reilly can teach and hack on this.

Participatory features and apps

  • Photos near me missing photos
    • Wouldn't it be awesome to contribute a photo to an article of a place you are near?
  • Geo-location stuff in general
    • We are defining our GPS API right now, take a look here

Many more participatory ideas are here.

iPhone, iPad, Android Tablet Apps


We're working on bringing our newly-released Wikipedia Android application to Android tablets and to the iPhone and iPad. Got one? Bring it to test with, or help us hack on the code directly!

The app is built mostly using HTML web technologies and PhoneGap to make porting to new platforms easier.

Brion Vibber and others will be able to help with this.

Mobile Web app for Wikipedia


I plan on making a mobile optimized app for Wikipedia using HTML5, CSS3, JavaScript, Zepto intead of jQuery and PhoneGap. + Zepto


  • 'Suyash Joshi' - HTML5 Developer
  • Romy Ilano - beginning HTML5 Developer. (see skills)
  • 'Node.js' - Hey inez why don't you add your team here?

Wikipedia SMS + IVR on Twilio

Summary: An SMS Application in which the user texts a wikipedia entry to a phone number, then is called up by the service and read the Wikipedia entry.


Status: Works in Twilio sandbox with preapproved numbers.
  1. User texts a Wikipedia entry request to a phone number.
    1. Here we used Judy's pin + the Twilio sandbox phone number: MO: Text 39406402 to +1415-599-2671
      1. Note: this is a test Twilio number so only select phones can call at the moment.
    2. Example: Ballet to a phone number such as 415-599-2671
  2. Our service calls back the user
  3. Our service reads the user the requested Wikipedia entry
    1. Example: Our service reads the end user the wikipedia entry for ballet

Try it out!

(415) 599-2671 Pin: 1514-2249
* this is only a simulation using OpenVBX, not a working model.
* Prototype assumes that user has called in and vocally requested: "Ballet" entry
Flow for SMS App





Glanceable display for mobile & editorial tools for tablet UI


Build on the existing Phonegap app, adding homescreen widgets that give people a glanceable display, make the content more browseable. Maybe add additional editorial tools for tablets. Start with Android, move on to Blackberry, Windows Phone 7, etc.

  • Elizabeth Mezias
  • Kenneth Ng

Nearby for mobile site


Created a standalone web app usable via any mobile or fixed device (desktop, laptop, smartphone, tablet, etc.), which can access the webpage and search for nearby Wikipedia articles within a radius of 5 miles (this is configurable). The articles are then mapped via Google maps with custom markers and clicking on the markers will direct the user to the respective Wikipedia article on the browser.

Demo'd and tested via smartphone (iPhone 4, HTC tablet, various laptops). Not tested with IE.

To setup and use as a standalone app:

  1. Set up a LAMP stack - fire up your browser of choice
  2. Get the php and image files from Github (see below)
  3. Put them in the appropriate places in your LAMP setup
  4. Go to "http://<your_localhost_ip>/<your_lamp_stack_path>/search_nearby.php".
  5. Click on the big button and see the map with your current location and nearby Wikipedia articles.
  6. Click on the article markers for summary information and click on the title to go the full Wikipedia article in the browser.

Code: Github repo here

Note: Uses API to retrieve nearby article information.

Acknowledgements: Roan (for providing API help for my first project - which got toasted on Saturday afternoon since it was already done), Yuvi (for telling me about, Tomasz (for helping me debug XAMPP on my windoze laptop which was causing much network trouble).

Currently, in the process of being incorporated into the mediawiki open source repository with direction from RobLa and PReilly.


  • Rupa Dachere -- - Everything except making the big button and the custom marker images
  • Rosemarie McKeon -- - Graphic design

User scripts/Gadgets


Keep track of Bugzilla bugs


Rob Moen worked on a gadget to help inform users about the status of bugs they care about. It might be good for pages which use bug templates like mw:Template:Tracked. If you polish it, we might promote it to default gadget or site script.

List pages I edited recently


It would be nice to have a link that opens a small pulldown list of the last pages the user edited. This is kind of like a ajax version of the user contributions page, but lists pages, not edits. -- Duesentrieb 22:41, 19 January 2012 (UTC)[reply]

List the last x editors of the current page


It would be nice to have a link that opens a small pulldown list of the last users who edited a page (excluding minor edits and pots). This is kind of like a ajax version of the user history page, but lists users, not edits. -- Duesentrieb 22:41, 19 January 2012 (UTC)[reply]

Automatic categorization


Automatically categorize Wikipedia articles by first identifying candidate articles based on similarly categorized articles, then presenting these candidates to logged-in users by way of a Special page. These users can commit or reject the change without leaving the page. The target article's history reflects the change under that user's username. We do not plan to support automatic article modification.

Candidate article identification happens in a separate process (not an extension or Gadget) that tentatively uses data dumps to create a graph representation of articles and category trees. We search for anomalies in clusters while filtering out semantically inappropriate suggestions.

Project name, in-depth technology discussion, and Github repo are forthcoming.

Accessibility: skip content to make screenreaders happier


A blind reader wants a feature to remove image galleries, big information boxes, and so on from articles for use with a screenreader. Here's the more detailed feature request.

Visualizing article quality


We will build a tool to automatically evaluate the quality of an article, combining manual article assessment with other metrics. This tool should guide readers on improving articles, help educators understand the nature of collaboratively-created content, and illustrate the evolution of article quality from new perspectives.



Embed musical score in Wiki pages


Work on features, bug fixes, and security for the Score extension, to allow easy embedding of sheet music in Wiki pages.

(Your team)


Who & what



Reusable taxonomy


Improve the reusability of Wikipedia's user-generated taxonomy by extending the Category API to support, for example, a third-party website's tag autocompletion widget.

Integrating Wikia code


Owen Davis and Tomek from Wikia are going to see if they can figure out how to systematically make Wikia’s code more integrate-able into MW installs.

Automatic patch tester


We have patch-tester (a Ruby on Rails hack) to automatically go through all the MediaWiki patches volunteers have uploaded to Bugzilla and test them. Help improve or replace it.

Wiki family management extension


Sites like Wikia, Occupy MediaWiki, WikiHow, and others have dozens or hundreds of MediaWiki installations running off the same databases. They'd like a wiki family management extension so they can store and load configuration sets in a database.

Google Docs integration


Provide upload, search and embed functionality for arbitrary files

Unit Testing


Implement unit testing with PHPUnit, Selenium and QUnit.

The extension has been added to the mediawiki repository:

Interested participants:

Visualize the effects of the January 18th blackout - TENTATIVE


We blacked out English Wikipedia to protest SOPA and PIPA this week. Now we have an data set and would like to visualize it across the world.

Data we have: millions of entries with timestamp + ZIP code that was looked up, and possibly the timestamps of clicks on social media buttons (e.g. Facebook & Twitter).

We'd like to map out strong nodes of participation, visualizing what happened over the course of the day (changes). Perhaps we could add an ability to hover/click to get names of Representatives & Senators. Additional timelines it would be cool to cross-reference: other sites' protests starting and stopping, and the numbers of pro-PIPA Senators and pro-SOPA Representatives decreasing over the course of the blackout.

This activity is very front-endy. We might employ technology like jQuery/JavaScript, Python, jqplot or d3, etc.

This is slightly tentative because Nimish and Ryan need to get the aggregated, Privacy Policy-compliant data set ready for everyone to play with by Saturday afternoon.

Interested participants:

How we blacked out Wikipedia


Do any participants want to hear the behind-the-scenes story of how we designed, tested, and deployed the anti-SOPA/PIPA blackout over the course of a few days?

Participants at the hackathon could include Brandon Harris, Ryan Lane, Patrick Reilly, Yuvi Panda, Ryan Kaldari, and other key developers and systems administrators who worked on the blackout.

Using Puppet to create Junos firewalls


We need to use puppet exported resources to create SLAX statement for the Juniper firewalls to understand.

Anyone who knows puppet, Python, or Junos would be incredibly helpful! Help make wikipedia more secure!

Background reading -

  • Leslie Carr
  • Ryan Anderson

Messaging in MediaWiki


Short-term messaging is a feature missing in MediaWiki. There is a prototype of StatusNet integration with MediaWiki which was developed by Daniel Kinzler and Hallo Welt!. I'd like to discuss the usability of this prototype and figure out what's needed to make this a cool collaborative tool. Also, there are still some integration issues that need to be tackled :) .

I'm interested in generating RSS feeds and "activity streams" (e.g. tweets) from MediaWiki pages.

Gerrit UI improvements


Suggested by Roan Kattouw

We're trying to move MediaWiki development from Subversion to git. We're going to use Gerrit for code review.

But Gerrit's UI sucks. It's written in Java. Roan has a laundry list of items he's going to add to this wiki. If you aren't afraid of Java and want to help, find Roan...

The list of Gerrit internals bugs that we care about is at . More generally, we're also interested in improving Gerrit's UI which has lots of UX issues.

WorkingWiki API + Ajax/jQuery interface


Adding an API to the WorkingWiki extension would be very useful. That's what I'm here to start on - and moving on from there to giving it an attractive, extra-usable Ajax/jQuery interface for the 21st century. - Wonder 04:00, 21 January 2012 (UTC)[reply]

No more edit conflicts


A rejected edit can be discouraging to *pedia contributors (see "WP:Clubhouse? An Exploration of Wikipedia’s Gender Imbalance"). Explore which strategies could be used to eliminate this nuisance.

One proposal: Enhance revision ids to support version vector, initial goal will be to ease the 3-way merge bottleneck. Tolerate article text in an ambiguous state, meaning that unresolved conflicts will result in a fork which can be cleaned up later by the original poster or an editor.

This change to revision ids will also allow for asynchronous replication, in cases such as university collaborations or on unreliable networks. A rough analogy is that MediaWiki databases would act like a distributed version control system (git) such that people could clone and fork them.

Style guide for MediaWiki


We currently have a Style guide for MediaWiki developers to help make a consistent visual and design style. Please help us improve it!

Wikisource / ProofreadPage test setup

Project page

Currently, the ProofreadPage extension (critical to the Wikisource project) doesn't have a maintainer, and is one of the more fragile components in our deployment chain. There's some work that's needed in order for this extension to be ready for Wikimedia's 1.19 deployment, and some testing that needs to happen before we can feel confident putting it out there. We plan to get a labs instance of this extension, and help a possible new maintainer get up-to-speed.

Fast import (


Mediawiki export scripts might be sophisticated, but the import functionality is lagging behind. Write a fast importer to load articles from xml-formatted dumps.

Done: proof of concept, imported ruwiki xml-bz2 in less than an hour

As pages are read from xml, tab-delimited raw database rows are streamed to separate files for each table. A short sql script is generated to load each table.

Outstanding issues:

  • document
  • test fixtures
  • could improve by integrating with mwlib?
  • command-line usage
  • cannot be interrupted
  • load infile transaction granularity
  • mysql load could act like a pipeline if it waited at EOF
  • mysql-specific assumptions about escaping and load infile
  • written for pages-articles. Design for the other dump facets
  • replace vs ignore

I18N support for Non-Roman Languages


Walkthrough current extensions for input support using on-screen keymaps (Narayam) and font support for rendering non-Roman fonts using extension WebFonts. Identify open source fonts for Farsi/Persian (and other related languages such as Urdu and Kashmiri) as well as Korean for integration into WebFonts as well as develop keymaps for Narayam.

  • Outstanding:
    • Develop keymap for Korean
    • Add Korean support for WebFonts
    • Add keymap for Farsi

Wikipedia usage treemaps


(Your team)


Who & what

Section included just to close divs