Extension:Wikibase Repository/Mobilize Wikidata

Identity
Name: Pragun Bhutani

Email: pragun06@gmail.com

Project title: Mobilize Wikidata

Contact/working info
Timezone: UTC+5:30 (IST - India) Typical working hours: 10 pm to 3 am until July, 6pm to 3 am after July IRC or IM networks/handle(s): pragunbhutani

Project summary
My project is aimed at extending Wikidata to make it accessible on mobile devices. Setting up Wikibase with MobileFrontend shows that while MobileFrontend can be used to achieve a mobile-friendly version of WIkidata, some problems arise due to JS based UIs not rendering properly through MobileFrontend. However, the following changes should allow us to integrate WIkibase and MobileFrontend with better results.


 * No-JavaScript WIkibase :
 * Currently, JS based UIs do not render properly through MobileFrontend. To circumvent this problem, I will develop an extension that prints Wikibase Item UIs without JavaScript. The No-JS Wikibase thus created should be compatible with MobileFrontend.
 * Certain hooks will also need to be added to MobileFrontend to recognize Wikibase specific data formats.


 * Adding new Special pages to maintain functionality
 * Currently, we only have Special pages that allow us to edit the values of Items. There are no Special pages built for the purpose of editing Property values. If a no-JS version of Wikibase is implemented, I will also need to build new Special pages to maintain this edit functionality.


 * Mobile JS for improved UI
 * Once the first two have been implemented, I plan to include mobile-specific JS to improve the UI and usability of our mobile Wikibase.

Once these goals have been met, any remaining time at the end of the project will be spent on improving the usability of our mobile-Wikibase.

Required deliverables

 * Implement an extension that prints a no-JS version of Wikibase.
 * Add hooks to MobileFrontend to allow it to recognize Wikibase specific data.
 * Make suitable changes to the HTML structure.
 * Changes to be made to the mobile CSS, as per requirement.


 * Introduce new Special pages to maintain functionality erstwhile being provided by JavaScript.

If time permits

 * Introduce mobile specific JS to improve UI and usability.