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. Some devices have optional "magnetic charge cables" to connect to their docking ports, which might increase the life of the device if the Micro-USB or USB-C 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: 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 a closed-source advertisement-supported app like chompSMS or Textra (Textra 4.31 requires 4.4 and ChompSMS 8.35 requires 4.2; previous versions work on 4.1).
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.)
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.
MIT-licensed "podcast" (audio RSS) client with variable-speed playback etc: can simplify download for sites using that format for audio articles
  • 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
JuiceSSH or VX ConnectBot
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. (Organic Maps is currently having trouble with its "Play Store" listing but is still available on Huawei AppGallery.)
  • Axet version 9.1.8 is the last to work on Android 4, but can crash if you let it download maps by itself: a workaround is to use the old version 9.1.8 of upstream Maps.Me to download maps from June 2019, and the Axet fork to use them (don't update).
  • On Android 10 you'll need at least Version 10.2.0 of Axet to avoid label display problems; this has problems downloading its own maps but does load the June 2020 maps fetched by upstream Maps.Me 10.1.3 (again don't update). Or use Organic Maps, which can currently fetch more recent maps.
  • 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) which also reads EPUB etc.
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).
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 Android's 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); can be set to store on SD card, and a default folder can be set (useful when working with ImapFix).
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)
  • 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.

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