Series of bugs with QR codes for VCards

Tags:

Author
Topic
#5530

Hello,

I just purchased your Smart QR Codes Generator and was very hopeful that it would be able to help me with a project using VCards, but unfortunately, I ran into a number of very significant bugs right away. For reference, I have tested with both an iPhone and an Android phone and both phones are under 2 years old AND they are running up-to-date software.

The VCard and VCard4 formats that get generated by the QR Codes Generator plugin both have issues, some issues are the same and some are different, but the problems are so major that right now I don’t see that this plugin can be used even in a basic way. It’s really a *fantastic* idea for a plugin and I would really LOVE to use it, but unless there’s a way to address these issues on a fairly short timeline (?), I would like to request a refund. So sorry.

Here are a few of the bugs/issues I’ve run into so far:

– When scanning with the iPhone, the QR Code does not recognize many UTF-8 characters that have been entered as part of a street address — for example, characters in German ü, ö, ä. ß or in French é, è, ç.

– The email address field does not parse email addresses correctly and is completely illegible (both iPhone and Android).

– The phone number field cannot deal with country codes (for example +49 for Germany or +39 for France) being included as part of the number. The + sign does not translate correctly and messes up the number display.

– With the VCard4 format, there are issues with the field coding, for example entering text in the “Label” puts it into the address field. Meanwhile, a “notes” field is missing and would (for my project) be very important to include.

– Also with the VCard4 format, if you choose “Show content as text”, all of the coding labels get displayed on the page, when actually these should be hidden. With the regular VCard format this is not the case — here the coding labels do not get displayed.

I’m sure you’ve put a lot of work into this plugin, but it really needs a major update if you would like to sell it. $20 isn’t a lot, but it is if the plugin doesn’t work. Again, my apologies. Thanks in advance for your response.

Viewing 11 replies - 1 through 11 (of 11 total)
Author
Replies
  • #5531

    Hello,

    1. As far as I know, iPhone Contacts app doesn’t support vCard4 format, it works with vCard3, and it has no proper support for encoding. I remember seeing that some other apps for iPhone have support for vCard4 format, but I don’t use iPhone, so I don’t know which.
    2. WIndows Contacts and Outlook support all vCard formats, but it can’t import UTF-8, and to work with character encoding, it has to use vCard 2.0 format which has very strange encoding. Microsoft forums are filled with bug reports about this, and that is the issue for years, and still, vCard support in Windows Contacts and Outlook is very spotty.
    3. Android phones, before Android 10 were not properly reading vCard4, Android 10 and newer all fully support it. Android can’t import image via provided photo URL.
    4. vCard4 only supports UTF-8 encoding, it can’t be anything else. So, it properly encodes everything, including cyrilic or chinese.
    5. I have tested extensively both vCard formats, and all fields are working, including phone and email. I have few very complex vCards using different charsets (french, german, cyrilic), with all fields included.
    6. Sign + in phone number works fine, but you need to enter number without any spaces, that is vCard specs requirement. But, I tested phones that have empty spaces, and Android phones imported them correctly.
    7. Label and Notes fields are all correct, again, I have tested all that, and I used it few times. One of the reasons I know it works, is that in the first plugin version when vCard4 is added, few users had issues with Notes field, and I have fixed it.
    8. Best way to see that everything is correct, you can download VCF. Widget has option to show contet that includes download link, and via that link you can download VCF file to computer and see the content.
    9. vCards are correct for both versions, and QR codes are generated correctly, and I any vCard generated, I test with my phones (Android 12 and Android 13 right now), and Google Contacts app and Samsung Contacts both fully support it, and they properly import them, including non english characters, and all the fields, with only photo url ignored).
    10. vCard format is specified here: https://www.rfc-editor.org/rfc/rfc6350 and my plugin generates VCF file based on that specification. How the apps that read VCF interpret the file, and how they are made to import VCF and what they are supporting is not relevant, and if the VCF is correct, my plugin can’t enforce how the unrelated apps are reading the VCF. As I said, the Android mobile apps for VCF are working great, and support almost everything vCard4 supports. If the iPhone doesn’t support vCard4, whatever app you use to generate vCard4, is not going to work on iPhone, it is not relevant for my plugin.

    Your last complaint about show as text, is correct, and this is indeed a bug, I will fix this in next version to show the data as plain list, without coded labels.

    Now, I know that my plugin generates correct VCF, but I accept that some bugs might be in the code, so the best way to see if there is a bug, is for you to show me exactly what data you entered in the widget, and I will replicate that, and see what happens, and what maybe get’s broken when VCF is generated.

    I also plan a minor update soon that will include some fixes and updates, so if you can provide me with content to test, maybe I uncover some bugs that need to be fixed, and will include that too.

    Best regards,
    Milan

  • #5541

    Hello,
    A few days ago I submitted a longer follow-up message that documented the plugin bugs I was (and still am) seeing, but it seems not to be showing up here now. I included a number of screen grabs as well to clarify what I meant and why these bugs are significant. Could you please tell me — did you receive that message? or is it just not published on the forums? If you never received it then I will resend. Thanks very much.
    N

  • #5535

    Hi Milan,

    Thanks for your quick reply. First, by removing the space from the phone numbers, that issue was resolved (thanks!). Unfortunately though, a number of other issues remain. Attached are screen grabs displaying what appears in connection with QR codes generated by the plugin:

    a) what I see on my WP site (note the display of the code fields on the VCard 4 version),
    b) what I see when I scan these 2 codes on my iphone
    c) what I see when I scan these 2 codes on my android phone

    Also of note, I created a QR code with the exact same content but using a regular QR code generator service — with this option did not have any of the formatting issues (address formats, odd characters or inability to display characters like ß, ö, ü or é) – see attached sample QR code. Unfortunately for me though, what I need is QR code generation on my site itself, (like what your plugin does), not using an external service and then having to import it extra, so I am hoping that the plugin issues can be resolved.

    Thanks for your willingness to look into this!
    N.
    ———

    [b]Wordpress display issues[/b]
    With the VCard4 format, if you choose “Show content as text”, all of the coding labels get displayed on the page, when actually these should be hidden. With the regular VCard format this is not the case — here the coding labels do not get displayed.

    ———

    [b]VCard format[/b]

    Code entered:
    [smqrcode size=’300′ textual=’show’ layout=’1′ method=’vcard’ n=’Zentrum für Kinder- und Jugendmedizin: Uniklinik Freiburg’ org=” title=” tel=’+4976127043000′ url=’https://uniklinik-freiburg.de’ email=’info@uniklinik-freiburg.de’ adr=’Heiliggeiststraße 1, 79106 Freiburg, Germany’ note=’Here is a note’]

    iPhone bugs/issues:
    – random character coding displayed under company name (“Zentrum für Kinder und Jugendmedizin…”)
    – email not displaying properly – random character coding
    – address (including street name, postal code, city and country all displaying together in the same field (the “street” field) rather than being separate fields. This causes formatting issues — as seen here where the zip code 79106 ends up on the address line, rather than on the next line together with the city.

    Android bugs/issues:
    – the company name (“Zentrum für Kinder und Jugendmedizin…”) is displaying in the place of the first name, and the middle name and last name have been filled in when there should have been nothing there at all, because none was entered
    – email not displaying properly – random character coding same as with iphone
    – address formatting issue, same as above

    ———

    [b]VCard4 format[/b]

    Code entered:
    [smqrcode size=’300′ textual=’show’ layout=’1′ method=’vcard4′ n-prefix=” n-first=” n-middle=” n-last=” n-suffix=” nickname=” url-home=” photo=” email-home=” note=” tel-homevoice=” tel-homecell=” tel-homefax=” tz-home=” bday-day=” bday-month=” bday-year=” gender-value=” gender-note=” adr-home-label=” adr-home-ext=” adr-home-street=” adr-home-city=” adr-home-state=” adr-home-postal=” adr-home-country=” geo-home-latitude=” geo-home-longitude=” org=’Zentrum für Kinder- und Jugendmedizin: Uniklinik Freiburg’ url-work=’https://uniklinik-freiburg.de’ role=” title=” email-work=’info@uniklinik-freiburg.de’ tel-workvoice=’+4976127043000′ tel-workcell=” tel-workfax=” tz-work=” adr-work-label=” adr-work-ext=” adr-work-street=’Heiliggeiststraße 1′ adr-work-city=’Freiburg’ adr-work-state=” adr-work-postal=’79106′ adr-work-country=’Deutschland’ geo-work-latitude=” geo-work-longitude=”]

    iPhone bugs/issues:
    – email not displaying properly – random character coding
    – special characters not displaying (example: Heiliggeiststraße — see the formatting of the ß )
    – address formatting is good this time with VCard4 (includes street name, postal code, city and country in separate fields)

    Android bugs/issues:
    – email not displaying properly – random character coding
    – special characters okay (unlike on iPhone)
    – address formatting okay (same as iPhone)

  • #5542

    Below is a copy of the message I posted to this board on March 23rd. It had several image attachments (screen grabs) showing what was appearing on screen. I am guessing that these image attachments posed a problem, so I am posting this message again without the images. Thanks in advance for your assistance.

    —–

    March 23, 2023:
    Hi Milan,

    Thanks for your quick reply. First, by removing the space from the phone numbers, that issue was resolved (thanks!). Unfortunately though, a number of other issues remain. Attached are screen grabs displaying what appears in connection with QR codes generated by the plugin:

    a) what I see on my WP site (note the display of the code fields on the VCard 4 version),
    b) what I see when I scan these 2 codes on my iphone
    c) what I see when I scan these 2 codes on my android phone

    Also of note, I created a QR code with the exact same content but using a regular QR code generator service — with this option did not have any of the formatting issues (address formats, odd characters or inability to display characters like ß, ö, ü or é). Unfortunately for me, what I need is QR code generation on my site itself, (like what your plugin does), not using an external service and then having to import it extra, so I am hoping that the plugin issues can be resolved.

    Thanks for your willingness to look into this!
    N.
    ———

    [b]Wordpress display issues[/b]
    With the VCard4 format, if you choose “Show content as text”, all of the coding labels get displayed on the page, when actually these should be hidden. With the regular VCard format this is not the case — here the coding labels do not get displayed.

    ———

    [b]VCard format[/b]

    Code entered:
    [smqrcode size=’300′ textual=’show’ layout=’1′ method=’vcard’ n=’Zentrum für Kinder- und Jugendmedizin: Uniklinik Freiburg’ org=” title=” tel=’+4976127043000′ url=’https://uniklinik-freiburg.de’ email=’info@uniklinik-freiburg.de’ adr=’Heiliggeiststraße 1, 79106 Freiburg, Germany’ note=’Here is a note’]

    iPhone bugs/issues:
    – random character coding displayed under company name (“Zentrum für Kinder und Jugendmedizin…”)
    – email not displaying properly – random character coding
    – address (including street name, postal code, city and country all displaying together in the same field (the “street” field) rather than being separate fields. This causes formatting issues — as seen here where the zip code 79106 ends up on the address line, rather than on the next line together with the city.

    Android bugs/issues:
    – the company name (“Zentrum für Kinder und Jugendmedizin…”) is displaying in the place of the first name, and the middle name and last name have been filled in when there should have been nothing there at all, because none was entered
    – email not displaying properly – random character coding same as with iphone
    – address formatting issue, same as above

    ———

    [b]VCard4 format[/b]

    Code entered:
    [smqrcode size=’300′ textual=’show’ layout=’1′ method=’vcard4′ n-prefix=” n-first=” n-middle=” n-last=” n-suffix=” nickname=” url-home=” photo=” email-home=” note=” tel-homevoice=” tel-homecell=” tel-homefax=” tz-home=” bday-day=” bday-month=” bday-year=” gender-value=” gender-note=” adr-home-label=” adr-home-ext=” adr-home-street=” adr-home-city=” adr-home-state=” adr-home-postal=” adr-home-country=” geo-home-latitude=” geo-home-longitude=” org=’Zentrum für Kinder- und Jugendmedizin: Uniklinik Freiburg’ url-work=’https://uniklinik-freiburg.de’ role=” title=” email-work=’info@uniklinik-freiburg.de’ tel-workvoice=’+4976127043000′ tel-workcell=” tel-workfax=” tz-work=” adr-work-label=” adr-work-ext=” adr-work-street=’Heiliggeiststraße 1′ adr-work-city=’Freiburg’ adr-work-state=” adr-work-postal=’79106′ adr-work-country=’Deutschland’ geo-work-latitude=” geo-work-longitude=”]

    iPhone bugs/issues:
    – email not displaying properly – random character coding
    – special characters not displaying (example: Heiliggeiststraße — see the formatting of the ß )
    – address formatting is good this time with VCard4 (includes street name, postal code, city and country in separate fields)

    Android bugs/issues:
    – email not displaying properly – random character coding
    – special characters okay (unlike on iPhone)
    – address formatting okay (same as iPhone)

  • #5533

    Hi Milan,
    Thanks for your quick reply. First, by removing the space from the phone numbers, that issue was resolved (thanks!). Unfortunately though, the other issues remain. Here is a sample of data entered into the widget for a VCard and VCard4 and attached are screen grabs of:
    a) what I see on my WP site (note the display of the code fields on the VCard 4 version),
    b) what I see when I scan these 2 codes on my iphone
    c) what I see when I scan these 2 codes on my android phone
    Thanks for your willingness to look into this.
    ND
    ———

    [b]Wordpress display issues[/b]
    With the VCard4 format, if you choose “Show content as text”, all of the coding labels get displayed on the page, when actually these should be hidden. With the regular VCard format this is not the case — here the coding labels do not get displayed.

    ———

    [b]VCard format[/b]

    Code entered:
    [smqrcode size=’300′ textual=’show’ layout=’1′ method=’vcard’ n=’Zentrum für Kinder- und Jugendmedizin, Uniklinik Freiburg’ org=” title=” tel=’+4976127043000′ url=’https://uniklinik-freiburg.de’ email=’info@uniklinik-freiburg.de’ adr=’Heiliggeiststraße 1, 79106 Freiburg, Germany’ note=’ere is a note’]

    iPhone bugs/issues:
    – random character coding displayed under company name (“Zentrum für Kinder und Jugendmedizin…”)
    – email not displaying properly – random character coding
    – address (including street name, postal code, city and country all displaying together in the same field (the “street” field) rather than being separate fields

    Android bugs/issues:
    – the company name (“Zentrum für Kinder und Jugendmedizin…”) is displaying in the place of the first name, and the middle name and last name have been filled in when there should have been nothing there at all, because none was entered
    – email not displaying properly – random character coding same as with iphone

    ———

    [b]VCard4 format[/b]

    Code entered:
    [smqrcode size=’300′ textual=’show’ layout=’1′ method=’vcard4′ n-prefix=” n-first=” n-middle=” n-last=” n-suffix=” nickname=” url-home=” photo=” email-home=” note=” tel-homevoice=” tel-homecell=” tel-homefax=” tz-home=” bday-day=” bday-month=” bday-year=” gender-value=” gender-note=” adr-home-label=” adr-home-ext=” adr-home-street=” adr-home-city=” adr-home-state=” adr-home-postal=” adr-home-country=” geo-home-latitude=” geo-home-longitude=” org=” url-work=’https://uniklinik-freiburg.de’ role=” title=” email-work=’info@uniklinik-freiburg.de’ tel-workvoice=’+4976127043000′ tel-workcell=” tel-workfax=” tz-work=” adr-work-label=” adr-work-ext=” adr-work-street=’Heiliggeiststraße 1′ adr-work-city=’Freiburg’ adr-work-state=” adr-work-postal=’79106′ adr-work-country=’Deutschland’ geo-work-latitude=” geo-work-longitude=”]

    iPhone bugs/issues:
    – the company name (“Zentrum für Kinder und Jugendmedizin…”) is not getting imported, junk text displayed
    – email not displaying properly – random character coding
    – special characters not displaying (example: Heiliggeiststraße — see the formatting of the ß )
    – address formatting is good this time with VCard4 (includes street name, postal code, city and country in separate fields)

    Android bugs/issues:
    – the company name (“Zentrum für Kinder und Jugendmedizin…”) is not getting imported, field empty, nothing displayed

  • #5549

    Hi,

    Sorry about missing those, they got stuck in the pending/spam.

    I tested this, and here are my findings:

    [b]Wordpress display issues:[/b]
    [ul][li]this will be fixed for vCard4, most likely next week.[/li][/ul]

    [b]VCard format:[/b]
    [ul][li]I attached the screenshot from my phone, everything looks as it should.[/li]
    [li]Email is not working for you because most likely you have something on the website to process page content, and encrypts email into entities, so the spam harvesting bots don’t detect an email. I can’t do nothing about that.[/li]
    [li]Regular vCard, has only address field, it can’t be split into elements, so it is always imported like that, there is no way around it, that’s how vCard works.[/li][/ul]

    [b]VCard4 format:[/b]
    [ul][li]Again, everything looks as it should.[/li]
    [li]Email is the same issue for you as with previous vCard version, something encodes it into entities.[/li]
    [li]On my Samsung phone, Android contacts app doesn’t have split address elements, but Samsung contact app does, works in both as it should.[/li]
    [/ul]

    Now, the issue with missing german letters can be also conected to the content on your website being encoded or modified in some way to process the content and replace regular letters with entities. For me, it works with anything I tried. Also, these filters work on the front end only, so before the shortcodes are executed and sent to my plugin for processing, some other plugin you have encrypts things first.

    Regards,
    Milan

  • #5554

    Thanks for your reply. I will keep an eye out for updates next week.
    Best regards

  • #5556

    Hello Milan,
    Unfortunately I need to resubmit my request for a refund on this plugin, especially as it has not been updated as you mentioned. In its current form, at least with respect to generating VCard QR codes, the plugin is buggy to a point where it cannot be used at all. I truly do understand that fixing such bugs can take time, but it’s not fair to charge customers money for a product that doesn’t work. I also would note that comprehensive testing (including with iphones, even if you happen not to use one) is a responsibility on the developer’s side, not the customer side. I have already spent a number of hours documenting and sharing bugs I have found. I will submit my refund request through Envato / Themeforest tomorrow (11 April 2023). Thanks in advance.
    Best regards

  • #5560

    Hello,

    Again, the bugs you reported with these screenshots here are not related to my plugin in any way:

    1. iPhone has trouble with the vCard’s that have non english characters, and there is nothing I can do to change that. No matter how the vCard is encoded, iPhone will have trouble reading it.

    2. vCard and vCard 4 use different encoding methods for characters, and some things might work better, but that again is not related to my plugin, it is how the apps that read vCard are handling it.

    3. I have told you about the email in previous replies, and for as long as you have something that does encrypt emails in content to make them unreadable, my plugin can’t do anything about that. Whatever you are using to protect email in content, is running before WordPress runs shortcodes, so when the shortcode reaches my plugin, it is already destroyed.

    I am not sure what you want mee to do here, I can’t fix the iPhone support for vCards, they have these issues for 10+ years, and you can find that well documented in countless forums related to iPhone and their Contact app. My plugin can’t change how your website is encoding emails before theose emails reach my plugin – change that on your website, and my plugin will encode email correctly.

    Milan

  • #5562

    Hello Milan,

    1. The plugin update (v4.0) just posted unfortunately does not fix the problems documented. All is the same as before.

    2. When manually generating VCard QR codes with generators such as qrcode-monkey.com or qrgenerator.org, the VCard configuration is correct when the QR code gets scanned. Unfortunately this undercuts your statement that the problem is with the VCard format rather than the plugin as such.

    3. The reason I was looking for a plugin to create the VCard QR codes rather than using a QR code generator like qrcode-monkey.com is that with them, I would have to create the QR code externally, export the QR code image and then import the QR code to my website. This is a lot of work when one is creating a larger number of codes and this is what I was trying to avoid by purchasing the plugin in the first place.

    4. If the VCard function of your plugin can’t work in a seamless way, then a) either you should describe how / in what limited circumstances / with what types of phones it CAN work, or else b) you should entirely remove the VCard QR code generator function from the plugin so that other people don’t buy your plugin with the expectation that it will work for VCards, only to find out that it actually doesn’t.

    This is the last message I will post here, as it doesn’t seem to me that there is much possibility for positive advancement on the issues described. I do wish you well.

    Best regards,

  • #5566

    Hello,

    I have tested various online services that generate vCard codes, and with iPhone, I have seen the same issue (one of the websites I tested is qrcode-monkey.com). Not only that, but the vCard inside the QR Code has same character encoding as my plugin generates, and the exactly the same characters for non-english letters. I do plan to investigate more and I will be tweaking things in the future, but there are limits to what I can do here.

    From what I have seen in the forums related to iPhone and iOS, a lot of users are having the same issues, and that has been going on back for at least 7-8 years, and there is no universal way to support vCard on iPhone properly. Android is better in that regards, but even Android can have quirks. All this is beyond my control! My plugin can encode the data to QR Code, that’s it – it can’t do anything else.

    I have added article to this website with QR Code limitations and recommendation:
    https://support.smartplugins.info/kb/article/best-practices-in-setting-up-qr-code/

    Best regards,
    Milan

Viewing 11 replies - 1 through 11 (of 11 total)
  • You must be logged in to reply to this topic.