One of the observations which I’ve made about the Android platform is, that many of the 3rd-party email apps that once used to run well, no longer do so under Android 10, and that, additionally, their devs have often abandoned them.
For that reason, I’m happy to find that such an app still exists, or newly exists, and its name is FairEmail. This is an app, the free version of which can actually be used in the long term, but which I paid for, just to get the extra features.
One of the observations which I can make about this app is, that it has a plethora of settings, some of which I haven’t learned the meaning of yet. But, by default, the way to use it is to follow what is located in its first settings tab, which displays wizards to set up email accounts according to a database of recognized providers, and then, to leave the settings at their defaults. Additional wizards help the user give the app special settings under Android. The app directs the user to the required or optional settings, but it’s up to the user actually ‘to throw the switch’ each time. (:2)
Multiple email accounts can all be set up, using the same wizard.
The app runs in phone-optimized as well as tablet-optimized formats.
One of the features that were highly important to me was, support for both ‘S/MIME’ and ‘OpenPGP’. When using OpenGPG, this app will always encode it using the trendy ‘PGP/MIME’ format, and no longer, using ‘Clearsigning’, which was also referred to as ‘Inline Format’. The use of OpenPGP requires that an additional key-management app be installed, and on my devices, Open Keychain was already so, and was recognized immediately by FairEmail.
The app displays many widgets inside displayed emails, most of which give explicit commands to do things, that might impact the privacy of the user, such as, to display images, to display tracking images, etc. The app tries to distinguish between these two types of images because additionally, being an IMAP Client, downloading even plain images will consume additional data, when many emails can Humanly be understood, without the need actually to see the images. This is especially true for actual Spam.
The app leaves Spam filtering up to the IMAP Server, but displays the Spam Folder as fully accessible.
And many configuration details show me, that it assumes trendy preferences, even though I can’t say that either I, or most of my email contacts, qualify as trendy Internet users. One trendy feature is that this app mainly supports IMAP, and that any support of POP3 which the user may find, will be incomplete at best.
Another trendy setting in this app has to do with “Flowed Text”. This is a term which refers to ‘Pure Text Emails’, in which one paragraph is essentially written on one line. Traditionally, this lack of formatting was reserved for HTML-composed emails, and the receiving email client would always display those flowed. By contrast, traditionally, Pure Text had fixed line-lengths, determined by the sender, and the receiving client would break lines where line-breaks were sent, even if doing so, or not doing so, tended to wreck the appearance of the email…
(Updated 8/13/2020, 10h10… )
(As of 7/23/2020: )
Apparently, the latest trend is to send Pure Text flowed, just as HTML is sent, on the assumption that the receiving client can still display it correctly. What I assume instead is that most of my contacts have email clients, which will display such a flowed paragraph as an annoying one-line paragraph. Therefore, I quickly set out to change this behaviour in the settings…
What I discovered was that the responsible setting – ‘Format Flowed’, located under ‘Settings -> Send -> Advanced’ – which is a button turned ‘Off’ by default, has the inverse meaning to what I’d intuit. When turned ‘Off’, the setting will allow the app to continue to send Pure Text flowed. Turning this ‘On’ actually means, ‘Given Pure Text which is already flowed, format that instead.’ Once this meaning became clear to me, the new setting did what I wanted it to do.
Further, this app makes it difficult to detect, whether Pure Text was sent flowed or not, because when viewing text which is not flowed, the app itself will display paragraphs as though flowed. I guess this is a part of the compatibility with flowed text. I found myself having to open several test-emails I had sent, using a (Desktop) Web-browser, before learning which of those consumed the width of my browser window, and which had fixed-length lines, that I sought.
There exists a separate definition of what Flowed Text might mean, and that has to do with quoting received emails in replies. Traditional behaviour was, that in Pure Text mode, (directly) quoted lines of text are each preceded by the greater-than character – that is, the ‘>’ character. Indirectly quoted lines are preceded by more than one ‘>’ character. Well, when flowed, quoted text is no longer displayed that way. I’m not sure whether the ‘>’ characters would still be encoded in the reply when sending it, but if they are, they are just not displayed, by a receiving client that ‘understands’ flowed, Pure Text.
Email I received using ‘FairEmail’, that contains quoted, Pure Text, which has the ‘>’ characters, is displayed as though each ‘>’ character was meant to start a new paragraph, but displayed without the ‘>’ character itself. On a narrow screen, this seems to result in double-spaced text, or in text rendered as pairs of lines.
I am very impressed with this app.
(Update 7/24/2020, 12h45: )
One of the facts about this app, which deserves mention, is that, using the ‘three-dots’ Settings icon in the upper-right-hand corner, in the email view, it’s possible to check or uncheck the ‘Compact View’ checkbox, which my screen-shots above do not show. A separate, short Menu drops down, when that icon is tapped. Some people might look for this in a Settings Tab, but information there states, that this is available directly from the top bar, in the email view. What the app does by default, is to check this checkbox when being run on a phone, but to have it unchecked, when the app is first activated on a tablet.
The tablet which I generated some of the screen-shots above from, is a ‘Samsung Galaxy Tab S6′. While I still think that this tablet was a good purchase, very high screen resolution is not one of its strengths. It has 2560×1600, and I resized its screen-shots to 1600×1000 to make them more conform to publishing on the Web. Additionally, the same tablet displays its icons and text in a positively huge way, possibly an option that I might be able to change somewhere, with an Android setting I have not yet found. (:1)
When the FairEmail app displays its tablet view, Not Compacted, but on the Tab S6, while viewing a specific email, the view gets corrupted to some degree. For that reason, I have checked this box, resulting in the last screen-short shown above (which strikes me as clean).
Yet, my Google Pixel C Tablet has a screen resolution of 2560×1800, and displays icons and text much smaller, also resulting in a greater number of app icons, and app icon groups in each Home Screen. When FairEmail displays in tablet mode, on the Pixel C, but with ‘Compact View’ unchecked, it seems to find enough real-estate on the screen, for the view not to get corrupted.
Therefore, as I wrote, users of different tablets and phones can customize the app. And additionally, the drop-down menu I just described, allows ‘Text Size’ to be changed, from the app. This could clear up the same issue, even though I have not yet fiddled with it.
(Update 7/24/2020, 14h10: )
Even though FairEmail specifically offers an option, to act as a GMail client, I recommend mainly accessing GMail, using the clients which Google provides, specifically because of its features, or, using a full-featured Web-browser.
However, in an auxiliary sort of way, accessing one’s GMail via IMAP, from a desktop computer, may also be useful, understanding that this method misses out on the linked features of the GMail account.
(Update 7/24/2020, 18h20: )
- Settings -> Display -> Font Size & Style
- Settings -> Display -> Screen Zoom
It is possible to make features on the screen of the Samsung Galaxy Tab S6 smaller. This also allows the app to be run, with the ‘Compact View’ box unchecked, and to display the results without corruption, when a specific email has been tapped.
However, even when these Android settings have been changed, it’s still not possible to make the icon-placement more dense, than a 6×5 grid.
(Update 8/09/2020, 10h25: )
After having played with this email app for some time, I’ve learned that it has one setting, which the user might want to change to something not the default. That setting would be:
Settings -> Receive -> When
In that part of the panel, there is a drop-down menu that defaults to ‘Always’. This is the setting that asks the IMAP-server for push notifications. The problem with this is, that not all servers are disposed to give push notifications. Literally to do so, requires that a socket constantly remain connected between the server and each client. This ties up a resource on the server, which could be too expensive for an email provider to maintain, for many thousands of customers. In fact, this resource may be even more expensive to maintain on Mobile Data. (:3)
I have also observed that, when this drop-down menu is set to ‘Always’, the server is able to send a parameter back to the app, which effectively recommends that the app poll the server again, ‘every 5 minutes’, as an example. The problem with such parameters is that, even when the server is recommending them, they may result from a false assumption that the user is sitting in front of one old-fashioned, open email application, and either reading or composing emails. Such an email application would keep checking the Inbox every 5 minutes, as a result of such a parameter.
Especially if the user has numerous email clients all logged in to the same account, those default settings eventually become too much of a drain on the server, and may result in the app getting blocked at some point in time, from checking the IMAP-server again, for example, if on Mobile Data…
For the moment, I have changed this drop-down entry, to ‘Every 4 hours’ on 2 out of my 3 Android devices, and to ‘
Every 30 minutes Every hour’ on a 3rd Android device. What I am hoping for now is, that the server will eventually ‘notice’ that my user-name is asking for fewer updates as a result, and may therefore grant me the ability to connect again, while my 3rd Android device is on Mobile Data.
Recently, that 3rd Android device was so-blocked.
(Update 8/10/2020, 12h00: )
The way push notifications usually work, is that, in a similar fashion, the client device does keep a socket to some central server alive, and that, like FairEmail set to ‘Always’, if the socket gets dropped, the client simply tries to reestablish it. However, the way push notifications usually work, this socket is maintained to a high-performance server, which specializes in sending out push notifications.
Google operates such a monster, for Android push notifications, and in theory, an Android device may receive similar notifications in a parallel way, from any of its installed Accounts. However, it is not standard, that each and every IMAP-server is set up, performance-wise, to send push notifications.
(Update 8/12/2020, 13h45: )
Using the app, with the sync frequency set to ‘Every hour’, as explained above, I noticed a behaviour which may or may not be a bug. The app synced several minutes past the hour, and my next inspection of the folders revealed that I had received apparent spam. Next, I instructed the app to move that spam to my inbox, because I do not regard those emails as spam. They appeared in the inbox as unread. And then, navigating to the inbox, I marked both emails as read.
This last operation was not synced immediately to the server, and I can imagine two reasons why it might not have been:
- The app may have been programmed such, that when minor operations are performed on a folder, it does not re-authenticate. Such a disposition would actually be consistent with the sync frequency being set to ‘Always’, and would constitute a minor bug, because as soon as the synchronizations become periodic, each operation needs to be re-authenticated. The assumption then is, that the socket was dropped since the last operation, which is not actually the assumption, if sync is set to ‘Always’, Or
- The app may alternatively have been programmed so that subsequent operations on the folder are saved to the Operations cue, with the intent to perform those
1 hourlater, according to my settings. If this is what the dev had in mind, fine, but, the user needs to be aware then, that there could be operations pending in the cue, which, if they fail to be carried out – say, before the phone is rebooted – this would be equivalent to deleting pending operations, and could result in eventual loss of data. (:4)
Regardless of which the reason was, I next forced these minor operations to sync, by tugging down on the view of the folders’ contents, and may have created a subsequent situation, in which the state of the app was confused, about whether automatic, periodic synchronizations should still be carried out, or, whether all the subsequent synchronizations were supposed to be manual after that.
This failure afterwards, to carry out periodic synchronizations, could also have been due to other issues which I was trying to troubleshoot, but, troubleshooting is always more difficult, when the user has more than one possible explanation – in this case, for a failure of the app to sync. What I do know is the fact that eventually, the app started syncing again.
(Update 8/13/2020, 6h50: )
I think that this app employs two main techniques, to enable it to keep syncing in the background, even though under Android 10, 3rd-party apps can no longer register themselves (permanently) as services:
- A supposedly permanent notification, And
- Scheduled events, which call a function belonging to the app, according to support by the Android API.
But I suspect that there is a slight bug with the app, in that, once the user has tugged down on the list of emails in a folder view, in order to force a manual sync, the permanent icon disappears, so that subsequent, periodic syncs, not set to ‘Always’, take place less reliably after that.
What I expect should happen is that either:
- Launching the app manually in the foreground should cause the permanent notification to reappear and stay, Or
- The scheduled events should cause synchronizations to take place, as long as those will not take more than a few seconds to carry out.
And I think that in its present state, the app does (2) but not (1) above.
(Update 8/13/2020, 10h10: )
I think I’ve noticed two interesting features, about the way in which the dev did handle the subject of background syncs:
- FairEmail will recreate a ‘Receive Notification’, directly after the user closes the app casually, and it’s under the protection of this notification, that the app ‘cleans up’ the operations left in the operations cue, let’s say, because the user merely marked certain emails as read, And
- I’m beginning to get the impression that, with the latest version of the app, this ‘Receive Notification’ is no longer meant to be permanent, in the case where it indicates “Monitoring 0 accounts.”
In other words, everything that I’ve been writing about since August 12, may have been the intended behaviour of the app.