Copying Mail Folders in Apple Mail

This is a bug I encountered in the process of supporting a CloudPull customer. I filed it as Radar 19512236.

Product: OS X

Classification: Serious Bug

Reproducibility: Always

Title: Copying Mail Folders in Apple Mail

Description: The ability to copy mail folders from one account to another in Apple Mail appears to be broken. The folder gets created in the destination account, but without that folder's messages.

Steps to Reproduce:
1. Configure Apple Mail with two IMAP accounts.
2. Select a folder from the source list under one account, and drag it to an area of the source list in the other account.

Expected Results:
I would expect that the folder and its messages are copied from the source account to the destination account.

Actual Results:
The folder is created in the destination account, but without any messages.

Configuration:
I see this using Gmail accounts as both the source and destination accounts. I also see this if the source account exists “On My Mac”.

Version & Build:
OS X 10.1.1 (14B25)

Additional Notes:
N/A.

Video Mirroring and Password Entry

Earlier this week I demonstrated an iOS app at CocoaHeads Boston. I intended to demonstrate the app's 1Password integration, but I hit a snag. The 1Password extension asked me for my master password. It did not allow me to authenticate with my thumbprint. I entered the first character of the master password, saw the character in clear text on the screen, and realized that continuing to enter the password in front of forty people would be unwise. I should have considered this ahead of time and used my development device with a separate 1Password keychain and master password.

On the Mac, this would not have been an issue. Password characters are shown as bullet (•) characters. On iOS, each character is shown in clear text for a short period of time. This is a reasonable compromise, but I think it should be reconsidered when the display is being mirrored to another screen through a connector or through AirPlay Mirroring.

I describe my desire in Radar 19436675:

Product: iOS

Classification: Security

Reproducibility: Always

Title: Video Mirroring and Password Entry

Description: When you enter a password into a UITextField that has “secureTextEntry” enabled, each character is shown on the screen for a short amount of time. This is a reasonable compromise, but this makes it difficult to securely enter a password when giving a presentation. Anyone watching your screen or a mirror of it can see the password.

I am requesting that, when video is being mirrored to an external screen through a connector or through AirPlay Mirroring, the password characters never appear in clear text on the screen — or at least not on devices mirroring its screen.

Steps to Reproduce:
1. Use AirPlay Mirroring to share your screen with a room full of people.
2. Open Settings and navigate to Mail, Contacts, Calendars → Add Account → iCloud.
3. Enter your iCloud email address and password.

Expected Results:
I would like to be able to enter my password, feeling secure in the knowledge that no one else can see it.

Actual Results:
Anyone watching the mirror of the screen can see password characters as they are typed.

Configuration:
I assume this is as expected on all iOS devices. I see this on my iPhone 5S when mirroring to an Apple TV.

Version & Build:
iOS 8.1.2 (12B440)

Additional Notes:
The same is true of password fields on web pages in Safari and in other web views. I assume that those password fields are implemented as UITextFields with secureTextEntry enabled. If they are not, password fields in web views should be addressed as well.

JMAP

I am very interested in JMAP, a standard proposed by FastMail as a replacement for the aging IMAP protocol.

I have a few observations:

  • As of now, FastMail uses the mail folder metaphor. A message exists in exactly one mail folder. JMAP supports the concept of messages existing in multiple mail folders, but does not require that a server support that. I am very curious as to whether this is a sign that FastMail intends to support the concept of labels or tags in its service.
  • In addition to being an open standard, this API appears cleaner and easier to use than the Gmail API. I would love to see Google move towards JMAP.
  • JMAP does not allow the client to view or set server-side filters. I can appreciate why this might be excluded from version 1.0, but I hope this is revisited in the future.

Flaky UIDocumentPickerViewController?

I recently needed to implement selection of an external document in an iOS app. Initially UIDocumentPickerViewController seemed like the perfect tool for the job. As I started to incorporate it, I ran into two significant problems.

First, the document picker process would often crash. I could easily make the document picker crash within a minute or two of using it. I submitted Radar 19362804 with ten crash logs.

Second, I am not seeing all third party document providers that I should see. I have Dropbox, iCloud Drive, and Transmit installed. All three are enabled. Transmit is the only one that appears. I submitted Radar 19362854 describing this.

I see these problems on both my iPhone 5s and on my iPod Touch. I see them in my app as well as other apps that use document pickers. Are others seeing this level of instability in document pickers?

For the time being, I have decided to avoid UIDocumentPickerViewController and to use the Dropbox Chooser API. It feels like a quaint approach, but it works reliably.