Back to Silas S. Brown's home page

How to just about survive in Android OS

Jump to: applications

If purchasing hardware, beware of "Shanzhai" models: these typically break down after 3 to 4 months, and some reportedly shipped with malware (e.g. Tecno). Reputable manufacturers' devices should last several years, although some 'budget' options have been known to last less than two. Devices advertised as "waterproof" are not necessarily usable in wet weather, and can have overly-sensitive touchscreens even in dry weather. Newer devices tend to charge via USB-C; some devices using the older Micro-USB also have optional "magnetic charge cables" to connect to their docking ports, which I suppose might increase the life of the device if the Micro-USB port breaks first.

Android 4 has a "Font size" setting under "Display" (although the range is limited); Android 6+ has "Accessibility" settings including Font size and also "Display size" which changes the reported DPI---this can work better with some applications. "TalkBack" screen reader is also available.

Taming the Home screen

Some devices ship with 'widget' software that plays a continuous stream of advertisements from the Home screen, consuming your data allowance and generally being a distraction---especially if you intend to use your device to demonstrate things to others. Sony's "What's New" is one such example and cannot be disabled from Settings/Apps. I was initially able to mitigate this by using Sony's "Simple Home" (which can give larger print, although the customisation options for Version 1.0 on Android 4.x don't allow for removal of its three "speed dial" slots---I suggested moving these to the top i.e. furthest from your hands if you don't make voice calls from this device), and I suggested refusing to accept OS updates (such as from 4.4 to 5.0) just in case the update removes Simple Home and brings back the "What's New" widget (Android security is basically a lost battle anyway---even Google's own "Nexus" models have ceased to be patched just 3 years after initial release---so you should be aware that anything you store is at risk of compromise no matter what; if the consequences of that are worse than inconvenience, keep it on something that's more secure than Android)---but it turns out there's a way to turn off pre-installed widgets without relying on the availability of Simple Home. The instructions that should have been in the box are as follows:

Chrome Tab switching issues

On phones (not tablets) running Android 5 and higher, recent versions of the Chrome web browser changed the tab switcher to a "grid" version that significantly reduces the size of page previews, which is bad for low-vision accessibility. The ability to revert this using chrome://flags was disabled in Chrome 91 (May 2021), and Firefox's settable tab grid is only slightly less small. If you don't want to risk known-insecure older versions of Chrome, you could try Samsung Internet (its "tab stack" does reduce the previewable area but doesn't shrink the font so much)---also has a universal dark-mode switch, and its option to change text size takes fewer taps to reach (which can be useful if some bad web design makes a site impossible to navigate unless you temporarily reduce size and struggle; Chrome, Firefox and Ecosia have size settings under Accessibility which takes a little longer to reach). In new Chrome, at least tabs within the same group can be switched without preview by first scrolling up a little.

Useful applications

Unless otherwise specified, these can be searched for in the "Play Store", but beware that advertisers can pay for other apps to be listed at the top of the search results, so the app you searched for is not always the first result.
Hacker's Keyboard
The only application I could find with a correctly laid out on-screen Dvorak keyboard, although it's still not as good as a physical keyboard (which is sorely lacking from most Android devices). Hacker's Keyboard is Apache-licensed.
QKSMS by Moez Bhatti (Android 5+)
If your phone shipped with a messaging app that insists on sending long SMS messages as premium MMS "picture" messages, you might prefer to install this app which does not. It's open-source, tested with TalkBack and has a night mode. It's also able to send Unicode messages by default, unlike some preinstalled messaging apps that require this to be turned on in a setting misleadingly named "input mode" (actually transmission mode)
  • If you're stuck on Android 4.1 to 4.4 (which cannot run QKSMS) and need to send long messages, then your only option is probably an old version of Textra (its version 4.3 supported Android 4.1, and 4.5 supported Android 4.4) or ChompSMS (version 8.34 for Android 4.1, 8.55 for Android 4.4).
920 Text Editor (on Android 8 or below; APKs on GitHub, no longer on "Play Store")
a small GPLd text editor that also tends to appear at the top of Simple Home's application list. Does not run on Android 9: try TwoSevenTwo's "I<code> Go" Code Editor (larger) instead [this was removed from Play Store in July 2020], or use the editor bundled with Speed Software Explorer but that one has smaller fonts, is more complex to start and has no syntax highlighting. Text editors are always useful: even if you won't be editing, you might at some point need it for converting the clipboard contents to text (so it can be pasted into an application that does not do so itself) or to save something to a file, and 920 can also double as a rudimentary file manager if you don't have one. It's not Emacs though: its syntax highlighting is limited and it's slow with large files. Beware it can crash (for example, at least some versions crash when a Bluetooth keyboard is connected or in low-memory situations), so text that has not been saved is highly vulnerable.
Speed Software Explorer
A file manager. If your device shipped with a non-advertising version of File Commander which later updated to one that advertises, or if you were annoyed when ES File Explorer started to promote festive "themes" on its Home screen and gambling games on its Apps screen, then you might prefer this one which was still without advertisements last time I checked. Can also create shortcuts to specific files on the Home screen, provided that Simple Home is not running at the time of shortcut creation. (Android 5+ can use Google's "Files Go", which usually ships with Android 8+ by default, but you might still want Speed Software Explorer if Files Go is insufficient.) Can read the "Android/data" directories of other apps in Android 4 through 10 but this was blocked in Android 11 (and their workaround didn't work for me on an Android 12 device).
VLC (also on iOS)
GPL'd media player with speed control and playlist navigation which is often lacking on manufacturers' preinstalled players. (iOS version also has video-download functionality not present in iOS's browser.) You might however wish to keep the old player installed as well, because MIDI files are not yet supported by all versions of VLC. VLC became Android 4.2+ in April 2019; older versions are still available for 4.1 etc.
AntennaPod
MIT-licensed "podcast" (audio RSS) client with variable-speed playback etc: can simplify download for sites using that format for audio articles. (Version 2.5 increased the minimum Android requirement from 4.1 to 4.4.)
  • Recent versions of iOS have a built-in "Podcasts" app with similar functionality, but the "Podcasts" app in iOS 8 and below lacks the option to add your own URL
VX ConnectBot (no longer on Play Store) or JuiceSSH
VX is Apache-licensed and supports port forwarding (might be needed for desktop SSH), but not password remembering for servers that don't "do" public-key authentication and its landscape mode might need manual configuration; Juice lacks these limitations but the unpaid version can't port-forward, and Version 3 began to require Android 8---on earlier devices you'll need an older APK. VX has a built-in file uploader but this doesn't always work, and the scp command available on the local shell doesn't work in all Android versions, but you could use ssh -C user@host 'cat > filename' < filename or ssh user@host 'tar -c directory | xz -9' > downloaded.txz
  • On Android 7+ (and possibly still working on 5 and 6 but I haven't tested this), you might prefer Termux for its more complete local shell with installable packages (including SSH, expect etc)---pinch to zoom; Paste option appears on long-press menu once text is available; you can't scroll during select so you must temporarily zoom out, and horizontal arrow keys require Hacker's Keyboard to be set to 5-row; Play Store version currently not updating (pending a rewrite for new security rules) but still works.
  • If you only have iOS, try Arnaud Mengus's "WebSSH Essential" application (Arnaud was kind enough to add some larger fonts when I beta-tested it).
Axet Maps or Organic Maps
These are forks of Maps.Me offline maps without the advertisements.
  • In 2021 Organic Maps changed their package name (and the old version is no longer supported by map-download servers); to update, you might have to back up your bookmarks, uninstall and reinstall.
  • To avoid crashes on Android 4, use the old version 9.1.8 of upstream Maps.Me to download maps from June 2019, and the same version of the Axet fork to use them (don't update).
  • On more recent Android please use Organic Maps to avoid problems with Axet.
  • I cannot recommend the unmodified Maps.Me because I saw it carry advertising for scam get-rich-quick schemes and gambling apps. But a suitably set-up "ad-free" fork may be useful for navigating in areas where OSM data is better than Google data (e.g. for walking directions).
  • If you only need Google-level data, their Maps app now has "advanced options" to download areas of your choosing for offline use (with some exceptions e.g. mainland China), so you could just use that. (In 2020 they moved these options to the "Account" menu at top right.)
  • iOS has only the original Maps.Me which I cannot recommend. It has a build of OsmAnd, but the unpaid version of this build is limited to 5 map downloads without updates. (OsmAnd is also less responsive as it doesn't pre-render as much, but the difference is not great on a reasonably-capable iPhone.)
GPS Status & Toolbox (also on iOS; beware advertising)
Provides (among other things) a way to force the phone to update its ephemeris data to give faster GPS fixes for a few days. Useful because some design flaw made Android's automatic GPS management often insufficient and there's no way to force it in the system's own settings; older Android devices can become noticeably slow at acquiring GPS (if they manage to at all) without this utility. Third-party advertising was added to the unpaid version at the end of December 2017; the last version not to have it was 8.0.168. Then in April 2021 version 11 increased the minimum Android requirement to 8, so you'll likely need to side-load an older version for older devices.
  • GPS Status & Toolbox can also read other sensors (Menu > Diagnose sensors), the most useful of which is the light-intensity sensor (in lux) which can help you check lamps for phosphor degradation. The 'step counter' is less useful as it counts only when activated (and is reset on boot).
Google PDF Viewer (no longer on Play Store)
Does not require you to zoom out before turning pages as some bundled viewers do. Scrolls vertically; default zoom is page width. If you prefer horizontal scrolling with default zoom to full page, try MuPDF (AGPL, no longer on Play Store) which also reads EPUB etc. On Android 6+ you might prefer Adobe Acrobat Reader 21+ which has Liquid Mode (tries to reflow documents in big print, but doesn't always work) and a speech-synthesis button
Google Docs
Can view Microsoft Word files offline (and tends to be faster and a bit smaller than Microsoft's own app, unless that one came preinstalled on your device). Some 'chat' apps (e.g. WeChat) require a .doc viewer to be installed before you can access any .doc file a contact might send you---there is no option to save the file for later viewing on another device.
Lithium EPUB Reader (Android 4.1+)
Comparatively low resource requirements, night-theme option, font zooming (up to a point) and remembers your position when reloaded. Closed-source but without advertisements last time I checked. Can have trouble with wide tables (Annogen-generated apps like "Pinyin Web Browser" handle EPUBs with wide tables, but don't duplicate Lithium's other features like popup footnotes).
CHM Reader X
Useful if you sometimes need to consult offline documentation in CHM format; this reader is faster than others when dealing with large files. Closed-source but without advertisements last time I checked. When dealing with framesets, you can show only one frame by editing Android/data/com.pdagate.chmreader/files/chmReaderState and changing page: (see text strings near start of chm file to figure out what to set it to), then bookmarking the result. Then use this bookmark whenever you need to go back to the within-frame starting page (as the reader defaults to opening the last page visited).
kWS (no longer on Play Store)
Simple Web server suitable for sharing files over WiFi, which can be useful if Bluetooth is too slow or not working. You'll need to switch on "hotspot" functionality (disable mobile data first if you don't want clients using up your quota); the IP and port that clients should browse to is displayed on kWS startup. Some older devices (e.g. WM6) might not be able to connect to the hotspot, even in Open mode, due to subtle protocol changes over the years. Some applications have their own WiFi-sharing functionality but that usually requires the same application to be installed on all devices; a Web server requires only a browser.
Fractoid (Dave Byrne, no longer on Play Store)
GPL'd fractal viewer, in case you ever need to explain the concept (but don't expect it to be as fast as XaoS on a desktop)
EUMLab Pro Metronome (also on iOS)
Useful for musicians if someone asks about tempo during a rehearsal and nobody has brought a metronome. This one is currently without advertisements but is closed source. Subdivisions require a paid upgrade.
K-9 Mail
Apache-licensed fork of the Android 4.4 email client with fewer problems (in particular, deleted messages are less likely to reappear on sync just because their flags are different on the server); has dark theme and configurable font sizes (may require restart), and a default folder can be set (useful when working with ImapFix). Old version 5.6 or below is required for Android 4.x; OAuth 2 (now used by some "cloud" email providers) has 'wobbly' support in version 6.2, or you might be able to set an "app password" (or on Android 5+ try "FairEmail" which can do OAuth2 to GMail and also set default folders etc)
Web Widget by Dennis Kempf
No longer maintained but still just about works on Android 10 if you want to display arbitrary information on the Home screen and are not running SimpleHome: works best when pointed at your own server so you can fully control the appearance from the server side, but beware it hard-codes a short timeout (so if writing a CGI make sure it's fast even if widget updates are mostly non-interactive); it can refresh more frequently than asked and frequently clear its display due to timeout anyway. And on Samsung phones it can set off spurious "background power drain" alerts (but if "put to sleep" it stops updating completely even when tapped)
  • Alternatively on Android 5+ "KWGT Kustom [sic] Widget Maker" can create a widget to fetch and display a piece of text, without markup, but without the timeout and load issues. The downside is KWGT has advertisements, but mercifully they are not displayed on the completed widget. Use the wg command, set Items / Text / Type = Fixed Width, use a combination of that width value (which sets margins) and Layer / Scale (which sets size), and set touch action to Disabled (or to launch an app of your choice) if you don't want a single tap to bring you back to the edit screen.
Beware of CamScanner Phone PDF Creator
Commercial software whose full version used to be available without charge via some universities (and became popular at Cambridge), but the developers have since been dangerously careless, resulting in remotely-controlled malware infections on both iOS and Android (and also the promotion of gambling). The fact that this happened multiple times caused me to feel the developers haven't learned and are likely to do it again. If you must use CamScanner, I suggest obtaining an APK for the old version 4.3.0 (2016-12-01), use it without registration (as it's no longer supported by their servers), and, if possible, crop off the watermark on your scanned PDFs before showing them to others so as to avoid promoting a dangerous app. But there are alternatives:
  • Android 7+ can run "Microsoft Office Lens---PDF Scanner" which can image-process offline but requires access to its server to assemble multiple pages into a PDF; I don't know if the old Android 6 version still works with the server, but you can save individual processed pages to "Gallery" and assemble them later if you don't have signal at the point of scan, or if uploading fails completely---which it sometimes does in 2022 due to server issues---you can use imagemagick's convert command to concatenate them and create a PDF,
  • and the "Google Drive" app (which is often bundled by default) has a "Scan" option that can do both the image-processing and the PDF-assembly offline (even on Android 4.x), although of course it will also insist on uploading the PDF to its "Drive" server as soon as there is a data connection.
You might like to try both and see which one's image-processing works best with your documents.
Contacts Backup Ultimate (SpecSoft, no longer on Play Store)
Useful if any of the device's Contacts have higher-resolution (720x720) images: the standard Contacts application reduces their quality on export (at least up to Android 10). But the non-standard XML plus PNG backup will not easily import into another device without this app or a conversion script. For VCF format on Android 5+ there is "Super Backup" from MobileIdea Studio but beware (a) it plays noisy video advertisements that can flash (epileptics might want to look away from the screen) and (b) Android does not internally store contact images as JPEG, so exporting to that format is not suitable for repeated operations---re-importing (perhaps after edits to the file) and re-exporting (after changes on the phone) will result in worse images than the first export, because the JPEG compression artefacts were converted back to bitmap and then re-encoded, so if you need repeated import-export then you'd better have your scripts take images from the earlier version when possible. (It may also be advisable to take any TEL lines with PREF in them and place them before other TEL lines in the same VCARD, as some phones fail to import this attribute and just set the default number to the first one listed.)

I now have a separate page about sound-recorder apps.

You might also wish to check:
  1. Your local transport authority or bus company (if you are a bus user), for example Cambridgeshire's "MyBusTrip" (annoyingly listed under M by Simple Home; this can be worked around by assigning it a place on the dial-pad) presents the same data as on the bus stop signs, which might be useful if your stop lacks a sign or you're not close enough to see it; some buses are actually tracked while others are just assumed to be in their timetabled locations. See also nextbuses.mobi although I'm not sure if they always use the same data.
  2. Your bank: they just might have an application that works better than their website (for some tasks), although few if any banks test on all versions of Android so don't be surprised if they break it
  3. Any large marketplace site you sometimes happen to use (again their application might work better than their website for some tasks, but might break on some versions of Android)
  4. Any large supermarkets you sometimes use for deliveries (same applies)
  5. Your local library (some of them subscribe to digital audiobook services)
  6. Any other large organisation(s) you're associated with might have applications to expedite access to their servers and/or reading material, which might be worth checking (especially if they allow offline use)
  7. Any ``chat'' networks your contacts use (but beware of commercial licenses and data use)
Since at least Android 4.x, background data can be restricted per application in Settings (usually under Data Usage), and Android 9 finally implemented my suggestion of also allowing Wi-Fi connections to be limited---useful for connecting to "personal hotspots" etc.

"Wi-Fi Calling" on Android

"WiFi calling" (the ability to route voice calls, and sometimes SMS messages, to and from your mobile-phone provider via WiFi when the building you're in blocks their signal) is not a "standard" feature of Android, but is provided as an extra by certain manufacturers on certain devices. Therefore there is no specific "minimum Android version" that supplies WiFi calling---you have to choose from one of these particular models: Galaxy S6+, HTC 10+, Huawei P10+, Nexus 5X+/Pixel+, Xperia XZ1, E&OE, but beware Huawei phones made after late May 2019 no longer use the Google application store due to American trade sanctions.

The old "inTouch" app from H3G UK ceased to be supported on 15th May 2019. This used to make WiFi-calling available on more devices (by carrying it separately from the phone's built-in dialler) and was a reason to choose the Three network on such devices, but this is no longer the case.


All material © Silas S. Brown unless otherwise stated.