Hey folks, first a bit of housekeeping, it’s been a while since the last post, mostly because I’ve had my hands full with Android app development (Shameless Plug: If you want an Android App created or know more about it, contact me!), but now things are churning along, I have a chance to do a bit of an update. In this case, it’s a longer-term update on the Galaxy S. I’ll try to delve a bit deeper into any issues that I’ve discovered going onto my 2nd month of usage of this device, as succinctly and directly as I can. I have the benefit of perspective as this is the third Android phone I have used in the last 10 months and I have had a chance to explore all their strengths and weaknesses.
1) The Micro-Lag Issue
Alright, so now everybody knows about this issue: small micro lags occur at random places during usage. It happens with SGS’s straight out of the box, some more so than others, and does NOT get better over time. I know this from first hand experience. The question is, why? The reason is convoluted, although clear. First off, to recap, most current Android phones have internal memory (usually 512MB) and an external MicroSD slot. The OS, system data, app packages, app data, caches are all kept on the internal memory, with some app resources (usually large game files or media) being moved to the external MicroSD. However, with the introduction of Android 2.2, users can then move applications across to the SD card, in the form of a loopback (the app still thinks it’s on the internal memory, but a symlink points towards the encrypted /.androidsecure where they actually are). This is a workable, but not so elegant solution (see my write up here).
The short of it is that Samsung in the Galaxy S decided to also included either 8 or 16GB (depending which model you have) of non-removable internal memory IN ADDITION to user-added external MicroSD. Sounds great in theory, users can now have a near unlimited amount of storage space, all without having to use an external MicroSD card. Until people began to notice stuttering and lag, mostly on IO intensive tasks (such as installing apps, reading directory info, large amounts of read/writes), putting it down to poor NAND quality. The truth, as later discovered, was due to Samsung’s use of RFS (Robust File System), a proprietary file system that they use on a variety of electronic devices, which now included the SGS. Here’s the official fluff on RFS. In short, it’s a FAT16/32 file system, with additional journalling, used on Samsung’s NAND devices, possibly for compatibility. Of the 8/16GB of internal memory, 2GB is allocated to app storage.
Also, it’s slow.
So slow in fact, that even with the blistering CPU speed and raw processing power of the SGS, things still lag. Possibly not noticeable by some, but to nearly everybody I’ve talked to, did make a comment at one point or another about it. Apparently the fixed internal memory of the SGS is not able to utilise YAFFS, which is what nearly all other Android phones use. Early lagfixes thus created loopbacks between data folders, where apps lived, to a virtual EXT2 partition. For most part, they work quite well, although you now have a huge file sitting on your FS.
Most recently, SuperCurio released his Voodoo lagfix, which replaces the inconsistent RFS on that troublesome 2GB partition with EXT4. I’m using it, it works, better than any other lagfix. The phone performs as smoothly as any other phone now. Do note that you can’t use multiple lagfixes in conjunction. SuperCurio has also shared his work for other developers to benefit from. What a champ. What he says is right, forget synthetic benchmarks, what matters is how smoothly the phone feels to use, and this is something that quite a few Android manufacturers have yet to grasp, but something which Apple does well.
I tell you who aren’t champs: Samsung for letting down such a brilliant piece of hardware (I still can’t get over the contrast ratio and brightness of the 4″ screen) with terrible software implementation. I’ve done away as much as I can with their proprietary apps, including their own ‘Samsung App Store’, their in-built task manager, their fancy widgets and fluff, and my experience is better for it. In short, this is how the phone should have been from Day One, but it’s taken weeks, lots of trial and error, hundreds of MB of various ROM downloads, three-button combinations, recovery modes, Odin software flashes, countless hours poking around in ADB, to get it just right. Surely the average user can’t be expected to go through this process just to have a phone working properly?
I think that basically sums up what is wrong with the situation. Carrier customisations, on top of manufacturer customisations, on top of what is essentially good to start with already. Android 2.1/2.2 is at a level which provides superb performance and customisability (a clean slate, so to speak) for everybody, stop bastardising the experience with useless rubbish. I will write more about this later.
2) The Lack of a Flash
Surprisingly, the dark images are not too shabby. Of course nowhere near as good as with a light, but passable. What is more disturbing is that where I used to use the LED light as a torchlight, I no longer can. Oh well, I’ll live.
3) Lack of Notifications
OK, so many other phones, even the venerable HTC Hero, had LED’s on the front for when you have messages, e-mails, missed calls, etc. The Nexus One had a trackball which changed to different colours, very cool. SGS does not. People could either throw their hands up in despair, or they could fix it themselves. Problem solved (and it works well too).
4) Lack of a ‘search’ button
Turns out you can just hold the menu button on the home screen and a search box shows up. Also, I never really used the search button in any case.
5) GPS Issues
There has been talk of GPS issues, but I have not experienced any issues myself, so I can’t comment. It does appear to be firmware related though, with later firmwares (JM[X] onwards), fixing any GPS issues if they were there to begin with.
Any corrections or thoughts, please feel free to comment below.