(ios) Contacts v1.0#600
Conversation
There was a problem hiding this comment.
A few issues on my iPhoneX device with iOS 16.7.8 :
- there is some flickering when opening the Address Book screen (it seems it's caused by the Search bar disappearing for a few dozen millisecs when the screen opens).
- In all contacts screen: the placeholder user image has too much contrast with the background, which makes it very visible and does not look good. This image should be more muted.
- In the New Contact screen, "Trusted contact" should be "Pay with your offer key" and the subtitle:
enabled: If they know your own Bolt12 payment code, they will be able to tell when payments are from you+disabled: Use a throwaway id when you pay this contact - In the Edit contact screen (from the Address Book), the discard icon is hard to understand (especially since it does not do anything if you have not done any changes). Why not have the back button behave like this "discard" button, and have a "Save changes" button at the bottom of the screen? It would feel more natural to me, and also consistent with the other "Edit contact" screen that you get when editing a contact from a payment screen.
- When opening the Send screen, only the
Paste...button is displayed and the user has to tap the chevron-up icon to access the other buttons. The Contacts button should be displayed by default. Note that this is a temporary workaround since this whole screen will need to be completely reworked (see #590) - In the Confirm payment screen, the "Send to" and "Message" labels are in full caps which is not consistent with the other screens (visible in the screenshot in the PR description). Also the Contact details is not aligned with the "Send to" label.
On my device, I also noticed some UI freezes (there's a badge displayed at the top of the screen with the freeze duration -- badge which I suppose comes from iOS). The freeze can last from 500ms up to 4500ms in one case (I used the Take Photo button in the Edit contact screen). This issue actually started to happen a while ago, I think when we merged #577 and added the SKIE stuff back again, though I'm not 100% sure. Unfortunately these freezes happen randomly and cannot be reproduced easily.
Small issue that can be fixed in a later PR:
- a button to scan an offer when creating a new contact
… not consistent with the other screens. Also the Contact details was not aligned with the "Send to" label.
…e in-line with typical Apple design.
I think this is fixed in 5c39416. Please confirm |
Done in 5c6f43b |
In 127bdca I changed the design to match Apple's own Contacts app:
They do the following:
|
Done in 3a900b3 |
Done in 523da71
|
I haven't been able to reproduce this yet. It may only be occurring on iOS 16 (and not 17). I'll keep testing on my older devices (with iOS 15 & 16). |
Alright, I'll let you know if it happens again, for now things are ok. It could be related to the Debug mode (I don't think I got freezes in Release mode). |
It looks much better that way. Is it possible to apply this design to the Edit Screen as well ? Also, it would be useful to be able to pay an offer from the Contacts details/menu. On Android, I did two things:
But i'm not very happy with this. I think tapping on a contact should open the details screen, and there should be a prominent "Pay" button. I just could not a find a good place for this button. |
Done in 0721576
|
Here's what I came up with:
Note that this is less than ideal because we need to remove animated navigation on iOS (#552), but will require dropping support for iOS 15... |
Do you mean that adding this new Last small issue:
|
…tsList, which lead to out-of-sync issues in the UI in certain contexts
No. I didn't explain that well. I mean that it works now, and is compatible with iOS 15. But it will be improved in the future when we fix #552 (and that future work will require dropping support for 15) |
Fixed in bffc585 |





The first version of contacts for iOS:
Notes:
Lots of work was done optimizing for photos. For example, on an iPhone 12 Mini, if a user selects a photo they took, that will be a 12 megapixel (MP) photo (≈ 4,000 * 3,000 = 12,000,000). In terms of file size, it's somewhere around 1.5-3Mb (assuming HEIC format).
But we don't need full size photos for our use case. And we probably want to backup the contacts list to the cloud (encrypted) in the future. So we resize these down to 1MP, which results in a file size of around 100K.
Plus there's a caching mechanism that will resize the photo to the desired size (e.g. 32*32), and store that in a temp cache for the UI.