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.
Active projects
Information and updates
Updates
The team created low fidelity mockups and a design clickable prototype for an exploration of bringing Suggested Edits to the iOS app. The first iOS suggested edit task we are exploring is to add alt-text to images.
We ran a consultation with Global Renamers to understand how we can improve the account deletion flow in the apps. This information was used to create a set of requirements, which will be implemented by a service team:
Must Haves:
- Auto verify email and username association.
- Requests with a verified email go directly to Special:GlobalRenameQueue and includes the user’s email and user name.
- Requests to Global Rename Queue includes a note that the request is a deletion request from the app and rationale for the request.
- Users that can not be verified by email and username should go to trust & safety.
- This can be handled app-side for the purpose of the apps team but if this has to serve web and apps needs for account deletion then the web flow would need to account for this (perhaps via something like a Special:ContactForm).
Nice to Have :
- Auto account deletion (renaming) for users with:
- Zero edits.
- Zero Actions.
- No active blocks (by Account or by IP).
- DEPENDENCY: In order for this to take place an additional consultation would have to take place with the broader community because it requires a modification to community renaming policy.
, Special Mid Month Update
Watchlist on iOS is available to test via Test Flight. You can go to the Apple App store and download the testflight app and join Beta Testing for the Wikipedia iOS app. Once you’ve downloaded the Wikipedia app through test flight, add at least one article to your watchlist via the more button in the bottom toolbar. If you already have items in your Watchlist and you are logged into your account you can access your Watchlist by going to Settings → Account → Watchlist. Feel free to leave feedback on the Watchlist project discussion page.
We Released 7.4.0 and 7.4.1. The releases included:
- An updated Diff view with the ability to undo destructive edits T335579.
- The app now supports Tachelhit (Tifinagh/ⵜⴰⵛⵍⵃⵉⵜ ). T333596 and hardcoded language variant codes T338079.
- We fixed the issue with the purge function not completely clearing all stored data Moving forward if there is vandalism T341104.
- We also fixed a bug of the scroll-down behavior on the Diff View where it would get stuck T339302.
Released 7.3.1,with updates that included
- The addition of GUR Wikipedia to supported languages T331550.
- A fix to the character count display for article short descriptions T332320.
- Resolution of a bug with the app theme misaligning with the system theme T336093.
- An improved app launch time for faster access to reading all of your favorite articles T340489.
- We finalized designs for full page editing on articles and talk pages T331935 and T331936. In order to make full page editing work, we must make our editor native, which is what we are in the process of working on once Wathclist on iOS is complete.
-
Full page editing mode
- We received feedback on the latest designs for Watchlist on iOS.
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.
- 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).
The following are designs for two scenarios:
Editor taps to edit a fully-protected page:
-
Editor taps to edit a semi-protected page
-
Editing screens open with an alert
-
Tapping 'Ok' brings the editor to the editing screen that is disabled
-
Tapping on the 'X' icon takes you back to the article
Editor that is blocked tries to edit a semi-protected page:
-
Blocked editor taps to edit a semi-protected page
-
Block message appears
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 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 noticesphab:T201596,abuse filter messages phab:T327418, as well as blocked message improvements phab:T169013, phab:T275118, phab:T201640.
- We have also continued to work on addressing some underlying analytics technical debt phab:T327341, and began work on our design components phab:T329329, phab:T299793, phab: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:
- By GitHub username aria1991:
- 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. phab:T321853
- A few keyboard formatting buttons for inserting wikitext on talk pages. phab:T315606
- Various bug fixes with article links (all fixed by a volunteer!) phab:T294157, phab:T283846,phab:T321066,phab:T324307,phab:T316495,phab:T321064.
- Other bug fixes: The first two are volunteer fixes! phab:T317587,phab:T322955,phab:T320738,phab:T323519,phab:T322160,phab:T324862,phab:T314809.
- We also began working on our next release, 7.2.0. It includes addressing some underlying analytics technical debt phab:T327341, displaying edit notices phab:T201596, as well as blocked message improvements phab:T169013, phab:T275118, phab: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 (phab:T301824), and an experimental feature to import shared reading lists from the Android app (phab:T322158).
- We released a patch (7.0.1) in late December that contained:
- Analytics work, mainly for talk pages (phab:T322790, phab:T321841, phab:T322563).
- Widget bug fixes:phab:T323946, phab:T321061
- Added additional Wiki language support (phab:T317844).
- Fixed a bug with duplicate error banners (phab: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. phab:T322158, phab:T322805
- We started displaying our 2022 EN Wikipedia fundraising banners in the app. phab: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. phab: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. phab:T301824
- Starting multilingual user testing on new article and user talk pages. phab:T301824
- We have also started sending the new article and user talk page feature to external beta testers. phab: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. phab:T300080
- We started prototyping a feature to import shared reading lists from Android, for their shared reading lists experiment. phab: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. phab:T299808
- Link sharing in non-Latin languages and several other small improvements. phab:T307604
- New options for user support, including new debugging data options when reporting a bug. phab:T258212 phab:T300080
- New support address: ios-support@wikimedia.org phab: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) phab:T301824
- We began user testing of the initial implementation in mid-September. phab: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 phab:T301824 and usability testing script phab: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 phab:T299808, phab:T310798, phab:T286821, phab:T277351, phab:T313516, phab:T307604, phab:T311238.
- A new screen to request to vanish your Wikipedia account phab:T300080.
- A new tool to export your data library for technical debugging purposes phab: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 phab:T274404 for the main Phabricator task and phab: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
The team
- Jazmin Tanner – 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.
- In Phabricator, assign the task to yourself.
- 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.
- On the release board, move the task to the "Doing" column.
- 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
Code this way
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