The proposal here is to use 11-character base 58 IDs as a more human-friendly alternative to UUIDs. The article makes a good point that 58^11 is a large enough space to uniquely identify probably anything you want to. The article also talks about avoiding monotonically-incremented IDs to avoid leaking information. It looks like the idea is to randomly generate IDs? But the article doesn’t discuss collision probabilities. (Maybe this is covered in the linked Tom Scott video.)
Anyway according to an online calculator I found, an 11-character ID using a 58 character alphabet will have about a 1% chance of a collision after 1 billion generated IDs.
The article also argues that using UUIDs for collision resistance combined with user-facing friendly IDs gives you the worst of both worlds which makes sense to me.
The proposal here is to use 11-character base 58 IDs as a more human-friendly alternative to UUIDs. The article makes a good point that 58^11 is a large enough space to uniquely identify probably anything you want to. The article also talks about avoiding monotonically-incremented IDs to avoid leaking information. It looks like the idea is to randomly generate IDs? But the article doesn’t discuss collision probabilities. (Maybe this is covered in the linked Tom Scott video.)
Anyway according to an online calculator I found, an 11-character ID using a 58 character alphabet will have about a 1% chance of a collision after 1 billion generated IDs.
The article also argues that using UUIDs for collision resistance combined with user-facing friendly IDs gives you the worst of both worlds which makes sense to me.