India Hackathon 2011

The India Hackathon 2011 is an opportunity for MediaWiki developers and translation community members to come by to further improve the quality of access to Wikipedia across all languages.

The theme of this event is "Language, mobile & offline". It will focus on MediaWiki development to improve language support, mobile support and offine support.

It's mostly going to be dev sprints and bugsmashing, with some discussion and workshops. The event is open to anyone who wants to come and contribute, and is an opportunity to spend time with senior MediaWiki developers & translators, write beautiful code, and learn about the latest developments.

This coding event will happen concurrently with the WikiConference India 2011, and near its venue. About 100–150 participants are expected (read more).

Venue
The MACCIA Halls, Mumbai, India

Attendees

 * Tomasz
 * Kul
 * Alolita
 * Santhosh
 * Amir
 * Gerard
 * Niklas
 * Siebrand
 * Emmanuel

Font Delivery

 * Goal: Test mobile client side native fonts on Wikipedia
 * Tasks
 * Using the browser testing guide test various feature and smart phones for our requirements below
 * Requirements: Proper render and Input
 * TODO: Contact Device and OS makes for client integration. This is device specific
 * Lead: Google/Nokia/etc contact + Santosh

Font Testing

 * Goal: Test the Lohit family of fonts (https://fedorahosted.org/lohit/ ) for on demand mobile rendering.
 * Tasks
 * Test each of the lohit fonts for our requirements below
 * For the ones that don't work research what other families exist and how we can contribute upstream
 * Target platforms: Symbian & Android
 * Requirements: Proper render and Input
 * TODO: Expand browser testing guide to indic languages
 * Lead: Santosh and Niklas

SMS/USSD Access

 * Goal: Launch a beta SMS to Wikipedia service using praekelt vumi project
 * Tasks
 * Deploy service to virt cluster
 * Test!
 * TODO:
 * Invite someone from praekelt to join.
 * Work with a carrier to white list an SMS interface
 * Lead: Kul, Praekelt

Kiwix on Android

 * Goal: Prototype a version of Kiwix for Android to both download and read openZim articles
 * Tasks
 * Getting a dev. VM where to compile Gecko and run Kiwix for Android.
 * Compile and run xulrunner/Gecko for Android
 * Compile and run C++ XPCOM with xulrunner for android
 * Embed Kiwix in the usual Android java launcher glue
 * Lead: Emmanuel, Santosh, Patrick

Kiwix UX testing

 * Goal: Test Kiwix with indic languages

Offline Collection tools

 * Goal: Further develop offline collection tools (needs to be expanded)
 * Further develop the MediaWiki tools to create offline collections (TBD based on Yuvipanda's recs
 * TODO
 * Lead: Tomasz & Jessie
 * Lead: Tomasz & Jessie

On-screen keyboards and input support
Goal : Add onscreen keyboard support for input fields, preferable with the Narayam extension.

Possible ways:
 * Ask Google to open source their input methods?
 * http://www.codeproject.com/KB/scripting/jvk.aspx
 * http://mottie.github.com/Keyboard/index.html
 * http://www.greywyvern.com/code/javascript/keyboard (user contributed versions available)

Tasks:
 * Design and finalize the User interface.
 * Identify the javascript library
 * Explore the option Integrating with the already existing Narayam keymappings. If not define the layout definition format.

Relevent links:
 * [https://mentor.ieee.org/stds-india/bp/Software_IT_focus_area

Lead: Santhosh, Siebrand

Webkit or chrome rendering
We are experiencing multiple issues with Indic languages and JavaScript support. Need to add relevant bug numbers. Bugs: Lead: Santhosh, Gerard
 * 1) Bug 66630
 * 2) Bug 15256
 * 3) Chromium does not render Bold or Italic indic text
 * 4) Chrome does not respect zwj, zwnj in Indic, Arabic, Sinhala text

Indic scripts
Need to prepare questions for script support. Get at least one subject matter expert present per script.

http://www.mediawiki.org/w/index.php?title=Internationalization_and_localization_tools/Requirements/Indic_language_support

Lead: Amir and Santhosh.

Search in Indic languages

 * Goal: Describe the current state of search system in WMF. Show people where the code is and how to hack it.
 * Tasks
 * Setting up development environment
 * Exploring the code base
 * Filing bugs for issues that are not yet in bugzilla
 * (maybe) porting wmf-lucene to newer version

Todo: Get someone who knows Lucene to attend

Lead: Niklas and Santhosh

Automatic script conversion
Goal : Konkani is one language written in multple scripts, Indic, French, And Arabic. The language require a cross language transliteration tool. Tasks :

TODO Lead: Santhosh and Amir
 * 1) Identify all the required language pairs, prioritize(based in difficulty to implement and impact)
 * 2) Have parallel data in identified language pairs, transform this to test cases.
 * 3) Document language specif rules and special cases, prepare test cases for this.
 * 4) Use prototype language converter http://silpa.org.in/Transliterate to gather feedback and requirements
 * 1) Ensure Konkani speakers from atleast few language pairs attend hackathon to give information
 * 2) Get volunteer developer, preferably from the language,  assign specific goals.

Other ideas

 * Add offline saving of articles to MobileFrontend
 * Develop openZim library support within the PhoneGap framework
 * Port wiki-to-go to Android
 * Develop a language switcher for MobileFrontend
 * .. Add your own but keep it to our central theme of Internationalization, Mobile, or Offline!
 * Article Rating mobile widget (mini feature)
 * Share a photo using the mobile web (uploading a phone camera photo to Commons)
 * New article creation based on location data via GPS
 * Add images to articles "near me" (GPS based) which do not have images for that area

Bug triage
Session in the main conference on Friday. Get as many developers there as possible. Goal : Provide a common session for developers and users. This is to address too many talk submissions received on bug reports, enhancement ideas. Generally users are not aware of how to report bugs.

Plan


 * 1) Anybody  can raise any technical issue,  enhancement idea, alternates to the developers.
 * 2) There will be a session on "How to file a bug in Mediawiki Bugzilla"
 * 3) If there is any Issue, Enhancement request not reported in Bugzilla so far, it will be reported during the session itself.
 * 4) If there are reported bugs, but not given any priority or attention, It can be raised
 * 5) Attendees can ask questions too.
 * 6) There will be moderator.

Time : 1 hour (Exact time will be announced once conference schedule is prepared)

Lead: Santhosh

Non hackathon
these tasks could be run in parallel with the main conference doing the testing and the devs responding to bugs


 * Create content packages of offline wikipedia in indic languages
 * Testing of new deployment methods (post Kelson's stint)
 * Testing of feedback mechanisms