Raiden, it’s not quite the same on Android..

I pumped insane numbers of 10p coins into the Raiden arcade machine twenty years ago. Over the years I’ve played the dire PC conversion in the late 90’s (argh, it used midi music) and played the arcade version a few times in MAME but the Android version holds up well against the arcade original. It’s a bunch of fun too and it’s part of the Humble Bundle now!

Oh yeah, it’s not quite the same on an Android device. It’s a hell of a lot cheaper and possibly easier. There’s no way I could move the ship around as quickly as I could by dragging a finger across the screen. Great stuff!

Cyanogenmod 10.1: the Jelly Bean update for my Samsung Galaxy S II

cyanogenmod

I’ve had a Samsung Galaxy S II since around August 2011, and while the S3 has of course tempted me the cost of the device and/or monthly commitment was too much. I’m hoping that the release of the S4 will see a price cut in the older phone! I also feel the SGS2 is a “good enough” phone for most of the things I want it to do so there was that too.

Meanwhile my S2 has been rooted for a long time but I was running an old version of Android, Ice Cream Sandwich. There’s supposed to be a galaxy s ii Jelly Bean update sooner or later but because of all the tinkering I’ve done to my phone any previous OTA update always fails. Meanwhile, installing Cyanogenmod 10.1 was almost as easy as following the instructions here.

The hardest bit was getting an updated ClockworkMod Recovery on there. In Windows, Heimdall refused to see the phone, or reported an error, “libusb error: -12” or “failed to initialize protocol” even after running the included zadiag.exe. I tried it in Linux too but had similar problems until in frustration I disconnected the phone and put the Macbook to sleep. When I tried it again 5 minutes later it worked and squirted a new CWM down into my phone!

With that in place my phone wouldn’t boot, if I didn’t go into Recovery mode it just showed a black screen. No matter as I had everything backed up with Carbon backup. I removed the SD card and copied the latest nightly firmware and gapps on there. Booted into Recovery, factory reset, flashed those zip files, did a dalvik clear just in case and rebooted into Jelly Bean, Android 4.2.2! Once I logged into Google it started downloading all my apps again and with Carbon I was able to restore the settings of all my apps.

Photosphere isn’t included in this rom but I found it here in a flashable zip. Here’s what it looks like when I used it on Patrick’s Street, Cork today. iOS has a similar functionality I guess as I’ve seen a few colleagues from working waving their iPhones around while at meetups! The camera on the SGS2 is frankly rubbish but Pixlr Express does a good job of making photos look a lot better.

How does it perform? Very well for the most part.

  • I noticed that if I tether my Nexus 7 with a wifi hotspot then I will sometimes have to bring up an Internet app on the phone to wake up the 3G connection.
  • I noticed two Maps processes going a bit loopy when GPS was disabled and I had launched Ingress. GPS is disabled now and the phone is fine. Odd.
  • As a result of restoring settings from Carbon backup, Greenify had a list of apps to hibernate but because I hadn’t run it interactively then it hadn’t been granted superuser privileges. My phone got really hot as I guess the app was trying to hibernate the Facebook app repeatedly. TouchPal kept closing too but clearing the cache fixed it. Those aren’t Android problems, just a side effect of the restore process and insufficient error trapping in the apps. I’ll contact the authors about those (admittedly obscure) issues.
  • Sometimes there’s an odd slowdown in the UI. Ingress was dog slow for about 30 seconds but then it righted itself and it’s definitely faster than ICS.

I love Google Now! I wish the monthly activity card displayed in Km instead of miles. I like the new mini settings but wish that GPS was there to save me having the Power widget on a secondary homescreen. Photosphere is pretty cool. I wish Chrome had browser extensions so that Lastpass could build support for it. I haven’t yet noticed any huge difference in battery consumption. I don’t care if the FM radio doesn’t work, I never used it. Podkicker and Tunein Radio take care of any audio. The Apollo music player is nice, but doesn’t play very nicely with MP3s that don’t have tags. I had to fix some rips I made recently of CDs as they were coming up as from Unknown Artist, even though the files were in artist/album directories. All the other MP3 players I tried did the same however.

CM 10.1 has an auto update feature that John reminded me of. I haven’t enabled it yet though. I need to do more research and find out how it works and whether it will clobber my app settings and data.

If you have an SGS2 you should definitely give Cyanogenmod 10.1 a spin. I remember the first time I upgraded my original SGS to CM7 and the problems it had with camera support but I didn’t have any similar problems this time. CM10.1 will give it a whole new lease of life!

Greenify your Android Phone

Greenify is an app for rooted Android phones that will cause any named application to hibernate when it is no longer in the foreground.

An app can remain running in the background on Android devices even after you think you’ve exited it. That’s all well and and good when the app is a timer or alarm but not so good when it’s a misbehaving app sucking down network data or slowing down your device. This is where Greenify comes in and it boasts that it will allow your Android device to multitask like iOS does. A dubious boast if ever I heard one!

greenify

It was easy to configure after installing it, I selected the Facebook app and hibernated it. Greenify causes the app to hibernate after turning the screen off for 30 seconds. Once I launched Facebook again the Facebook logo appeared as if the app was shutdown and it took longer to start. It worked! It doesn’t kill the app. If it did then it might be restarted automatically.

I haven’t been able to figure out if Greenify helps extend my phone battery. Yesterday I carried out a small test which I may have botched. I launched Facebook and then left my phone for one hour with and one hour without hibernating the Facebook app from fully charged. After an hour:

  • 93% battery left with the Facebook app hibernated.
  • 95% battery left without hibernation. (Ooops!)

The difference is small and unfortunately it’s not as conclusive as you might think. During the hibernation test I fired up Ingress to paste a passcode in. I did it as quickly as possible but the Ingress app likely remained running in the background for a time. Could it have chewed through 2% of battery?
Also, charging batteries to 100% is notoriously unreliable. Even though it says 100% the battery may not be at at level.

A better test would be an overnight one starting from perhaps 90% of battery. I’ll also keep an eye on things with Better Battery Stats. That app reported that Google Maps caused several “partial wakelocks”. Unfortunately system apps like Google Maps can’t be hibernated.

This app may not save much battery power but it probably will help people with older phones and slower CPUs, but they’ll have to be running ICS. I guess if they’ve rooted their phone it’s likely they can update the ROM too..

Further reading on reddit and AP.

Tethered shooting Android apps for Canon and Nikon DSLRs

I discovered Helicon Remote a few days ago. It allows you to hook your Android phone to a Canon or Nikon DSLR via the camera’s USB port and control many aspects of photo taking. It even has live preview on the phone screen which is a nice bonus.

The app itself is free to download but is limited in that it won’t allow you to shoot RAW images. It also doesn’t restore the camera settings when you shut it down so you may need to fix those after using it. If you register it by handing over $38 (discounted price, it’s normally $48!) you’ll be able to make RAW photos.

There is also the free remote release app by Chainfire and his (much) more advanced DSLR Controller costing only €7.13 that looks to be similar to the Helicon app but more reasonably priced.

I tried the Helicon app with my SGSII, an OTG USB cable and my Canon 40D. Images are stored on your phone just in case you’re wondering where they’ve disappeared to after disconnecting everything!

Android: auto connect to Bluetooth speakers

I have two bluetooth speakers at home. One is a Jawbone Jambox and also a Creative D100. The Jambox speaker looks for a bluetooth device when I switch it on that makes connecting a synch but the D100 does not. That necessitates clicking the Bluetooth Android notification and tapping the D100 device to connect. A small inconvenience I grant you but one nonetheless.

This is where Bluetooth Auto Connect comes in. As the name suggests, this app automatically connects to other bluetooth devices. After installing it I selected the Creative D100 so that device will auto connect. When both speakers are switched on it connects to the Jambox which is fine by me. The D100 now connects whenever I switch bluetooth on!

Finally, I wanted to enable bluetooth if I fired up Podkicker to listen to some podcasts but only if I was at home. Llama Profiles to the rescue! I created a new event that checks if Podkicker is running, if wifi is connected to my home network and the phone is charging. If all conditions are true then it enables bluetooth. Bluetooth then connects to whichever speaker is active and I get nice pleasant wireless sound.

It might be a pain if I’m downstairs and my speakers were on in my office upstairs but that’ll teach me not to waste electricity while I’m afk won’t it? If I ever get an NFC tag I could do something with that and my Nexus 7 to do something similar but more localised!

Android gaming with an Xbox 360 Controller

This afternoon I took delivery of an OTG USB cable for my mobile devices. I’ve previously blogged about using a PS3 controller with an Android phone but I was curious how well my wired Xbox 360 controller would work.

Plugging the OTG cable into my Nexus 7 and then into the Xbox controller was of course simple, and I had mixed results with the couple of games I tried. If you’re willing to root your Nexus 7 you can install another app that makes it easier to get things working but even with a stock Nexus 7 it worked.

First off I tried Frodo and Vice, the C64 emulators. I thought they might have support for this. Unfortunately not. Luckily Mupen64 Plus, the N64 emulator, does support an external controller! I had to redefine a few buttons, and the left analog stick but I was soon leading the races in Mario Kart 64!

I tried Shadowgun: Deadzone next. It was my first time playing this multiplayer over-the-shoulder third person shooter. The game picked up my controller perfectly! All I had to do was invert the Y axis as I normally do. I’d like to say I kicked ass but I didn’t. I got one kill to six deaths before I gave up. Looks like a good game, but it must be next to impossible to play on a small screen.

I wanted to try GTA III but I never got past the loading screen on my Nexus 7. Dead Trigger is next on my todo list. That should be fun.

I used the OTG cable to connect an external USB flash drive to my devices too. Unrooted the Nexus 7 ignores it unfortunately but my Galaxy S II picked it up and displayed a familiar USB storage notification. Here’s a video of someone playing GTA III on an SGS III. I really have to get that game working on my Nexus 7!

Android: auto brightness and mute your phone

I have two great (and free) Android apps for you today:

Yet Another Auto Brightness is a useful app that will reduce the brightness of your phone display. Here’s the XDA thead about it.

Easy Mute will pause or mute music and podcasts on your phone just by placing your hand over the device. It uses the proximity sensor and you can tell it to only activate if the phone is lying flat.

It works great and it remembers it’s state when the phone is moved. This confused me at first but to replicate, cover the front of the camera to pause and then lift the phone. It will still be paused when you lift your hand off the front. After putting the phone down wave your hand over the front again and it will resume (or just unlock and hit play, the old fashioned way). (via)

My Favourite Android timer app: Chef’s Kitchen Timer

Timing things is something you might not think much about but when you have to make the dinner and various dishes take different times to cook then juggling the time in your head can be a pain.

That’s where a smartphone timer app comes in handy.

For the longest time my wife and I used Kitchen Timer and it works great but it has one drawback. The screen has to be unlocked to reset the alarm. There’s nothing more annoying than a loud beeping noise and you’re waiting for the screen to unlock and hit the off button.

I’ve looked for alternatives in the past but couldn’t find any until last week when I found Chef’s Kitchen Timer. It’s an app that does much the same but also shows the timer controls on the lockscreen. The UI is radically different and I never bother changing the timer names but it works a treat.

Love the new Android 4.2 Keyboard

I’m a big fan of Swype, an Android keyboard that allows you to swype your finger across the screen to type so when I read on Android Police that Android 4.2 would have a similar feature, and you could install it on a pre-4.2 phone I jumped at the chance.

It’s very similar to Swype, picking a word is better and worse. It’s better because it doesn’t block the text window like Swype would on long messages, but it’s not as good at spacing or even guessing the right word sometimes. That latter complaint may improve with time if it learns how I type.

It works fine on my Samsung Galaxy S 2 and didn’t need root access to install. There are download links and instructions on the post above.

While on the subject of Android bits and bobs, go look for SwipePad too. It runs in the background and if you swype your finger in from a designated corner or edge of the screen a menu pops up allowing you to run a new app or widget. Hat tip to the commenters on this post.

Control your Android phone with a PS3 controller

Now, this isn’t going to work on all phones but the Sixaxis Controller Android app allows you to replicate touch, keyboard and mouse controls on your Android phone. I used it briefly with a profile from here to control Minecraft. The profile is for the SGS3 so I need to adjust it slightly for the smaller screen of my Galaxy S 2 but it worked reasonably well.

Check if your phone is compatible by using this free compatibility checker first. You pair the controller with your phone by using your PC first to set the “master MAC address”, then hope the phone pairs. It’s not for the faint hearted but it does work.

Also keep an eye on this Reddit thread.