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:


 * Automatic categorization: 6 members
 * Unit testing: 4 members
 * Visualize effects of the blackout: 4 members
 * Wikisource / ProofreadPage: 3 members
 * Wiki family management: 3 members

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


 * Messaging in MediaWiki
 * Using Puppet to create Junos firewalls
 * Geolocating contributors
 * Reusable taxonomy

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

= Web API =

Pretty Wikipedia references
Play with this cute toy that generates pretty references to Wikipedia.
 * existing code

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:
 * Peter Gehres

Resources:
 * enhancement request

(Your team)
Who & what

= Mobile =

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

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

Active projects
WinPhone7 app
 * Daniele
 * Ben

Related pictures slideshow
 * Paul

Geolocation data in articles API
 * Shervin Afshar

Android app integration into QSP (Google search on home screen)
 * Bob

Map view of anon. contributors in mobile site
 * like WikiTrip, sonetlab.fbk.eu
 * ClustrMaps for viewers
 * IP2location
 * Rupa
 * Rosemary

Browser links to our app via Android Intents
 * Yuvi

"Did you mean" addition to search
 * Arthur
 * Patrick

SMS and Twilio (see below)
 * Judy
 * Doug
 * Romy
 * Neilk

Android tablet homescreen widget (see below)
 * Elizabeth

iOS app (see below)
 * Brion
 * Suyash Joshi
 * TheDJ Derk-Jan Hartman

Proofreading, Wikisource extension
 * TheDJ Derk-Jan Hartman

Sneakerhead Photos
User Snowyla

Tagline: Get more sneaker knowledge up on Wikipedia! Make a mobile web application where a cool user--let's name him George--makes his own cool sneaker lookbooks as he roams the streets of San Francisco at the various shops.

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.


 * Resources
 * Feature Corral page
 * Mobile Projects workspace
 * Feature Corral and Hackathon topics
 * MobileFrontend extension for MediaWiki (the code that powers Wikimedia's mobile sites)
 * MobileFrontend API
 * Live API

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.


 * Resources:
 * This is the tracking bug for Android app v 1.1
 * Feature Corral page
 * released Android app (not yet tablet optimized)
 * Mobile/PhoneGap build instructions for Android, iOS, and web testing
 * source on GitHub

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

Team:

 * 'Suyash Joshi' - HTML5 Developer
 * Romy Ilano - beginning HTML5 Developer. (see skills) romy.ilano@gmail.com


 * 'Node.js' - Hey inez why don't you add your team here?

(Please add your name here if interested)

Zepto
Romy> Suyash, why not substitute Zepto for jQuery?
 * Zepto is a javascript framework, is basically jQuery with the annoying Internet Explorer stuff stripped out -> thinner, lighter
 * Zepto is used by the Wikipedia team in constructing its new Android app in conjunction with PhoneGap
 * Mobile phones: do not need jQuery with internet explorer

Wikipedia Web API
Use the wikipedia web api.

YQL
summary: It's unclear to anyone i've spoken to whether this is easy to use with Wikipedia. It's a good way to get into the web api for beginners though!

As YQL can reade microformats, would this be a good tool to use in conjunction with the web api? I don't see a lot of stuff on this, but it's good for beginners. It's also convenient for mashups,
 * examples: such as refined twitter searches for twitter search results US NAVY UNIFORMS + #hackathon + Yahoo flickr photos

Brainstorming

 * 1) What can we do with a mobile web application that would extend value beyond the existing, functional mobile website?
 * 2) What does the mobile web application provide that is perceivably superior to the existing PHP mobile website?
 * 3) Romy: I spoke to one of the Wikmedia guys last night, and the mobile web results that we do see are some PHP thing that is squished in with WURFL for device detection.

Possibilities

 * A more mobile application-like mobile website with a mobile app-like Mobile UI:
 * example: cuter mobile application-like interface
 * for example, a static header bar and static footer bar with home icons, search bars etc.
 * Faster performance using a javascript framework such as Sencha Touch / sproutcore etc. This is done by avoiding clunky reloading manueverings with the DOM that occurs in traditional HTML, etc and even jQuery Mobile.
 * Editor interface optimized for the mobile phone
 * for example, imagine the Wikipedia Web API sandbox optimized for the mobile phone.

Current
January 21, 2012 - 17:13

We now have an SMS App working.
 * 1) text to a number with the wikipedia entry
 * 2) calls you back and reads you the wikipedia entry.

Neat!

Summary
Here's our openvbx sandbox: Phone Number (415) 599-2671 Pin: 1514-2249

OpenVBX Flow - Hackathon 1 on Datingskaters.com
 * http://www.datingskaters.com/openvbx/flows/edit/1#flowline/start
 * Romy has added Judy + Neil K
 * Want: Could we live inside openVBX and stick the wikipedia stuff on there?

People

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

Links

 * https://github.com/judytuna/SMS-Wikipedia - working SMS on github using Ruby + twilio apis!


 * OpenVBX - our openVBX http://www.datingskaters.com/openvbx/
 * TwiML - http://www.twilio.com/docs/api/twiml
 * IVR - Wikipedia Entry
 * Example of an IVR Flow: http://www.von-phone.com/images/ivr%202.jpg

Process with OpenVBX Flows
OpenVBX allows you to view the TwiML http://www.datingskaters.com/openvbx/twiml/applet/voice/1/start

Here for example is a greeting. It's nice how you can get most anyone, even a non devleoper to just start building out trees.

Advantages

I can already see the limitations but it's a nice way to get a high level overview of what's going to happen where, architect it accordingly, then build

This XML file does not appear to have any style information associated with it. The document tree is shown below. ====   http://www.datingskaters.com/openvbx/twiml/applet/voice/1/a74eae   ====

Other Attempts
Here are other attempts similar to ours. Please only list attempts that are currently live.

WikiEngine
WikiEngine - twilio gallery ''WikiEngine is a .NET database application used for searching Wikipedia and other wikis running MediaWiki through a text message medium. It allows user to search Wikipedia without using a data plan or saves the user time and data usage. It can find what the user needs in two clicks, rather than the 20 or so needed to use a data plan (Opening a browser, entering Wikipedia, activating the search box, entering the word, hitting search, waiting for it to load, etc.)''

Tools

 * 1) Twilio
 * 2) API Legos (Legos is my terminolog)
 * 3) Twilio's Voicemail Transcribe - in PHP + C++
 * 4) Summary: Formats: IVR, SMS, SMS to web, SMS to mobile web, etc. Voice to text, voice to data, voice to email, etc.
 * 5) Romy: Doing this several years ago was a big pain
 * 6) OpenVBX - romy set this up >>> http://www.datingskaters.com/openvbx/
 * 7) an opensource VBX system
 * 8) http://openvbx.org/
 * 9) (basically it allows you to do a lot of annoying things simply but one of the nicest things is the drag and drop phone tree)

Initial Proposition
I would like to build an app on Twilio. I'll send a text to the Twilio number with a search phrase, and it will text back the intro of the wikipedia page (perhaps with an option to retrieve the whole wikipedia article via sms). Judytuna 20:45, 20 January 2012 (UTC)

Suggestion: Let's structure this in a way that makes it easier for the programmers to understand. Refer to IVR Flow diagrams-- https://www.google.com/search?q=ivr+flows&hl=en&site=webhp&prmd=imvns&tbm=isch&tbo=u&source=univ&sa=X&ei=gy8bT-zYMaSbiQKZqfGdCA&ved=0CFUQsAQ&biw=1639&bih=720

Example One

 * MO: User sends in a keyword in an SMS to the twilio short code
 * 1) Call: Twilio calls the user back with a very short wikipedia greeting.
 * 2) is it clear to the user how to pause the reading?
 * MT: Twilio Reads the section 0? Text of the Wikipedia Article
 * 1) notes: that's quite a long text.
 * MT: Twilio reads the list of section headings.

Example 2

 * 1) User Calls: make a regular phone
 * 2) System: responds with something brief, ensures user knows how to interrupt a long voice message ("Type *9 to go back to main menu" <- but more elegant)
 * 3) System: "Which article do you want user?"
 * 4) User: begins typing with a numeric keypad on a mobile phone
 * 5) example: "San francisco"
 * 6) a featurephone with a numeric keypad- cheap version
 * 7) our consensus: that's possible but not an optimal user experience.
 * 8) our consensus: better is to just have the user speak into the phone
 * 9) Comments: Twilio does  do recordings as well as SPEECH TO TEXT -> http://www.twilio.com/docs/howto/voicemailtranscribe
 * 10) can also be a smartphone? (Not included in this flow) with a keyboard
 * 11) System: starts looking up if there is an equivalent in wikipedia

Braintorming 2

 * 1) User initiated: I call a phone number on my mobile phone.
 * 2) Our court: We greet the user very quickly in an elegant way, and it is clear to the user how to manuever if our recordings take too long.
 * 3) Smartphone: deeper integration of the mobile website if they are able to view a cheap smartphone screen as we talk.
 * 4) User Transmitted: I say "Barak obama" into the phone.
 * 5) Smartphone: Wiki Start - begins on Section 0, lists headings of the table of contents.
 * 6) The computer says to me, "Barak Obama is the is the 44th and current President of the United States. [first sentence or intro]. Press 1 to hear the rest of the intro. press 2 to hear the table otf contents."
 * 7) Romy: Note better language: "1 to continue, 2 for contents." - brevity is always best

> hear the rest of the intro. Press 2 to hear the table of contents." > > Then when I press to hear the table of contents. The computer says, > "Press 1 to hear Early life and career. Press 2 to hear Legislative > career: 1997–2008. [and so on]" > > I press 1 to hear "Early life...". It says "1 Chicago community > organizer and Harvard Law School > 1.2 University of Chicago Law School and civil rights attorney" > > I press 1. It reads me that section of the article. >

Friday Night Emails
http://www.commandlinefu.com/commands/view/2829/query-wikipedia-via-console-over-dns
 * Wikipedia lookup over command line DNS
 * Brainstorming product flows

Saturday Afternoon

 * 1) January 21, 2012 15:49 - Romy set up Judy + Neil K on an OpenVBX at Datingskaters.com
 * 2) OpenVBX is set up with a phone number and menu tree but no content.
 * 3) Judy & Neil got the SMS app working! rad! hosted on heroku + on github.
 * 4) Judy's sandbox - it's working! 1-415-599-2671
 * 5) MO: text 39406402 wikipedia entry to +1 415 599 2671

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

Geolocating contributors

 * Rupa Dachere -- rupa@undefinedcodechix.org

(Your team)
Rupa Dachere Looking for Javascript/Jquery help for this project. Also, knowledge of Google Maps - putting pins on a map.
 * Rosemarie McKeon -- rosemarie.mckeon@undefinedgmail.com (interested!)

= 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.


 * Source: User:Robmoen/bugStatusUpdate.js

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)

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)

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.


 * Mahmoud Hashemi
 * Kurt Rose
 * Daniel Kinzler
 * with special guests, Stephen LaPorte, Ben Plowman, and Sarah Nahm.
 * Interested:
 * Jeroen De Dauw
 * Shervin Afshar

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.
 * - Stephen LaPorte (talk) 18:20, 20 January 2012 (UTC)

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.
 * Talin Salway

(Your team)
Who & what

= Other =

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.


 * Adam Wight
 * Adam Souzis

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.
 * Resource: Wikia code

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.
 * User:GICodeWarrior (author of tool)

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.
 * User:GICodeWarrior
 * mglaser
 * Jeroen De Dauw

Google Docs integration
Provide upload, search and embed functionality for arbitrary files
 * User:GICodeWarrior

Unit Testing
Implement unit testing with PHPUnit, Selenium and QUnit.

Jeremy created an extension of Github:

https://github.com/gammamatrix/Mediawiki-Extensions-UnitTest

Interested participants:
 * Jeremy Postlethwaite
 * Alolita Sharma
 * mglaser
 * claire Desombre

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:
 * Nimish Gautam
 * Ryan Faulkner
 * Andrew Clarkson
 * Karen Rustad

Google Maps mashup
Mashup between Google Maps and Wikipedia.


 * Suyash Joshi

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 - https://www.juniper.net/us/en/community/junos/training-certification/day-one/automation-series/applying-junos-automation/

http://docs.puppetlabs.com/guides/exported_resources.html


 * 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 :).


 * User:mglaser

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


 * User:Jdz (JesseZ)

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 https://labsconsole.wikimedia.org/wiki/Gerrit_bugs_that_matter. 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)

Distributed version-controlled MediaWiki
Getting MediaWiki databases into a version control system such that people could clone and fork them.


 * Adam White

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!


 * Brandon Harris User:Jorm (WMF)
 * Shervin Afshar

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.
 * RobLa-WMF (Rob Lanphier)
 * Zaran (Thibaut Horel)
 * TheDJ (Derk-Jan Hartman)

(Your team)
Who & what