Jump to content

Wikimedia Apps/Team/iOS

From mediawiki.org
(Redirected from 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

Documentation

Work

The team

Contribute to development

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

Thank you to all past and present contributors to the app.

Be a beta tester

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

What can I work on?

If you are 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 are 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 will try to respond as soon as possible.

If a task does not currently exist, please create a new task for the PR on for phabricator via the iOS backlog form. All changes to Wikipedia app’s repositories should be captured in tasks on Phabricator. This aids the team's engineers and product managers to evaluate the change and ensures it is properly reviewed as part of our QA processes.

Describe the motivation for the change:

  • Is this a new feature? Is this a bug?
  • If there was any discussion on wiki, please include a link.
  • Note whether there is any expected change in the user experience
  • A brief summary of the changes made.

I found my task. What next?

Now you want to let the team know what you are 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 are done developing, move the task to the "Needs Code Review" column.

When a volunteer PR is created, one of the team's engineers will aim to acknowledge the receipt of the PR as soon as possible and provide any additional instructions in order to enable the team to review the patch. This should be as soon as is convenient and Apps Engineering will strive to acknowledge a patch in 5 working days.

Once the task has been created and triages the team will conduct a series of reviews during the next team sprint. Our team's sprints are two weeks long and the first round of feedback should ideally be completed in 28 days.

Non-user facing changes will be reviewed by the team's engineers. User facing changes will be reviewed by the team’s product manager, designer AND engineers:

  • The product manager will assess whether the proposed change aligns with our team's current feature priorities or longer term strategy.
  • The designer will assess whether the proposed change aligns with our team's design system or other design principles.
  • The engineers will provide code review to ensure that the change is free from bugs, aligns with our architecture and coding conventions, and doesn’t result in a degraded user experience.

Proposed changes will likely receive feedback from any or all of the above and so volunteers must be prepared to receive those and be willing to act on suggested improvements to the pull request. Please be aware that it is possible that your proposed changes will not be accepted into the application.

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.

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.

Information and updates

November 2024

  • We released the first iteration of a Personalized Wikipedia Year in Review to users in Italy & Mexico, on Italian, Spanish, and English Wikipedia! Users who have reading history on their device, or logged-in users with editing history are eligible to see their Year in Review.
  • We began working on iterative improvements to the Year in Review, coordinated on this Epic: T379406
  • The alternative text experiment ended on November 4. We are analyzing the results, and the edits are being graded and reviewed by accessibility experts. The edits were also shared with moderators who are active on the iOS app for additional review and feedback.
  • In collaboration with volunteer developers, we made the following improvements / bug fixes:
    • Added a notification to editors so they will understand that the introduction paragraph is presented differently in the editing vie and preview than in the article view. T212318
    • Ensured images fully displayed after cycling through random articles. T374331
    • Removed error showing when opening playback of article titles T374566
    • Fixed the display of the donor thank you page for edge cases T378600
    • Ensured that when you change text size in settings, it immediately updates in the article T377633

October 2024

September 2024

  • We launched the Alternative Text experiment to editors on Spanish, Portuguese, French, and Chinese Wikipedias. It will prompt editors to add alternative text to images after they have completed a relevant edit.
  • We finalized designs for Phase 1 of our Navigation refresh and began development.
  • We shared results and next steps from our community consultation on the Article Badge fundraising experiment idea.
  • We completed exploratory work to prepare for upcoming work on a personalized Wikipedia Year in Review feature.
  • We moved to using Xcode 16, and no longer support iOS 15. T370205
  • We made several improvements to our in-app donation form:
    • Ensuring the maximum and minimum allowed amounts function in all currencies. T365043
    • Making the transaction fee match the web’s form. T365306
    • Do not show Native ApplePay prompt in countries where it is not supported. T373209
  • With the help of volunteer developers, we made the following improvements:
    • Support for keyboard shortcuts were added to Native Editor. T352881
    • The “picture of the day” widget now leads to the correct view. T373126
    • Added icons to the article preview menu. T374282
Screenshot for adding icons to the article preview menu
  • We made updates to our account authentication to support the upcoming rollout of Temporary accounts. T339378
  • Bug fixes:
    • Fixed issue that was causing app to crash in some settings after opening revision history, watchlist, or notifications center. T372119
    • Addressed bugs that were affecting the interface for adding images and links while editing. T372839, T372301
    • Solved an issue with Submenu under user button via Watchlist Pop-up, and viewing watchlist after adding an article to your watchlist. T373965 ,T374035
    • Fixed a poor transition on iPadOS 18. T370967

August 2024

  • We completed the update, and we are now using revision tags for all app edits. T366732
  • The team worked to clear out technical debt, to keep our app running smoothly and set us up for quicker development of future features. This involved:
    • Renamed Swift Packages. T371736
    • Tested app on iOS/iPadOS 18 beta. T369645
    • Swapped out page/related API call with MediaWiki API equivalent. T365595
    • Fixed project warnings and cleanup console. T369871
    • Added defined type styles. T300034
    • Remove single root navigation controller. T369567
    • Move to Scene Delegate API. T369725
  • We fixed the following bugs:
    • The app was not deep linking (opening links to Wikipedia articles from browsers in the app) after being closed. T371983
    • Ampersands and apostrophes were displaying incorrectly T371149 & T371148
    • Notification bell was not responding to taps. T370965
    • Running out of Image Recommendations caused Add an Image to crash. T371127
    • Expanded our check for existing images in articles before suggesting images in Add an Image. T371055
  • We began work on the Alternative Text experiment. We added a new capability in the app: developer settings. This will allow us to move quickly and deploy things behind feature flags more in the future. Tasks can be viewed in the sub-epic: T357437
  • We completed analysis for iOS’s “Add an image” feature 30 days after deployment. T362835 & T371906
  • We calculated the total images added through Apps Image Recommendations on both Android and iOS (more than 20,000!) T372954
  • We calculated baselines for how many Edits/Unique User are typical for iOS app users in a calendar year. T371555

July 2024

  • We improved our tracking of edits made on iPad devices T366756
  • We investigated the difficulty of adding image recommendations edits automatically into common infoboxes for English Wikipedia T359134
  • We added an end date to our new feature announcement for Image Recommendations. T364397
  • We confirmed that iOS will be compatible with upcoming changes to the Reading List API T366630
  • Chinese Language variants are now working correctly in Notifications Center Inbox T357591
  • You can now type em dashes ("—") in the wikitext editor. T361868
  • We added a warning message if users accept an image recommendation very quickly T364049


June 2024

  • Thanks to volunteer developer support, the bug causing the Picture of the Day Widget to open to Featured Article was fixed. T356255
  • After the release of “Add an image” suggested edit, we have results for our leading indicators after 15 days. There were 891 edits completed in 15 days using the feature.
  • App Fundraising campaigns concluded in Japan and Spain.
  • Thanks to volunteer developer support, the search function within “Add an image” has been improved. T363942
  • The team worked on tackling tech debt tasks, such as removing Legacy > UIColor+Extensions file. T348031

May 2024

  • We released “Add an image” suggested edit to production! It is available to all users with more than 50 edits.
Add an image demonstration
  • We learned that we can improve our default syntax for inserting images, and worked with Android to identify and implement a solution.
  • We’re scoping the difficulty to implement automatic infobox insertion for images where possible for en.wikipedia.
  • We improved the edit summary screen. You can now easily add the page to your watchlist, or see if the page is already on your watchlist. The “Publish” option has been de-emphasized until the Edit summary is filled out to encourage users to add edit summaries. T354219
  • Logged-in users are able to opt-out of donation banners on Web, we added support so that the app also honors these settings. T352306
  • We fixed a bug to ensure that users are able to successfully unsubscribe from push notifications. T361221
  • Our analyst has provided preliminary insights following the release of Native Editor
    • This work contributes to KR 1.1 of the Annual Plan: Increase unreverted mobile contributions in the main article namespace on Wikipedias by 10%, averaged across a representative set of wikis.
      • In releasing Native Editor, we saw Edits in the article namespace increase by 16.8% for logged in editors during the initial 14 day analysis period.
    • KR: 2% decrease in edit abandonment
      • Actual: Native edit abandon rates were 4.2% lower compared to Non-native edit attempts.
    • KR: Engagement with full page editing is comparable to Android
      • Android’s avg article edit by editor is still higher than Native iOS by 28.5% (7.2 for Native iOS compared to 10.1 for Android)
      • However, iOS’s Revert rate was lower by 1.7 percentage points. (4.3% vs Android’s 6.0%)
    • KR: Increase in unique user edit rate
      • The average number of edits per logged in editor increased to 7.2 for Native users as compared to 6.2 for Web edit users in app, an 18.8% change.

April 2024

  • The team met for an offsite in San Francisco at the Wikimedia Foundation office, where we drafted our roadmap for the coming fiscal year.
  • We continued development work on Image Recommendations and released the feature to Beta testers at the end of April. We expect it to be available in production early May.
  • The Alt Text scaled experiment within Suggested Edits will be a part of the FY24245 Annual plan’s Key Result, Wiki experiences 1.2 for Constructive activation. Our hypothesis is: If we conduct an A/B/C test with the alt-text suggested edits prototype in the production version of the iOS app we can determine if adding alt-text to images is a good task for newcomers or should be reserved for experienced users.
  • We launched usability testing of our Alt-text suggested edit prototypes in English and Chinese.
  • We improved the Voice Over support for Diff view. T343582
  • We updated license information is displayed. T341144
  • We fixed a bug that was preventing some users from opening revision history of non-mainspace pages. T343494
  • Thanks to volunteer developer support, PDFs can be reviewed in full-screen view without errors T357266, and published article descriptions will include edit summaries. T351649

March 2024

  • The “Add an image” suggested edit is in development, with a planned release of early May.
  • Our analyst shared some early insights regarding the Native Editor: the new native editor has a 20.3% higher edit rate per unique editor. Edits made through the new native editor have a 1% lower revert rate than the wrapped in web view.
  • We are reviewing the latest designs for the Alt-text experiment before starting usability testing.
  • We heard feedback surrounding the alt-text experiment.
  • The team is investigating using the new hidden LINT rules created by the Content Transform Team for creating a feed of images that need Alt-text.

February 2024

  • The team received feedback from Arabic, English, and German Wikipedian about a redesign of the navigation of the app. We are waiting for Chinese Wikipedians' feedback to wrap up to finalize the initial analysis.
  • We fixed a bug to help widgets display properly T346810
  • Designs are complete for the Add an Image suggested edit task Image iOS, and development will begin. The flow is similar to the existing Add an Image suggested edit in the Android App. Learn more on the iOS Suggested edits project page.
  • We updated our article view to allow for full page editing T331935, and we now also support full-page editing on Talk pages: T331936
  • We released Native Editor to all users. This should reduce the number of bugs experienced when editing with iOS, improve loading times and performance of editing actions, and allows for full-page editing. T344282
    • As part of this work, we worked to add formatting options into Native editor T347928, paragraph heading and styling, T348073, undo and redo functionality T348088, find and replace tool T348091, list formatting T348090, link formatting T348071, and template formatting T348074.

January 2024

  • Native editor is in development and user testing, we are anticipating release in February.
  • We are pivoting for our next step in the Suggested Edits project, moving forward with Image recommendations first, and then developing an integrated alt-text experiment.
  • Designs are in review for image recommendations.

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 have successfully launched Release 7.3.0 (2242) (T337792). In this new release, we have made improvements to the user interface and the overall performance of the iOS app.

  • To ensure smooth navigation and usability, we have 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 have created guidelines to standardize the colors used across the app, resulting in improved UI consistency and accessibility (T299793).
  • We have 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 have 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 have 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 are 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
  • We also started preparations for building Watchlist. T334212 check the Watchlist's project's page.

March 2023

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

February 2023

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.

Archives

Past projects: