Android

Linux, GNU, Fragmentation and... Progeny?

In this first entry in the "Android and dreams undreamt" rambling, I'll briefly go through the Linux history to date, touch on fragmentation, and mention some of the work we did at Progeny (the reasons will become apparent soon :-)

Android and dreams undreamt

The Linux community and its associated industries has been a very interesting thing to observe lately. It's gone from an underground hit to an extremely mainstream staple in the 15 or so years I've been working with it, and we have Linux-based devices and platforms which are truly bizarre and unique even in the diverse landscape that is the Linux-verse.

It's no secret that I've spent the last two years in a self-imposed Windows development environment, but it was never my intention to abandon my free software love completely. At Funavision, we've spent two years building some high-quality, first class, gaming technology in the form of an engine we call "Mimicware". This engine is currently closed source and proprietary, however we are seriously considering the pros and cons of releasing it under a free or open software license (since, honestly, our intended business was not centered on this bit of technology).

Mimicware currently is mostly written in C#. This was a practical decision to bootstrap our technology against Microsoft's XNA, but our intention was never to stick with C# ad nauseum. Our intention was to eventually rewrite the core of Mimicware in something more portable and then provide bindings for it in several high level languages (including C#, and using our existing Mimicware engine code).

In fall 2009 we began the work of rewriting our core in a more cross-platform way. Admittedly we haven't completely finished this rewrite, and we have a way to go before we can utilize it in our games, but what we have so far is already fairly impressive as it technically allows us to develop applications which can run on a diverse range of platforms including the Xbox 360 and Google Android (in fact, to my knowledge, we're the first to actually be able to do that :-) If we do ultimately release the source to this engine, I think we'll likely be the first free/open-source multimedia game API to target such a wide range of platforms.

Well, as we've been working on this cross-platform core, I've been learning more and more about Google's Android platform. What I've learned is completely and utterly fascinating, so I thought I'd share...

These are not the droids you're looking for...

Approximately 4 or 5 years ago I made what I considered a pretty major phone purchase. I replaced my existing cheap whatever this was with a shiny, new T-Mobile MDA. The HTC built MDA was an absolute monster of a phone compared to what I had before. It was Windows Mobile based, which meant I could install applications, browse the web, use SSH on it, even edit code and use Blender. I know functionality like this wasn't new to many people at the time, but it sure as hell was new to me. Even though I wasn't a huge fan of Windows Mobile, compared to the alternatives at the time (Blackberry, Palm, and other custom "bleh") it was pretty damned rocking.

Well, 4-5 years have passed, I've gone through two jobs, started my own business, and my faithful little phone has quickly aged and lost much of its usefulness. I long ago lost the desire to use it for anything other than phone calls. Its camera sucks compared to other digital cameras we have. No one supports my ancient tech any more, so new applications are few and far between. And the Windows Mobile environment seems to have somehow degraded over time such that it's always sluggish and often glitchy. I've had other friends who have had similar complaints about Windows Mobile in the past, but I really didn't start getting bothered by my phone until late in 2009.

So we decided to get a new phone, but, as I tend to do with everything, I really didn't want to get some stopgap solution that would hold me for a few months and then lose its usefulness due to it being obsoleted before I even get it. Thus, the question became, what do I want next?