covidpass-org / covidpass

Web app for adding EU Digital COVID Certificates to your wallet apps
https://covidpass.marvinsextro.de
MIT License
1.18k stars 62 forks source link

Possibility to make QR larger in size? #75

Closed gregory-villmann closed 2 years ago

gregory-villmann commented 3 years ago

Using iPhone 11, the QR seems to be rather small. The Estonian government has came up with a website https://kontroll.digilugu.ee/ to test the validity of the passes. The website can not scan my wallet code as it's too small on my phone... Is there a possibility to make the QR larger?

laurazard commented 3 years ago

As far as I know, the .pkpass/wallet pass format does not allow the size/style of anything to be customized, which is quite unfortunate but not something that can be addressed by anyone outside apple.

marcelpietsch commented 3 years ago

It seems that the problem lies in the complexity of the QR code, which makes it's individual pixels rather small. I don't think that the image container can be made bigger, as the wallet pass templates from Apple dictate that area's sizing.

Take a look at the examples over here: https://www.passcreator.com/de

marvinsxtr commented 3 years ago

A possible solution is to embed a link into the pass fields which contains the complete QR Code data and can be displayed bigger in a browser. Got the idea from https://coronapass.fabianpimminger.com

marcelpietsch commented 3 years ago

But where would the QR code image file be hosted in that case?

marvinsxtr commented 3 years ago

The file would not be hosted anywhere as that would be a huge privacy issue. As far as I understood, the payload is passed as an URL parameter and the site only displays it.

marcelpietsch commented 3 years ago

That's what I was going for. Right, converting it to base64 makes sense. This could help.

https://github.com/renanbastos93/image-to-base64

marvinsxtr commented 3 years ago

I think converting the actual payload to base64 is better. I bet there is some JavaScript library which can display a QR code from a payload.

laurazard commented 3 years ago

If I'm understanding that proposed approach correctly @marvinsxtr, this would only work for as long as the user has an active internet connection, therefore limiting its usability -- especially considering one might be required to show this at airports, different countries, etc. when traveling where one might not immediately have an internet connection. I wonder if it wouldn't be simpler to just have a link to open a webview with the base64 encoded image.

marvinsxtr commented 3 years ago

If Safari can natively show the image when it's passed as a url param, I would also support encoding the image instead of the payload. If not, the webview would also have to be hosted somewhere and require an internet connection.

marvinsxtr commented 3 years ago

Just noticed that opening a link in the pass only works when opening the actual wallet app and not when using the double press on the power button. Which makes sense because Safari is not available from lock screen. Kinda defeats the purpose of having the pass in the wallet for quick access.

artem-from-ua commented 3 years ago

I've just filled a bug report in Apple Feedback app with the issue description. I mentioned about two issues: small QR-code image in the Wallet app (lots of free space around on the display) and unnecessary error correction set to "L" while "M" is completely OK for smartphone/watch displays.

It would be nice to show Apple more attention from the community to the problem. And now is a right time before iOS 15 release.

dotsam commented 3 years ago

Looks like Apple is bringing official support for this to iOS 15.1, the screenshot here shows a QR code that appears to be approximately twice as large https://www.macrumors.com/2021/09/21/ios-15-vaccine-card-wallet-app/

Ein-Tim commented 3 years ago

@dotsam

What the MacRumors article mentions is the extension of verifiable health records to also support COVID-19 vaccinations and test results with the option to also store certificates in the Wallet directly from the health app (where the verifiable health records are stored).

However, this does not improve the situation we have here, as currently the EU digital COVID certificate system is in use all across Europe, but verifiable health records are only available for organizations that issue SMART Health Cards. This is another standard and has nothing to do with the system in use here.

However, maybe Apple adds a new QR-Code size for this kind of card, not only for "their" COVID-19 vaccination and test certificates which are stored through the health app but for all developers. If this is the case it would probably be an easy task to adjust the QR code size to the bigger one.

I hope I didn't mix up anything here 😅

janbrasna commented 3 years ago

I'm not sure if Safari is the handler app for data: protocol, or if such link would be recognized and enabled as a link in the first place. (Otherwise yes, Safari gladly opens inline data: base64 content/images without issues.)

Let's just hope the 15.1 coming out of beta any given day 🤞 brings us bigger QR code layout options.

mcdado commented 3 years ago

Looks like Apple is bringing official support for this to iOS 15.1, the screenshot here shows a QR code that appears to be approximately twice as large https://www.macrumors.com/2021/09/21/ios-15-vaccine-card-wallet-app/

Looks like this new system does not work with EU Green Pass, but only the Californian system? Such a pity.

massijay commented 3 years ago

Now that iOS 15.1 is out maybe it's possible to use the new pass format with bigger QR code, I haven't found anything about this on the docs yet however

Ein-Tim commented 3 years ago

@mcdado

Looks like this new system does not work with EU Green Pass, but only the Californian system? Such a pity.

Yeah, like I wrote above: https://github.com/covidpass-org/covidpass/issues/75#issuecomment-924334367

marvinsxtr commented 2 years ago

The larger QR code can now be viewed by tapping on the link on the back of the pass (when opening the actual Wallet app and with internet connection). See #142 Unfortunately, Safari does not open data: URLs from the Wallet app.

marvinsxtr commented 2 years ago

As there does not seem to be a better solution to this problem atm, I will close this for now.