Getting my library cards onto my phone the hard way
iliana.fyi
iliana.fyi
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.
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.
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.
Occurs to me Oyster may still make sense for travelers whose credit cards have foreign transaction fees.
The keywords one should be looking for is Osaifu-Ketai.
iPhones are the exception, and just takes some finnicking with the settings.
Also with it baked into your card you don’t have to pull anything out since your phone is almost always at hand.
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).
Well,
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.
Oyster card, ventra card, charlie card, SUBE, etc.
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.
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)
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").
The CC being picked up means you're paying the full fare immediently even if you have the pass on the other card.
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)
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
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.
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.
Beyond that I haven't heard much of it because as I understand it, there isn't much free transit anywhere big.
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.
[0] https://en.wikipedia.org/wiki/Special-purpose_local-option_s...
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’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.
edit: linking to Google's blog directly
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.
A simple NFC tag with binary data is trivial to copy though.
Access control systems these days usually do not, for obvious reasons.
Tap to pay coming to orca in 2023, they’ve got ~2 months left for it to be true
I’m optimistic because google recently put out a post that google wallet will support ORCA soon (as shared by another commenter)
The post still exists, but no updates since then
Then again, it's not being carried along by a large subway system under incredible urban density.
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.
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.
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.
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!
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.
MakePass: https://pvieito.com
> I will note that I have not yet tested this pass in a real library yet
I get this project was mostly for fun, but why not spend the 10 minutes it takes to test the final solution before sharing your work?
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.
So even if you, the human, can read it doesnt mean the device that authorizes you can.
Loyalty cards at retailers come to mind, for example. POS systems often support scanning coupons from phone screens.
> You can set reminders to go off at a certain time or place
There's little advantage to having it in the wallet.
I store all my IDs in a Photo Album on my phone.
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 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.
Mr John Springfield - xxx-xxx-1234
Mr John Madison - xxx-xxx-5309
Etc etc
Fun fact about codabar, it is among the only barcode symbologies that can be implemented completely as a plain font.
And do you know if that was a conscious design choice?
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.
> So I put it on my phone, in my iPhone’s Wallet app
Another option would be to literally put the barcode on the phone.
Print it on a small piece of paper, about 15mm wide, and tape it to the back of the phone with some transparent tape.
You can just scan it with a barcode scanner like Binary Eye [1] and it will tell you
Or yeah, you could do it that way I guess.
Stocard addresses a different point in the design space.
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.
Edit: works very well. Created a shortcut that opens a specific file from Files, and added it to the home screen with a custom icon.
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!
IME Overdrive used to be very clunky and resource-heavy, borderline unuseable. On Mac.
[0]: https://www.overdrive.com/apps
[1]: https://www.reddit.com/r/audiobooks/comments/u5oym0/overdriv...
You can check out books even if the battery dies.
If this end result must be attained:
https://iliana.fyi/blog/ios-wallet-library-card/pass.png
can be achieved by displaying simple PNG image.
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.
I just used Stocard to scan my library card barcodes. Done.
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.
Alternative solutions to barcodes are RFID/NFCs and geofenced authorization.
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:
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.
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.