Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address field #364

Open
solokot opened this issue Jan 24, 2019 · 50 comments
Open

Address field #364

solokot opened this issue Jan 24, 2019 · 50 comments

Comments

@solokot
Copy link
Contributor

solokot commented Jan 24, 2019

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.

@erwin68
Copy link

erwin68 commented May 14, 2019

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.

@JasMan78
Copy link

JasMan78 commented Sep 6, 2019

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.

@tibbi
Copy link
Contributor

tibbi commented Sep 7, 2019

it might be added later, there are some more important issues with the app for now

@Russe
Copy link

Russe commented Oct 3, 2019

I'm also missing this feature in LineageOS, so your app would solve the problem when you implement this.

@sphh
Copy link

sphh commented Feb 13, 2020

I would also like to see separated input fields, such as CardBook for Thunderbird uses it:

image

This even gives you a default value for the Country, which is a real bonus.

@Atalanttore
Copy link

Proper address fields would be much better than the current situation, where every address change in Simple-Contacts malformes the address.

@patterchon
Copy link

Is there maybe an actual status on this? I am also davx5 / Nextcloud sync user whose addresses get destroyed when edited in the app.

@lukashass
Copy link

@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.

@tibbi
Copy link
Contributor

tibbi commented Sep 28, 2020

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.

@sphh
Copy link

sphh commented Sep 28, 2020

@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!

@tibbi
Copy link
Contributor

tibbi commented Sep 28, 2020

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.

@sphh
Copy link

sphh commented Sep 28, 2020

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 (#364 (comment)) 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:

  • For entering a new address, offer a button beside the simple textbox, which opens a dialog for structured input. So the users wanting a structured input can do it there.
  • For editing existing addresses:
    • If the entry is already structured, tapping in the edit field would open the dialog for structured input (or make the field not editable and tapping the button opens the dialog as described above).
    • If the entry has just a street name, editing works as it does now. With the button described above, the dialog opens with the street value copied in the appropriate field.

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.

@erwin68
Copy link

erwin68 commented Sep 28, 2020

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.

@sphh
Copy link

sphh commented Sep 28, 2020

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)!

@erwin68
Copy link

erwin68 commented Sep 28, 2020

"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.

@sphh
Copy link

sphh commented Sep 28, 2020

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 …

@tusch001
Copy link

@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.

@erwin68
Copy link

erwin68 commented Sep 28, 2020

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.

@aGrimRepoMan
Copy link

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.

@keunes
Copy link

keunes commented Apr 29, 2021

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.)

@ghost
Copy link

ghost commented Jul 9, 2021

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.

@tibbi
Copy link
Contributor

tibbi commented Jul 9, 2021

it synchronizes just fine in the vast majority of cases, only some services cannot handle it properly

@ghost
Copy link

ghost commented Jul 9, 2021

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...

@tibbi
Copy link
Contributor

tibbi commented Jul 9, 2021

sure, there are some commenters, but the app has half a million active users :)

@keunes
Copy link

keunes commented Jul 11, 2021

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?

@sphh
Copy link

sphh commented Jul 11, 2021

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:

  • the street address;
  • the locality (e.g., city);
  • the region (e.g., state or province);
  • the postal code; and
  • the country name

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!!

@Offerel
Copy link

Offerel commented Sep 20, 2021

Hopefully you can find a way to implement a way to enter a structured address. I really, really miss this feature a lot.

@xelayz
Copy link

xelayz commented Jun 14, 2022

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?

@Offerel
Copy link

Offerel commented Jun 14, 2022

Since Android 12, Samsung Contacts has also separate fields for contacts addresses synced via DavX5.

@aGrimRepoMan
Copy link

aGrimRepoMan commented Jun 15, 2022

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?

@Glaser-Martin
Copy link

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.

@Atalanttore
Copy link

@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.

@erwin68
Copy link

erwin68 commented Apr 9, 2023

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.

@michaelof
Copy link
Contributor

The smug, dismissive attitude of @tibbi

@tibbi I regret the misbehavior of @Atalanttore which for sure you don't have deserved.

@Offerel
Copy link

Offerel commented Apr 10, 2023

I wish, this could be a implemented PR for the original app.

@RokeJulianLockhart
Copy link

@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?

@Offerel
Copy link

Offerel commented Apr 10, 2023

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
Copy link

erwin68 commented Apr 10, 2023

@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.

@tibbi
Copy link
Contributor

tibbi commented Apr 10, 2023

no need for any warning, the app is perfectly suitable for 99.99% of users...

@Atalanttore
Copy link

@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.

@keunes
Copy link

keunes commented Apr 11, 2023

@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.)

@tibbi
Copy link
Contributor

tibbi commented Apr 11, 2023

not really, I dont want to have it in the app for now

@keunes
Copy link

keunes commented Apr 11, 2023

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.)

@dwettstein
Copy link

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 stephanritscher#6.

Best regards

@sphh
Copy link

sphh commented May 1, 2023

@dwettstein: Please see #156, a patch written by @stephanritscher and rejected by @tibbi.

@Atalanttore
Copy link

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%?

@tibbi
Copy link
Contributor

tibbi commented May 1, 2023

user feedback...

@tusch001
Copy link

tusch001 commented May 2, 2023

@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

@keunes
Copy link

keunes commented May 2, 2023

@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.

@Atalanttore
Copy link

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests