Kindle Fire and Games

Yes, there goes another post writing about my flashed Kindle Fire. If you’re bored just skip it.

When I had Amazon’s operating system I tried quite a number of games, mostly “Free apps of the day” from Amazon’s appstore, or a few free (ad-supported) games — even though I did buy Rovio’s Amazing Alex as I liked the demo quite a bit. The only game that was really unplayable on the device was Jetpack Joyride (which is free). Even the Google Play version, with CyanogenMod, stutters enough that I don’t want to play it there, while on the other hand it works perfectly fine on my iPad and iPod Touch.

Since I haven’t even tried installing the Amazon App Store after flashing CyanogenMod on the device, I haven’t played Amazing Alex in a long time. On the other hand I played Fieldrunners HD (link goes to Amazon) which I bought on Google Play instead, and played on the Desire HD before. This worked like a perfect charm (and if you like tower defense games, this is a terrific game, and you should give it a try!).

The first games I bought on the newly flashed Kindle Fire were Eve of Genesis and Dark Gate (latter link goes to Google Play), thanks to Caster’s suggestion. These are classic Japanese RPGs, likely re-made from older 8- and 16-bit systems to Android and iOS, exactly what I like for the few moments I spend playing on it. They play quite nicely, even if sometimes they do stutter as well.

But the problem starts with the most recent (at the time of writing) Humble Bundle with Android 5 which I bought in the hope to play Dungeon Defenders on the tablet at least, since my Dell laptop does not play it smoothly on Windows, and my Zenbook has an HD4000 “videocard” and with that card, there’s a bug that was not fixed yet, as far as I can tell. Ryan would know better.

Unfortunately, trying to get Dungeon Defenders to play on that tablet is a bad idea, in particular the moment when you have to load the input method to type your name, it crashes completely. Other games in the bundle are not better. Splice crashes just after loading, for instance, and so did Solar 2. While Crayon Physics works, it will complain if even a single other application is running that it doesn’t have enough memory, and it’s probably correct in that.

Among the games that works, Crayon Physics is definitely worth it — I’m going to try Sword & Sworcery EP and see if that one works as well. Dynamite Jack is not my cup of tea but works great (and it shows that it was well designed and written by the way it was faster to start up that most apps).

Of course these are only some examples, but it shows two main problems: the first is that it really is necessary to put requirements on software, and try to spare as much memory as possible without making the application unusable, if you want to be compatible; the other that if you want to create a gateway app, like Humble Bundle did, you need to make sure you check the requirements before allowing the user to install the games. In this case, the tablet is obviously not supported, as I flashed an experimental, unofficial ROM myself, but I’m pretty sure that most of the Chinese tablets that I’ll find at the local Mediaworld (Italian brand for Mediamarkt) will have even less memory than the Fire.

Oh well, hopefully I’ll soon be able top lay these games on a real gaming PC, be it with Linux or Windows, thanks to Steam, and then it won’t matter that the Fire is not that powerful.

Browsers on the Kindle Fire

A few days ago I talked about Puffin Browser with the intent to discuss into more details the situation with the browsers on the Kindle Fire tablet I’m currently using.

You might remember that at the end of last year, I decided to replace Amazon’s firmware with a CyanogenMod ROM so to get something useful on it. Beside the lack of access to Google Play, one of the problems I had with Amazon’s original firmware was that the browser that it comes with is flakey to the point of uselessness.

While Amazon’s AppStore does include many of the apps I needed or wanted – including SwiftKey Tablet which is my favourite keyboard for Android – they made it impossible to install them on their own firmware. I’ve been tempted to install their AppStore on the flashed Kindle Fire and see if they would allow me to install the apps then, it would be quite a laugh.

Unfortunately, while the CM10 firmware actually allows me to make a very good use of the device, much more than I could ever have reached with the original firmware, the browsing experience still sucks big time. I’ve currently installed a number of browsers: Android’s stock browser – with its non-compliant requests – Google Chrome, Firefox, Opera and the aforementioned Puffin. There is no real winner on the lot.

The Android browser has a terrible network implementation and takes way too much time requesting and rendering pages. Google Chrome is terrible on the whole, probably because the Fire is too underpowered to run it properly, which makes it totally useless as an app. I only keep it around for testing purposes, until I get a better Android tablet.

Firefox has the best navigation support but every time I click on a field and SwiftKey has to be brought up, it takes a full minute. Whether this is a bug in SwiftKey or Firefox, I have no idea. If someone has an idea who to complain about it to, I’d love to report it and see it fixed.

Best option you get, beside Firefox, is Opera. While slightly slower than Firefox on rendering, it does not suffer from the SwiftKey bug. I’m honestly not sure at this point if the version of Opera I’m using right now renders with their own Presto engine or with WebKit which they announced they are moving to — if it’s the latter, it’s going to be a loss for me I guess, since the two surely WebKit based browsers are not behaving nicely for me here.

Now from what I said about Puffin, you’d expect it to behave properly enough. Unfortunately that is not the case. I don’t know if it’s a problem with my local bandwidth being too limited, but in general the responsiveness is worse than Opera, although not as bad as Puffin. The end result is that even the server-side rendering does not make it usable.

More reviews of software running on the Fire will follow, I suppose, unless I decide to get a newer tablet in the next weeks.

Mobile App Review: Puffin Browser

While I was working on my previous job I have been given the task to find a way to use a Flash based application on an iPad (Android was not on the mind of anybody but me). Among the applications I have been trying for that there was Puffin Browser which is available for both iOS and Android.

I haven’t written much about this before, because it was too related to work to talk about — we were trying to get in touch with them, as we had a few issues that needed to be addressed, but since that was about six months ago now, I guess that fell through and won’t be happening anyway. Nothing that I’ll be discussing here is related to that job anyway.

So what is Puffin, and why did it relate to run a Flash application? Well, mostly it’s a browser that follows the same idea that I remember being used at least by the first Opera browser on the iPad, if I’m not mistaken. A server of theirs downloads and renders the page, and it’s displayed on the device’s screen.

Unlike most other browsers I’ve seen, though, it also renders Flash in (near) real-time, and proxies the taps as clicks. To make it nicer, it also provides a virtual mouse, and keyboard, which allows you to do operations like right clicks and drags. It’s not a bad result what you get, but there are complications.

Mostly, the complications are for server admins — not even web developers, really just server admins. The problem is that CloudMosa, the company that develops and sell this application, while using a very limited pool of IP addresses to proxy the requests, do not provide a FcRDNS to ensure that what comes, declaring itself as Puffin, is actually Puffin, and can be trusted.

You can imagine that this causes no little problem with my ruleset especially in regard to the openproxy handling. Unfortunately, and this was one of the things that caused the most problems at my previous position as well, they don’t really have a support system. They handle most of the feedback and discussion through their Facebook page. Which is to say, something very screwed up.

Flashing a Kindle Fire with CyanogenMod

Those of you that follow me on Google Plus (or Facebook) already know this, but the other day I was wondering about whether I should have flashed my Kindle Fire (first generation) with CyanogenMod instead of keeping it with the original Amazon operating system. This is the tale of what I did, which includes a big screwup on my part.

But first, a small introduction. I’m the first person to complain about people “jailbreaking” iPhones and similar, as I think that if you have to buy something that you have to modify to make useful, then you shouldn’t have bought it in the first place. Especially if you try to justify with the name “jailbreak” an act that almost all of the public uses to pirate software — I’m a firm maintainer that if we want Free Software licenses to be respected, we have to consider EULAs just as worthy of respect; that is that you can show that they are evil, but you can’t call for disrespecting them.

But I have made exceptions before, and this mostly happen when the original manufacturer “forgets” to provide update, or fails to follow through with promised features. An example of this to me was when I bought an AppleTV hoping that Apple would have kept their promise of entering the European market for TV series and movies so that it would come to be useful. While now they do have something, they have not the ability to buy them to watch in the original English (which makes it useless to me), and that came only after I decided to just drop the device because it wasn’t keeping up with the rest of the world. At the time to avoid having to throw the device away, I ended up using the hacking procedure to turn it into an XBMC device.

So in this case the problem was that after coming back home from Los Angeles, I barely touched the Kindle Fire at all. Why? Well, even though I did buy season passes for some TV Series (Castle, Bones, NCIS), which would allow me to stream them on Linux (unlike Apple’s store that only works on their device or with their software, and unlike Netflix that does not work on Linux), and download to the Kindle Fire, neither option works when outside of the United States — so to actually download the content I paid for, I have to use a VPN.

While it’s not straight forward, it’s possible to set up a VPN connection from Linux to the iPad, and have it connect to Amazon through said VPN, there is no way to do so on the Kindle Fire (there’s no VPN support at all). So I ended up leaving it untouched, and after a month I was concerned about my purchase. So I started considering what were the compelling features of the Kindle Fire compared to any other Android-based tablet. Which mostly came down to the integration with Amazon: the books, the music and the videos (TV series and movies).

For what concerns the books, the Kindle app for Android is just as good as the native one — the only thing that is missing is the “Kindle Owners’ Lending Library”, but since I rarely read books on the Fire, that’s not a big deal (I have a Kindle Keyboard that I read books on). For the music, while I did use the Fire a few times to listen to that, it’s not a required feature, as I have an iPod Touch for that, that also comes with an Amazon MP3 application.

There are also the integration of the Amazon App Store, but that’s something that tries to cover for the lack of Google Play support — and in general there isn’t that much content in there. Lots of applications, even when available, are compatible with my HTC Desire HD but not with the Kindle Fire, so what’s the point? Audiobooks are not native — they are handled through the Audible application, which is available on Google Play, but is also available on my iPod Touch, which means I have no point about it.

So about the videos — that’s actually the sole reason why I ordered it. While it is possible to watch the streamed videos on Linux, Flash would use my monitor and not let me work when watching something, so I wanted a device I could stream the videos to and watch on… a couple of months after I bought the Fire, though, Amazon released an Instant Video application for the iPad, making it quite moot. Especially since the iPad has the VPN access I noted before, and I can connect the HDMI adapter to it and watch the streams on my 32” TV.

All this considered, the videos were the only thing that was really lost if I stopped using the Amazon firmware. So I looked it up and found three guides – “[1]”:http://forum.xda-developers.com/showthread.php?t=1632375 “[2]”:http://forum.xda-developers.com/showpost.php?p=30780737&postcount=180 “[3]”:http://forum.xda-developers.com/showthread.php?t=1778010 – that would have got me set up with an Android 4.1, CyanogenMod 10 based ROM. Since the device is very simple (no bluetooth, no GPS, no baseband, no NFC) supporting it should be relatively easy, the only problem, as usual, is to make sure you can root and flash it.

Unfortunately, when I went to flash it up, I made a fatal mistake: instead of flashing the bootloader’s image (a modified u-boot), I flashed the zip file of it. And the device wouldn’t boot up anymore. Thankfully, there are people like Christopher and Vladimir who pointed me at the fact that the CPU in that tablet (TI OMAP) has an USB boot option — but it requires to short one very tiny, nigh-microscopic pad on the main board to ground, so that it would try to boot from there. Lo and behold, thanks to a friend of mine with less shaky hands who happened to be around, I was able to follow the guide to unbrick the device, and got the CM10 ROM on top of it.

Now I finally got an Android 4 device (the HTC is still running the latest available CM7 — if somebody has a suggestion of a CM10 ROM that does not add tons of customization, and that doesn’t breach the Google license by bundling the Google Apps, I’d be happy to update), I’ve been able to test Chrome for Android, and VLC as well — and I have to say that it’s improving tons. Of course there are still quite a few things that are not really clean (for example there is no Flickr application that can run there!), but it’s improving.

If I were to buy a new tablet tomorrow, though, I would probably be buying a Samsung Galaxy Note 10 — why? Well, because I finally got a hold of a test version of it at the local Mediamarkt Mediaworld and the pen accessory is very nice to use, especially if you’re used to Wacom tablets, and that would give sense to a 10” laptop to me. I’m a bit upset with my iPad inability to do precise drawing to be honest. And since that’s not very commonly known, the Galaxy Notes don’t use capacitive pens, but magnetic ones just like the above-noted Wacoms, that’s why they are so precise.