Category Archives: General

Android Hate of the Day: Missing Basic Functionality

[This post is part of a series on my initial Android impressions.]
Just to be clear, my Android criticism is because I want this shit fixed in the last promising mobile platform standing, not because I hate it. Platform specific comments are based on the default MT4GS Android 2.3.4 with Sense 3.0 ROM, rooted and largely de-bloated. And now for the hate.

Android doesn’t come with a file manager. It doesn’t come with a terminal emulator, or a task manager, or almost any of the things one has come to reasonably expect an operating system to have. This makes it excessively hard to share instructions, since everyone is using interfaces broken in slightly different ways, and means the first few days of using a new device are spent on “Damnit! why won’t it do $Basic_function? Now I have to sort through the crap pile in the app store until I find one that actually works.” (which, come to think of it, is likely the objective.)
The file handler functionality is as good as any desktop platform (I don’t actually know if it is based on XDG like most other *nixes, or some homegrown solution) so it wouldn’t debilitate third party solutions to have sane defaults, and the argument that most users wouldn’t want all of those functions is completely specious… it took me a couple hours to strip most of the unwanted crap off my new phone, and that crap was certainly less useful than the things I’m complaining about being missing.
Also, most of the third party solutions suck. I’ve been using ConnectBot for a shell, which is better than the other free options I’ve tried, but handles the keyboard differently than every other program, and thus has problems with entering symbols like “|” and “>” which are sort of important on the command line. Likewise, after several seriously disappointing alternatives, I’ve settled on ES File Explorer for file management (also a solid [s]ftp/smb client), which is a little quirky about permissions and different file systems, and is nearly unusable in landscape mode (a rant for later), but is generally adequate. I’ve heard there may be some paid alternatives which are significantly better, but the idea of paying for this kind of basic functionality is infuriating – it is basically the same situation of coughing up for a Mac then having to buy one of a dozen Finders from some random dude for $20 before you could use it.

Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment

Android Hate of the Day: Process Management

[This post is part of a series on my initial Android impressions.]
Just to be clear, my Android criticism is because I want this shit fixed in the last promising mobile platform standing, not because I hate it. Platform specific comments are based on the default MT4GS Android 2.3.4 with Sense 3.0 ROM, rooted and largely de-bloated. And now for the hate.

The task/process model Android uses is total bullshit. Task switching via the launcher is clumsy, and having things popping in and out of memory at random creates performance instability and the worst kind of non-determinism. To make an easy-to-demonstrate example, hit the “Internet” button – is it just bringing the screen back up, or starting over reloading the page you were on? You don’t know unless some form data disappeared, but the page probably does. This is especially significant in a mobile device, where user input is time and energy intensive, and, more importantly, the close button has a strong implication of “get up off my battery” that isn’t necessarily being honored.
This also runs afoul of the “never lie to your user” axiom; there is a difference between running and non-running processes, and trying to ignore that distinction, unlike every other multitasking platform, is going to cause more confusion that it saves.
This is again partially fixable via third party software – I’ve been using Gemini App Manager to hunt down badly behaving processes. Unfortunately, Gemini App Manager is seriously clunky, and between the profusion of RAM-eating background processes endemic to Android (and Sense…), and the number of apps designed with the expectation that they be allowed to sit in the background doing nothing useful, it isn’t really practical to keep an eye on what is running. I haven’t found anything that helps with the lack of a proper task switcher, and the “Recent” list from holding the home button or bringing up the notification screen is not even close to a solution.
This is, in my opinion, the most fundamentally broken thing about Android, and will be the hardest to fix in a sane way, especially without running afoul of someone else’s ridiculous patents. I’ve mentioned before that Google’s recent spate of UI hires gives me hope on this front, especially Matias Duarte who designed good solutions for task switching on a number of other mobile platforms, but for the time being it makes me irritable.

Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment

iOS is not a Promising Platform (for me)

This is a response to “what about iOS?” questions from my calling Android “the last promising mobile platform standing” in the boilerplate for the posts I’ve been making about problems with Android. I come prepared with a list from my last two rounds of mobile device shopping.

  • The whole Jailbreaking mess is ridiculous. Android rooting is a relitively passive process, and the manufacturers are actually trying to be helpful. Apple is actively trying to lock you out of your device on every update. I’m a firm believer in the “If you can’t open it, you don’t own it” philosophy, and I like owning my computers.
  • Silly domain-specific language. Apple likes to act like their implemenation of Objective-C is a general purpose language (and that the versions for OS X and iOS aren’t mutually incompatible dialects), but when was the last time you saw something in Objective-C that wasn’t for an Apple platform? Even if you can come up with something, the other implementations are all OpenStep compliant – which is to say, incompatible with Apple’s. I will admit that using native code that is a superset of C is arguably better than the “Everything is written in Java and runs through our re-implemented JVM” situation on Android, but at least Google has their NDK now.
  • To write code for iOS, you need a recent Mac, Xcode, and a subscription to Apple’s developer program. To develop for Android, you need a computer. Google has a nice integrated eclipse-based toolchain, but if you want to do it with a text editor, make, and the binaries for whatever platform you are running from the SDK, there are directions for that too. I’d really prefer that the “computer” requirement wasn’t there – being able to try out simple scripts and compile test C programs on Maemo was wonderful, WebOS had it, and I want it on Android… apparently you can hack a toolchain together on Android with tcc and uclibc/dietlibc, and I’ve been trying, but I’m not willing to pay for a broken version.
  • All of the current mobile platforms give an unprecedented amount of access to the platform owner. I don’t trust Apple enough to give them a snitch in my pocket. I’m not entirely comfortable with Google having that kind of access either, but it’s a “choose your poison” situation.
  • No native multitasking. Apple has that weird freeze state background callback mechanism they call multitasking, which works in limited circumstances, but it really isn’t. They also don’t have a platform level clipboard mechanism or any of the other features that make multitasking work. WebOS’s behaviors in that regard were better than Androids, but… yeah.
  • Single source for software. Android has a checkbox to use alternative sources, and doesn’t have byzantine rules on what goes in Google’s market. iOS has “Jailbreak, install a third party manager, and pray the next update doesn’t brick your phone”, coupled with a transparency-free review process for applications that go in their store. That’s an appliance with vendor-provided modules, not a platform.
  • I want a god damn keyboard. Using up half your expensive high-resolution screen for a keyboard large enough to mash your fingers on is retarded, and I’m yet to use a software keyboard that comes close to being as usable as even second-rate hardware keyboards. Apple has a long standing war on buttons, so built in isn’t going to happen, and third party clip on Bluetooth keyboards aren’t a solution.

Honestly, a 4-ish inch iOS device with a physical keyboard hacked such that it would have nothing to do with Apple’s servers (Updates when I ask, Cydia (rebadged dpkg) for package management, etc.) would be a pretty attractive platform – the underlying tech is good, and the userland is more POSIX-like than Android – but Apple won’t let that happen.
As for other platforms, I don’t see any evidence that Windows Phone is going to be any more successful or desirable than the previous incarnations of WinCE and WinMo – they seem to just be copying iOS, stupid omissions and all, on top of a different kernel. HP did their stupid thing to WebOS, and Nokia just killed their own to turn themselves into Microsoft’s mobile hardware division in all but name (which, history tells us, means they should be defunct shortly). So. Last promising platform standing.
Edit: I would make a note about it being tied to iTunes, which I despise in almost every way imaginable, but I once owned and liked a Creative Nomad Jukebox 3 where step one is “Get third party replacement software,” and the situation is much the same with Apple. Also, removable storage counts as a plus for Android, but Apple hasn’t expressed a dogmatic position against it, so the fact that no iDevice has had a microSD or similar slot isn’t a fundamental platform problem, just an issue with their existing hardware.

Posted in Computers, DIY, Electronics, General | Tagged , , | Leave a comment

Android Hate of the Day: Everything is Full of Ads

[This post is part of a series on my initial Android impressions.]
Just to be clear, my Android criticism is because I want this shit fixed in the last promising mobile platform standing, not because I hate it. Platform specific comments are based on the default MT4GS Android 2.3.4 with Sense 3.0 ROM, rooted and largely de-bloated. And now for the hate.

This is somewhat related to the market profiteering, but is a distinct and separate problem. Between internet ads that work because the built in browser is fully featured (yay? Flash), and “ad supported” software, the advertising situation crosses from merely irritating into usability problems. I don’t fundamentally have an issue with ad supported software and services, especially free games, but when 1/3 of the screen is covered with moving, changing, bandwidth-consuming advertisements, it has transitioned from “supporting the developer” to “disrespecting the user,” and that isn’t OK. At least google doesn’t have an Advertising API baked in to the platform like certain other popular mobile platforms.
On a rooted phone, AdFree Android takes care of the bulk of the problem, but misses some things, and is a substantaial hassle just to block enough ads to use your phone. I’m not sure what you would do if you couldn’t or didn’t want to root.

Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment

Android Hate of the Day: Profiteers

[This post is part of a series on my initial Android impressions.]
Just to be clear, my Android criticism is because I want this shit fixed in the last promising mobile platform standing, not because I hate it. Platform specific comments are based on the default MT4GS Android 2.3.4 with Sense 3.0 ROM, rooted and largely de-bloated. And now for the hate.

Android’s developer community is poison. With Maemo and WebOS, the objective was making and sharing software you wanted to use. With Android, the idea seems to be to extract as much money as possible from suckers. More infuriating, on the other platforms, Free software was available for free as a matter of course. With Android, there are at least three assholes trying to charge $1-5 for dalvik-wrappered versions of every useful bit of F/OSS and other noncommercial licence code (ex. Look how many pay apps are based on the “anything but commercial use” licensed SNES9X codebase). I may not be concerned about casual piracy, but it pisses me off when money changes hands for other people’s work.
Finding a suitable sub-community hasn’t been terribly successful either; XDA-Developers is the best I’ve found, but is full of [l]users, and NookDevs, while promising, seems to be both nook specific and mostly defunct. Furthermore, the native code build system is so broken I’m having trouble DIYing binaries (as opposed to “apps”) more complicated than hello world on my own. Is there an intact community of people who just want to hack that I haven’t found?

Posted in Computers, DIY, Electronics, General | Tagged , | Leave a comment

HTC Doubleshot/MyTouch 4G

As noted in previous posts, the mobile market “stabilized” recently, in that every other suitable product has been discontinued, and I decided to get an Android device. To that end, as of a week ago I am the proud(?) owner of a HTC Doubleshot, marketed as the MyTouch 4G Slide in the US.
I’m generally pretty pleased with it — my Google appendage is back! My decent media player is back! All else is minor. — but there are some noteworthy things about the device itself, and a week’s worth of posts about things that are very wrong (and a few things that are right) with Android. I’m reserving judgement on T-Mobile for a little longer than the rest of the device for fear of Telco lies, but between how much better their plans were than what Sprint/AT&T/Verizon (in order of increasingly crappy offerings) were offering, and my low expectations for telecom companies, they’ll have to fuck up pretty thoroughly to disappoint. I’ll be following that format; the rest of this post is about the device itself, several following posts will be about Android in short bile-filled spurts, not because I hate it, but because it is the most promising surviving platform and I want it to improve.
Continue reading

Posted in Electronics, General, Objects | 1 Comment

Apple Secession

Two notes on yesterday’s “Steve Jobs Steps Down As Head of Apple” news:
1. Last time Steve-o left, Apple did wonderful technical things for a while, because they still had the momentum in interesting directions, without the crazy. A stable CEO and present Steve is creating basically the situation that *should* have happenened in ’85 and ’98, so perhaps Apple will be doing genuinely interesting things again for a while.
2. I was expecting various high profile news sources to fall over themselves trying to figure out the appropriate way to note that Apple’s succession plan means that an openly gay guy is now the CEO of the (sometimes) highest market cap company in the US, but except for this Gizmodo article (apparently now removed), no one seems to be biting.

Posted in Computers, Entertainment, General | Tagged | Leave a comment

Expected HTC Dobleshot/MyTouch 4G Slide: Purchased. Time to getting irritated and deciding I needed to root it: Approximately 20 minutes.

Posted on by pappp | Leave a comment

WebOS RIP

I’ve been watching HP’s latest midlife crisis implosion, wherein they are effectively killing the WebOS platform that they bought for $1.2Bn about a year ago, and trying to sell their PC business which is currently the largest in the world, to become an enterprise company, where they are merely one of several big fish. The latter madness is very much akin to the Carly-era “let’s become a Whitebox PC Vendor and sell off our differentiating technology” fail, but the former is something I’m currently interested in. I’ve been chatting about it in news discussions, some of which are publically visible, but wanted to collect thoughts here.

1. HP has done this shit over and over. Apollo in 1989. Convex in 1995. DEC via Compaq in 2002. This may be the most egregious “Buy a distressed asset with good technology, then abandon it” of all time, but the precedent was certainly there.
2. It took Apple (roughly, based on patents and employees) 22 years and two failures (the Newton and one killed internally around ’04) to build a mobile platform that didn’t suck too much for even the reality distortion field to market, and they made a good try at fumbling again at release (remember “No one needs native applications, webapps only“?). Palm was the only other contender with that kind of background, and they designed around Apple’s mistakes (Hello competent multitasking, clipboard, and notifications system!). From a design standpoint, WebOS was the obvious winner.
3. Android, WebOS and Meego are all fundamentally ARM EABI Linux, with a shiny UI coating. iOS’s XNU for ARM and POSIX-y underlayer isn’t that different. WebOS managed the balance perfectly, with official support for optware for the “This is a Linux box” software, and a commercial store for the UI-focused software. Apple kicks and screams and tries to subvert users who want to do anything other than in-band UI-wrappered software through their official store, but there is still a substantial jailbreak/cydia/etc. aftermarket. MeeGo didn’t really have a usable mobile UI layer, restarted too late, and isn’t really worth discussing. Android has technological impediments built in to it to make it as unpleasant as possible to run native binaries, even though the capability is there, which has resulted in a store full of $1.50 pieces of cross-compiled FOSS software with clunky dalvik wrappers over them, and my contempt.
5. I’d like to reiterate that the WebOS development environment was brilliant. The tool-chain was built completely out of open, standard components and languages. No custom JVM substitute to provide lock-in, patent wars, and wasted cycles. No effectively domain specific language (ObjectiveC with weird libraries? Really?). Just a clean interaction model built on top of HTML, CSS, and Javascript, native binaries in C/C++ using STL and OpenGL, and an interface to connect the two.
4. I pretty much agree with this Ars article on how it should have gone down, with an additional “they should have hurried the fuck up” to cap it off.

What I really want in a device is a pocket POSIX workstation with a clean Mobile UI. I’ve ranted about this before. A WebOS device with decent hardware (High-resolution screen, usable keyboard, removable storage) would have been nearly perfect, and the Pre3 was almost it. But it was six months late, lacked removable storage, and has now been cancelled between its European and US release. I’ll probably end up with a HTC Doubleshot (aka. MyTouch 4G Slide) shortly here, as Android is the last platform standing that meets my most basic requirements, and T-mobile and HTC (now with Unlocked Bootloaders!) are the least evil respective sources of service and devices. At least there is a Linux system buried under there somewhere, and now that Matias Duarte has moved to google the Android UI might improve. And hell, maybe I’ll bargin-bin a WebOS device in a couple months as they’re being dumped, just for sport.

Posted in Computers, DIY, Electronics, General, Objects | Tagged , , , | Leave a comment

24!

Another year older, and again much the same, although not exactly as expected; I got a repulsive mixture of “no”s and bullshit offers on the round of PhD applications I sent out last year, and will be in Lexington for another year. That said, my plans for next year still suit me: I’m employed for the next semester working with the revamped EE101 course which covers the “Creative” requirement of the new general studies system at UK, in which we will (among other things) have the engineer younglings doing fun hobby electronics type things.

I also have a bit of the MS project to finish off. In my original plans I would have been defending on right about now. The delay in the MS as roughly as much to do with me being unfocused from the break in momentum as any of the various predictable setbacks in the project.

The combination actually works quite well: because it is a two section class with several people working on it, I should also have plenty of time to work on research, initially finishing off the last of the MS, and then seeing to various other projects which have been previously deferred.

The situation fits my personality: I’m directed, not driven. As long as I’m pointed in a direction I like and making progress, I’m pretty content.

Posted in General, Navel Gazing | Leave a comment