This past week alone, two pals of mine, who have historically resisted change, have traded their old-school cell phones (of the Symbian variety) for next-gen SmartPhones. One, an Android, the other, an iPhone. Upon getting home and beginning to introduce themselves to a new paradigm in communication technologies, each contacted me separately to ask what they need to know to get each to work the way they want, having discovered things about each that come up short.
Technology, by the way, is always a trade-off. For each convenience offered, there are always new obstacles to overcome.
As far as operating systems go, this is a seemingly timeless (and predictably endless), Coke vs. Pepsi debate. The two leading mobile/tablet platforms, Android and iOS are both far from perfect on their own. While they do have much in common, such as superb haptic interfaces and decent battery life, this is true especially when it comes to making each work the way we want, out-of-the-box. There is a tradeoff involved in each of them. This overhead includes installing and configuring them to work just the way we like.
iOS, for example, while far more mature, stable, and predictable in performance, is missing a great deal of core functionality, requiring us to jailbreak it in order to fully realize the device’s potential as a tool, both for work and play.
Android, on the other hand, is friendlier in this regard, however, lacks much of the stability and ease-of-use, requiring third party ROMs installed for seemingly every other app. This is reminiscent of Windows’ driver requirements, each of which further contributes to a system’s unpredictable performance.
Much of this is due to the Android Market being less discerning in terms of the quality of apps it allows into the wild. We do complain about Apple’s App Store for not being as utilitarian as we’d like, however, it is far more discriminating about the quality of apps offered. This, in addition to superior hardware design, contribute to making iOS the more stable and predictable platform.
The best of breed, IMHO, is jailbroken iOS. The addition of tools, such as coreutils, Terminal, OpenSSH, and SBSSettings, adds the invaluable functionality of Debian to the stability of the existing platform atop the elegant design and usability of the hardware.
As stated earlier, though, not without a little time and effort ; )
As an example, one of the additional steps required on iOS (post-jailbreak) occurs after installing and configuring OpenSSH. Upon connecting to devices, we see the following error once we are logged into a shell and perform the ls command to view contents of the current directory:
>ls
>ls: unrecognized prefix: hl
>ls: unparsable value for LS_COLORS environment variable
This issue is well known and documented in a Debian Bug report log:
#544871 – coreutils: ls complains about LS_COLORS: unrecognized prefix: hl, color define has been changed from hl to mh, which produced the error.
There is a simple solution to this. Do:
vi /etc/profile.d/coreutils.sh
modify the dircolors value thus: eval “$(dircolors -b | sed s/hl/mh/)â€
then do: source /etc/profile.d/coreutils.sh
Well-known is documented is great, however, it is preferable to not have to modify anything at all and without requiring additional time researching and/or sleuthing. Things are indeed getting better, though, and as each evolves, we will continue to see improvement in the way each is used and developed, requiring less and less overhead at the outset in order to have access to the modern Swiss Army Knife that each can and will eventually be – out-of-the-box : )