Tuesday, 12 August 2014

DIY Nexus 4 Refurbishment

At the time of writing my full-time device, for work and play combined, is a Moto G. There's nothing much to tempt me away at present, given my usual caveats about "phone-sized phones" and wanting decent value for money. My better half dropped her old Nexus 4, several times, until the digitiser finally gave up and she inherited my unloved Z1 Compact. Whilst I wait for my next phone to be announced (Moto X2? Moto G2?) I decided to refurbish the Nexus 4 myself, and here's how it went...

WARNING: This is not a "how to", should not be mistaken for step-by-step guide, and contains very mediocre photography...

I had nothing to loose. The back had been cracked and smashed for a while before the final accident which took out the screen glass and digitiser, leaving the touch screen completely dead. The phone was as good as useless, so I couldn't really make it less functional with my average DIY skills!

For less than £40 I was able to source a replacement screen/digitiser unit and a back glass panel from eBay. I opted for just the glass panel for fixing the back of the Nexus 4, although you can get the whole back case unit including (or excluding if you wish) the coils for wireless charging and NFC.

The screen/digitiser unit included a set of "handy tools". The Torx screwdriver was actually too small, so I ended up using my own.

The back cover is mostly cosmetic on the Nexus 4, so I opted to start with the more important screen/digitiser. A couple of Torx screws and some levering with the plastic tools and the back cover popped off. A further 11 or 12 small Philips screws later and the battery and plastic motherboard covers were free and removed. The battery in particular was held in place with strong adhesive, this took some encouragement to release from the case!

The links between the motherboard, daughter-board and other components like the rear-facing camera and 3.5mm jack were next to be disconnected, then each of those parts were removed from the device. Knowing I had to put this bunch of parts back together once the screen was replaced, I scored geek points by numbering the components as I pulled them out, making re-assembly much easier.

At this point "the device" was was just a screen/digitiser and some side buttons! This matched (almost) the state of the screen/digitiser unit I had been supplied. The compare and contrast was interesting, as the numbers of the parts didn't totally match from the original. I wasn't surprised, this would most likely be the evolution of the manufacturing process during the time the Nexus 4 was being manufactured, leading to different part numbers along the way.

One genuine omission on the new screen/digitiser unit was a diffuser which should sit in front of the notification LED. On the left the original clearly has a white diffusing layer, which is actually secured between the screen and the casing. On the right, there is no diffusing layer, you can see straight through to the black outer casing, which is almost transparent when any amount of light is present. I added my own diffusing layer, made crudely from printer paper, but it seems to have done the job!

Re-assembly then began, starting with the side buttons, the camera, the 3.5mm jack, the daughter-board, the main motherboard, the plastic motherboard covers and the battery. I had a scary moment when the device didn't power up after re-assembly, but a few minutes on charge from a wall socket subsequently revealed the battery was flat. In hindsight this makes sense; with touch input not working, I was unable to actually turn off the Nexus 4 in its broken state, so I most likely left it in a corner somewhere where it would have drained entirely!

With the screen/digitiser replaced, I started work on the back cover. Having gone for the cheaper option of purchasing just the glass panel and not the entire casing unit, I had to remove the old glass panel fro the plastic outer case. The glass was already shattered in one corner, so starting there I began to pull apart and pick out the shards of glass. The NFC/wireless charging coils made this job trickier; they are on effectively a gold sticker, pressed onto the inside of the back cover. I had to peel this off the old back cover with some force due to the strong adhesive, but not so much force as to break or tear the coils!

The plastic table cloth was very useful, as at the end of this glass work I was able to round up and dispose of the large amount of small pieces of glass, not the kind of stuff you want to be on your kitchen floor when you're walking in barefoot to get your breakfast in the morning!

Having picked out all the glass pieces, the back cover was free of its original panel. Almost. There were still many bits and pieces of glass and other dust and grime, which would need to be removed to ensure a good adhesion with the new panel. Some rubbing/cleaning alcohol and cotton buds did the trick to clean up the plastic case ready for the new panel.

Before assembly, a compare and contrast was again interesting. The new glass panel did not include the speaker grill, or a small square rubber spacer around the rear-facing camera. They were relatively easy to transplant to the new glass panel however.

The last steps were the placement of the glass panel on the back cover case, and attaching the back cover to the device again. One more boot up confirmed that the back cover work had not broken anything, and the refurbishment was complete.

Whilst I've flashed more ROMs and rooted/jailbroken more phones than I'd care to mention, I've never attempted any hardware work on any smartphones, so I was chuffed that this one worked out well. Given this was a popular device, there were lots of helpful articles and videos on the Internet for reference, so I didn't have to do much brain work myself! I just has to ensure I wasn't too clumsy with the small components and delicate electronics! Having brought it back to life, I'm looking forward to using the Nexus 4 with its beefier specs compared to my Moto G, and hopefully it will tide me over until my next phone is announced and released!

Wednesday, 16 July 2014

EE Kestrel Mini-Review

As usual, this loan device came courtesy of Steve and Ted from Phones Show Chat, and is a curious one, something a little different to the flagship devices which get most of the attention of the technology press. I hesitated to title this as a mini-review, it's certainly not a full review, the reasons will become apparent. In the end it's more of a comparison to its nearest competitor and my current day-to-day phone, the Moto G.

The EE Kestrel has a 1.2Ghz quad-core SnapDragon 400 CPU, 1GB RAM, 4G connectivity, a micro SD card slot, 4.5” qHD screen, and a 5MP camera. The obvious comparison is against the Moto G, which now has a 4G model which also has a micro SD card slot. The Kestrel and Moto G share matching CPU, RAM, connectivity and micro SD specs. Their cameras are on par with each other, both pretty poor. Their speakers are similar, both distort at around 50-60% volume. They both have a notification light! Whilst being very similar, here is how they are different...

Kestrel Positives
  • Price: At £99 the Kestrel wins by between £20-£60 depending on where you buy your Moto G, and if you buy the 3G or 4G model.
  • First impressions: The Kestrel feels snappy on first use, it doesn't feel like it weighs much either when you first pick it up.
  • Capacitive buttons: Gives more screen space versus on-screen buttons.
  • Connectivity: SIM unlocked it works with Three 4G perfectly, which is great given Three is most mobile geeks’ network of choice!
  • Some genuinely very interesting OS additions on top of a base Android build, including:
    • “Networked apps" - you can control access to wifi and mobile data per app.
    • “Startup manager" - control which apps can or can't launch on device boot.
    • “Notification manager" - control which apps can send push messages to the notification panel.
    • "Do not disturb" - on a schedule, per contact restriction of ringing/vibrating.
    • “Power saving" - including ability to select protected apps which are kept running no matter what, an analyser to let you know any power-intensive background apps, and another analyser telling you settings that may be adversely affecting battery life (GPS, screen brightness, etc).
    • “App operations" - show how often each app calls APIs such as location services, personal data, messaging, and device hardware.
    • Audio profiles (a la S60/S40 in the old Nokia days) and a nice easy way to change between them form the notification shade.
    • Split screen for settings - with the "all" pane with the usual Android settings menu, and the "general" pane which has just commonly-used settings, not cluttered up by all the other million and one settings in the "all" pane.
  • Two built-in launchers, although they’re called "home screen styles"...
    • One for normal not tech-savvy folk, which has no app drawer, all icons are on the home screens (a la iOS).
    • One for even less tech-savvy folk, with big easy tiles (a la Windows Phone) for apps and commonly used functions. This would be truly great for those with no interest in learning to use a smartphone, but who want a little more than a feature phone can offer. This home screen style also bumps up the system font, a giveaway that maybe this is aimed at the older person?!
Left: Choose your home screen style.
Middle: "Standard" style. No app drawer, just lots of icons like iOS.
Right: "Simple" style. Probably aimed at smartphone novices.

Kestrel Negatives
  • The capacitive buttons aren't very responsive, and their lights turn-off too quickly (the only setting is auto-off and permanently off).
  • The screen is pretty dull, and only qHD (even the Moto G has 720p).
  • The charger (top) and headphone (bottom of left edge) ports are in unorthodox places, a little annoying.
  • Whilst the built-in launchers have their use-cases, anyone reading this blog post would HAVE to install an alternative.
  • In the capacitive buttons row the Kestrel has an old school menu button instead of a recent apps button.
  • The OS is v4.3 and unlikely to be updated in a timely schedule, if at all... (a side effect from all the customisations which have been added?)
  • And the deal breaker... 8GB internal storage. Not so bad given the presence of a micro SD card slot, but this 8GB is partitioned such that apps have less then 1GB. I couldn't even finish installing half of my usual apps. This is exacerbated by the presence of built-in apps like Facebook, Kindle, EE Film and more which you can’t uninstall.
Left: I didn't get to install even half of my usual apps when this happened.
Right: There's loads of space left, just not for apps.

I'd conclude that the storage partitioning is a complete deal breaker for me, so much so that I couldn’t use it as my full-time device to test it properly, and find out how good the battery life was for example.

Huawei/EE have put some very nice touches on top of Android. Some of these are available on other operating systems of course; on Android they may be available via a big bunch of third party apps, plus the need for root in some cases, but they are all here by default on the Kestrel. Whilst the built-in non-removable apps are a pain, the extras on top of a standard Android OS build are mostly commendable, usable, and designed fairly well. I think a lot of normal (non-geek) users would find them useful. To go a step further, the "simple” home screen and launcher could be the basis of the perfect smartphone for an older person or a complete smartphone novice. This is a great Android smartphone for a novice, as Android is still too complex for the average non-geek, and this device with all its customisations makes it much easier for the inexperienced user.

For the money, you would never expect a great camera, high-end CPU or great quality screen. It's great that the Kestrel does 4G at a cheaper price than the Moto G, but the Moto G has a better screen, doesn't suffer the app space partitioning, and is hugely more likely to be kept up-to-date. I would pick the Moto G over the Kestrel any day, though the Kestrel is a very, very interesting device with some very nice touches.

Tuesday, 15 July 2014

Feels Like a New Moto G

I factory reset my Moto G last night and set everything up from scratch. I'd not done this since I bought the phone 7 months ago. It took until past midnight, and I was short on sleep anyway!

However, battery life in the 48 hours since the reset has been much better, and the feel around the operating system is much quicker, along with only one app crashing where previously there would have been several. This is with the same set of apps and data as before the reset. To be complete in the detail here, that 7 months usage did include the update from Jelly Bean to KitKat. The conclusions are therefore:
  • Android now behaves like Windows, in that users who consume lots of software/apps/services will accumulate crud, which over time slow the device down and make random things (crashes, force closes) happen, and only a fresh install gets you back to the speed and stability you know the hardware is capable of.
  • Major version updates of the operating system should always be followed by a factory reset where possible.
  • Android's native backup and restore of apps and app data is still pathetic, and very rarely restores a complete set of apps or app data, if it starts at all. There’s very little control of how it happens, and no web portal to see the apps Google has linked to your account, such that you know the apps it will restore, and have a choice to prune the list. Android is far, far behind iOS in this area, which has had flawless back and restore for years.
  • The Moto G really is a brilliant device, especially given the context that this (albeit non-4G variant) 16GB model cost me £81 brand new from Tesco with ClubCard vouchers plus £3 for a SIM unlock.
None of this is news par se, but as one of those annoying folks who wants his phones to be "phone sized" (that's around 130mm x 65mm for me) it does justify my feeling that there isn't a better phone out there for me right now, over 7 months after the Moto G originally 

I've been tempted by a Moto X, the natural migration path in some ways from the Moto G, but as it is now a year old, a successor is likely around the corner. Given the Samsung Galaxy S5 Mini and HTC One Mini 2 were both disappointing and overpriced, my hopes for a new phone-sized phone to purchase seem to rest on rumoured devices such as:
  • Sony Z2 Compact, where they'll hopefully have fixed the Z1 Compact's problems like the under-performing camera, the nasty factory-fitted screen protectors, and the chassis design that makes it feel larger than it is.
  • Moto X2, where they'll have a much better camera in than that on the Moto X, and release it in the UK promptly (versus 6-7 months delay on the Moto X after it launched in the US)
  • Some other thing that's a bit off piste and will surprise me into a purchase (a small Xiaomi device, a OnePlus One Mini, etc)
That list doesn't include anything too concrete, or even anything likely to be released in the near future. It's just as well this feels like new Moto G since the factory reset, as I seemingly won't be buying anything actually new any time soon...

Monday, 28 April 2014

Android Needs A Better Security Update System

Recent security issues such as Heartbleed, which reportedly affects Android 4.1.1 (http://googleonlinesecurity.blogspot.co.uk/2014/04/google-services-updated-to-address.html), and permissions being a bit too permissive (http://www.fireeye.com/blog/uncategorized/2014/04/occupy_your_icons_silently_on_android.html) have both apparently resulted in Google releasing fixes to their partners. We all know that their partners, the device manufacturers, have a poor history at updating devices, especially those devices which are more than a year or so old. In some countries, mobile network operators add a significant delay to the update process, sometimes many weeks or months.

It must therefore be time for Google to implement a direct system for applying security updates to devices, which does not rely on device manufacturers or mobile network operators. Sure it's not the ideal scenario; both device manufacturers and mobile network operators would much prefer to test the updates before releasing them into the wild. However, the direct system is surely better than having many hundreds of thousands of devices stuck on vulnerable versions of an operating system? Depending on which set of statistics that you look at, there could be anywhere from 10% to 34% of Android devices in use today on the 4.1.1 version that is vulnerable to Heartbleed.

Somewhat ironically, Microsoft's Windows operating system, which is not usually held up as a shining light for security best practice, has had a direct system for updates for many years. It's not perfect or 100% interoperable in every scenario, due to the massive array of both operating system customisations and end user software on the market for Windows. However, it does give Microsoft a direct route to deliver security patches, a route which isn't dependant on anybody else (outside of the corporate environment anyway, where rolling out updates is typically managed by the organisation centrally in a controlled manner).

Apple has the klout to do system updates direct for its iOS devices, but having control of the hardware and operating system stack end-to-end means there are less integration risks than the plethora of Android-based devices in the wild. Maybe that appeases the concerns of the mobile network operators. Apple also control app releases in their App Store much more than Google do in the Play Store, and the apps themselves have far less access to the operating system, with much fewer and wider ranging APIs available to app developers. Maybe that too reduces the risk of interoperability failures when updates are rolled out without mobile network operators having their testing time.

Google Play Services, a set of core modules responsible for providing the majority of APIs to non-system apps (amongst other things), are already updated directly from Google without any middlemen and without a user having to visit the Play Store, tick any boxes, or even "accept" the update. This system works already, and is responsible for bringing some new features to devices without them needing an operating version upgrade or a firmware upgrade from the device manufacturer. It would therefore not sound inconceivable that the next major version of Android, be it numbered 4.5 or 5.0, should include some form of device update system, similar to that used for Google Play Services, to bring security updates to users in a timely manner, for the good of everyone.