Tender Collections Layouts #1833 · panel 854 px wide, page body 263 px tall on the Deck

PAGE
What is here
Every collection RomM lists to you (your own, and other users' public ones), each with one switch: sync it or not. RomM has three kinds. Standard collections are picked by hand, and the favorites collection RomM keeps for starred games is one of them. Smart collections are saved searches, so their games change as matches come and go. Virtual collections are groupings RomM builds from game metadata; Tender shows two of their types, franchises and IGDB collections. They have no owner.
What turning one on does
It adds a shortcut for every game in the collection, including games on platforms you do not sync. It also groups them in a Steam collection named after it (RomM: [name] (host), with a type label when the setting that keeps same-named collections apart is on). The Collections tab says neither of these today.
What the page knows
RomM's listing gives each collection its name, its kind, its ROM count, which games are in it (their ids), its owner's name (standard and smart only) and whether it is public. Tender passes on the name, the kind (and, for virtual ones, franchise or IGDB collection), the count, whether it is yours, and whether it syncs (plus its id and whether it is the favorites collection), and drops the member ids, the owner's name and whether it is public. With the member ids, how many of a collection's games are already in Steam is a local lookup against the shortcuts Tender made. It is approximate where several versions of one game share a shortcut. None of this costs more than the four requests one page load makes today; how big a collection is on disk would.
Mine / All is not a filter
Under Mine, other users' collections are also left out of the sync, even ones switched on earlier. It is a setting shaped like a filter. Virtual collections have no owner, so it never touches them.
Width and height
Content is 806 px on every display. Height is the scarce axis: after the title, Back and the tab row, the Deck leaves about 263 px. The hatched area on each board is what the Deck does not show without scrolling. The names and numbers are invented.

Today, at the new width

‹ Tender
‹ BackLibrary
L1PlatformsCollectionsR1
Sync RomM favorites
Includes 14 favorited ROMs
Show collections
Every collection on the server, including other users' public ones.
AllMine
StandardSmartVirtual
Standard collections (12)
Search collections (fuzzy)
Enable All
Disable All
Couch co-op
31 ROMs
Finished
58 ROMs
below the fold on the Deck
Before the first collection, seven lines, five of them controls: a toggle, a label, two segmented rows, a heading, a search and a button rowThe first collection starts below the fold

A · One wide table

No detail side: one table under a short strip of filters. All four filter rows fold into one line, favorites moves beside the bulk buttons, and every collection is a row with name, kind, owner, ROM count and a toggle.

‹ Tender
‹ BackLibrary
L1PlatformsCollectionsR1
Standard 12Smart 3Virtual 65
Show 1
MineAll
Search
Sync RomM favorites · 14 ROMs 2 Enable allDisable all
Collection 3KindOwnerROMsSync
Couch co-opStandardyou31
FinishedStandardyou58
Handheld picksStandardjonas22
KidsStandardyou17
Short sessionsStandardyou40
To play nextStandardyou9
TranslationsStandardmara26
below the fold on the Deck
Two lines of controls, then a table · six rows above the foldVirtual adds a Franchise / IGDB collection filter to line one

Notes

  1. 1

    One line for every filter. Kind with its counts, owner scope and search sit side by side. Virtual adds a third segmented control on the same line.

  2. 2

    Favorites beside the bulk buttons, as a single switch, because there is only ever one favorites collection.

  3. 3

    A table because a row has more than two facts, which is the panel's rule for tables. The owner column says you or the owner's RomM user name, which the listing carries.

What it costs

  • The Mine / All switch still looks like a filter while it removes collections from the sync. Placing it next to the search makes that worse.
  • Nothing says what turning a collection on does. The only room left is a line under the table, below the fold.
  • The Kind column says the same thing on every row, because the table already shows one kind at a time. It carries information only inside Virtual.
  • On Virtual, line one holds three segmented controls and a search field. In German (Standard · Intelligent · Virtuell, Meine · Alle, Suchen) it wraps, and the table loses a row.

B · A collection per pane

The Platforms shape: collections on the left, each with its toggle, and everything about the focused collection on the right. This is the answer to "what does a collection's detail show".

‹ Tender
‹ BackLibrary
L1PlatformsCollectionsR1
StandardSmartVirtual
AllFranchiseIGDB
Search 1
Castlevania
Final Fantasy
Mega Man
Mega Man X
Final FantasyFranchise · from IGDB · no owner
Its games 2
On RomM23 ROMs
Already in Steam14 of 23
Turning it on addsabout 9 games
In Steam 3
CollectionRomM: [Final Fantasy] (romm.lan)
below the fold on the Deck
List 264 px · pane 530 pxThree lines of filters above the list leave four rows

Notes

  1. 1

    The filters have to live above the list. In 264 px they stack: kind, the virtual sub-type (or Mine / All for the other kinds), then search.

  2. 2

    What turning it on adds comes free. The listing already names a collection's games, so "how many are already in Steam" is a local lookup, approximate where versions of one game share a shortcut.

  3. 3

    The Steam name is known locally and shows what turning it on creates.

What it costs

  • Every fact in the pane fits in a table column: owner, ROMs, already in Steam. The pane spends a whole column on one collection to show what a table row shows for six.
  • Only four rows fit, and Virtual alone can hold 65 or more collections. Scrolling one row at a time through a narrow column is the slowest way to reach the 50th.
  • Favorites has no clear place: it would be a row in the Standard list, or a switch on top of three lines of filters.

C · Kinds on the left, collections on the right

A list-and-detail layout where the list holds the kinds, not the collections. Kind stops being a filter row and becomes where you are. Mine / All becomes one toggle at the top of that column. Each pane opens with one sentence on what turning one of its collections on does, then a table of its collections.

A kind, and its collections

‹ Tender
‹ BackLibrary
L1PlatformsCollectionsR1
Other users' collections 1
Their public ones, shown and synced
Favorites 214 ROMs
Collections4 of 12 on
Smart collections1 of 3 on
Autogenerated
Franchises3 of 41 on
IGDB collections0 of 24 on
Collectionspicked by hand in RomM
Turning one on adds all its games to Steam, including games on platforms you do not sync, and groups them as RomM: [name]. 3
Search
Enable allDisable all
Collection 4OwnerROMsIn Steam 5Sync
Couch co-opyou31all
Kidsyou17all
To play nextyou9all
Translationsmara26all
Finishedyou5841
Handheld picksjonas2222
below the fold on the Deck
List 264 px: the owner toggle and five kinds, all visiblePane 530 px: a sentence, one line of controls, six rows above the fold

Favorites, and a kind with no owner

‹ Tender
‹ BackLibrary
L1PlatformsCollectionsR1
Other users' collections
Their public ones, shown and synced
Favorites14 ROMs
Collections4 of 12 on
Smart collections1 of 3 on
Autogenerated
Franchises3 of 41 on
IGDB collections0 of 24 on
Favoritesthe games you starred in RomM
RomM keeps one favorites collection per account. Turned on, its games come to Steam even from platforms you do not sync, grouped as RomM: [Favorites].
Games in it14 ROMs
Syncon — the switch is in the row
below the fold on the Deck
The favorites switch is in its row, as a platform's is"Includes 14 favorited ROMs" becomes the row's count
‹ Tender
‹ BackLibrary
L1PlatformsCollectionsR1
Other users' collections
Their public ones, shown and synced
Favorites14 ROMs
Collections4 of 12 on
Smart collections1 of 3 on
Autogenerated
Franchises3 of 41 on
IGDB collections0 of 24 on
Franchisesgrouped by RomM from IGDB · no owner
Turning one on adds every game of that franchise, on any platform, as RomM: [name].
Search
Enable allDisable all
FranchiseROMsIn SteamSync
Final Fantasy23all
Mega Man19all
Metroid8all
Castlevania149
Sonic the Hedgehog210
The Legend of Zelda1212
below the fold on the Deck
No owner column where the kind has no ownerThe 50-row cap only bites here, and search stays

Notes

  1. 1

    Mine / All becomes a toggle that says what it does: Other users' collections, on or off. Off means they are hidden here and left out of the sync, which is what Mine does today. It sits at the head of the column, where Platforms puts its own column-wide controls, because it applies to two of the kinds.

  2. 2

    Favorites becomes a row with its switch in it, like a platform row. The number in the row is today's "Includes 14 favorited ROMs". With no favorites collection, the row stays, greyed, with a dash for the count.

  3. 3

    What turning a collection on does, once per kind, worded for that kind. This is where the page finally says that collections bring in games from platforms you do not sync.

  4. 4

    The table orders collections that are on above those that are off, and freezes that order while the page is open, the same as Platforms. The Owner column appears only on the two kinds that have owners, and names the owner: you, or their RomM user name.

  5. 5

    In Steam says how many of a collection's games already have a shortcut, so the difference to ROMs is roughly what turning it on adds. It is worked out from the member ids the listing carries against Tender's own shortcuts, approximate where versions of one game share a shortcut, and costs no request. Enable all / Disable all ask first whenever no search narrows the list, on every kind, the way today's whole-kind view does.

What it costs

  • Moving between kinds is a walk down a list, not a single press on a segmented control. Search already works one kind at a time today, so nothing is lost there.
  • The virtual kind becomes two rows, Franchises and IGDB collections, under Autogenerated, which follows RomM's own heading. The sub-filter row disappears; the heading costs one line of the column.
  • The owner toggle is a switch outside a selectable row, at the head of a list-and-detail column. Platforms' Enable all / Disable all sit in the same slot, so the frame already supports it.
  • Once the answer arrives, walking the kind rows costs nothing: every count is local, so focus-selects has no reads to hold back.
Recommendation C. Kind is where the user already navigates, so it becomes the list, and the two segmented rows disappear instead of being squeezed. The owner switch stops pretending to be a filter. The promise of what turning a collection on does gets a sentence per kind. It needs no new server request, and it reuses Platforms' list and detail, its column header and the pane table. What a per-collection pane (B) would show — the owner, and how many of a collection's games are already in Steam — fits as two columns of C's table, so the pane buys nothing the table lacks.

Side by side

TodayA · one tableB · per paneC · kinds left
Collections above the fold on the Deck0646, and every kind
Lines of controls before the first collection523, in a narrow column1
Says what turning one on doesnobelow the foldyes, per collectionyes, per kind
Mine / All reads as what it isnononoyes
New server requestsnonenonenonenone
Shows what turning one on addsnonoin the panea column
Survives German—line one wrapsyesyes
Parts it reuses—pane tablelist and detaillist and detail, column header, pane table

Settled after this study