DuOS-M: Android on Windows 8.1

One of my sons recently got me invested in Ice Cold Muffin‘s ICE, a game in which you try to take over bases in a simple directed graph. It’s a lot of fun, despite the extreme simplicity – maybe other game makers could benefit from noticing how simple games can be fun.

Anyway, while it’s fun to play on my phone, it’s a little small – most of the ICE ships end up being barely perceptible. That’s probably okay, really, because you don’t win bases with single ships – you overwhelm them with fleets. But it’d still be nice to have it on the Surface, because… well, just because.

Running Android games on Windows is possible, of course, because Android has a development kit for Windows. But you wouldn’t want to run the Android emulator as an actual runtime environment.

After noticing BlueStacks and reading some reviews about it, I decided to give AMI’s DuOS-M a try; it seemed to get rave reviews and looked very clean.

Sure enough, DuOS-M worked, and worked very well; it’s trivial to install Google Apps (it comes with the Amazon Store by default, but after initial installation it directs you to a page through which you can install the Play Store as well). From there, it felt like an actual (and giant) Android installation; it was fast and convenient.

It occurs to me that with DuOS might allow me to read all of my uploaded Amazon content on the Surface, via Android. I suppose I could use it as a way to migrate away from Amazon.

At any rate, DuOS-M is well done, from what I can tell so far; I’m glad I found it. ICE is also a great game, if you’re interested in such things, written by a kid who’s only 17 – well worth supporting, in my opinion.

A few thoughts for a Monday…

Life has changed a lot lately.

First, I changed employers; I’ve left Red Hat (for various reasons) and am now working for a company that will give me a little more direct purpose, along with an imperative for using Scala. (Did you see what I did there? Scala’s typically a functional language, not an imperative one, so.. um… a pun’s still funny if you have to explain it right?)

Second, my wife and I both use the Microsoft Surface 3, in addition to our regular working computers. This means that unless you count virtual servers, I’m using more instances of Windows than anything else. (If you factor in remote hosts, Linux is still ahead.)

It’s an interesting set of changes. The job is going to be a lot of fun – a lot of work, but it’s a good fit for me, I think. Red Hat’s still a great company; if I’d not changed jobs, I’d still have been pleased to work for them.

However, this is a good change, and Scala is something I’ve enjoyed as a very casual observer; this gives me a chance to really roll up my sleeves and approach the language with a real intent and purpose.

Functional programming’s going to take some getting used to, though. I’m reading an excellent book, “Functional Programming in Scala,” but deep into the book – I cheated and read ahead – it says “Cause side-effects but shuffle them around so their location is more tolerable.” (Not a quote, even though it’s in quotes.) I’m not sure that’s a terrible idea – at some point you do have to have an actual effect – but the way it’s offered is odd. It introduces an inconsistency in the FP paradigm, and then handwaves it away.

The Surface is a wonderful device. Since it’s running the same platform as my other Windows devices (as opposed to the Surface 2’s Windows RT) I can migrate seamlessly between computers; the form factor is different, but little else is.

The form factor, however, is quite a change. I find the lack of an Insert key to be very much the absolute worst thing about the Surface – a lot of programs use it, and they left it off of the physical keyboard. (The virtual keyboard has it but eats up a lot of your screen space. I’ll use it on occasion, but definitely I far prefer the physical keyboard, which is part of the cover.)

Apart from the Insert key, the right mouse button relies on time of contact, which is something to get used to; an alternative is to use a Bluetooth mouse (or USB mouse). I’m still adjusting to that aspect of the Surface, but it’s less of a deleterious effect than the lack of a physical Insert key.

With all of that said, the Surface’ ability to be a tablet is fantastic. It’s my new book reader, hands down; the larger screen (compared to the Nook HD+) and more solid feel (along with the much higher resolution) is excellent for reading.

However, I’m moving away from Amazon; most of my library’s in the Kindle format, and I suppose that can’t entirely change (what with prior investment) but honestly, the Nook Reader application on Windows is far better; with the Amazon application for Windows, I can’t read my own content, and with Nook I can. I’m an author; I get my own books in EPUB format, and I purchase a lot of books in EPUB. With the Kindle for PC app, I can’t read them on the Surface; I have to use the Nook HD+ or my phone.

It’s not good that I can’t use my Surface for reading my own content. It’s not the Surface’ fault – it’s Amazon’s. If and when Amazon fixes it, I’ll be willing to use their reader again (and I’d prefer it, because that’s where most of my library is), but until then, Nook for Windows wins by simple default. It’s just as readable, and the fact that I can import my own content makes it a huge win.