Wikimedia Apps/Team/iOS

This page contains information and links specific to the iOS team and codebase.

Get the Wikipedia iOS app from the App Store.

The FAQ is the main documentation for the iOS app.

We've successfully launched Release 7.3.0 (2242) (T337792). In this new release, we've made improvements to the user interface and the overall performance of the iOS app.

The following are designs for two scenarios:
 * To ensure smooth navigation and usability, we've adjusted the interface to present a warning for semi-protected pages earlier in the process before edit mode (T313772).

Editor taps to edit a fully-protected page:

Editor that is blocked tries to edit a semi-protected page
 * Enhancements have been made to the Picture of the Day and Top Read widgets, which now fetch data independently from Wikifeeds, ensuring consistent performance and data availability (T327554, T327556).
 * We've created guidelines to standardize the colors used across the app, resulting in improved UI consistency and accessibility (T299793).
 * We've addressed theme switching issues that surfaced in the user talk revision history and the Link editor, ensuring that these elements now adapt correctly to all theme variations (T330320, T326207).
 * We've also optimized the app's launch time. This was achieved by simplifying the state restoration process and reducing the number of navigation modals, thereby significantly enhancing the user experience (T337073).
 * We also introduced a new feature flag in the client app for the watchlist feature. This provides a safeguard for rollback without affecting other work. Flag checks are in place at key points including the watchlist, diff view, and article view entries (T336200)
 * This month we also examined design component patterns with emphasis on theming, font application, automatic updates for dark mode/dynamic type changes, and integration with UIKit and SwiftUI. After finalization, we provided guidelines for design requirements, focusing on defining inputs and outputs (T329329).


 * In May, our team successfully rolled out version 7.2.2 of the application, which included performance improvements ( T335077, T335075, T335134). We released 7.3.0 to Beta testers which includes performance improvements to widgets and the last of our edit notices work (/T337792#8935018).
 * We've also been investigating and testing a solution for a bug that can cause our app to freeze, potentially due to outdated offline reading code (T336804). The fix will go out in release 7.3.1.
 * Further, we're enhancing our native source editor to facilitate full page source editing (T331936).


 * We fixed some issues with background crashes and long app launch times. These will be released in version 7.2.2 in May. Extra thanks to all of the users who helped us troubleshoot this! T335077 T335075 T335134


 * We worked on technical debt surrounding widgets, to make them more stable. T327553


 * We worked on a native wikitext editor to improve editor performance and prep for supporting full page article and talk page editing. T331936 T331935


 * We started work on supporting images in talk pages. T329843




 * We also started preparations for building Watchlist. T334212 check the Watchlist's project's page.


 * We fixed some crashes related to the article display T280700 T280699.


 * We improved the featured article widget caching T331902.


 * Note: Those 3 tasks above were released as a part of 7.2.1 on April 14.


 * We also continued to update the app’s colors T299793.


 * We continued to work on moving over the app’s analytics to a new system T327341.


 * We worked on technical debt surrounding widgets, to make them more stable T327553.


 * We worked on a native wikitext editor to improve editor performance and prep for supporting full page article and talk page editing T331936 T331935.


 * We have continued work on our 7.2.0 release, which is in external beta and final testing now. It includes displaying edit noticesT201596,abuse filter messages T327418, as well as blocked message improvements T169013, T275118, T201640.


 * We have also continued to work on addressing some underlying analytics technical debt T327341, and began work on our design components T329329, T299793, T329559 to be used in a later release.


 * 7.2.0 will include the following volunteer fixes:
 * By GitHub username aria1991:
 * Improved localization script - https://github.com/wikimedia/wikipedia-ios/pull/4462.
 * Improved copy code mirror resources script - https://github.com/wikimedia/wikipedia-ios/pull/4457.
 * Improved fix reverse dollar signs script - https://github.com/wikimedia/wikipedia-ios/pull/4451.
 * By GitHub username junholee61:
 * https://github.com/wikimedia/wikipedia-ios/pull/4447.
 * https://phabricator.wikimedia.org/T304724.
 * https://phabricator.wikimedia.org/T293510.


 * We have been working on designs and improvements for edit notices, block, AbuseFilter and protected/semi-protected page messages to further improve and fill the on-wiki communication gaps.
 * You can follow the work at T278838 and soon you will be able to read about this work on our Team/iOS/Communication project page.

We worked on our 7.1.0 release, it includes tasks below. 7.1.0 release is currently in external beta testing, and should be released to the App Store soon.


 * A new talk page archives menu option in the overflow menu. T321853


 * A few keyboard formatting buttons for inserting wikitext on talk pages. T315606


 * Various bug fixes with article links (all fixed by a volunteer!) T294157, T283846,T321066,T324307,T316495,T321064.


 * Other bug fixes: The first two are volunteer fixes! T317587,T322955,T320738,T323519,T322160,T324862,T314809.


 * We also began working on our next release, 7.2.0. It includes addressing some underlying analytics technical debt T327341, displaying edit notices T201596, as well as blocked message improvements T169013, T275118, T201640.


 * Talk pages have been fully released to the App Store. As we conclude this first version of talk pages we are recruiting experienced Wikipedia contributors with iOS devices to participate in a multilingual survey (Arabic, German, English, Chinese (Simplified)). If you are interested in participating you can use the survey. If you have any questions email otichonova@wikimedia.org; thank you!

With our core Talk and Notifications support now complete our next focus will be on filling the remaining editor communications gaps which English Wikipedia identified on mobile apps. We’ll be making our block messages more complete, improving Abuse Filter feedback and overall improving how notices of all types are displayed to editors. You can learn more about our overall work to add these key communication channels.


 * We released 7.0.0 in early December. It had our new article and user talk pages feature (T301824), and an experimental feature to import shared reading lists from the Android app (T322158).


 * We released a patch (7.0.1) in late December that contained:
 * Analytics work, mainly for talk pages (T322790, T321841, T322563).
 * Widget bug fixes:T323946, T321061
 * Added additional Wiki language support (T317844).
 * Fixed a bug with duplicate error banners (T323517).
 * V1 of talk pages is live in the app!We will be running one more usability test to see if there is anything that can be improved for V2. If you have any feedback, please email otichonova@wikimedia.org. Thank you!


 * We added the ability to receive and import shared reading lists. T322158, T322805


 * We started displaying our 2022 EN Wikipedia fundraising banners in the app. T322950


 * 7.0.0 (workboard) is in final testing and is queued up to release in early December.


 * We wrapped up bug fixes and design tweaks to our new article and user talk pages. T301824


 * Also, similar to the last update, we are still recruiting experienced Wikipedia contributors to participate in a multilingual survey (Arabic, German, English, Chinese (Simplified)) for talk pages. This will be the last round of usability testing before the first version of native talk pages is accessible in the iOS app. If you are interested in participating in this testing phase, please email otichonova@wikimedia.org; thank you!


 * Our major update to Talk pages will be in the App Store soon! Thanks to the editors who participated in the testing and to our localization volunteers. With this and future work, we will continue making collaboration and communication between app editors and the wider community more accessible, effective, and user-friendly.


 * Wrapping up development on our new article and user talk pages. T301824


 * Starting multilingual user testing on new article and user talk pages. T301824


 * We have also started sending the new article and user talk page feature to external beta testers. T301824


 * A new version was released 6.9.4. For this, we updated our Vanishing screen (added a warning modal, and adjusted UI spacing) and destination email address. T300080


 * We started prototyping a feature to import shared reading lists from Android, for their shared reading lists experiment. T322158


 * We are currently recruiting experienced Wikipedia contributors to participate in a multilingual survey (Arabic, German, English, Chinese (Simplified)) for talk pages. This will be the last round of usability testing before the first version of native talk pages is accessible in the iOS app. If you are interested in participating in this phase of testing please email otichonova@wikimedia.org, thank you!

As we enlighted our minor 6.9.3 details in August’s update, during September, we released additional enhancements and features:


 * Fixes for audio playback. T299808


 * Link sharing in non-Latin languages and several other small improvements. T307604


 * New options for user support, including new debugging data options when reporting a bug. T258212 T300080


 * New support address: ios-support@wikimedia.org T316698

In addition to bugs, or support we always appreciate your feature suggestions and wikilove!


 * Continuous work to build our new talk page feature (user talk and article talk) T301824
 * We began user testing of the initial implementation in mid-September. T315571


 * As a complete to the previous point, we have successfully concluded a round of usability testing with new contributors to test the first beta build of talk pages.

The contributors were able to complete all major tasks successfully like:


 * Adding a comment to an existing thread.
 * Creating a new topic.
 * Subscribing/unsubscribing to a topic and navigating through an article's talk page.

Also, they helped us uncover some needed tweaks to the UI.

Next, we will be working on a new usability testing script for experienced editors in the following target wikis:


 * Arabic, Chinese (simplified), German and English.

If you are interested in participating in this next phase of testing please email otichonova@wikimedia.org, thank you!


 * As we ended July with a successful testing round of user testing for the basic ability on talk pages, during August we are working on our initial Talk UI implementation T301824 and usability testing script T315571 for new contributors to test a beta version of the user talk and article talk features.
 * Also, we are completing a minor release, 6.9.3. that contains:
 * Bug fixes T299808, T310798, T286821, T277351, T313516, T307604, T311238.
 * A new screen to request to vanish your Wikipedia account T300080.
 * A new tool to export your data library for technical debugging purposes T258212.


 * The third round of user testing was successfully ran to see whether participants understood the content and could complete tasks that test the basic usability on talk pages, which included opening a topic, using the ‘find in page’ to search for a word, replying to a comment, creating a new topic, opening all threads and subscribing to a topic. The tasks were successfully completed by all participants and the feedback from the participants helped improve some of the components and change the way the threading was presented.
 * You can find more information about this particular usability test and read through all of the user research done for talk pages. Now with the research phase over our engineers are starting to build talk pages.


 * Notifications now available in the store! After many conversations and deep development the iOS app now supports editing notifications. You can now see you notifications and alerts in our in app Notification Center and right on your homescreen. As with all notifications on iOS, you choose how you’ll be notified and where, whether you want your @pings on your device homescreen, your digest or only when you open the app.


 * We shared a survey of ideas with existing editors to gather input for our talk improvements. See context here. We're digesting all the feedback and will post our learnings soon.


 * The iOS team has been working hard on finishing support for Notifications, but we’ve been remiss in keeping this wiki page and our on wiki conversations. We plan to post regular updates for our Notifications and upcoming Talk page work on a regular basis going forward.
 * We are getting very close to our initial beta release of Notifications. We need your help! You can sign up to test it here.
 * For our Notifications work, we concluded a multi-week diary study with long time editors. The results and follow up changes can be seen on our iOS Notifications MediaWiki page.
 * The iOS team is starting Talk page improvement investigations, looking at lots of research and past community consultations, what Android and Editing teams have been doing, in particular. We will start testing ideas for threading soon.

The iOS team has been working on notifications in the app to let users better interact with other editors. You can see T274404 for the main Phabricator task and T274305 for how this could look. See also Wikimedia Apps/Team/iOS/Notifications for more information.

Documentation

 * Why do we make apps?
 * User Feedback Review SOP
 * Developer README
 * Development cycle
 * Release history
 * Roles and Responsibilities

Work

 * Our Phabricator backlog
 * Making requests

The team

 * Josh Minor – Product Owner
 * Toni Sevener – Tech Lead/Lead Engineer
 * Deepak Mantena – Lead Engineer
 * Marina Azevedo - Sr Engineer
 * Carolyn Li-Madeo – User Experience (UX) Designer
 * Olga Tichonova – User Experience (UX) Designer
 * Amal Ramadan - Sr Community Relations Specialist

Contribute to development
We welcome volunteers to contribute to the Wikipedia iOS app codebase.

Be a beta tester
Go to testflight.apple.com to help us as a beta tester!

What can I work on?
If you're looking for easy work, look at the tasks marked with the "Easy" tag. This phabricator workboard will show you all the "Easy" tasks in the iOS backlog.

If you're ready to pick up more difficult work, look at the iOS backlog and pick something from the Bug Backlog column. This workboard will show you all the tasks in the iOS backlog. If the status of the task is unclear or you need more information, feel free to leave a comment and we'll try to respond as soon as possible.

I found my task. What next?
Now you want to let the team know what you're working on.


 * 1) In Phabricator, assign the task to yourself.
 * 2) Add the tag representing the current release to the task. This link will take you to currently open releases. Tagging your task with the name of the release will add it to the release board.
 * 3) On the release board, move the task to the "Doing" column.
 * 4) When you're done developing, move the task to the "Needs Code Review" column.

I don't want to work on my task any more.
You can let us know by unassigning the task and moving it back to the "Tasks from Product Backlog" column.

How will I know that my contribution was accepted?
If your task gets moved to the "Ready for PM Signoff" column, it means that your contribution will be included in the upcoming release.

Tips
How to use Phabricator

Code this way

 * Developer README

Repositories
The Wikipedia iOS app code is hosted on both GitHub and Gerrit.

GitHub
This is the main repository, where iOS developers at the Foundation operate and release public betas via TestFlight. Pull requests via GitHub are the preferred contribution method.

Archives

 * Wikimedia Apps/Team/iOS/Editing program – no longer updated
 * Wikimedia Apps/Team/iOS/Archive/Notifications – old project