- 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
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.
| Collection 3 | Kind | Owner | ROMs | Sync |
|---|---|---|---|---|
| Couch co-op | Standard | you | 31 | |
| Finished | Standard | you | 58 | |
| Handheld picks | Standard | jonas | 22 | |
| Kids | Standard | you | 17 | |
| Short sessions | Standard | you | 40 | |
| To play next | Standard | you | 9 | |
| Translations | Standard | mara | 26 |
Notes
- 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
Favorites beside the bulk buttons, as a single switch, because there is only ever one favorites collection.
- 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".
Notes
- 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
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
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
| Collection 4 | Owner | ROMs | In Steam 5 | Sync |
|---|---|---|---|---|
| Couch co-op | you | 31 | all | |
| Kids | you | 17 | all | |
| To play next | you | 9 | all | |
| Translations | mara | 26 | all | |
| Finished | you | 58 | 41 | |
| Handheld picks | jonas | 22 | 22 |
Favorites, and a kind with no owner
| Franchise | ROMs | In Steam | Sync |
|---|---|---|---|
| Final Fantasy | 23 | all | |
| Mega Man | 19 | all | |
| Metroid | 8 | all | |
| Castlevania | 14 | 9 | |
| Sonic the Hedgehog | 21 | 0 | |
| The Legend of Zelda | 12 | 12 |
Notes
- 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
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
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
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
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.
Side by side
| Today | A · one table | B · per pane | C · kinds left | |
|---|---|---|---|---|
| Collections above the fold on the Deck | 0 | 6 | 4 | 6, and every kind |
| Lines of controls before the first collection | 5 | 2 | 3, in a narrow column | 1 |
| Says what turning one on does | no | below the fold | yes, per collection | yes, per kind |
| Mine / All reads as what it is | no | no | no | yes |
| New server requests | none | none | none | none |
| Shows what turning one on adds | no | no | in the pane | a column |
| Survives German | — | line one wraps | yes | yes |
| Parts it reuses | — | pane table | list and detail | list and detail, column header, pane table |
Settled after this study
- C is the shape.
- The owner switch reads Other users' collections; on means what All means today, and the behaviour is unchanged.
- The kinds follow RomM's own headings where it has them — RomM's Collections, Smart Collections and Autogenerated collections become Collections, Smart collections and Autogenerated — with Favorites, and Franchises and IGDB collections under Autogenerated. The Steam names the type-distinguishing setting builds come from the same words: a hand-picked collection carries no suffix, the others a short singular — (Smart), (Franchise) and (IGDB Collection), which keeps its capital (
qam-panel.md§ Library says why) — and a virtual collection of no known type carries (Autogenerated). The keys on the wire and in the settings staystandard/smart/virtual. - An In Steam column, from the member ids the listing already carries, checked against Tender's shortcuts; approximate where versions of one game share a shortcut.
- The owner column names the owner: you, or their RomM user name.
- Enable all / Disable all ask first whenever no search narrows the list, on every kind.
- Collections that are on come first, frozen while the page is open, as on Platforms.
- #1020: a failed read says what went wrong, and leaving the tab and coming back asks again.