Oooh, now do Orca cards next. Seattle is one of the tech capitals of the United States, and on top of the metro system just being not great, it's also technically inferior to nearly every single other major city that I've used public transit. Pick any European city, CDMX, Denver. They're all light years ahead of Seattle. Denver might have been my favorite.
Fun fact, one of the orgs that runs Orca actually wrote a blog post mentioning they were adding NFC support to their Android app (with some absurdly long timeline). That post is no longer to be found, and of course, years later, that functionality is absent.
My local transit system just added tap-to-pay that works with any credit card (or Apple/Google Pay etc.). As long as you use the same card it handles transfers, multi-day passes, etc. seamlessly as well—it will automatically ensure you're getting the correct rate (e.g. no charge for passes or rides after a certain number within a certain period).
Yep this was how it was in New York City. I was there a few months ago and remember the subway being free or reduced after 10 trips per week - tracked by the credit card number used.
My only gripe with this mode (with Opal in Sydney) is that you don’t get the trip fare displayed on the gate when you pay with a payment card. I imagine this is a technical limitation (Opal stores trip detais on-card, which it can’t do with a payment card), and is a low priority anyway (as you don’t need to know when to top up a payment card) but would be nice to have.
My city's transit system has this. It's convenient for if you're traveling alone, but traveling with kids now requires more logistics and planning than it used to. Their former electronic pass system was just an app that allowed you to activate any number of adult and child fares all on the same device. Now I have to carry separate physical cards for the kids.
This system really sucks because you can't just slide your wallet over the reader. It'll pick up your cc before your transit pass.
The move to do tap based transit with cc s is pretty stupid as that cc s get replace far more frequently than transit cards. The only person this really benefits is new users to the system that haven't figured out how to get a transit card yet.
> The only person this really benefits is new users to the system that haven't figured out how to get a transit card yet.
Nah. The end game here (as seen in NYC and London) is just getting rid of the transit card entirely. Which is a very positive thing, it’s an unnecessary extra layer of administration to keep track of the balance, top them up, etc etc.
Certainly as a New Yorker I’m very glad to be rid of my Metrocard. (though the new system costs $4 extra per month for unlimited travel which is BS and should be fixed)
> Which is a very positive thing, it’s an unnecessary extra layer of administration to keep track of the balance, top them up, etc etc.
While true, the negative side of this is that you lose your anonymity.
It allows you be tracked via your card, and if you look at this with an dystopian viewpoint could enable you to become targeted by specific advertising based on your purchases while riding the escalators for example.
Rather than a transit card which isn't associated to any name. At least not on the London Underground
Curious, who are you worried about anonymity from?
If you buy a transit card with a credit card already (how most people do), there goes your anonymity from the transit system.
You can reduce tracking by credit card companies (with is the group I think would be doing a lot of analysis of spending, including when and where you travel (they get when, since it posts immediately, but they might not get where, if the transit billing all originates the same). That reduction in tracking is probably valuable.
I would think facial recognition cameras in transit systems will become commonplace, if they aren’t already. New York is already using other “AI” for fare evasion (saying they don’t currently use facial recognition). Then anonymity is completely out the door.
> It allows you be tracked via your card, and if you look at this with an dystopian viewpoint could enable you to become targeted by specific advertising based on your purchases while riding the escalators for example
Transport for London already do much deeper tracking than that based on WiFi. They know how many people use the stairs vs the escalator, which areas of the station become congested fastest during peak. It's helped them redesign stations for the better. I'm fine with that, I can opt out by turning WiFi off.
TFL is run by the Mayor, so if dystopian microlocation-based advertising was even proposed I would expect it to end very badly for him in a political sense.
> as that cc s get replace far more frequently than transit cards. The only person this really benefits is new users to the system that haven't figured out how to get a transit card yet.
I respectfully disagree. I’ve lost more transit cards than credit cards. And since the tap-to-pay on credit card also works with Apple Pay and Apple has the ability to choose which card to apply transit charges to, it gets the same one every time.
I have found the new system to be preferred. Plus, if every system implemented this, it makes it easier to travel and not worry about loading up a transit card that then loses its value (I have a few in my drawers from cities I’ve visited once).
How have you lost so many transit cards? I current have 4 iterations of transit cards for the CTA. I also still have many transit cards from my visits in different countries.
1. I said I lost more transit cards than credit cards. I’ve “lost” exactly one credit card so far. And I didn’t even
lose it, I left it at a restaurant and when I realized it, it was a few hours later so I just got it replaced.
2. A transit card is something you use while in motion and frequently while in a hurry. When using it multiple times per day while commuting, there is significantly more opportunities than when I use my credit card. Compared to a credit card where the transaction is slower and usually not rushed.
3. Transit cards for many cities (e.g. NYC when I lived there) are designed to be mostly disposable, so they are flimsy. Compared to a thick, rigid credit card.
I also still have dozens of transit cards from different places I’ve visited. But for my home city, I lost it a few times.
> The only person this really benefits is new users to the system that haven't figured out how to get a transit card yet.
In many transit systems, that's millions of people per year: Tourists, occasional riders that would just forget the pass at home if they're not using it regularly etc.
> This system really sucks because you can't just slide your wallet over the reader. It'll pick up your cc before your transit pass.
There's theoretically ways to preferentially pick a given type of card, but it's quite hard and unreliable to implement, so I guess that rather than promising something they can't reliably deliver (and slowing things down in the process), transit systems just pick the first card.
It is slightly inconvenient for transit-pass-only users, but I do also see the huge benefits for the transit system and its users in aggregate.
The digitization we've seen over the past couple of decades has mostly greatly improved the experience for regular users over tokens etc. It's also mostly between a pain and terrible for the occasional user like tourists. The systems are all different with often confusing menus of options, they may not even read the default language well, etc. Tapping a CC and javing the right thing happen is so much better.
It also more deeply tracks each individuals movement through the system to a higher level of fidelity than a disposable metro card that was paid with cash.
Transit authorities are really being hammered with lower ridership right now. Now's the time to get rid of all the friction that prevents usage, like requiring bespoke payment solutions that need prior preparation.
Well if they looked into why they're at low ridership.. they'd probably see that they're doing a poor job. (In the states)
I can't speak towards other systems but the CTA in chicago is having issues with:
1. Actually keeping a schedule [we've been lied to about wtih them adhering to their frequency schedule they advertisesd]
2. Safety in the trains [people are using the trains to smoke, drink, deface, start fights, and live there]
3. Being reliable. There are times where they just won't run for 20-40 minutes. That makes it hard to want to use it. But they're claiming "oh we don't have enough bus/train drivers" .. yet they haven't been doing anything about it and let people go during the lockdowns.
The ease of payment isn't really a big deal with people who live and depend on these the most. (They're the 80%+ of the ridership)
Or we should be funding transit 100% from taxes because it's infrastructure that everyone benefits from (even drivers, because more transit, less other cars on the road).
You know what would prevent all friction? Making it free and properly funding it from public funding. It's literally one of those things where it doesn't matter who uses it because everyone benefits (if a rich guy gets on it for free, that's still good even though they "could have afforded it").
For a city you don't visit often--especially if you're going to a bunch of cities on the trip--dealing with transit apps/cards/etc. that are specific to the city is a royal pain. I'm fine if it's a city I visit regularly--I have an Oyster card for London that I've had for a number of years. In general, though, I'd rather default to using a credit card.
You can safely return that oyster card and get your deposit back now :D
I live in London and recently passed a convenience store whose signage advertised the usual stuff: "Fresh veg. Off licence. European specialty foods. Oyster". I was genuinely confused for a second that such a place would carry such short shelf life seafood...
Pre-pay card are gone here. The only people I know now who have an Oyster branded card are those who get discount or free travel.
In Japan at least, IC cards seem to be accepted at most cities in the country. Eg you can get a suica card (on your phone) and use it in Tokyo, Kyoto, and Osaka. Not to mention at 7-11 and most vending machines.
Do note that if you want to use Suica/PASMO (or any other FeliCa based card) on an Android Phone, the phone must have been destined for Japan in the first place. The hardware is generally disabled for any non-JP SKU due to licensing fees.
The keywords one should be looking for is Osaifu-Ketai.
iPhones are the exception, and just takes some finnicking with the settings.
You used to have to use a Japanese iPhone to use a suica card in your Apple wallet, but that restriction was eliminated a few months before my trip. You should check latest restrictions and non restrictions, because it seems to change over time.
The point of the system is that you don't need the transit card anymore, because you're automatically getting the best daily rate by just using the same credit card each time. If you use a monthly or yearly pass presumably you would have to buy that separately in the first place.
Why does it matter if your credit card gets picked up before your transit card? If there's a discount or pass on the transit card, seems like the agency should let you attach it to your credit cards instead of requiring you to get a separate card.
Buying a month pass is a tax benefited account for commuting. [At many work places]. On top of that you have different pricing and you aren't paying full price at tap.
The CC being picked up means you're paying the full fare immediently even if you have the pass on the other card.
I wonder how much it costs to maintain a system to collect fares compared the small portion of funding most transit systems would lose from going fare free.
The other thing about going fare-free-- which people don't like to discuss but it is a real effect which has been measured-- is that it causes much more anti-social behavior on the bus, which decreases ridership among people who have only a slight preference for transit versus just driving their car. This not only makes traffic worse (which kinda defeats the whole purpose), it also tanks political support for transit, since fewer voters are using it and then they see no point in supporting it.
Analemma_'s comment made it sound like some broad and well-studied thing. All I've seen is mention of a single city. This is not remotely enough to support the claim.
My claim was based on skimming an article that said fares ranged from about 10 to 50% of funding and I speculated that most probably tended toward 10% since most are small, and small ones depend on federal funding, special purpose taxes (Georgia has a lot of SPLOST[0] projects), and partnerships.
Smaller systems suffer from low ridership and might see more benefit from dropping fares. A full bus and an empty bus cost about as much to run, but a system of full buses is easier to bolster and improve because more people will support it.
And I don't see why this would be connected to behavior on buses and trains. Where is this research? At least for Seattle since everyone wants to focus on it for some reason. News articles for a single city are not research.
I'm just stating that was the reason given by Metro and was the public perception at the time. I was among the public affected by it, and my anecdotal experience is that problems on the routes starting in Seattle and ending in the suburbs were fewer after the free fare zone was eliminated. It certainly doesn't consitute reasarch.
I seemed to remember reading something similar about Austin's buses when they went fare-free in the 80s. I found this linked in the Austin CapMetro wiki page: http://www.nctr.usf.edu/pdf/473-132.pdf
This reminds me of MetaFilter, where a one-time $5 payment is required to post. Just this small speedbump seems to do a pretty good job of keeping opportunistic trolls and vandals off the site. "Free" is too often an invitation to abuse.
I first heard of it from the transit union here in Seattle when they axed the downtown free bus zone like 10 years ago. There was some vague mention of the bus drivers in ... somewhere in Texas... like 30 years before that.
Beyond that I haven't heard much of it because as I understand it, there isn't much free transit anywhere big.
May I introduce you to the country of Luxembourg that offers free public transport - admittedly one of the smallest nations in Europe in area (2,586.4 km2 (998.6 sq mi)) and population (660,809), but bigger than many cities.
New York MTA has a farebox recovery of about 40-50% in any given year, and few people or organizations could stomach a pay cut of half without serious damage.
It would represent 10% of the budget of the entire state. New York City has the highest taxes in the country already, and a ten percent hike would almost certainly have to hurt regular citizens as well.
It comes from general taxes. But thats the same with nearly all transportation infrastructure, people without cars are paying general funds taxes for roads, since gas taxes do not cover all road funding.
It’s worth noting that the MTA is necessary for car drivers as well. Whenever it gets knocked out due to a hurricane and travelers switch to driving, there is gridlock across the entire region and travel comes to a screeching halt.
Related: isn't there a way to "clone" an NFC card using (rooted) Android?
I have been looking into how feasible it could be doing so on iOS since my office door opens via an NFC card, but iirc Apple has a tighter grip on the NFC hardware than with general PassKit, meaning that a regular app can't do that.
Kinda. NFC is a broad spectrum of protocols. For example the old blue Orca cards are MiFare DESFire cards which actually store the card’s value in the card’s internal chip- this type (while having some flaws) cannot easily be copied onto a phone.
A simple NFC tag with binary data is trivial to copy though.
Only very old systems, or those where the cost of the tag has to be as low as possible (e.g. for single-ride throwaway paper tickets), use unauthenticated bearer tokens.
Access control systems these days usually do not, for obvious reasons.
This, really this. Since Washington state doesn’t have an E driver license yet (like say Utah), I carry around three cards in my iPhone (orca, DL, a backup credit card just in case NFC isn’t supported). I dream of the day when orca actually supports a phone based IC card, and a phone based DL is accepted as well.
The reason they replaced all the Orca card terminals last year (and issued a new generation of cards) was, in part, to support NFC through the wallet apps. It's been a multi-year migration.
Yeah, it's weird how in Seattle the Orca card is still barely reaching the convenience and utility that the Octopus card had in Hong Kong over 20 years ago.
Then again, it's not being carried along by a large subway system under incredible urban density.
For the Android users around who hate Google Wallet because it, like Apple's Passbook, doesn't allow you to just put in any old barcode, there is a delightful app on F-Droid (not on the Google Play Store, unfortunately) called Loyalty Card Keychain ( https://f-droid.org/en/packages/protect.card_locker/ ).
This app allows you to simply enter a number (or scan an existing barcode), choose a barcode type (with lots of options, including Codabar!), and save it. Selecting the entry on the app's main screen shows the generated barcode and does the screen-brightening thing. Also the app opens super fast because presumably it doesn't do anything but, you know, displaying barcodes.
It has only one purpose but it may well be my most favourite app. I've even used it to transfer a barcode from some label in the supermarket to the self-checkout post, where for some reason the supermarket assumed that you use the hand-held self-scanning devices that I also don't like.
EDIT: it seems they want you to use Catima instead these days. Trying it briefly it's similarly simple, and seems to be based on the same codebase.
For Apple, I use Pass4Wallet to generate the ‘cards’- which I can then import into Apple Wallet. It’s inconvenient, but gets the job done and has a great privacy policy.
> for some reason, passes are cryptographically signed, and they have to be signed with a key known to one of Apple’s certificate authorities. Cryptographically signing these files makes some sense when you consider that passes were designed to get automatic updates from their vendors; for example, your boarding pass for a flight reflecting gate changes or changing your seat assignment.
How does this make sense? There’s a perfectly well supported system for doing this: HTTPS.
Maybe Apple wants passes to be verifiable by the phone offline instead of just when updated? This still seems silly — a malicious actor could replace a pass instead of updating it.
Having the initial pass specify the public key that it accepts for updates would be sufficient. Having an association with an Apple developer account doesn't help for the updates problem at all AFAICT.
The only reason I came up with for the blessed-by-Apple requirement I came up with is selling fake tickets. There is no way to tell (with or without that requirement) whether a pkpass file with a "ticket to concert X" is actually legit. So, one can try to combat the (potential?) problem by responding to complaints of fraud by revoking the corresponding developer's account. However, that doesn't seem like a solution either: developer account are probably way cheaper than how much you can gain on fraud before you get caught in that way.
Yeah, I also found the justifications for Apple requiring passes to be signed pretty vague. Locking things down is just the default for Apple; it's usually only in later iterations that they open up integrations to the broader ecosystem.
On the face of it, it's really weird to require passes to be signed: I can always just store a PNG or PDF showing the same bar code in my photo library or files app and present that. Imagine iOS only displaying signed PDFs!
Gosh. I just emailed myself a .png of the barcode containing my library card number and open it in, like, the Photos or Gmail app when I'm at the kiosk.
Wallet passes allow you to define locations and timespans where the pass is "relevant". I've used the app MakePass to create a pass with my StarBucks membership code and when I'm nearing my usual shops, my phone will automatically suggest the StarBucks pass on the lock screen.
Same with event tickets. I define a location and timespan and when I arrive at that location, my phone will suggest the pass automatically without me having to look for it. Also, after the event, it won't suggest it anymore and move the pass to the "Expired Passes" section to not clutter the main view.
Yes, that kind of ruined the entire article for me. "I have this great scientific theory about oxygen loss during running. I will admit, I have not actually started jogging yet, but ... "
In the era before smartphones, barcode readers were highly tuned devices that emitted a specific frequency of light and the sensor was tuned for exactly that. Cellphone screens generally don't emit that frequency of red, and I guess absorb rather than reflect light sent to it, making the screen opaque.
So even if you, the human, can read it doesnt mean the device that authorizes you can.
Definitely, but what I mean is that that's not a failure mode specific to Apple passes. If a screenshot a barcode works, so should the pass, and vice versa.
The point of the article is to show how it's possible to create an Apple pass from a custom barcode.
Whether that barcode can then actually be read by a specific reader from a phone or not is arguably a different concern: Some readers support it; others don't. Obviously a passbook version of a paper barcode is useless for the latter.
Personally, I found the post valuable regardless of whether the barcode would actually end up working at the author's library or not; I have a few scenarios myself where I know screen-presented codes are accepted.
Those cheap laser "1D" bar code scanners cannot read off a screen (except maybe eInk). It sucks because the supermarkets I frequent have their loyalty cards based off barcodes. Fortunately, barcode readers emulate keyboards so you can just type the code on a keyboard.
As far as I understand, that's because older systems don't use a digital image sensor to scan these, but rather a rotating laser beam and a simple photo diode registering the variations in brightness caused by varying reflections of the laser beam by the white and black parts of the barcode.
A camera-based scanner doesn't care where the illumination of the barcode is coming from (i.e. ambient light, its own LED illuminating a piece of paper, or an active backlit screen); that laser-based system is purely based on its own reflected light, though, and won't work with actively backlit screens at all. (I wonder if it works with e-ink or passive LCD displays!)
I am consistently impressed by how quickly and easily Costco's handheld scanners (seemingly straightforward red line 2D type) can read my membership barcode that is printed really narrow and tiny on my membership card. I guess hardware matters!
> Our local libraries, The Seattle Public Library and the King County Library System, issue pieces of plastic with barcodes printed on the back assigned to your borrower account.
I just memorized my account number for KCLS. It should take maybe 30 seconds to commit it to memory—though your mileage may vary, I have to believe it's faster than this. After that, you just type in the account number instead of scanning the bar code, and probably do it in less time than it takes to get your phone ready. I don't know if SPL works the same way, as I'm not in Seattle.
This is a really great write up, very clear and easy to follow. Was very impressed at your pure bash barcode generator. I'm eager to try this out on my own library card!
I really love barcodes and barcode symbology for reasons I cannot fully explain. I even wore the npm module named ‘barcode’ which I desperately need to update.
Fun fact about codabar, it is among the only barcode symbologies that can be implemented completely as a plain font.
I am unsure of the context in which codabar was developed, but I know it was originally made for dot matrix printers, maybe if you go back to how those worked, it lended itself well to monospaced fonts because we had a fixed number of “dots” per byte cell. It can be roughly thought of like a low-resolution LED screen display used at transit stations to display real-time etas. The purposefully low resolution can save on costs while being able to show legible text - but not much else.
Codabar was can be implemented as a font because the standard does not define specific start and stops symbols, instead it was developed as just a raw 1-to-1 encoding of character to pattern. It does not have check digits because it uses more space per symbol to handle error correction by making it very difficult to misread each pattern. The spacing (kerning) between each symbol is a different width ratio than the white bars found in each symbol.
Going back to dot matrix, it does appear that some early printers just had a grid of character “cells” in which the spacing between each cell was slightly more than a single “dot”, this probably explains the codabar quirk with 3 different space ratios (black bar, white bar, and inter-character quiet-space) and probably is the beginning of some further investigation into that topic.
This is a great hack to get custom passes/codes into the wallet, and I'm glad the author wrote it up. I may end up doing this myself. That shell script to generate a bmp was wild.
Pass4wallet is a nice app for that, if you’re ok with your pass data being (according to their privacy policy) sent to their server, signed and then deleted.
Yep, Pass4wallet is great, and free to boot. I’ve used it for lots of loyalty cards and membership cards that don’t support Wallet, and even for some that do, so I can avoid installing apps for them.
I came here looking for this. The write-up is interesting for a deep dive in Apple interfacing… obviously though is too involved for a simple library card. Thanks.
Ah I was planning to look into this, glad to hear it's possible to self-generate a pass.
My gym requires subscribers to use their app-generated QR code for entry. I have been using the same QR screenshot for the past 2 years to avoid pulling up the app every time. But even the screenshot takes more time to find in Photos than I would like to.
The overdrive app has supported digital library cards for years now.
I agree having all the cards in one place is nice, but the fact is libraries put their cards in overdrive, so in effect all my library cards are in one place.
Since overdrive is also how you access ebooks from the library, there is a good chance that any "technologically with it" people have it installed already.
Now overdrive not being part of Amazon Kindle Fire for Kids tablets, separate issue I have..
Edit: I just checked, Google Wallet has built in support specifically for Seattle Public Library cards. Thanks, now I don't have to worry about forgetting my card ever again!
The point of applications that can store cards is that they enable use with wireless payment terminals. If I couldn't tap my phone to pay with credit cards, I wouldn't have a reason to put them into the phone.
1. Save the image to Photos, favorite it, and get the name (e.g IMG_2678).
2. Make a shortcut with two actions:
- find All Photos where name is IMG_2678 and is favorite.
- Quick look
I most often use “Siri, share my contact”, which shows a QR code for my contact with my cell and email address. It’s proven handy when I was busy (making drinks) but wanted to give someone my contact. Qrafter is what I use to make QR codes on iOS.
Google wallet supports barcodes. While technically you can only set up cards for libraries who have gone through the registration program, in practice they pretty much all work interchangably. Downside is you can't change the display name, so if you have more than one nearby library, it can be confusing.
The part of my article that caught my attention was the non-trivial bash script. I do write these myself from time to time, but when you see them it's always like, gah! [Shield your eyes]
I expected something more like squeezing the cards with NIF lasers (and alchemy) into diamond lattices encoding the information and then hacking it alongside phone storage
So wait: you don't want to pay Apple $99 and you don't want to pay for one of the apps that generates a pass for you, but you'll extract the cert from one of those apps thereby piggybacking on another developer's $99 payment to Apple.
That's uncool.
On a slightly related note: a site I login to regularly uses Semantic VIP Access for 2FA. You can convert these to standard TOTP codes so that you can load them into the Apple Keychain or whatever other TOTP program you prefer:
I think if you are locked out from doing what you want on your phone that you bought through arbitrary software locks then you should have the right to bypass that. This isn’t costing the app developer anything, nor were they even using the app to generate the pass, so I don’t really see any issue here
It's taking advantage of another developer's $99 payment. I just took a look at one of these apps and the in-app purchase to remove ads is $1.99. I think if I did this I'd throw that developer the 2 bucks.
Sort of like when you bum a ride from someone, even though it's not costing them anything, it's good form to offer to split the cost of gasoline.
I'd pay Apple $99 before I asked another developer to do that for me, probably putting their agreement with Apple at risk.
Taking a principled stance against Apple is fine. I'm totally onboard with that. I only think it's uncool to take that stance and then use another developer's cert without their permission. Even though it's unlikely, it can only harm that other developer.
Based on all the downvotes HN seems to disagree, but I don't see what's so unreasonable about my position.
On the contrary, this kind of hack is /incredibly/ cool. Finding ways around arbitrary restrictions? Writing a bash script that generates barcodes? Beautiful.
Fun fact, one of the orgs that runs Orca actually wrote a blog post mentioning they were adding NFC support to their Android app (with some absurdly long timeline). That post is no longer to be found, and of course, years later, that functionality is absent.