Welcome to this project's midpoint report! This report shares progress and learnings from the Individual Engagement Grantee's first 3 months.
- We went through the code of Wikimedia mobile team's apps for both Android and iOS.
- Built the project plan such that there's no redundancy in features/code. Focused on optimised code.
- Started implementing the Project Plan.
- We hit a tough road block with respect to handling DIFFs. In-line Diffs isn't yet available through API. We saw a proposal about getting this included as part of the mediawiki that runs Wikimedia projects - but nothing seems to have changed there yet, which meant we couldn't use in-line Diffs as of now. We took inspiration from projects that have handled mediawiki Diffs earlier and tried few approaches.
- We have completed WikiTrack for Android with specifications we had in mind. Apart from some fine tuning and translations, the project is almost near completion.
- We have wrapped up an initial version of WikiTrack for iOS. Further development is in progress.
- In between the project planning and the first phase of execution, one more requirement was added to the project - that of collecting metrics or to collect user information to run it through metrics. This presented us with some interesting possibilities. However, the implementation took time leading to some delays. The project cost propelled a wee bit as well due to this.
Methods and activities
How have you setup your project, and what work has been completed so far?
- We started by setting up the development environment for both Android and iOS projects.
- We carefully went through the code of Wikipedia beta app released for Android and iOS to understand the workflow and get familiar with the modules used. We took our time to ensure that we do not invest our time doing things that have already been done.
- We built WikiTrack for Android (which is up for beta release soon) and WikiTrack for iOS (which is presently pre-alpha).
- Almost all Wikimedia projects and languages were included in the project. We also worked on RTL support.
Describe how you've setup your experiment or pilot, sharing your key focuses so far and including links to any background research or past learning that has guided your decisions. List and describe the activities you've undertaken as part of your project to this point.
- The learning we had from earlier WikiTrack apps was that while the app was useful, making it optimised and to get it to work with all languages from out of a single app was very important.
What are the results of your project or any experiments you’ve worked on so far?
- An initial version of 'WikiTrack' for Android was readied.
- A quite basic version (pre-alpha) of 'WikiTrack' for iOS was readied as well. The source code for both have been made available here.
Screenshots of Android version of WikiTrack
Screenshots of the iOS version of WikiTrack
Please take some time to update the table in your project finances page. Check that you’ve listed all approved and actual expenditures as instructed. If there are differences between the planned and actual use of funds, please use the column provided there to explain them.
We are running low on funds for complete implementation on iOS. There were also few things we hadn't thought about earlier, like:
- The Google Play Store fee.
- The iOS developer account fee.
- Storage costs for data storage (to collect information for metrics)
Work on metrics and modules to collect user information has added additional hours which would translate into additional cost.
Then, answer the following question here: Have you spent your funds according to plan so far? Please briefly describe any major changes to budget or expenditures that you anticipate for the second half of your project.
Apart from my own remuneration as Project Manager (which I couldn't draw from this yet as we needed the funds for other unforeseen expenses like the ones listed above), the funds have been utilised pretty much as per the plan. The Android version of the app needed more hours than we initially planned for the project. Our project cost thus increased by a significant number. We're also expecting the development to go beyond the initial estimated hours by the time we complete the iOS version.
The best thing about trying something new is that you learn from it. We want to follow in your footsteps and learn along with you, and we want to know that you are taking enough risks to learn something really interesting! Please use the below sections to describe what is working and what you plan to change for the second half of your project.
- We learned how much of a unique world just the Diffs on mediawiki can be. The more we worked with it, the more we lost count of time. While it was interesting to try out multiple approaches, we felt quite limited by the fact that we were relying heavily on the API and any other approach meant more resources consumed on the app.
What are the challenges
What challenges or obstacles have you encountered? What will you do differently going forward? Please list these as short bullet points.
- Going through the source code of Wikimedia mobile team's apps was quite time consuming and slowed us down initially.
- Addressing the way we handled Diffs and to handle it better was quite challenging.
- Regular reporting on what is going on became slightly tricky as we were going through plenty of changes, and recording these would usually delay us further.
What is working well
What have you found works best so far? To help spread successful strategies so that they can be of use to others in the movement, rather than writing lots of text here, we'd like you to share your finding in the form of a link to a learning pattern.
- Utilising modules from existing Wikimedia apps and tools.
- Countering redundancy and planning the tool for future upkeep.
- Learnings from Project Management while developing apps on multiple platforms.
- Learnings from working with existing APIs.
- Your learning pattern link goes here
Next steps and opportunities
What are the next steps and opportunities you’ll be focusing on for the second half of your project? Please list these as short bullet points. If you're considering applying for a 6-month renewal of this IEG at the end of your project, please also mention this here.
- We've not been able to communicate much about what has been happening with WikiTrack to various lists and forums that might be interested in it. We hope to do that in near future (in coming month). A blog post for WMF blog is planned as well.
- The iOS beta release should be up pretty soon and post beta releases on both platforms, we plan to invite feedback from the community and get as many people using it as possible.
- There is a good opportunity to incorporate the messaging system on WikiTrack that can keep the editors notified of messages coming up on their talk pages, sorted out by the project. This could be quite useful when the editor is engaged in multiple projects.
- We are exploring the idea of incorporating a visualizer module taking code and inspiration from Jeph's tool.
- Enabling translation review of Special: Messages through WikiTrack is an idea that we have been exploring - could be a good value addition for each project where the string needs to be reviewed by users with appropriate permissions and then on TranslateWiki where users do have permissions to review translations. However, the API support for this idea needs to be explored with an eye also on alternatives.
- A Gamification module can be a great addition to WikiTrack. We're exploring this as well.
We’d love to hear any thoughts you have on how the experience of being an IEGrantee has been so far. What is one thing that surprised you, or that you particularly enjoyed from the past 3 months?
I was overwhelmed diving into so much Wikimedia in last few months. Although I'm not involved in editing as regularly as earlier, this experience was was reminiscent of the old days when I spent days/weeks/months on Wikimedia projects like an addict. I thoroughly enjoyed learning from the code that the mobile team has put up. It was great fun writing and organising our own code while also using bits and pieces from the Wikipedia beta app which could be reused.
Further, I enjoyed the great support by IEG team - they're quite inspiring. If you forget to push yourself, you can count on them to get you going. It is good to have this. They're around to help when you need it, which is excellent.
The whole team has been doing an awesome job, like I've been reiterating several times during the calls and discussions. IEG is a very positive channel for bringing ideas to shape.