OMNY is not a project of the city. It is a system
operated by the private organization Cubic
Transportation Systems. Cubic has quietly taken over
the monetization process of the majority of
major US and western EU cities
OMNY says they won't disclose your data except
for potential sharing to law, "safety", and
anti-fraud related entities, "affiliates and
subsidiaries". OMNY is owned by Cubic subsidiaries
include military service providers, & cos that
serve the international intelligence community
Cubic is owned by Veritas Capital. Veritas Capital,
among other things, helps run the DHS's biometrics
database. Their CCPA statement says they collect
and share information collected from "portfolio
companies" that includes Identifiers.
This is how nearly all Government Services work. Outsourced to a "public interest" (and I do us that term loosely) corporation. Like when the RTD got switched to Metro in Los Angeles. Presented to the public as a rebrand. But it was in actuality the firing of one firm and the hiring of another.
Yup - you can reload it with cash at the same stores that sell it. You'll eventually be able to put money into a vending machine to reload it as well.
Or, you could not refill it, and just buy another omny card. I'm not sure what the surplus above fare costs is for a new card, but it's probably only a few bucks. If you're concerned about privacy, it might be good to not have a very long travel history all associated with a single omny card.
If memory serves Cubic did the initial RFID readers for BART, after BART finally gave in and joined TransLink/Clipper. They were way slower than the readers every other transit agency used.
Cubic (still) runs and maintains Clipper as a whole, and most other systems like it in the US. They didn’t develop Clipper at first, but have been maintaining/upgrading it for most of its life.
The support/call center is Cubic, most of the readers are built by Cubic, etc.
Right. I don't remember the full rationale as to why Cubic was brought in, but I do remember BART dragging their feet on working with ERG and instead opted to go their own way (EZ Rider).
Isn't that everywhere? In Barcelona I often see people jumping the turnstiles, or tailgating. People sometimes even get angry when I stop walking to prevent them from tailgating me. As if it's a right.
Meanwhile the staff just sit in their booth while twiddling their fingers.
Due to this laissez-faire attitude the whole subway system is infested with criminals. Pickpockets operate out in the open. One time I got pickpocketed I searched the bins and I found 10 discarded ID cards and driving licenses etc.
But I've never seen a subway system that wasn't like this. In Singapore perhaps with their $1000 littering fines.
I'll forgive it for being designed a long time ago, but as a tourist I found the MetroCard machines very frustrating because they insist on a 5-digit postal code when paying by card, but I have a 4-digit one. I tried left- and right-padding it, and entering all zeros, but it wouldn't let me pay. It reminded me of "falsehoods programmers believe about addresses".
Reminds me a bit of using a Canadian credit card in the US and occasionally being prompted to enter your zip code. Canadian postal codes are an alternating sequence of six letters and numbers (A1A 1A1). Turns out that in most cases, you can enter just the digits from your postal code in order then right pad with zeros. Perhaps not on MetroCard machines though!
I was just in SF (also from Canada), and I couldn't use their metro's Clipper card app to reload the card, because it assumed my card had a US billing address. (Not just a 5-digit zip-code box, but also a "state" selector with only options of US states, and no "country" selector.)
Weird that they even bothered to list the app for download in the Canadian app-store.
I remember back about a decade ago I went to Vancouver BC on the company's dime. Turns out the corporate card was set to "PIN priority" or whatever so you could not use it as a chip and signature card in Canada. Unfortunately US Bank sent my PIN to me at home the day I left for the trip. The metro had caught on fire the day before so I didn't actually have to deal with paying for transit.
Anyways, with the Clipper card if you're going to use the app just add it to your phone's wallet and use your phone to tap the card readers. Alternatively you should still be able to top your card up at any place that sells Clipper cards – but that may take a day or two to update. As annoying as that is, both BART and Muni made paying for a subway ride with cash as excruciating as possible. You were boned if you wanted to pay with a $20 bill. Or if you wanted to use a credit card to pay for a BART ticket at the some of the ticket machines at some of the poorer stations.
Reach out to Streetsblog or SFist if you want to bubble up the complaint.
It’s documented at some gas stations near the border, also common on some forums. If padding with 00 doesn’t work, try 01, 02, etc. If filling in an online order form, it’s best to write in as much of your real address as possible, but zip code validation often means the city and state has to match the fake zip code. (This can have sales tax implications.) To avoid this, you can sometimes add US addresses to your credit cards as an alternate address, though I pretty much never do this.
Unlike some Visa cards, MasterCard is apparently a global network with very little difference crossing borders. So this trick works outside the US too. Generally the address is checked by humans at some step, and an address “close enough” (at least the street address and name needs to match), then the transaction is often allowed through. If it doesn’t go through, tell your credit card company you often make purchases online from country X and your card will usually be flagged to allow it in future.
Same thing here, was told this by my bank when issued a US funds card.
A hint ; the padding doesn't have to be zeros (for my bank, when it approves during checks). So for example if you are doing 12300, this may not be a valid zip code.
In my case, my 12300 wasn't valid. I clued into this, because the code worked in most places where it should, but not a few others. I then looked up some codes, and realised that 12300 wasn't a real zip code.
So I Googled, and tried 123xx, where xx matches a real, valid zip code.
This gets by some checks, which table-lookup against valid zip codes, before sending a request to validate the zip remotely.
Even better, I then found an address for a condemned building on that same zip code. When required, I used that address as the 'bill to' address, and even that works sometimes. Very helpful when snowbirding, and spending 4+ months in the US.
As a former NYC resident who primarily walked & took the subway, I have no fondness for the MetroCard machines. Using the machines to refill my balance was a clunky (or at best adequate) experience.
Seems like the author is nostalgic since the machines are being replaced.
When I visited New York (a long time ago), I recall there being an official fallback code (I think 99999). Surely not the most intuitive design, though.
I don't remember the vending machines, but I do remember the frustration from having to make several attempts at swiping that thin magnetic stripe card at the turnstile at just the right speed.
Try living in Britain which uses alphanumerical postal codes. Confuses the hell out of everybody in the US.
(It does have the curious upside that your postal code + street number is almost always a unique identifier, so most forms start by asking for those and then autocomplete the rest.)
The UK's Post Codes are more than just alphanumeric, they're deliberately designed to make confusables reudndant. So e.g. if SO1 5LI existed, a dedicated postal OCR (or an experienced postal worker) knows that's SO1 5LI it can't be 50I SL1 or whatever such confusions never exist.
Historically they were directly functional, the first part (it doesn't matter to a machine how the code is written, but they notionally have an "Out" section first and an "In" section) SO1 told sorters which local postal sorting office to send this to, SO1 would be in Southampton, a port city on the south coast because the first two letters are somewhat mnemonic.
But today actually a machine translates post codes into numeric codes that aren't used by the general public (although they are published, and you can mechanically annotate bulk mail with the newer numeric codes for a discount). This is fortunate because once the codes were broadly accepted and used, they became a matter of vanity, like other aspects of addressing in the UK (and presumably other countries)
For example, I grew up in Prestwood, an unimportant dormitory village (ie most of the adult population work in London, and just come back to Prestwood to sleep) in Metroland. But the nicest houses in Prestwood didn't consider themselves to be "in Prestwood" at all, they'd argue that since they're on a hillside near the more notable and expensive town of Great Missenden, they're actually living in Great Missenden. And they'd insist their post codes should match this er, Truth.
So making the post codes merely a human artefact, and the real coding is numbers humans are normally unaware of, allows a house that is clearly in Prestwood to instead have an address in Great Missenden, complete with Post Code, yet the sorting people can give it to a guy whose job is to deliver to Prestwood, because that's where it actually is.
(One downside to the sort of people who live in a dormitory village, beyond the fact that they aren't really around most of the time and so don't care about lack of amenities, is that they see themselves as important and powerful and so they might waste a lot of taxpayer money demanding that some minor bureaucrat "fix" their address and it's just easier to say OK than fight them. There are upsides though, they have plenty of cash, so you get pretty good loot on Halloween and decent donations to charities)
Anyway, back to the HN relevant point, there are commercial products which can go from a post code to a list of "delivery points" (addresses, but the postal delivery people only really care about where the post is delivered to, so from their point of view that's what we're encoding) and that can be turned into a drop-down, or it can be auto-completed from the house number if that works, or whatever you customise. This is a place where you can do a poor job, produce a working product but maybe cut your purchase completion rate slightly, because your address entry is annoying and customers walk away. Or you can do a really slick job, but miss one edge edge case and find oops, buying your product from one town in Yorkshire was virtually impossible due to a bug (there's usually a manual entry option, but obviously normal users hate that and won't bother)
Zip codes in the US sometimes have a vanity element as well. Most famously would be 90210, the Beverly Hills zip code, but a bit to the West, the part of Santa Monica with the zip code 90402 is recognized as the fanciest part of the city (I actually lived in 90402 for a few years but in a surprisingly inexpensive apartment building and not one of the multi-million dollar mansions that I regularly passed by on my commute to work).
> Most famously would be 90210, the Beverly Hills zip code
Which also helps a lot when some stupid form insist what I need to enter an American ZIP code... though I typing in an address in a completely another part of the world.
I always use 90210 on sites demanding a "ZIP Code" because they indeed seem to notice if you just make one up like 12345. And it's the only real US postcode I know :P
It never seems to cause credit card validation issues though. I guess my bank just ignores that field.
Well I have good news for you: the next time you’re feeling that ineffable fondness for upstate New York at a point of sale machine, remember that 12345 is a real zip code from Schenectady.
Can't the cards be loaded with cash? Every metro system I've seen (DC, Montreal, London), there was somewhere a kiosk where you could feed in notes to buy services.
The metrocard machines are interesting not just because they are easier to use then any other subway kiosk I’ve encountered but that they are unhackable. People have been trying to beat them since they were first installed and the closest anyone ever got, that I am aware of, is if you crease the card in just the right way so that the turnstile can detect the magnetic signal but bit read it entirely, it will let you through after swiping four times. Though supposedly the MTA cops know this trick and look for people with creased cards - in minority neighborhoods anyway. The cards themselves seem to have no stored value but instead point to a record in a central database.
I had not heard this part - the article implies that the systems that connect the turnstiles to the mainframes run OS/2. Pretty neat. The machines that are the topic of the article (the MetroCard machines themselves) still run Windows NT 4.
There’s a guy that reverse engineered them but he would only describe the broad strokes. Part of the system works with the value stored on the card so there is a way to get free rides but it’s not easy to figure out.
I am a not I frequent visitor to NYC (i lived in white plains for a while)..
The kiosks always seemed to work fine. So well I hardly noticed them.
The cards, I had some trouble with. I felt I wasn’t doing it right till the “New Yorkers vs the MetroCard” video came out. A short masterpiece of actual New Yorkers at the turnstiles..
Machines are so well designed, yet other cities refuse to copy them. Septa in philadelphia finally switched to smart cards a few years ago, but the card machines are not nearly as responsive or easy to use as metro card machines. All they had to do is buy the same machines and change the label, but no.
In particular, metro card touch screens actually respond when you touch them. Quickly, accurately, reliably. The septa machines, despite being many years newer, consistently miss touches and take several seconds to process each input.
In Berlin there was no gates. You just walk to the train. You were suppose to buy the ticket and show it if they ask for it. Even that is unnecessary in the US. The best payment system for public transportation is no payment. In the US it doesn't cover much of the fare anyways but has so much overhead for the MTA. People who try to dodge the fare are actually poor and the most deserving of not paying anyways.
Germany does not play around with fare evaders. The checkers will enter the train and check your validated ticket. If you do not pay they will fine you on the spot and if you do not pay you do risk going to jail.
Transit is expensive, claiming people have a right to free transit is just idiotic on so many levels.
Without taking a side here, remember that education and police protection are also expensive. Few would agree to the phrase, “Education is expensive, so claiming so many children have a right to free education is idiotic on so many levels.”
Transit is very expensive and the cost / benefit needs to be decided by the public. Governments also need a plan to pay for it. But I would not say it is idiotic just because it is expensive.
The difference is that education and policing are not on-demand services, at least not in the way transit is.
I can ride the bus as many times as I like, and that creates costs for the system. There's no direct relationship between user whim and system costs for the other two services.
I see your point and agree that every bus ride is an additional cost. Keep in mind th at roads are also on-demand and generally not priced per-use. People generally pay the same for roads whether they drive a huge SUV every day that puts more stress on the road or have a small car they drive on weekends. Roads cost the same whether you use 1km to get home from work or need to travel 20km.
Roads are in fact overused and traffic is a nightmare in many cities because they are free. You could easily create a pay-per-use model for roads that charges based on usage. Instead roads are just seen as a public good used by everyone.
There's no reason why society could not treat public transportation the same way. I'm not necessarily saying it should be free. Countries with the best public transportation tend to charge something, but the goal isn't to cover the cost because transportation is seen as a public good.
Here we tax gas to cover the cost of the roadway. We are collecting more revenue from SUVs than a light compact. Electrics turn that somewhat on it's head, though.
> Transit is expensive, claiming people have a right to free transit is just idiotic on so many levels.
It doesn't matter how expensive transit is, if the total costs of fare collection & enforcement is greater than what they collect they're better off making it free and potentially making up the small shortfall with extra taxes.
Considering a lot of these systems will be built by large consultancies specialized in milking out government contracts while delivering shoddy work, I wouldn't be surprised if fare collection was actually way more expensive that it needs to be.
This is how select bus service buses are supposed to work in NYC. You buy a ticket before getting on the bus, and fare checkers randomly get on (haven’t seen on since I’ve started riding again this year, but its maybe a few times a month). If you don’t have a ticket the fare checkers round the evaders up and give them tickets. In the before times people would ask for your ticket as you got off.
> Transit is expensive, claiming people have a right to free transit is just idiotic on so many levels.
I think it will really help reduce car use if transport were free. People would use it more, obviously but that would lead to more services being available. Win-win especially for the environment IMO.
Of course what I'm arguing for is making transport free officially, not fare evasion.
I can't remember which video if it was Half as Interesting or City nerd.
However, people tend to use transit if it is reliable, trust worthy, and available. Even with a reduced cost, if you have a bad network already.. it's just going to make it worse and then piss off the tax payers.
System collapse with public transit is a sad thing to see.
Germany does not play around with fare evaders. The checkers will enter the train and check your validated ticket. If you do not pay they will fine you on the spot
Houston, Texas is like that. I got checked four times in three days.
I saw non-paying people get fined on the spot. From what I could hear, it was $75.
The "Select Busses" in NYC work like this. They're express, medium distance, bus lines that take a separate ticket than the standard MTA busses. To keep them express, they don't scan your ticket on entry. But every 1/10 busses has an MTA officer who inspects for tickets.
I think the government does subsidize the fare quite a bit. $2.75 will get you from any station in the 5 Burroughs to any other station. I don't know another metro transit system as cheap.
€1,15 gets you from any station in the Barcelona metro area to any other, using any mode of public transport and even a combination thereof. Metro, bus, tram, even trains. You have 1h15m to complete the trip. It's a really great deal IMO.
But of course the cost of living is much lower here so it's comparable you that $2.75 in NYC.
This is how it used to (and in many places still does) work all over Europe, but I imagine fare gates are much cheaper than controllers.
The German-speaking countries seem to be a (pretty big) exception to this rule; I wonder if there’s some cultural resistance against electronic ticketing? After all, Germany is also still very cash-oriented (at least before the pandemic).
Yeah it's called proof-of-payment and it's starting to become more common in the US. In San Francisco all of Muni is POP, it speeds up boarding dramatically. As for electronic ticketing, dunno how much it's caught on in Germany but BVG in Berlin has a mobile app that you can buy tickets with. Worked well enough for me.
> I imagine fare gates are much cheaper than controllers.
German living in Switzerland here: What's even more expensive is delays. It's unthinkable to me how to build a high throughput station with ticket gates. And that's not even considering the need for additional fire egresses etc. involved.
Switzerland is a bit more paper-averse than Germany. 80% of people on the train hold up a QR code on their phone for the employee to scan once aboard, 10% hold up their (credit card sized) travel card for them to RFID scan, and the remaining 10% have a paper ticket.
What nonsense. I was in Berlin last month, the ticket buying experience is abysmal. The machines don’t work. Sometime (don’t know when) you can only buy tickets on the train since they don’t have ticket machines at every station. When you do try to use the machines it’s some ridiculous combination of zones and unspellable names you have to type out to get your ticket that isn’t intuitive at all.
In NYC, buy ticket on machine -> works for one trip wherever you’re going in the city. Outside the city? Just talk to the person at the ticket window and they tell you what to get.
The 9 Euro ticket was super easy to buy for me. I bought it in the airport. Not sure why it was so hard for you. I don't speak a single word of German either.
Isn’t that like a limited time thing? Try starting at a random station and navigating from there. I was at seegersfeld trying to get into Berlin and it was ridiculous. Also getting back there at the end of the night. It also had nothing to do with speaking german, everyone I spoke to in Germany seemed to somehow know English.
You are correct, it was limited thing from july to august this summer.
unfortunately it's over now.
it had a lot of benefits, making public transport really easy for everyone was just one.
it also saved a ton of co2 and enabled a lot of people to travel around the country, who werent able otherwise.
German here: The 9 Euro ticket is a brilliant innovation compared to what came before and is now coming back after it: Extremely complicated fare zone issues.
I'm not trying to be rude, just trying to clarify: Saying that the 9 Euro ticket is easy to buy is like saying a 20 hour flight is comfortable, because you flew Emirates First Class.
In the spring, at a station within Berlin's public transport zone, I found that pressing the British flag for English removed the local transport options (zone A+B, zone A+B+C etc) from the screen. It left me only with the option to buy a point-to-point train ticket.
It was simple without changing the interface to English.
in order to reverse the incentives that brought us the current system design, the net of road-taxes/tolls vs public-transit-fares should be re-balanced until transit is free and driving has incremental costs, as opposed to the current effective inverse.
Do what Japan does, the railways are private real estate companies that run giant shopping/apartment/office complexes on top of the stations. They’re super rich. They’re regulated so they have to provide service to unprofitable areas and use standardized infrastructure. It is glorious.
They are also the single least efficient transit organizations on the planet, at least when it comes to new construction where apple to apple comparisons are easier to make.
They get billions of the federal and state governments - I’ve always wondered why the federal government pours so much money into a transit system that such a small percentage of the country uses.
The alternative is pouring the money into more highway spending for those same people. (Yes, despite highways being state-run infrastructure projects, the federal government mostly pays for them — this is why they're able to enforce uniform standards for road design + signage + etc.)
The big reason why in this case the city of Berlin never added gates is a architectural reason. At least that’s what they claimed. Most U-Bahn stations don’t have a mid platform layer. They run directly under the road. You can’t create a universal system. If this argument is bullshit I’m not sure but it is what it is. But to the walking in part. You are only allowed on the platform with a valid ticket. Controllers can check for tickets outside of the trains but nobody normally does anyways.
To the free public transportation part. Germany has a surge in this topic with the short introduction of the 9€ ticket. A ticket that costs 9€ a month and allows German wide travel (limited to specific trains). The politicians hit a political honeypot with this idea. A lot of Germans want the continuation of this ticket even though it is questionable that it actually pays out.
I was visiting Hamburg ~30 years ago - spoke no German. Bought a ticket from a machine and boarded the train. A couple of stops later some heavily armed police were checking tickets on the train and I found out the hard way that I had purchased a 2nd class ticket but I was sitting in 1st class. Luckily once they saw my US passport they forgave my ignorance and ushered me along without a citation (or something worse).
The version of the honor system where somebody asks to see your ticket once every 10-20 rides. When I lived in Portland, I was never brave enough to get on without a ticket, because I didn't want to have to pay a way bigger ticket.
That system is an outlier to the total control and surveillance that is the modern expectation/demand.
The San Diego checks were so cursory as to be a formality - I never did but I’m sure you could have rode for decades on a single ticket because the coo never got close enough to see times and dates.
Now it’s all cards and stuff so I’m not sure how they police it.
If you know what to look for you can always spot the controllers, so they are easy to avoid. not easy for foereigners of course, but honestly as tourist most public transport anywhere is confusing if you're not used to it.
I found the controllers easy to spot as a foreigner; they look like hardened police officers who will not take your shit if you don't have a ticket.
That's my experience, at least.
When I was young and poor I "saved money" by buying the ticket in the morning, and only stamping it on the way back in the evening. I gambled successfully that if you get caught in the morning then you are the foreigner who does have a ticket (time of purchase is on the ticket) but "was not aware" that you had to stamp it.
Yea that is mostly right IMO. Sometimes (rarely) they will be "undercover" and wear plainclothes - you can usually spot them on the oversized handbags they carry where they store their scanning devices. Some are really good, very hard to spot them. But they always come in groups of 2+ and will enter at different doors and make eye contact with each other before they start controlling.
And yea the "clueless tourist" approach works almost always.
That happened a lot. Even worse, you'd buy a metro card, lose it, and find it only after it's expired. Why they would expire I don't know. Once it's expired it no longer works. You could mail it back to them and ask for a refund, but seeing as you aren't sure how much money was on the card, most people just ate the loss.
I for one, am not sad to see this whole thing go away.
I have a (not directly) related hypothesis I heard stated once about vouchers and bonus programs once.
If the operator takes your $20 to buy a metro card, they made $20 of income. The $20 of "value" the card now holds is accounted for.
Assuming a metro card never expires would means that the operator would have to account for this value to be in existence for perpetuity.
If 1% of metro cards never expired but still had 20$ on them, there would be an ever-growing amount of money-to-be-accounted-for which (I've been told) is a bit of a nightmare since it's technically a liquidity, but obviously unavailable to the company.
It's obviously shitty for the customer, but there's seemingly some sort of (tax/business) logic behind it.
It would be available with some risk management. If you prepay something (meal tickets, gift cards, etc.) that becomes a current liability to the company. On use or expiration, income is credited and the liability is debited.
The company can spend the cash as they see fit but if the item is refundable or use of the item incurs costs, they need some cash on hand to handle people digging up old cards and using/refunding them.
> The company can spend the cash as they see fit but if the item is refundable or use of the item incurs costs, they need some cash on hand to handle people digging up old cards and using/refunding them.
Right, and if you're heavily investing, you would want to minimize the necessary cash on hand.
I remember hearing that's why a supermarket had a scheme recently where they would redeem (virtual) bonus points for a rebate directly applicable to your purchase (as opposed to accumulating until some arbitrary limit before that would happen) - simply so the company could figure out what percentage of people would take that chance to redeem the points.
In the US, discounts applied to taxable items reduce the sales tax. If you're given a credit instead, it's applied after the sales tax. If a store gives you $5 non-refundable credit, they end up paying some sales tax for you. If they give you a $5 coupon, then the whole amount can be applied to a subtotal before tax.
However, the coupon has no accounting value beyond its $0.0001 face value.
I'm sure there are even more oddities and complications a tax accountant can mention that I'm not even aware of.
As someone who traveled to NY for work just-often-enough for my MetroCards to be constantly expiring, this felt like an intentional grift to fleece visitors.
Really? In my memory the cards last for 2 years. I've got one I got last year that will work until 2023. That seems like a fairly reasonable amount of time for a paper card to last for. I don't live there, but I regularly get 2-3 uses out of my $1 metro card before it expires.
If you're in from out of town, why are you leaving a ton of money on your card and/or not buying the $33 unlimited pass for 7 days that essentially pays for itself if you take a single trip each day? There's no minimum value you have to put on it either, so you can just put $5 on before every round trip or such and worst case you're out $2.50 if it expires before you use the return trip if you're trying to be that cautious.
I've got my issues with the MTA, but it seems far from an intentional grift.
If it's expired for less than one year, you can transfer the balance using a Metrocard machine or by asking any station agent. If it's less than two years expired, you can ask a station agent for an envelope so you don't pay anything and they'll mail you a new card with the balance. Have done this a few times with old cards– they'll even combine the balances onto one if you ask.
One of the most interesting/unique user interfaces for a train ticket machine I have used in a long time are ones you still occasionally see in French train stations [1].
Rather than a touch screen or buttons, you use a wheel much like the original ipod. To select an item you rotate the wheel, and then to confirm that selection you press the center button.
After a few times using it, I actually came to love its simplicity, you could scrub through train stations incredibly quickly, and with just those buttons (and a cancel button) you could complete the whole process of buying a ticket in less than 30 seconds.
In Paris, they had machines with a large vertical bar that you could roll to make a selection[1]. I found them much more comfortable to use than the newer(?) machines with a touch screen.
My friend's phone died while we were out in NYC, during one of the times with partial Covid restrictions. It was funny at first but then it stopped being funny because we really couldn't do a single thing together!
Charge phone at a Starbucks? Can't enter, his vaccination card was on his phone!
Slightly better now, but this is really an over reliance and the ubuiquity of having a phone. I get they are doing some sort of fallback with the OMNY machines, but I know how these contracts are cut.
I'm not sure the "reliance" on having the phone was as much on businesses as on your friend though. Every time I've been in NYC in the last 2 years, I've made 2-3 paper copies of my vaccination card for exactly the reason, and have been rewarded a few times when places wouldn't accept a photo of a card, and only a physical paper one.
Obviously it sucked for you and your friend to have to deal with that, but it seems wrong to blame the city and its systems for it. If anything, NYC had plenty of room for you to have a non-phone fallback that you just didn't have.
Compared to SF especially, NYC is, if anything, one of the more analog big cities in the US. There's tons of cash-only stores and restaurants, and they're seemingly the last city in the US to now be moving away from mag-stripe for their public transit.
Yea, using a contactless debit/credit card seems like the way to go anyway. Much less annoying than mashing your expensive phone on the panel until it works. Even my basic local credit union has contactless cards these days.
Check out this thread on Twitter with more info:
https://twitter.com/Chronotope/status/1565734877957394434
Highlights:
Twitter thread has much more specific details.