San Francisco Hackathon January 2012/Teams

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

Top teams so farEdit

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[reply]

Web APIEdit

Pretty Wikipedia referencesEdit

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

Central Notice APIEdit

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)Edit

Who & what


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

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

Active projectsEdit

SMS and Twilio (see below) - demoEdit

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

Nearby map view in mobile site - demoEdit

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

Nearby articles to an article-demoEdit

Android tablet homescreen widget (see below) - demoEdit

  • Elizabeth Mezias
  • Kenneth Ng

WikiTabletWidget project on GitHub

Geolocation data missing in articles robot - demoEdit

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

  • Bob

iOS app (see below) - demoEdit

  • Brion
  • Suyash Joshi
  • TheDJ Derk-Jan Hartman

"Did you mean" addition to search - demoEdit

  • Arthur
  • Patrick

Wikipedia to Twitter or RSS - demoEdit

  • Jesse, embeddedlinuxguy

Article slideshow on iOSEdit

  • Suyash

Related pictures slideshowEdit

  • Paul

WinPhone7 PhoneGap appEdit

  • IE problem
  • Daniele
  • Ben
  • Doug

Browser or app links to our app via Android IntentsEdit

  • Yuvi

Save app to SD cardEdit

  • Tomasz

Proofreading, Wikisource extensionEdit

Category prompt when editing - demoEdit

  • Adam Souzis
  • Adam White

UI and usabilityEdit

  • 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 appsEdit

  • 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 AppsEdit

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 WikipediaEdit

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 TwilioEdit

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!Edit

(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



  • Totally interested in this NeilK 03:42, 21 January 2012 (UTC)Reply[reply]
  • Romy Ilano - Snowyla - Snowyla 11:41, 21 January 2012 (UTC)Reply[reply]
  • Judy Tuan Judytuna
    • Note: Judy is busy during Chinese New Year's. Happy New Year!

Glanceable display for mobile & editorial tools for tablet UIEdit

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 siteEdit

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/GadgetsEdit

Keep track of Bugzilla bugsEdit

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 recentlyEdit

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[reply]

List the last x editors of the current pageEdit

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[reply]

Automatic categorizationEdit

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 happierEdit

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 qualityEdit

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 pagesEdit

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

(Your team)Edit

Who & what


Reusable taxonomyEdit

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 codeEdit

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 testerEdit

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 extensionEdit

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 integrationEdit

Provide upload, search and embed functionality for arbitrary files

Unit TestingEdit

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 - TENTATIVEEdit

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 WikipediaEdit

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 firewallsEdit

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 MediaWikiEdit

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 improvementsEdit

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 interfaceEdit

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[reply]

No more edit conflictsEdit

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 MediaWikiEdit

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 setupEdit

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 LanguagesEdit

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 treemapsEdit

(Your team)Edit

Who & what

Section included just to close divsEdit