Wikimedia Apps/Team/iOS

From mediawiki.org

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

December 2023

  • We connected with Wiki Editoras Lx and joined their editathon December 16th to gather feedback about an alt-text Suggested Edit task on iOS. In preparation we made our feedback form automatically appear after a first edit to increase the feedback we receive. Attendees were generally positive about the prospect of the feature. Experienced editors thought it could be a good task for onboarding new editors, but also a more casual way of contributing for new editors. Attendees of the edit-a-thon expressed that editing alt-text on the Web is currently difficult because it takes you out of context of the article. There was also an expression of interest in the feature being brought to Android.
  • The team has started working on a refresh of the navigation of the app. As we start adding more features to the app it is becoming increasingly difficult to choose an appropriate entry point to surface to iOS app users. We invite you to be a part of our decision making process as we explore some changes to the app’s navigation.
  • The team made progress making the iOS app editor a native editor. This will improve the performance of editing within the app. In December we focused on formatting options in the new native editor.
Screenshot for two different formatting screens

November 2023

  • Ahead of the December fundraiser, we updated campaign banners to ensure users have the ability to scroll on smaller screens (SE).T348695
  • The team’s Product Manager attended the Wiki GLAM Conference to get feedback on a Suggested Edits prototype that encourages users to add alt-text to images. The feature was well received by attendees qualitatively. Before proceeding with iterating and releasing the add alt-text feature to the iOS app, the alt-text added by attendees will be evaluated. Further details about the project are available at iOS Suggested edits project page.
  • We also fixed a crash that was occurring on Chinese Wikipedia when clicking account or donate. T348723
  • The team is currently working on updating the navigation of the app. We currently have two variants for an updated app navigation. We will be conducting user testing in the coming months to iterate on the new app navigation concepts. If you are interested in providing feedback on the new navigation of the iOS app, please reach out to ARamadan-WMF.
  • Option A: Homepage with a 'Profile' and 'Tabs' option in the tab bar.
    Option A: Homepage with a 'Profile' and 'Tabs' option in the tab bar.
  • Option A: 'Notices' include 'Notifications' and 'Watchlist.
    Option A: 'Notices' include 'Notifications' and 'Watchlist.
  • Option A: 'Watchlist.
    Option A: 'Watchlist.
  • Option A: 'Profile' page.
    Option A: 'Profile' page.
  • Option A: 'Search' with 'History'.
    Option A: 'Search' with 'History'.
  • Option A: Tabs
    Option A: Tabs
  • Option A: Article view.
    Option A: Article view.
  • Option A: Saving articles.
    Option A: Saving articles.

October 2023

We are happy to bring Watchlist to the iOS app. You can now add articles to your watchlist to monitor the edits of Wikipedia articles you care about the most. You can access and, filter your watchlist through the Account option in your Settings. Read more about thus feature on the Watchlist project page.

The team ran user testing for a prototype of Suggested Edits on iOS, a microcontribution feature. The Suggested Edit type we are exploring allows contributors to add alt-text to images. You can read more about the project and the outcome of the user testing on the iOS Suggested Edits project page. After several requests to improve the donation flows in the app, the team made a number of changes:

  • Ability to pay using Native Apple Pay T288285
  • When using non-native methods of payment, users are taken to an in-app web view instead of their app browse T345851, T333108
  • Give potential donors more control over seeing campaign banners with the introduction of an option of Maybe Later or selecting I already donated T346823
  • Support multi-lingual campaigns in the app T347352
  • Ensure campaign language can be updated faster T348278

We also worked on some minor improvements to the app which included:

  • Updating the notifications project selection icons to be more consistent with other the filter views in the app T343266
  • Its now possible to share sections of an article T345436
  • Bug fixes related to app navigation T347581 and T344005
  • The app should no longer freeze when swiping down and back up  T300321
  • With Apple’s release of iOS 17, we dropped support for iOS 14. T343038

In October the apps team held office hours. You can see the recap on our office hours page.

End of September 2023 Update

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.

September 2023, 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.

August 2023

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.

July 2023

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.

June 2023

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 that is blocked tries to edit a semi-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).

May 2023

  • 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).

April 2023

  • 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

March 2023

  • 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.

February 2023

  • 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.

January 2023

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
  • 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!

December 2022

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:
  • 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!

November 2022

  • 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!

October 2022

  • 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!

September 2022

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!

August 2022

July 2022

  • 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

Work

The team

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

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