Today Google sent me an invite for Ingress – their latest augmented reality game [1]. The fact that they sent me the invitation while the Google Play store page for Ingress [2] tells me that it’s not available in my country (Australia) is interesting. Google obviously aren’t using their Big Brother powers effectively!

The way to install Ingress if you are in Australia, New Zealand, or other countries where it’s not supported is to do a Google search on the words “Ingress” and “APK” and take the highest available version (1.08 at the moment). Then you will find a web site that offers it with no authentication and the potential of getting a trojan version. Forcing people to install the software in an insecure manner doesn’t seem to be in the best interests of Google.

I first installed the game on my Sony Ericsson Xperia X10 which has a 1 GHz Qualcomm Snapdragon QSD8250 CPU and runs Android 2.3.3 compiled by Sony-Ericsson and performance was terrible. It often would fail to respond to the UI effectively, it would process touch actions after I had repeated them because they didn’t seem to have registered, scrolling text at the same speed as playing audio was apparently impossible.

Then I briefly tried running it on my Samsung Galaxy S which has a 1 GHz (ARM Cortex A8) CPU and runs Android 2.3.7 with a CyanogenMod-7.1.0-GalaxyS build. It seemed to be a bit faster but the difference was small enough that I could have imagined it.

I tried it on the cheap Onix tablet I bought from Aldi this morning [3] but it refused to work every time I tried and eventually crashed the tablet and forced me to use the reset button.

Finally I tried it on a Kogan Agora 10″ tablet running Android 4.0.4 with what Kogan describes as a 1GHz ARMv7 CPU and it seemed a lot more usable. I haven’t yet tried actually playing the game on the Kogan Agora tablet, but the fact that I can read the messages from other players is a significant improvement over the experience on the phones. On the phones the poor performance of the UI made it almost impossible to read messages from other players, now it’s merely extremely annoying.

I’m very disappointed with this. Almost three years ago I reviewed the Seer augmented reality software from IBM that performed tasks that are more demanding and did it well [4]. The IBM Seer software ran on a HTC Hero which had a 528 MHz Qualcomm MSM7600A CPU, it’s really disappointing that Ingress can’t run well on modern phones – particularly as the “augmented reality” part of the game which I’ve seen so far is not much different to what Google Maps, Osmand, and other mapping programs do.

The IBM Seer software was good enough to drive the purchase of new phones. When I first got an Android phone almost two years ago I wanted to run such augmented reality software and it was a factor that determined my choice of phone. Unfortunately I still haven’t found anything to live up to that promise. IBM’s software was tailored to the Australian Open even a tennis fan would find it to be of little interest for about 360 days of the year and I haven’t found any other augmented reality software that is useful and works well (please let me know if there’s something I’ve missed).

I find it difficult to imagine that anyone would be inspired to change their phone purchase plans after seeing a demo of Ingress on any hardware that I own. It seems that it will probably be usable on my Xperia X10 and all features should work on the Kogan Agora tablet, but I don’t think that any of them will allow the game to live up to the hype.

Cheap Android Tablet from Aldi

back of the onix 7 inch tabletfront of the onix 7 inch tablet and cover of manual

I’ve just bought a 7″ Onix tablet from Aldi. It runs Android 4.0.4, has a 1GHz Cortex A8 CPU, 512M of RAM, 16G of flash storage, and a 800*480 display. They are selling rapidly and I don’t know how long they will last – probably you could get a returned one next week if you can’t get one today. But if you like pink then you may be able to get one (the black ones are selling out first).

The tablet seems like a nice piece of hardware, solid construction and it feels nice to hold. Mine has a minor screen defect, but that’s the sort of
thing you expect from a cheap device, apart from that the display is good.

The Wifi doesn’t seem to have as good a range as some other devices (such as my phones and the more expensive 10″ tablet I got from Kogan). This isn’t a
problem for me (the data intensive uses for this device will be in the same room as the AP) but could be a killer for some people. If you have your phone or a dedicated 3G Wifi AP in your pocket while using the tablet then it should be fine, but if you have an AP at the wrong end of your house then you could be in trouble. I found Youtube unusable due to slow downloading even when sitting next to my AP but I can play videos downloaded from iView that are on my local web server (which is more important to me). I expect that I will be able to play local copies of TED talks too.

The camera is bad by phone camera standards, fortunately I have no interest in using a tablet as a camera.

I had no real problems with the Google Play store (something that caused problems for some users of an earlier Aldi Android tablet). Generally the tablet works well.

The people who build Android for modern devices seem remarkably stupid when it comes to partitioning, every device I’ve seen has only a small fraction of the storage usable for apps. This tablet is the worst I’ve ever seen, it has 16G of storage of which there is 512M partitioned for apps of which only 400M is free when you first get the device! It comes pre-installed with outdated versions of the Facebook client and Google Maps (which isn’t very useful on a Wifi device) and some other useless things. If you upgrade them to the latest versions then you’ll probably lose another 100M of the 512M! Fortunately the Android feature to run apps from the VFAT partition works so I haven’t been prevented from doing anything by this problem yet.

In conclusion, it’s not the greatest Android tablet. But you don’t expect a great tablet for $100. What I hoped for was a somewhat low spec tablet that works reasonably well and that’s what I got. I’m happy.

Back to the Xperia X10

10 months ago I was given a Samsung Galaxy S Android phone [1] to replace my Sony Ericsson Xperia X10. I also installed Cyanogenmod on it (here is a more detailed comparison of the phones with a focus on liberty [2]). But now I’m using the Xperia X10 again.

Hardware Reliability

Some time ago a friend told me that he bought a Sony phone in preference to a Samsung phone because he didn’t think that Samsung phones were reliable enough. I assured him that Samsung phones would be fine if you used a gel-case, but now I’m not so sure. My mother in law has a Samsung Galaxy S which now has a single crack across the face, it doesn’t appear that her phone was dropped, maybe it just bent a bit – it’s a fairly thin phone. My Galaxy S started crashing over the last few months and now many applications will crash any time I use 3G networking. Currently my Galaxy S is working well as a small Wifi tablet and hasn’t crashed since I replaced the SIM with one that has expired.

I wish that phone designers would make mode solid products with bigger batteries. The fact that the Xperia X10 weighs maybe 20g more than the Galaxy S (according to Wikipedia) isn’t a problem for me. Even with the Mugen Power 1800mah battery [4] to replace the original 1500mah battery it’s still nowhere near the limit of the phone mass that I’m prepared to carry.

Sony Upgrades

Some time ago Sony released an Android 2.3.3 image for the Xperia X10. There is no Cyanogenmod image for the Xperia X10 because it has been locked down which greatly limits what can be done. Also Sony has a proprietary backup program on their Android 2.1 image which isn’t supported on Android 2.3.3 – this inspired my post about 5 principles of backup software [3]. Due to this pain I didn’t even try to upgrade the Xperia X10 phones for me and my wife until recently.

Before upgrading the Xperia X10 phones I was unable to use my wife’s phone. The phone didn’t seem to like recognising my touch so long touch actions (such as unlocking the phone) were almost impossible for me. I think that this is due to the fact that I have fairly dry skin which presumably gives me a higher capacitance. After the upgrade both phones are usable for me, so presumably either Sony or Google upgraded the algorithms for recognising touch to work better with varying screen quality.

Comparing the Galaxy S and the Xperia X10

When I first started running Cyanogenmod on the Galaxy S I noticed that it was a lot faster than the Xperia X10 but I didn’t know why. It was documented that there had been performance improvements in Android 2.2. Now that I’m running Android 2.3.3 on the Xperia X10 I know that the performance difference is not due to the Android version. It could be due to Cyanogenmod optimisations or Sony stupidity, but it’s most likely due to hardware differences.

The Galaxy S has more RAM and storage which allows installing and running more applications. Now that I’m using the Xperia X10 for the bare minimum applications (phone calls, SMS, camera, email, ssh, and web browsing) it works quite well. I still play games on the Galaxy S and use it for more serious web browsing via Wifi. I think that the value I’m getting from the Galaxy S as a tiny wifi tablet is greater than the money I might get from selling a partially broken phone that’s been obsoleted by two significantly better models.


The camera on the Xperia X10 is significantly better than the one on the Galaxy S, so going back to a phone that has a great camera is a real benefit. But being slow and locked down is a real drag. I was tempted to buy a Samsung Galaxy Note or Galaxy S3, but it seemed like a bad idea to buy a phone given that my contract comes up for renewal in about 6 months which means I’ll be offered a “free” phone which while not really free is still going to be cheaper than buying a phone outright.

Also in future given the low opinion I’m now getting of smart phone reliability I’ll try and keep a small stock of spare Android phones to cover the case of broken phones.

Liberty and Mobile Phones

I own two mobile phones at the moment, I use a Samsung Galaxy S running Cyanogenmod [1] (Android 2.3.7) for most things, and I have a Sony Ericsson Xperia X10 running Android 2.1 that I use for taking photos, some occasional Wifi web browsing, and using some applications.

Comparing Android Hardware

The hardware for the Xperia X10 is better than that of the Galaxy S in many ways. It has a slightly higher resolution (480*854 vs 480*800), a significantly better camera (8.1MP with a “flash” vs 5MP without), and a status LED which I find really handy (although some people don’t care about it).

The only benefit of the Galaxy S hardware is that it has 16G of internal storage (of which about 2G can be used for applications) and 512M of RAM while the Xperia X10 has 1G of internal storage and 384M of RAM. These are significant issues, I have had applications run out of RAM on the Xperia X10 and I have been forced to uninstall applications to make space.

Overall I consider the Xperia X10 to be a significantly better piece of hardware as I am willing to trade off some RAM and internal storage to get a better resolution screen and a better camera. The problem is that Sony Ericsson have locked down their phones as much as possible and they don’t even give users the option of making a useful backup – they inspired my post about 5 principles of backups [2].

The fact that the Galaxy S allows installing CyanogenMod which then gives me the liberty to do whatever I want with my phone is a massive feature. It outweighs the hardware benefits of the Sony Ericsson phones over Samsung phones prior to the Galaxy Nexus and Galaxy Note.

For an individual user the ability to control their own hardware is a feature. Such an ability wouldn’t be much use if there wasn’t a community of software developers, so if you buy an Android phone that isn’t supported by CyanogenMod or another free Android distribution then whether it is locked probably won’t matter to you. But for any popular Android phone that’s sold on the mass market it seems that if it’s not locked then it will get a binary distribution of Android in a reasonable amount of time.

Comparing with Apple

It seems that Apple is the benchmark for non-free computing at the moment. The iPhone is locked down and Apple takes steps to re-lock phones that can be rooted – as opposed to the Android vendors who ship phones and then don’t bother to update the firmware for any reason. The Apple app market is more expensive and difficult to enter and if an app isn’t in the market then you have to pay if you want to install it on a small number of development/test phones. This compares to Android where the Google market is cheaper and easier to enter and anyone can distribute an app outside the market and have people use it.

But for an individual this doesn’t necessarily cause any problems. I have friends and clients who use iPhones and are very happy with them. In terms of software development it’s a real benefit to have a large number of systems running the same software. As Apple seems to have higher margins and larger volume than any other phone vendor as well as shipping only one phone at any time (compared to every other phone vendor which seems to ship at least 3 different products for different use cases) they are in a much better economic position to get the software development right. As far as I can tell the hardware and software of the iPhone is of very high quality. The iPad (which has a similar market position) is also a quality product. The fact that the Apple app market is more difficult to enter (both in terms of Apple liking the application and the cost of entry) also has it’s advantages, I get the impression that the general quality of iPhone apps is quite high as opposed to Android where there are a lot of low quality apps and many more fraudulent apps than there should be.

The lack of choice in Apple hardware (one phone and one tablet) is a disadvantage for the user. There is no option for a phone with a slide-out keyboard, a large screen (for the elderly and people with fat fingers), or any of the other features that some Android phones have. The lack of a range of sizes for the iPad is also a disadvantage. But it seems that Apple has produced hardware that is good enough for most users so there aren’t many complaints about a lack of choice.

It seems to me that the biggest disadvantage of the closed Apple ecosystem is for society in general. Anyone who wants to write a mobile app to do something which might be considered controversial would probably think twice about whether to develop for the iPhone/iPad as Apple could remove the app at a whim which would waste all the software development work that was invested in writing the app. Google seem to have much less interest in removing apps from their store and if they do remove an app then with some inconvenience it can be distributed on the web without involving them – so the work won’t be wasted.

How Much Freedom Should a Vendor Provide?

The Apple approach of locking everything down is clearly working for them at the moment. The Samsung approach of taking the Google prescribed code and allowing users to replace it is good for the users and works well. The Sony Ericsson approach of taking the Google code, adding some proprietary code, and then locking the phone down is bad for the users and I think it will be bad for Sony Ericsson. People are more likely to tell others about negative experiences and negative reviews are more likely to be noticed than positive reviews. So while many people are reasonably happy with Sony Ericsson products (until they find themselves unable to restore from a backup) it’s still not a good situation for Sony Ericsson marketing.

It seems that there are benefits to hardware vendors for being really open and for locking their users in properly. But being somewhat open isn’t a good choice, particularly for a vendor that ships poor quality proprietary apps such as the Sony Ericsson ones.

In terms of application distribution Google isn’t as nice as they appear. The Skyhook case revealed that Google will do whatever it takes to prevent apps that compete with Google apps from being installed by default [3]. Google is also trying to make money from DRM sales via Youtube which it denies to rooted phones [4]. Again it seems to me that the best options here are being more open than Google is and being as closed as Apple. Google might gain some useful benefits from applying DRM (even though everyone with technical knowledge knows that it doesn’t work) but the Skyhook shenanigans have got to be costing Google more than it’s worth.

How to make Android devices more Free

The F-droid market is an alternative to the Google App market which only has free software [5]. On it’s web site there are links to download the source for the applications, including the source and binaries for old versions. In the Google App market if an upgrade breaks your system then you just lose, with F-droid you can revert to the old version.

A self-hosted OwnCloud installation for a private or semi-private cloud [6] can be used as an alternative to the Google Music store as well as for hosting any other data that you want to store online.

The Open Street Map for Android (Osmand) project provides an alternative to the Google Map service [7]. Osmand allows you to download all the vector data for the regions you will ever visit so it can run without Internet access. But it doesn’t have the ability to search for businesses and the search for an address functionality is clunky and doesn’t accept plain text, which among other things precludes pasting data that’s copied from email or SMS. While Osmand provides some important features that Google Maps will probably never provide, it doesn’t provide some of the most used features of Google Maps so uninstalling Google Maps isn’t a good option at the moment.

The K9mail project provides a nice IMAP client for Android [8]. Use K9 with a mail server that you run and you won’t need to use Gmail.

There are alternatives to all the Google applications. It seems that apart from the lack of commercial data and search ability in Osmand an Android device that is used for many serious purposes wouldn’t lack much if it had no Google apps.

Google seems to be going too far in controlling Android. Escaping from their control and helping others to do the same seems to be good for society and good for the users who don’t need apps which are only available in proprietary form.

An Introduction to Android

I gave a brief introductory talk about Android at this month’s LUV meeting. Here are the slides with a brief description. All the screen-shots were made on a Samsung Galaxy S running Cyanogenmod version 7.1 [1] (Android version 2.3.7). With that build of Cyanogenmod you can press the power button for about 1.5 seconds to get a menu which gives an option to take a screen shot.

The aim of the talk was to give an overview of what Android can do. I also gave some random commentary about Android such as explaining why it doesn’t make a good phone.

Most of the pictures in this post have links to the Android applications in question.

Continue reading “An Introduction to Android”