Galaxy S vs Xperia X10 and Android Network Access

Galaxy S Review

I’ve just been given an indefinite loan of a Samsung Galaxy S which is more useful than the Sony Ericsson Xperia X10 that I own.

I think that the main benefit is that it runs Android 2.2 instead of Android 2.1 on the Xperia. 2.2 is what gives it USB tethering support without extra software (something I haven’t tested yet but will use a lot if it works correctly) and Wifi AP support. Both phones are about the same size, the Galaxy S has slightly more RAM (reported as 304M vs 280M – which doesn’t really matter) and a lot more main storage (1.87G vs 465M usable after the OS is loaded).

The main down-sides of the Galaxy S is that it lacks a “flash“. I’m not aware of any phone camera having a proper flash, but the limited LED flash is useful for taking pictures at times and there are a variety of programs that can turn it on for use as a torch.

Also I wonder whether the Samsung people actually test their phones in real use or whether they just build them to spec. When you read the specs it sounds nice to have a phone that’s only 9.9mm thick (apart from the bulge at the bottom), but that makes it really difficult to hold. The Xperia X10 is 13mm thick and isn’t as slick so you are much less likely to drop it. I sometimes wonder whether phone companies are designing their products to be broken so that they can sell replacements.

Three Networking Sucks

My parents use 3G broadband from Three as their only connection to the Internet, this is fast enough for viewing Youtube on occasion and generally works well for them. However whenever I try to transfer any data to their system which has integrity checks it turns out to be corrupted. About every megabyte of data transferred has a corrupt packet that has a matching checksum – presumably it’s a bug in Three’s network. Because Three are desperate for customers they have given me a free 6 month subscription to a data SIM [1]. I’ve been using that SIM with my Galaxy S and found the same data corruption problem – and I’ve reproduced it in many places around Melbourne so this isn’t just one unreliable cell tower, it’s something broken in the core of the Three network.

The obvious solution to this is to use a VPN so the corrupt packets will be dropped. So I set up a PPTP VPN only to discover that it seems impossible to make the default route be via the VPN, there has been a bug report about this since 2009 – the iPhone allows configuring whether Internet traffic should go via the VPN, it can’t be that hard [2].

There is an option to use a proxy for web access, but when I tried that on Android 2.1 it only worked for the system web browser not for things like the Android Market. But there is no option for configuring a proxy for use when the VPN is active, so it doesn’t seem likely that I could run a proxy on the VPN network and direct all traffic to it.

Due to corruption on the Three network and the inability to get a VPN working correctly it seems that I can’t use the Three SIM.

Android isn’t Really Free Software

While Android implementations generally stick to the GPL and other free software licenses that are involved they seem to be a poor example of providing freedom to users.

My Xperia X10 is running Android 2.1 because Sony-Ericsson has locked the boot loader so I can’t install a newer kernel. They don’t care enough to release a new version – this is stupid of them because it means that I am much less likely to recommend their products. If Sony-Ericsson releases a newer Android release then it will be a total OS reinstall, unlike the way I can upgrade a Debian system an application at a time.

I can’t install new packages that replace system packages, so the Email and SMS programs that I’ve installed sit along side the ones that came with the system. Periodically the unwanted SMS and Email programs show up.

I can’t make my Android phones perform basic networking tasks that I’ve done on Linux systems since the early 90’s. Hiding the complexity from the newbies is OK, but they need to make the full capabilities of the system available to experts.

It seems to me that Android effectively gives the majority of users no more freedom than the iPhone does. Even for the small minority of us who are technically capable of rooting phones and installing CyanogenMod etc it’s often limited by technical measures and the amount of time required.

Update: Philipp Kern pointed out that his Galaxy S has a front facing camera. I have checked my phone and discovered that it has one too. When I published this post I criticised the Galaxy S for not having a front facing camera for video-calls based on a misunderstanding of the Wikipedia page (which says that SOME models lack it) and not testing it. Thanks for the correction Philipp and sorry for publishing wrong data.

6 comments to Galaxy S vs Xperia X10 and Android Network Access

  • Adam

    Both of those phones are easily unlocked and can be flashed with cyanogenmod. You need root access to force all traffic thru a vpn. Cyanogenmod also adds built in opencpn support.

    Install another app that does the same along side the standard ones and you can set it to be used instead all without root. This includes the launcher app. Way more control than iphone. And that’s before you start working with a rooted device.

  • Thema Galaxy S does have a front facing camera on the top right. But the shipped Android does not support it with applications other than the stock Camera app. It used to work for me with Cyanogenmod, however the picture was wrongly rotated. Didn’t re-test it for quite some time, though.

  • Jan Hudec

    Nothing in Android except Linux itself is GPL and Linux is unfortunately GPLv2 which does not yet enforce that it must be possible to install the modified version on any device running the original. All the rest of the code is under Apache license 2.0 and that is not copyleft.

  • etbe

    Adam: The Xperia X10 boot loader will only accept a Sony Ericsson signed kernel. Last time I checked the only such kernels lacked support for running as an AP which meant that the biggest reason for installing CyanogenMod on that phone was unavailable to me.

    Thanks for the note about OpenVPN, I guess I’ll have to use Cyanogenmod. It is a good thing, but I’d rather have some electronic devices that I don’t hack – I just don’t have time to do it all.

    Philipp: Thanks for the correction.

  • Jean

    I strongly disagree with your opinion that Android isn’t free software, especially on the handset side of things. (Relating to the “oh my good, it’s so ugly but i have tha deadline but if i commit the code then everybody will fork from it and i’ll never ever being able to clean that mess again” fiasco of Android 3.x. But even on that, it’s been fixed)

    Taking all your reasons and reasoning I could also say that Linux in general, but Debian in particular isn’t open source because a particular device that I own is locked on a particular firmware that I can’t upgrade, or modify.

    Android is open source because from day one of their commercial release (again, except for versions 3.x), you would have been able to make your own Android version that run on any arm/x86 board.
    Android is open source because many silicon vendor have been able to use these sources to make PoC version of android running on weird mips or arm architectures that Google didn’t want to waste time on.

    The openess of Android allows for those VMs, on meego, Windows and iOS that allow Android apps to run to exist.

    As proven by the position the Linux kernel team took on the GPLv2-v3 debate, software open-source is still (sadly maybe) compatible with locked hardware.

    With that in mind, you freely choose your handset. The points you make about the accessibility of the bootloader is an important one, and was a major decision in choosing my current phone, a Samsung one. Charts comparing hackability of various Android handsets are all over the web.

    Most Samsung phones use a service protocol (and a leaked windows utility that is found almost anywhere) so it is easy to switch between various firmwares.

    For example, disappointed with the state of Cyanogen for my particular phone, I kept using (more recent) Samsung roms from another countries, one that isn’t branded. I’m rooted, and that allows me to uninstall any program that I find useless or redundant. Also, being rooted allows me to use that backup app that can upload even your apps and system settings to Dropbox.

    Don’t blame Google choices SonyErricson made. Android enforce a layout with multiple partitions, that allows upgrades without altering user data and programs, if the manufacturer takes the time to allow that feature.

    Running your own kernel on most Samsung Galaxy phones is as simple as to compile it and to push it to the phone. It’s the same for any Google developer phone and for that ZTE Android phone I also have. Both ZTE and Samsung have released sources for the pre-installed version of the software within weeks.

    While some rooting methods on some Android phones require security exploits, all was ever done on iPhone was done fighting against Apple. Maybe it’s because (apart from their developer phones) Google doesn’t directly sell hardware, but like for any embedded linux distribution, how much permissions are allowed to the user at runtime is- and always has been, a variable easy to set at compilation time.

  • Anders

    SonyEricsson is colaborating with XDA to get new firmware out for their old hardware, which is good. They even helps XDA with software libraries to use the camera in a better resolution.
    All new phones can have their boot-loader unlocked, but they are clear that that is only for advanced users. All other will have to use their software. And this years phones will have ICE (4.0), but this will not help you.
    There are already a rollout of Gingerbread, (2.3.4) to SE Xperia X10 since august from SonyEricsson. If you not got that, complain to your phone company. Look in SE blogs in july blogs.

    What I want to say? That SE is much better than it’s reputation. No, I am not on their pay roll. ;-)