Back to Silas S. Brown's home page

How to just about survive in Android OS

If purchasing hardware, beware of "Shanzhai" clones: these typically break down after 3 or 4 months. Reputable manufacturers' devices should last considerably longer. Devices directly controlled by Google (i.e. Nexus) are more likely to get timely security patches. 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 port breaks first.
Regarding BlackBerry devices, I believe the situation is:
Before Blackberry 10No Android support
Blackberry 10 (Q10, Passport etc) not upgraded to 10.2Simple, non-NDK applications can be repackaged for BlackBerry
10.2.1APKs install direct to phone; NDK works; most APIs supported, except for things like taking over the home screen or running a background sound recorder when app is not visible
Privis Android (in a security-enhanced fork)
but I haven't actually tested any BlackBerry device (in particular, I don't know if their physical keyboards are large enough to justify their higher prices).
Some pre-4.4 devices, such as the Galaxy S2, are advertised as having 16G capacity, but only 2G of this is "device memory" and the rest appears as a fake "USB disk" which not all applications can use for their data; telling these devices to move an application to the "SD card" (actually the fake USB disk) does not usually result in all its data being moved, so running out of space is easier than one might think. Some of these devices can reportedly be re-flashed with modified ROMs (using, for example, a GNU/Linux box running Heimdall for the Galaxy) to turn part of the "USB disk" into "device memory", but this is a risky operation and I haven't tried it. Newer devices are less likely to partition their memory in this way.

Real MicroSD cards (usually SDHC i.e. up to 32GB) are supported by some (not all) devices, and can be used for storage of media but not all applications before Android 6 (which can "adopt" a card for extra "internal" storage instead), but any new card must be tested with f3write and f3read (or equivalent) before use, since counterfeit high-capacity cards are common (e.g. "32G" where only 7.4GiB work reliably, even if the seller describes it as ``genuine'' or ``authorized''). Many counterfeit sellers, when faced with a test report mentioning h2testw (a proprietary Windows equivalent of F3) issue a refund and tell you to keep the card. Such cards are often usable if repartitioned downwards to their true (smaller) capacity

but repartitioned cards probably shouldn't be used for Android 6+ internal storage until somebody checks that setup honours the altered partition table.
If you don't have time for all this testing, complaining, repartitioning, and repeating until you get a high enough capacity, it's well worth paying the extra few pounds to buy from a reputable high-street chain instead of online (but test it anyway, just in case they too get caught out).
Jump to: applications

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 Simple Home (which I still recommend: see below), and I suggested refusing to accept OS updates (such as from 4.4 to 5.0) lest they somehow bring back the widget---Android security, especially on third-party devices, is basically a lost battle and 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 is a way to turn off pre-installed widgets, and the instructions that should have been in the box are as follows:

Useful applications

Simple Home
commercial (paid) application included as standard on some devices that can give larger print than the default home screen. It's possible to customise Simple Home, although it does not seem possible to remove its three "speed dial" slots, so I'd suggest moving these to the top (i.e. furthest from your hands) if you don't make voice calls from this device.
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.
920 Text Editor (APKs on GitHub, no longer on "Play Store")
a small GPLd text editor that also tends to appear at the top of SimpleHome's application list. 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.
Triveous Voice Recorder or Rehearsal Assistant
Sound recorders that work in the background and/or with screen off (saving battery) and have visual indicators of successful recording. This might be useful if you need to record something while without a recording device.
  • For distant sources it's better to use WAV if you have the space (44.1kHz = 3.3hr/G) and re-code it later. Triveous's 128 kbps AAC (55M/hr, convertible via mplayer -ao pcm:file=output.wav) works, but Triveous also makes uncompressed WAVs while encoding, and the old Version 3 fails to delete them for tracks exceeding 18 minutes (may vary with hardware)---this was fixed in Version 4, but the device still needs space for the WAV of each track while recording that track, regardless of the "realtime" setting (non-realtime results in an extra encoding step taking about 50% of the recording time). Encoding uses more battery but it's not excessive with the display off.
  • Another alternative is to record OGG with StereoMatch "Amazing MP3 Recorder" (MP3 encoding is a paid add-on but OGG is provided)---its default settings give about 72 kbps for speech (31M/hr, variable); no intermediate WAV files, and many of its early-version problems are fixed (although there is not yet a visual indicator of microphone activity).
  • Rehearsal Assistant is GPL'd but there is a serious bug to be aware of when recording uncompressed (see its SourceForge Bug 4)---on some devices, if you do too much in other apps such as the browser, background recording can be aborted without clearing the red indicator on the notification bar, leaving an incomplete wav file that needs sox --ignore-length to play.
    Triveous and StereoMatch do not have this problem but they're closed-source, although currently without advertisements apart from suggestions to upgrade to their "Pro" versions which unlock more settings.
  • For nearby sounds you could also try Rehearsal Assistant's 48 kbps AMR-NB .3gp (loadable in Audacity, mplayer etc).
  • iPhone ships with Voice Memos (possibly under Extras); it too works with the display switched off or in the background, and records 64kbit AAC (.m4a). Some other iOS programs output .aif files that might need converting on a Mac
GPL'd media player with speed control and playlist navigation which is often lacking on manufacturers' preinstalled players. You might however wish to keep the old player installed as well, because MIDI files are not yet supported by all versions of VLC.
MIT-licensed "podcast" (audio RSS) client with variable-speed playback etc: can simplify download for sites using that format for audio articles
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. VX also 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
  • 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).
OsmAnd (also on iOS)
GPLv3 offline maps program with searching, routing, bookmarks, and location sharing (recipients do not need the application); can pre-download whole countries or regions for use offline (with optional GPS); maps often include house numbers, shortcuts and bus stops, with optional display of routes (useful in big cities where stop assignments are not always obvious on the map).
  • The unpaid binary on Play Store is limited to 7 map downloads (not reset by deleting maps, unless all application data is cleared), but does offer countrywide maps as an alternative to regional ones.
  • Camera and microphone permission is used by a route-notetaking plugin I didn't test. Markers are cleared by sliding down the bottom popup.
  • Beware of Maps.Me (also on iOS & Apache-licensed): has a smoother display (and marginally better editing facilities) but:
    • in May 2017 it shipped with code to place an advertisement under the label when you tap on a building, and the first advertisement I got was for scam "get rich quick" software: I cannot recommend to others a mapping program that might advertise that sort of thing. So ensure "Show offers" is switched off under menu / Settings / Miscellaneous.
    • You'll also need to go to the device settings and Apps / / Show notifications OFF (on iOS it's in the Notification Centre): in October 2016 developers sent a nag telling users to engage in the objectionable and dangerous custom of "trick or treat" via that mechanism.
    • Even with both of these things turned off, it still tells you to join Facebook. Here's why you shouldn't join and how to stop that particular nag.
    You'd have to recompile from source to catch everything. Other regressions include the introduction of overly-frequent reminders to turn GPS back on when you're saving battery, and the removal of Web URLs when sharing locations (the service stopped working for non-iOS/Android platforms in 2017 Q3). Bus routes don't seem to have been implemented yet but the locations of stops are still shown (although the labelling in London is not always consistent with that of TfL's journey planner).
    • In version 7.4.3 Maps.Me started crashing Simple Home 1.0 on Android 4.4; this can be worked around by ensuring it's not started from the Home screen (if it's there, go to Settings > Display > Customise Home > Change apps and replace Maps.Me with something else), then starting it from the menu and allowing it to update its maps, and then restoring its position on the Home screen (it's only the first start after an update that's affected).
  • The older closed-source "MapDroyd" application took less storage space but lacked bus stops, bookmarks and routing, was less responsive and had a less reliable search function. Existing installations should continue to work but cannot download new maps now their server is offline.
Google PDF Viewer
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.
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).
Seconds Clock Widget
Android versions 4.2 to 4.4 can add widgets to the lock screen; this one shows a seconds count with the time, which is not normally done by default, and is useful if you need to start a conference or something at an exact time and the wall clock is too far away to see.
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.
OS Monitor (on Android versions below 7)
GPL'd monitor of processes, network connections and logs: can be useful when diagnosing other applications with problems (can also look up the locations of servers they're connecting to, etc)
Fractoid (Dave Byrne)
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.
Privacy Flashlight Lite (Android 4 and older, no longer on Play Store for the UK)
No-nonsense torch (with 'widget') for devices that have a camera light. Android 5+ bundles this functionality.
WangQi's "My Home Button"
Useful on older devices with worn-out hardware home buttons. When I last checked, it sometimes had advertising on its Settings screen but mercifully not elsewhere.
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).
CamScanner Phone PDF Creator (also on iOS)
Commercial software whose full version might be available without charge via some universities (if you're affiliated with one, this might be worth a check). Applies thresholding and cropping etc to photographs to produce scanned PDF documents; can work offline.
  • iOS note: a pre-3.8.2 version of CamScanner was infected by malware due to its developers having accidentally downloaded "XcodeGhost" instead of Xcode.
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 SimpleHome; 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
  2. Your bank: they just might have an application that works better than their website (for some tasks), although not all 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)
  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)
Recent versions of Android allow background data to be restricted per application in Settings (usually under Data Usage); this does not apply to Wi-Fi connections, which most devices assume are unlimited---in this age of "personal hotspots" it would be nice if designers put in an option to use a Wi-Fi network while keeping the 'mobile' thriftiness in place, but that doesn't seem to be happening.
All material © Silas S. Brown unless otherwise stated.