Quartet Log

How to Make a Chamber Music Log

1. Create the form

  1. Go to Google Forms.

  2. Create a new Form.

    Google Forms home page with the "+" button to create a new form
  3. Fill it out with the questions you'd like to track. Mine looks like this:

    Sample form with fields for date, composer, work, players, and so on

Two things the log site needs from that form, if you plan to use Log a Piece (section 3) rather than the Google Form itself:

Cellists: not yet. The app assumes the person logging is a violinist or violist, because it has to know which seat is which — playing V1 means Player 3 is the cellist. There is no VC option in Log a Piece, so if you play cello you will have to use the Google Form itself for now. Nothing about the sheet changes; it is the app that cannot read those rows back correctly yet.

2. Set up the response sheet

  1. Click Responses, then the green Sheets button.

    The Responses tab in the form editor
    The Sheets button at the top of the Responses tab
  2. Name your sheet and click Create.

    Dialog to name the response spreadsheet

3. Put it on your phone

Get the form's link first: in the form editor click Send, then the Link icon, and check Shorten URL.

The Send button in the form editor
Send dialog showing the Link tab with the Shorten URL checkbox

The obvious move is to pin that link: open it on your phone and choose Add to Home Screen.

Add to Home Screen on an iPhone

That works, with one irritation. A Google Form ships no web app manifest and no apple-mobile-web-app-capable tag, so iOS treats the pin as an ordinary Safari bookmark rather than an app: every launch opens another browser tab, and they pile up.

The log site does ship both, so pinning it gives you a real standalone app with no tabs. Open https://log.quartetroulette.com/#log on your phone (set it up first, section 8) and Add to Home Screen from there. It opens straight to the Log a Piece form.

That form writes to the same spreadsheet through the same Google Form, and it knows things the form cannot, because the app has your whole log loaded:

Either way in works, and both write the same rows.

Connecting your form. The site has no form of its own — it writes through yours, and it has to be told which. The first time you open Log a Piece it asks for a pre-filled link, which is where Google Forms puts the field ids:

  1. Open your form for editing and choose ⋮ → Get pre-filled link.
  2. Put anything at all in every field, then Get link → Copy link.
  3. Paste it into the log form's setup panel.

Nothing is submitted by that step: only the ids are read, and they are matched to your sheet's columns in order, which is the order Forms created them in. The panel shows you the mapping before you commit to it, so a form whose questions were reordered after the sheet already existed is something you can see rather than discover months later.

The connection lives on that device, next to your sheet URL. Copy setup link in the menu carries both, so setting up a second device is one link.

4. Use it

  1. After every piece you play, open the app or the form from your home screen and fill it out — entries are saved straight to the response spreadsheet.

  2. Play some Haydn.

  3. Repeat.

What happens when you tap Log it. The form is replaced by a short summary of what went in: the piece, who played what, and the rest of the sitting so far. Log the next piece brings the fields back with the composer, your part and the seats already carried over, so the work title is usually all that is left to type.

Why the piece is not in the charts yet. Your entry is in the spreadsheet the moment you tap — the app writes through your Google Form, exactly as if you had filled the form in by hand. What lags is the app's copy of the sheet: the calendar and the charts read a published version that Google rebuilds every few minutes, and the app re-checks every five. So each piece in the summary carries a dot — filled once the app's own copy holds that row, hollow while it is still on its way. The totals underneath are your last 365 days — the same window the calendar's header reports — and they count the whole sitting either way, including the pieces whose dot is still hollow. A year rather than the whole log because one evening barely moves a lifetime total, so the green number under each is something an evening can actually change: Unique +1 means a work you have not played in a year.

A partial movement — anything with a : in the title, like 59#1: I — is the one exception, and it shows in italic. The sheet keeps it, but this app leaves it out of its charts and its totals, so its dot can never fill in that way; on that row it means simply that the entry was sent.

If you have no signal the summary says so instead: the piece is held on the device and sent automatically, in the order you logged them, when you are back on a network.

5. Logging anything that isn't a string quartet

The three player fields model a string quartet: you take one seat, and the other three go in Player 1, Player 2, Player 3 — the seats your own part implies. Playing V1 means Player 1 is V2, Player 2 is the violist, and Player 3 is the cellist.

Piano trios, piano quartets, quintets and sextets don't fit that shape, so there are two conventions to keep them straight.

Use - for a seat the work doesn't have. A piano trio has no second violin and no viola, so playing violin in one looks like this:

Which Part Player 1 Player 2 Player 3 Others?
V1 - - the cellist Alice Hart (p)

(instrument) on a player field is read, and old rows carry it. The annotation wins over the seat, so a row written this way still counts the pianist as a pianist even though they sit in the cello field:

Which Part Player 1 Player 2 Player 3 Others?
V1 the violist (va) the cellist (vc) the pianist (p)

New rows don't need it: everyone past the four goes in Others? with a tag, which is what the Log a Piece form writes (below).

Both spellings and shorthands work — p, pf and piano are the same thing, as are vc and cello, and va, vla and viola. You can add a comment after the instrument: Alice Hart (vc, doubling) keeps the vc and ignores the rest. Parentheses that name no instrument — (sub), (guest), (first time) — are just notes: they're ignored, and the seat decides as usual.

Pianists, clarinettists and other non-string players are counted as people you played with, but they're left out of the V1/V2/VA/VC part breakdowns, which only make sense for string parts.

You can also put the extra player in Others? instead — Alice Hart (p) there is read the same way. In the sheet these behave differently: the player fields carry forward within a session, so a slot left blank repeats whoever was there, annotation included, while Others? does not carry forward — six movements with the pianist in Others? is six rows that each have to name them. Filling rows in the Google Form, that difference decides which to reach for: a player field for a long session, Others? when the seats are already full, as in a piano quintet where four string players fill every slot.

The Log a Piece form removes the difference. Extras stay on the form for the rest of the session and it writes them onto every piece, and each one gets a part dropdown — so you can say what someone played without remembering the (p) syntax.

Every name field has a part dropdown. Say what each person played and the form works out where it goes — which column, or Others?, is the form's business, and the only thing asked of you is who played what.

So a field is a person and their part, not a column. The three columns are still the quartet's parts, decided by your own part, and the form writes each person into the column that holds theirs. Two people swapping: set one of them to the part the other is on, the form swaps the pair, and the names are written in the order the columns mean — nothing is annotated and nothing is retyped. Someone on a part no column holds — a second viola, a pianist, an octet's third violin — is written into Others? with the tag, and the column they left is written -, since nobody is on it. It goes the other way too: an extra you put on v1 is written in the column that holds V1.

That's what makes a change of personnel mid-session two taps. A fifth player arrives and takes V1 while you move from violin to viola: set the violist beside you to va2, type the newcomer into Others? on v1, and the row comes out with the violins and cello in their columns and the second viola as an extra. Nobody is retyped, and the piece after that asks for nothing at all.

The two lists differ. A player field offers the string chairs — V1, V2, VA, VA2, VC, VC2, less whichever one is yours — because the trade they exist to make easy is the one that happens between two sextets, where everybody shifts within their own family. Others? offers all of them, plus V3 and V4 for an octet, VA1 for when you are the second viola, and bass, piano and clarinet. Anything else — an oboe, a flute — is still typed in the parens as it always was, and the dropdown shows it back rather than rewriting it. Moving somebody INTO a column works from either list, so a pianist who picks up a violin is one tap on their Others? dropdown. Only the other direction — a player field moving to piano or to an octet's V3 — isn't on offer, and there you clear the name and add them as an extra by hand.

The row the fields will become is shown under them, so a name moving between a column and Others? is never something that happens out of sight. A tag an older row left in a column still shows in that field's dropdown, and a (klavier) the app can't read stays exactly as it is.

6. What repeats itself, and what doesn't

You don't have to retype the same four names for every piece. Leave a player field blank and it repeats whoever was in that seat on your last entry — annotation included, so Alice Hart (p) keeps the (p). Typing a short form of the name that's already there does the same: Alice after Alice Hart means the same person, not a new one.

Three things are worth knowing, because they're the difference between a log that reads correctly years later and one that doesn't.

It repeats field by field. When one player swaps out mid-session, type the new name in that one field and leave the others blank. The seats you left alone keep their people. This is what makes a long afternoon of rotating personnel easy to log — you only ever type what changed.

Only the player fields and the location repeat. Others? does not. A fifth or sixth player has to be typed on every row they played. This is the single most common way a person goes missing from the log, and it's what npm run audit looks for first.

The Log a Piece form handles this for you: extra players stay on the form for the rest of the session and are written out on every piece, so the only thing you do is press the x beside someone when they leave. Entering rows in the Google Form directly, you're on your own — retype them each time.

A blank always repeats, however long the break. Take an hour for dinner or come back the next morning — a blank field still means "the same person as last time", because leaving names out is never how you'd start a group. When a seat is genuinely empty, write - rather than leaving it blank; that's how the sheet tells "nobody here" apart from "same as above".

A short form only reaches back a few hours — and only for names. Typing Alice to mean the Alice Hart above works within the same sitting. Weeks later it's read as a name in its own right, because by then it's just as likely to be a different Alice — so when you come back to someone after a long time, type the name in full.

A location is always taken exactly as you typed it. Only a blank repeats. That's what lets a room inside a larger place be its own entry: type AKM after AKM (chapel) and you get AKM, not the chapel again.

7. Naming people

Type someone's full name the first time you log them. After that, whatever you naturally type is fine — first name, nickname, whatever the group calls them.

The reason is that a first name stops identifying one person the moment a second Alice turns up, and by then the older entries have no surname to tell them apart. Reconstructing that later means cross-referencing dates, venues and who else was in the room, and it gets harder every month. Spending three extra seconds once is the whole fix.

Short forms are still worth using for the people you play with constantly — you will never wonder who "Bob" was. The rule is only about the first entry for someone new.

8. View your log

  1. In your response sheet, go to File → Share → Publish to web. Set the format to Comma-separated values (.csv) and click Publish. Copy the URL it gives you.

    Publish to web dialog with CSV format selected
  2. Open https://log.quartetroulette.com/ and paste the published-CSV URL into the setup screen.

  3. From then on, the site reads your sheet on each visit, so new sessions you log will show up the next time you reload.