Skip to content

Conversation

@tomasr8
Copy link
Member

@tomasr8 tomasr8 commented Jan 11, 2024

Depends on #6101

From the linked PR:

One feedback we have gotten on the app is that the QR code is rather large and consequently sometimes difficult to scan.

Based on the discussion in the previous PR, I propose this format:

{
    "i": [2, "indico.cern.ch", b64(checkin_secret)]
}
  • Since we need to stick with a dictionary, let's use the smallest possible key "" (edit: we use i as a key)
  • All data go inside the array, starting with the version
  • If the base url uses https, we strip it
  • Checkin secret is base64-encoded (saves 12 bytes)

Using indico.cern.ch as an example, we go from 178 to 49 characters, ~28% of the original size.

For accompanying persons, we could simply append the (base64-encoded) person id which would give us 76 characters (177 with the old format) so ~43% of the original size.

Visual comparison:

image image

@tomasr8 tomasr8 force-pushed the compact-ticket-qrcode branch 3 times, most recently from 94f78f9 to d9fb0a5 Compare January 18, 2024 08:51
@ThiefMaster ThiefMaster force-pushed the compact-ticket-qrcode branch from d9fb0a5 to cdd9c6f Compare January 19, 2024 11:43
@ThiefMaster ThiefMaster enabled auto-merge (squash) January 19, 2024 11:43
@ThiefMaster ThiefMaster added this to the v3.3 milestone Jan 19, 2024
@ThiefMaster ThiefMaster merged commit f0765e7 into indico:master Jan 19, 2024
@ThiefMaster ThiefMaster deleted the compact-ticket-qrcode branch January 19, 2024 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants