Open solokot opened 5 years ago
Please consider to support structured address fields.
https://www.davx5.com/faq/entering-structured-addresses
If someone edits an address, synchronized from nextcloud, the structered address will be destroyed by storing whole Address in street. This is very bad, because it destroys the addresses in all synchronized devices.
Google has fixed this in newer versions of their contacts app. But for LineageOS users without Google Apps there is currently no solution for this problem.
Are there plans to add this feature to one of the next releases? It's such a good app and it's realy annoying when the sync destroys the address format.
it might be added later, there are some more important issues with the app for now
I'm also missing this feature in LineageOS, so your app would solve the problem when you implement this.
I would also like to see separated input fields, such as CardBook for Thunderbird uses it:
This even gives you a default value for the Country, which is a real bonus.
Proper address fields would be much better than the current situation, where every address change in Simple-Contacts malformes the address.
Is there maybe an actual status on this? I am also davx5 / Nextcloud sync user whose addresses get destroyed when edited in the app.
@tibbi I would like to have a go at this, but I saw #156 and am not sure whether you would accept such a contribution now?
I think the structured inputs would fit nicely into a dialog just like the group selection and the date picker.
It is probably not necessary to make the structured editing configurable in the settings. The current behaviour would stay almost the same. One would just use the "Street" field to input the address like it is now and ignore the rest of the address fields.
If you still think the single input is the way to go I would at least try to prevent parsing the address when it hasn't changed. This would enable editing other fields without messing up the address structure.
I want to keep the one liner, splitting it is a useles complication. Not sure what you mean by preventing the parsing when it hasnt changed, but if it fixes some bugs, just go ahead.
@tibbi, can you please recap for all of us, why you believe that entering an address in one field with newlines separating the different parts of the address is advantageous compared to a structured input?
If you have your contacts in many different countries, personally I find it much easier to enter the addresses using a structured mask, especially if the fields auto-suggests contents from already entered entries. This is not possible with a one-liner and helps to keep the data consistent throughout your address book (e.e. not having entries of Praha, Prague, Prag for the same city). This also helps when I want to search for all persons in Praha!
I dont like complicating things unnecessarily, Google Contacts has only one field too and it is by far the most widely used Contacts app. 99% of users seems to be satisfied with it. You can already search "Praha", the top menu search searches across all fields. Having the address split into multiple fields wouldnt prevent you from naming it differently anyway.
I would not say, that Google gets everything right … If that were true, there would be no Simple Apps! Look at the success of CardBook, which introduced structured input some time ago. If that were a problem for many users, they would complain bitterly about this change, but I could not find any relevant issue at all. If that change to a structured input were that bad, CardBook would have lost a lot of users, which very obviously have not happened. What does that tell us? That most of the users are just to lazy to suggest any improvements. It is save to assume, that a few people voicing their opinion actually counts for many, many others. Hence I would also be very cautious to use "to not suggest an improvement" synonymously with "to seem to be satisfied with it" without factoring in human laziness and lethargy … ;-)
You are right, structured input it does not prevent me from naming it differently, but it helps me to fill in all fields. If it also has automatic incremental suggestion, e.g. if I start typing "Pra" in Thunderbird/Cardbook, it shows me my previous entries, in this case "Praha", it helps me to select the right entry. But it would not keep me from entering "Prahran", if I really want to add an address in that town.
You can also see this as a (soft) saveguard against typos and keeping the address book consistent. Without this, some addresses would never be found without much effort and disappears forever.
For me, Simple Contact's behaviour makes it more complicated for me, because I have to edit all addresses entered on the go later on my laptop to get it into a format I need.
Why do I need this structured format? If you use your addresses for e.g. personalized letters with the mail merge function of a word processor, you do need the addresses in structured format.
Maybe many people use Simple Contacts only on their mobile phone. They most likely would not notice any problems with a structured input, but for all of us, who synchronize the addresses with other programs and use them for other tasks as well, would benefit from a structured input.
I believe that both approaches by @lukashass (https://github.com/SimpleMobileTools/Simple-Contacts/issues/364#issuecomment-699707833) and #156 are good approaches: No changes for your user base, who do not care, but a big improvement for "power users". Nevertheless I want to suggest a third approach:
This approach would not need any configuration, is transparent to the user and does not change anything for existing users not wanting to enter addresses in a structured way.
There was a screenshot of googles contacts version 2.4 added to https://www.davx5.com/faq/entering-structured-addresses which provides proper address fields.
I found this old version at apkmirror.com and installed it on lineage16 tablet. And yes, there are proper address fileds, in edit screen. But I have not yet tested whether address changes are correct synchronized to my nextcloud.
Thanks @erwin68. Looks like the Google Contacts app works like my suggestion regarding editing existing addresses! I was not aware of this. It simply does not support entering a structured address when there is no such address stored yet. For Simple Contact to be better, there should be a way to enter a structured address into a new contact (or an empty address field)!
"It simply does not support entering a structured address when there is no such address stored yet."
If the contact has not yet an adress, then there is an option "weitere Felder" (more fields?) in the edit screen. This brings up the fields for street, city, postal code etc.
Brilliant! Even the first part of my proposal is not invented by me. Looks like the experts came up with the very same approach! If this has Google's blessing, it must be The Right Way …
@tibbi Long term google 'haters' were most likely already using a predecessor app to davdroid made by dmfs GmbH, a German company, for syncing calendars and contacts. The company provided 2014 a contact editor app (org.dmfs.android.contacteditorpp) that let you edit every single entry in address field. And enter a ton of other things (webpages, organizational information, anniversaries, a note field) but the user can configure what to display in what order or to merge accounts. Also the field to choose the right carddav account was on top. This is important in environments when you have different accounts for business / private use.
As is written above - most users don't complain about missing functions, they just use other apps. Like me. I like your contact app as replacement for google but I am using a 6 year old app for entering my addresses. So there is a need out there in business environment.
User interfaces are most important in apps (other than privacy) and certainly the reason why I'm still looking for some replacements and / or stick to apps that a ≥ 5 years old. Or switch the app if a function is missing. (Hint: missed calls that are not shown in a dialer app.)
This is also the reason why I once in a while write comments like this one :-)
Just a comment. I am still a fan.
contacts editor from dmfs didn't work anymore on Lineage16/Android9 and developer didn't respond to inquiries.
I just tested sync of address data, modified by google contacts app 2.4, with nextcloud. It works. Next step will be whether it works with android10 too.
I'd also like to add my voice in support of structured address fields (config: Simple Contacts, Thunderbird Cardbook, NextCloud). Enjoying Simple Contacts greatly, thanks for all your work on it. I hope you can consider this feature at some point.
I totally see the reason for keeping it a simple field for the end-user. But it's a pity that syncing addresses with Nextcloud basically doesn't work as expected.
I'm wondering: rather than both positions stuck in the tranches, isn't it possible to have both, somehow? I reckon it would be quite a bit of work, but maybe the newlines in Simple Contacts could be used as 'next field' indicators for contact cards. The first line could then be stored in the Address field, with subsequent lines stored in subsequent fields.
EDIT: Actually the behaviour described on the DavX5 FAQ page, referenced by @erwin68, can work nice (and probably more reliable than what I described). This keeps the interface as simple & clean as it is for most users.
If a structured address is known (for instance, because DAVx⁵ downloaded it from your server), the "formatted address" will be shown and not the single components (street, etc.). However, if this single field is empty and you enter something into it, it will be stored as "street".
An option to open a dialog as suggested by @lukashass (when creating/editing a contact) would be nice, but I can totally live without it.
Already with the above improvement (display separate fields when a contact's source data has them, no dialog) I can manage this info elsewhere, and at least corrections/updates to the data would be synced properly (which currently isn't the case: #678). @tibbi Would you accept a PR that implements this 'hidden' behaviour? (Well hidden except to those using structured fields.)
I want to keep the one liner, splitting it is a useles complication.
If I am really honest, the Simple Contacts app has a partially useless sync feature because of this one liner... addresses are synchronised incorrectly if they are entered in the app first! This is a real hassle when I am on my laptop and have the remote address book open... Have to reformat every address remotely.
Hope you can reconsider this, I obviously appreciate your work on the entire suite of Simple apps.
it synchronizes just fine in the vast majority of cases, only some services cannot handle it properly
it synchronizes just fine in the vast majority of cases, only some services cannot handle it properly
I have no way of knowing how many people are affected, but I do observe that this open issue has the most comments for the app...
sure, there are some commenters, but the app has half a million active users :)
And I think the following suggestion by @erwin68 shouldn't affect those half million :)
If a structured address is known (for instance, because DAVx⁵ downloaded it from your server), the "formatted address" will be shown and not the single components (street, etc.). However, if this single field is empty and you enter something into it, it will be stored as "street".
What do you think of this proposal, @tibbi?
it synchronizes just fine in the vast majority of cases, only some services cannot handle it properly
@tibbi: It is not just about synchronizing properly, where most services will but the STREET field into the STREET field, it's about entering the data in a structured way (and editing the data, if it was entered in a structured way).
The vCard RFC states explicitly, that there are fields for:
Hence if you want to keep RFC6350 conformability, these fields should be implemented …
There were many suggestions how to implement this in a transparent way, which would not break to upset your ½ million users and who knows, you might gain another ¼ million users with this change?
And please do not forget, that every user here probably speaks for 10 000 users ‘out in the wild’. Or have you heard back from all your 500 000 users, that they like this feature and want to keep it as it is?
Please bite the bullet and bring yourself to implement structured address input. You will be our hero!!
Hopefully you can find a way to implement a way to enter a structured address. I really, really miss this feature a lot.
I also miss this feature. Google Contacts have all fields and its working great with my Nextcloud and DAVx. But its Google Contacts... I prefer apps like Simple Contacts. Anyone found an alternative app which supports different address fields?
Since Android 12, Samsung Contacts has also separate fields for contacts addresses synced via DavX5.
Offerel wrote:
I also miss this feature. Google Contacts have all fields and its working great with my Nextcloud and DAVx. But its Google Contacts... I prefer apps like Simple Contacts. Anyone found an alternative app which supports different address fields?
There is an app on F-Droid called "OpenContacts":
https://f-droid.org/en/packages/opencontacts.open.com.opencontacts/
It seems to support structured address field editing.
Tibbi, does it perhaps provide a model for Simple Contacts?
Now there is also an app called "Simple Contacts Pro SE" on F-Droid.
It is an extended version of Simple Contacts Pro that supports structured address field editing.
@Glaser-Martin Thanks for the tip.
The smug, dismissive attitude of @tibbi towards this useful feature has so far caused me to have broken addresses when I edited them with this app. I'm glad that installing the fork and uninstalling the original app means that this time is over now.
Now there is also an app called "Simple Contacts Pro SE" on F-Droid.
It is an extended version of Simple Contacts Pro that supports structured address field editing.
Thanks for fixing that bug.
The smug, dismissive attitude of @tibbi
@tibbi I regret the misbehavior of @Atalanttore which for sure you don't have deserved.
I wish, this could be a implemented PR for the original app.
@erwin68, regarding https://github.com/SimpleMobileTools/Simple-Contacts/issues/364#issuecomment-492248802, for me, Google Contacts continues to break the post box field. Are you certain that it actually works with a fully filled address synchronized from Nextcloud via DAVx5?
Google Contacts has broken this feature since 3 years now. It doesn't matter which other app you use. Last working Google Contacts version as 3.5.51. This version is available on APK Mirror. Make sure to not update Google Contacts or you risk a broken address field again. This is reported thousand times to Google, without a fix. But it is working nicely with Samsungs Contacts app since spring last year.
@erwin68, regarding #364 (comment), for me, Google Contacts continues to break the post box field. Are you certain that it actually works with a fully filled address synchronized from Nextcloud via DAVx5?
I'm using a rather old Google Contacts 2.4.4 Version. Postbox entry, synchronized by DAVx5 from Nextcloud is displayed in formatted string. But in edit mode post box field isn't displayed at all. But I didn't test behaviour if i would change address in google contacts. I think I'll try a newer version of google contacts lower than 3.5.5.1 Samsungs Contacts app didn't work on my LineageOS device.
@tibbi At the very least, it would be fair if there was a warning that Simple Contacts is not suitable for people who want to synchronise contacts via CardDav.
no need for any warning, the app is perfectly suitable for 99.99% of users...
@michaelof This is not a misbehavior, but my experience with the app. Users have a problem, but there is a solution to it. Only the developer does not want to implement the proposed solution or any other solution and ignores the users for whom his app causes problems.
@tibbi I understand that you want to keep the app simple - the suite name says it all. And it's your project & app – you of course have the full right to do whatever. And I am grateful that you release this all (your whole suite) as open source.
From what I've read in your previous comments, you have two main concerns/reservations: firstly it might complicate the interface and secondly it would only be for a fraction of the users.
As AntennaPod core contributor I fully understand the simplicity argument. We try to strike a balance and often close issues requesting a setting for niche functionality. But I believe a suitable solution has been brought up already that would keep the app simple 'as is' for the 99,99% of the users while enabling the workflow of the 0,01%: only showing the fields when editing a given contact which has one of the address fields filled.
If I'm not mistaken you haven't expressed an opinion about this approach/suggestion yet. How do you feel about it?
I also understand the second argument, that it'd only be for a fraction of the users – both in conjunction with the simplicity argument and regarding development time & maintenance burden.
But if there would be someone willing to implement an approach acceptable to you and submit a (quality) PR, would you be open to merging it? (It seems like there would be some people who'd be willing to pick this up.)
not really, I dont want to have it in the app for now
Still don't get why you don't want it in the app and I find that a bit frustrating, but ok, that's my problem.
Should the issue be closed then @tibbi? We're now getting a double/contradicting signal: the door is open but no-one is allowed in. If the door is closed at least it's clear what we should expect. (And it can always be reopened if/when you change your mind.)
Hello everybody
FYI, there is a fork of this app that implemented this feature. I have ask the repo owner to contribute back via pull request, see https://github.com/stephanritscher/Simple-Contacts/issues/6.
Best regards
@dwettstein: Please see #156, a patch written by @stephanritscher and rejected by @tibbi.
no need for any warning, the app is perfectly suitable for 99.99% of users...
@tibbi Which method was used to determine a value of 99.99%?
user feedback...
@tibbi: What do you mean with user feedback? A - Do I want this feature? YES PLEASE B - Does the patched app (de.ritscher.simplemobiletools.contacts.pro) mentioned above work? Yes (Version 6.33.3.1 from fdroid), I tested the creation of new contacts with address fields. They are synchronized to the correct nextcloud fields. All my nextcloud contacts show parts of the address (street, city, ...) in the correct filed when editing a single contact in the android app. When I share the address from the contact app to my navigation app (net.osmand.plus) or my transportation app (de.schildbach.oeffi) the addresses are correctly recognized. Although I have to admit, I mostly have German contacts, so I can't say anything about other country addresses.
edit: Nextcloud Version 24.0.3 and after Update Version 24.0.12
@tusch001, my guess would be the following (from #156):
so far maybe 1 person asked about that structured address, I dont remember more people and I dont really like that either
So to you and everyone else who hasn't done so yet: I would recommend giving a thumbs-up to the first post. It's the most visible way of indicating user interest – even more so than separate '+1' comments.
@tusch001 You can argue all you want. It's the app of @tibbi and his opinion, user feedback statistics, etc. are authoritative. Just use the fork and that's it.
The ability to correctly enter a detailed contact address: separate fields for the country, region, city, street, etc. VCF format implies such separation and periodically these fields are used for sorting when working with contacts.