Updating List of Devices for RDM

Where to locate the list

The devices list is a RemoteSettings collection named devtools-devices. A dump of the list can be found in services/settings/dumps/main/devtools-devices.json.

Adding and removing devices

When to add devices

Add devices that represent current and recent hardware with distinct viewport sizes. Focus on:

Apple (iPhone/iPad):

  • Current generation flagships (e.g., iPhone 17 series, iPad M4)

  • Previous generation (N-1) if still widely used (e.g., iPhone 14/15/16)

  • Older models that remain relevant (e.g., iPhone SE, iPhone XR/11)

  • Only add devices with unique viewport dimensions - don’t add multiple models with identical screen sizes

Android Phones:

  • Current flagship from major manufacturers: Samsung Galaxy S-series, Google Pixel

  • Previous generation (N-1) from same manufacturers if viewport differs

  • Include both Chrome and Firefox Mobile user agents for at least one popular device (e.g., Pixel)

  • Slightly older but still relevant devices (e.g., Pixel 4/5, Galaxy S10) to cover common viewports

Android Tablets:

  • Current flagship tablets: Samsung Galaxy Tab S-series, Google Pixel Tablet if available

  • Focus on distinct screen sizes (regular, plus, ultra variants only if viewports differ significantly)

Reference sources:

When to remove devices

Remove devices that are:

  • Obsolete: 5+ years old with minimal market share (e.g., iPhone 6/7/8, Nexus devices, Galaxy S5)

  • Duplicate viewports: Multiple devices with identical dimensions - consolidate into one entry with multiple model names (e.g., “iPhone 14 / 15 / 16”)

  • Niche/discontinued: Devices that were never mainstream (e.g., Microsoft Lumia, BlackBerry, Nokia feature phones)

  • Superseded: Older models replaced by devices with the same viewport (e.g., Pixel 2 replaced by newer Pixel devices)

When to update devices

User Agent Strings (update annually or when major browser versions release):

  • iOS Safari: Update to current iOS version and Safari version (Note: As of iOS 26, user agents are frozen at iOS 18_6)

  • Chrome Android: Update to current Chrome stable version (check Chrome Releases)

  • Firefox Mobile: Update to current Firefox release version

  • Legacy Android: For devices running Android 7.0 or older, use the last supported Chrome version (e.g., Chrome 109 for Android 7.0)

Featured Status:

  • Featured = true: Current mainstream devices developers are most likely to test (keep list focused, ~15-20 mobile/tablet devices)

  • Featured = false: Niche devices, older models, “Plus”/“Ultra” variants that are less popular than base models

  • Review sales data and popularity when deciding featured status (e.g., Galaxy S25 Ultra was 46% of S25 sales, S25+ only 19%)

Data format

An important field is featured, which is a boolean. When set to true, the device will appear in the RDM dropdown. If it’s set to false, the device will not appear in the dropdown, but can be enabled in the Edit list modal. Each device has a user agent specified. We can get this value by:

  • At https://developers.whatismybrowser.com/useragents/explore/

  • With a real device, open its default browser, and google “my user agent” will display a Google widget with the user agent string.

  • Looking at Google’s own list of devices (they also specify the user agent)

Releasing the changes

First, make sure you can have access to RemoteSettings (see https://remote-settings.readthedocs.io/en/latest/getting-started.html#getting-started).

You should then be able to add the device to the RemoteSettings Stage instance using the interface. Then use the RemoteSettings DevTools to make Firefox pull the devices list from the Stage instance (see https://remote-settings.readthedocs.io/en/latest/support.html?highlight=devtools#how-do-i-setup-firefox-to-pull-data-from-stage) Once that is done, open RDM and make sure you can see the new addition in the Devices modal.

If everything is good, you can then ask for review on the data change. Once this get approved, you can replicate the same changes to the RemoteSettings Prod instance, reset the RemoteSettings DevTools settings, check RDM again just to be sure and finally ask for review on the data change.

Things to consider in the future

  • Galaxy Fold has two screens, how do we handle that?