User:Orsagi/GSoC 2013 proposal

Title: translatewiki.net Android application

Proposed by: Or Sagi.

Feel free to leave your comments, slander, etc. Thanks!

Summary
Promoting translatewiki.net adventure, exposing it to more people and improving the relish of its enthusiasts, can be done by providing a sleek and smooth Android application, that will make translatewiki even much more accessible, and contributing to it much more quick, easy and fun. The application will not only support most of the main features that exist in the desktop version, but will also be designed and developed from scratch as simple and efficiency-oriented, with focus on adjustments for a small screen and real-time feedback loop with the user.

About Me
I’m a student in the combined program for Electrical Engineering and Computer Science Bsc in the Tel-Aviv University, code enthusiast since 13 years of age, and my first name sounds like a logical operator. I’m familiar with Wikimedia and translatewiki since I started to work on my final project at the university: translatewiki iOS application, mentored by Amir E. Aharoni. Naturally, I see this project as a direct continuation and perfect completion of my work.

Things I have done
Academy: C project, Java course, final project as iOS application in Objective-C.

Industry: Security analyst at Check Point software technologies, IPS department.

My Work Methodology
I’m a believer of Agile development methodology and working as part of team, eager for feedback, review and smart advice.

My Availability
During the program period I will be completely available and dedicated to this goal starting from July 24th - my last final exam.

Implementation Plan
The proposal is inspired by Pau Giner’s design document, Yuvaraj Pandian’s prototype, and my own aforementioned project, developed along with Tomer Tuchner.

The app will be coded mostly in Java, on Android SDK environment (Eclipse), of course.

Application data and operations will be based as much as possible on existing MediaWiki API, along with change request if needed.

Features and functionality

 * Login system.
 * Proofread functionality (accept, reject, edit, comment).
 * Translation functionality, showing suggestions, quick and easy edit.
 * Support ANY language that is supported by MediaWiki.
 * Project picker.
 * Support any MediaWiki installation that uses the Translate extension - translatewiki.net, meta.wikimedia.org, and others.
 * Network economy - saving bytes transferred on a cellular net saves time & money.
 * Adaptation to small screens - well designed in order to utilize screen-space for the most important user-focus.
 * Made for reuse: well documented and attached with API wrapper in Java specifically crafted for translation application.

Timeline (tentative)
Familiarize with existing code and the community. Collecting tips from community, detailed plan preparation. Study some necessary subjects according to planned work. 24/7 - Big Bang - start Agile development in full power 1/8 - Login demonstration
 * May:
 * June:
 * July:
 * August:

8/8 - Proofread demonstration

15/8 - Total translation/edit ability.

22/8 - Languages and projects picking support.

24/8 - Advanced settings support.

25-31/8 - Testing sprint.
 * September:

2/9 - General Availability on play store.

10/9 - Adaptation for other Wikimedia servers.

11-23/9 - Bug fixing, documentation finishing, releasing.

24/9 - Pencils Down