I don't know about Montreal, but Moscow public transport uses similar paper tickets, also Mifare Ultralight, except you can get them for different number of trips. When you use your ticket, the turnstile or validator would increment those one-way counters so that the next one would know how many trips you have left. You can't do that with a QR code without either the reader or the user's device having a persistent internet connection to some sort of central server that would keep track of all tickets, which is impractical.
So the central server model is practical. The user's device has to have an internet connection at some point to activate the ticket within a reasonable period before using it but the connection doesn't have to persist after that. I don't know how their handheld scanners work in the Hudson River tunnels where there is no cell service but they do, so long as the user activates their ticket before the train departs.
Do you mean it would be hard for staff to scan cards? Here in the Netherlands both qr and cards (travel cards + bank cards) can be used at stations, and are read by the staff on the train.
Slightly tangential, but when I was in Montreal, I was blown away that you just purchase a ticket from a machine and you get a printed out ticket with an NFC chip inside. Not my favourite part of the trip (Montreal is beautiful!) but definitely a cool piece of technology to see being put to such a mundane use.
The ticket vending machines print your monthly transit passes right onto the face of your card at the beginning of the month, and erase it after it expires.
It's not a QR code though. Just human readable text for bus drivers. (Turnstiles in the subway still read the pass via NFC.)
So the solution is the transportation card is writable, and each train station acts like a small data center. They sync the data periodically to the main data center.
I think the syncing tech is getting better, Japan train companies are going to experiment with QR code soon. So read only is feasible.
That's also how the two subway systems I'm most familiar with do it here in Russia. In both Moscow and St Petersburg, the data stored on the refillable tickets (Troika and Podorozhnik respectively) was thoroughly reverse engineered. People who did it, of course, tried to write them too — for example, you'd make a dump, enter a station, then restore the dump with your old balance. It worked, but only for a day or two, after which the card number was added to a blacklist that all turnstiles check cards against. The conclusion was that there's a server on each station that turnstiles talk to, that syncs with some central server each night (when the subway is closed), where all system-wide transactions for the day are collated, and if anything is off, the card is blacklisted.
If they got filled up the the standard practice was free fares. :)
The bulk of the ticket will still be the Felica card though, because as far as I know neither the QR code or EMV open-loop system can handle required throughput of 60 persons/minute/gate.
To support the above, they did away with multi-trip tickets like you describe. It instead tracks and discounts once you hit a weekly limit (yes, you have to give up your privacy for this with an account or use your credit card directly). Not great for intermittent travel.
For systems like this the question is: if the internet is down and a few people get a free trip, does it really matter? You don't always need 100% accuracy if it makes everything else simpler, like removing paper tickets, printers, litter, etc.
The thing with plane and long-distance train tickets is that you buy them for a specific route. So all the checking only needs to be done at your departure station/airport, the code for which is encoded in the ticket, and the rest of the system doesn't need to know anything about it. But you can't do that with city transport. When there aren't multi-use tickets, people would often buy multiple single-use ones at a time and use them as the need arises, without knowing in advance when, where, and from where they'll be going.
Now this one time ticket needs to generated before entering the metro station and the qr code is scanned at * both entry and exit*.
I think the entire system works on daily rotating ticket id validated using unique hashes where a ticket validity period is tracked. I think this should be enough to ensure non-reuse of same ticket.
The caveat is, I have always only bough one time ticket which is the only mode allowed in qr. For daily traveller's, they need to buy token/card which is NFC based.
We actually have this for suburban trains, it's just a receipt with a 1D barcode on it. You use the barcode to open the turnstile (on some stations where they are installed), but otherwise the tickets are checked by controllers that occasionally go through trains.
For getting around a city though, I don't see much of a good use case. In my city, if you're here for at least several days, you're expected to buy the refillable card. If you're only here briefly and only need to use the metro a couple times, it's 1.5x more expensive but you'd buy tokens or tap with your bank card.
The ticket itself just has to encode an ID, and then the central database contains an entry for that ID that is checked by the gate in real time. When the ticket is scanned at a gate, the database gets updated.
And what about all those transfer discounts some cities have? Like if you're taking the subway and a bus within some timeframe, you still only pay once.
This is literally how all of the UK Mobile Train Tickets work. The ticket is a 2D barcode either on screen or on paper. Every gate / scanner operated by a guard records when the ticket has been scanned. They are synchronised and a ticket from being scanned twice. It's not that deep
I would have said that make it much more resilient, but I have seen so many buses that couldn't accept fares... I'm not so sure if it's the case.
The paper tickets can hold many fares, including unlimited evening fares or two day fares. I believe this would be hard to pull off with QR codes without having to keep track centrally.
If course duplication is probably a bigger risk for these tickets as they case be simply locked to one use server side.
Contactless ICs are more powerful in every other aspect: They're rewritable (allowing reusable tickets), they can support challenge-response authentication (allowing secure offline usage, which in turn makes for faster transactions at the gate), and they're much less finicky to scan in my experience.
Most cities you can use chengchema/dachema mini-apps in Wechat to generate the QR codes, but also all the old smartcards I had from previous trips worked in their various cities (but only work in that city) and usually had slightly cheaper fares than the QR-code ones, which were the same as the cash price to buy a single-use ticket.
But yeah, the bag checking is annoying in China. Shanghai is very relaxed compared to everywhere else - most places you even have to have your water bottle scanned to make sure it is actually water, or else take a sip from it.
But for subway/metro, during rush hour throughput it is important to able to tap an RFID almost instantly. QR is too slow and error-prone for subway/metro.
The world (including Montreal - these tickets are going away) has converged on credit card / phone / top-up charge card for that reason.
The problem with QR codes:
1. If they're printed, they can be copied.
2. "Dynamic" QR codes can be screenshot.
3. They're read-only (by definition)
4. Readers are slow, require good orientation by the user.
NFC is good because it's read/write, has a ~10cm range, the larger cards can hold up to 4K of data, the ultralights can replace single journey tickets and can be recycled like magnetics being captured at exit.
The huge disadvantage of NFC in this context is the electronic waste necessarily produced.
To bolster your point, aren't there whole countries where stores and street sales float on top of QR codes?
China's Big Tech companies taught Asia to pay by scanning QR codes, but made a mess along the way
https://www.theregister.com/2024/06/17/asia_qr_code_obsessio...
Actually, I think part of the reason is that so they know who's on the bus in case it's involved in an accident, because if you buy a ticket from a bus station for a "short distance" (so out of the city, but within about 40km), you also have to provide them with a phone number even though they never call you or send you an SMS using that number.
The CCP certainly do want to know who's on the bus, but not for the reasons you stated.
Transit has to work offline.
QRs are dramatically slower than NFC.
I still use a physical card - so that I have a backup option in case something happens to my phone - but even there the volume of waste is trivial. I've had my current transit card for ages, and it doesn't expire until 2037. It's possible that the only technological decision I've made that generated less e-waste was deciding to splurge on a mechanical watch instead of a quartz model.
Which is not something that you could do with a QR system. I don't know that anything is inherently wrong with QR codes, but they do seem to be a choice that's more appropriate for countries like China where the existing electronic payment infrastructure uses QR codes. In North America, by contrast, things have generally settled on NFC, and I think that that reason alone probably makes NFC the better option for North American transit systems.
I've got several apps that display QR codes on the screen for an external reader. One of them is for my health insurance id card (a simple 10 digit number), another shows my COVID vaccination status (this one is complicated, and I'm not sure why they used a QR code for it. It must include batch identification and other information given the size)
With a QR code like that, people still need to install an app, set up an account, etc. It's just a lot more friction. In cities where I can tap-to-pay, getting set up to ride a bus or train for the first time takes literally zero time; I'm already set up. If I need anything special - apps, accounts, system-specific QR codes, etc - then the setup time instantly goes up to a minimum of 10 minutes. It's a relatively large barrier to entry for infrequent riders, and ultimately serves to discourage use of public transit.
Exit gates usually capture the ticket on exit when it has been used up (ie single journeys, or after the number of trips encoded on the ticket).
These can (and are) recycled numerous times.
So if you're replacing an existing magnetic system, you can reuse the magnetic transports (belts/motors etc) for single use, including capture-at-exit and recycling for single journeys, while also adopting the NFC for multiple use.
The QR codes are significantly slower to read than NFC.
I've built both NFC and QR (and ye olde fashioned magnetic stripe) ticketing systems.
2. As per 1, no issue
3. That’d be a great feature if true, I’m all for immutability. However , qr codes can be defaced easily, hopefully the built in checksum defend against that. a more likely threat your system needs to defend against is that new qr codes can be generated extremely quickly
4. Both systems are the same speed, both systems require accurate targeting by the user, an rfid token slightly askew of the reader will not read since it won’t be able to influence / absorb the generated rf - most of these systems work by providing power to the rfid token and it communicates back not by transmitting its own signal but by exerting influence on the signal it’s receiving. It’s a very very low power interaction and very sensitive to positioning
A better problem than 4 is that you entail staff overheads with a visual system to keep them clean.
Read / write is a bad feature, you will lose ticket sales.
Recycling these is not practical. Direct reuse risks jamming the vending machine (used tickets end up subtly bent, very hard to reliably deal with), actual recycling isn’t viable, the energy required and emissions produced exceed that of creation of a new card from raw materials.
Yes, the question is not whether such system would be abused, but how much. But this is in the end what businesses care about.
Will QR codes be abused more than NFC chips? Likely yes.
Will it produce a larger financial loss than the cost of the NFC chips?
Can I mitigate these losses by a centralized validation system (each terminal needs a network connection with low latency guarantees)? Sure, but how much will it cost?
[1] https://www.facebook.com/uktvads/videos/kerching-a-saverstri...
On 4, QRs are substantially slower to be read and decoded. NFC/RFID have a range of ~100mm and the field shape is dependent on the antenna design, however it is way more tolerant than QR using IR/laser. As for "entail staff overheads", we are talking about systems that process thousands of taps/day through single gates. Anything that reduces maintenance requirements is absolutely a priority.
As for "read/write is a bad feature", I don't really understand your point.
Ultralite RFID/NFC tickets are routinely recycled where they are used to replace old magnetic systems that have belt transports for the magnetic tickets. The read/write heads of the magnetic stripe are replaced with NFC readers but the belt transport and capture mechanisms remain.
You make it sound like less moving parts are a bad thing :-)
I know what you're getting at though - the decentralized tolerance of network partitions and the ability to provide higher availability and faster decision speed at the entry barrier.
The system design constraints are hard but not impossible, my back of napkin maths says 5k/ticket scans per second with 99th percentile latency < 1000ms not only satisfies every use case that exists today but allows for 3x population growth beyond!
There's a few things in your favour when designing this system though. For example, in the case of network partition, you have geographic locality so a pen drive delivered a couple of times per day is likely feasible.
The system I recently put in allowed for that 450ms, the time broke down to:
1) NFC comms ~100ms
2) Network comms ~50-100ms
3) Physical relays (releasing barriers etc) 100-200ms
During peak periods the usual rate expected is 30-40 passengers through a gate/minute, which includes all of the time above, plus the passengers actually walking through the barriers (usually ~2m).
The barriers at rail stations have to have a defined maximum throughput of passengers, because it affects safety during emergencies etc. Most barriers are required to maintain somewhere between 30 and 45 passengers per minute.
Yes they can "default be open" and usually have emergency modes that disable validation entirely, but the speed during peak hour periods has to maintain the passenger flow.
However, for most transit, there is some form of "check in/out" (either through barriers/gates or via validation/inspection). This is combined with rules about "antipassback" (ie one user passing the token back to another to reuse), as well as "total time in system" (ie to avoid people staying in the system all day).
There are also rules that take into account entry/exit times (eg peak/off-peak), entry/exit locations (eg core/non-core zones) etc.
All of these rules require either:
a) An always online set of validators to be able to contact the backend that is maintaining the information, or,
b) a way to record the information on the token so that it is physically transported from one validation location to another.
It also is needed for inspection purposes during a trip.
If it was a short-lived QR code generated on your phone, then maybe. But the whole point of MIFARE Ultralight EV1 cards is that they can't be cloned. It's for repeated use, not for printing and using once.
A better application for QR codes is scenarios where it doesnt matter that its slower. Airline checkins, concert tickets, etc work well, a busy subway where people are queueing to get through a barrier as quickly as possible is one of the worst places to use it.
Separately we have revenue enforcement patrols with handheld scanners. The time from the red flash of the scanner on my screen (triggered by the person holding the scanner, it’s not constantly scanning) until the beep for ticket result is < 200ms, I.e. it feels very much almost instant but with a little perceptible delay.
Getting those QR code readers to read the QR code was a nightmare. Almost all the cameras have heavily scratched protective windows in front of them, which makes the reading process a struggle of trying to find a working angle. Of course the scratching is vandalism, but subway systems must be robust against vandalism, cause it's something that happens and must be expected.
I switched to per-transit payment via NFC after using one of the time-limited tickets and realizing that you need to consider yourself lucky if you find just one working QR code reader at most stations. NFC worked like a breeze.
Some of those downsides are positives (immutable, easily copied) others aren’t accurate, for example here’s the Mumbai metro in 2023 with qr entry gates https://youtube.com/shorts/TxbEgEzY9J8?si=s3gE-7_xbCbDoQ1d
Or that a 100% available central ledger is needed (it’s not).
That Qr code systems are in use today in some of the busiest locations would probably be the most succinct counterpoint though.
This is like a 100 bytes, a qr code can be over 2kb
This is a cheap plastic substrate with ink printing over the top. A qr code is just ink - or some other even cheaper printing process if you prefer.
This needs a specific ticket technology supplier over the next 10’s of years. QR codes can be drawn on screens or printed on paper and you can change suppliers for every component - from mobile phone apps to paper type to physical printer and reader devices - until your heart’s content over the next years. That flexibility can’t be underestimated in a space like public ticketing over decades.
Issuing replacement tickets needs physical presence to collect the ticket, vs qr code which can be emailed, sent on whatsapp, shared as a screenshot or photo if you need to, but of course you can still exchange physical paper qr codes if you prefer.
The rfid reader for these are cheap and durable, the optical reader for qr codes can be almost as cheap and almost as durable but not quite, the rfid wins this one point by a small margin.