Category Archives: software engineering

A thought on open source mobile OSes

I, like most of you, am trapped using a mobile OS that I hate. In this case, it’s Android. I loathe Android. Words cannot express my fury at its constant crashing and failure, although they’ve come close:

Smartphones and tablets have essentially become the new printers: things that do not work, and are not expected to work, and whose primary purpose is to inspire gothic conversations about the ultimate futility of the human condition.

You might be an iOS user, and hate that. Or a Windows Phone user (lol, I mean I did see this one guy on the bus once running the WP Tinder ripoff), and hate that. They’re all crap.

Sadly, so are the open source alternatives. FirefoxOS is crap; Ubuntu Phone is vaporware.

This isn’t to minimize the tons and tons of developer effort going into FirefoxOS and Ubuntu Phone. I cannot wait for them to get to be only as bad as Android so I can switch in a nanosecond. I just happened to have an idea – and maybe somebody’s already had it – as to how they can get there faster.

Why not pick an existing handset with an unlocked bootloader, high sales, high durability, and high hardware commonality with other devices, get major milestones done on that device only, and then leverage all the work across more devices much as CyanogenMod does?

It sure beats shipping 128MB phones that barely work as a flashlight, or in Ubuntu’s case, nothing at all. I see it like the “Scaffold” wiki pattern, in which people are far more likely to contribute when there’s a framework present in which they can fill in some blanks.

Organizing institutional knowledge is high-value work. Neglect it at your peril.

I’m quite the wiki enthusiast.  I was an early editor on Wikipedia; I created several articles on really common topics, I got Featured Picture on a few photos I plucked from free sources, and so forth.  I’ve run my own wikis since 2005.  The biggest, at its prime, got a couple hundred thousand hits a month and had periods with 25-30 concurrent users; it was used by students in a classroom environment.

So, at my software development jobs, tending the wiki – or creating it, if it doesn’t yet exist – is a natural fit for me.

And at each job, I’ve heard comments which suggest that maintaining the wiki is low-value work, akin to picking vegetables or something.  Allow me to exercise that analogy a bit: people who pick vegetables feed all of us, and there are racist undertones to presuming that picking vegetables is low value work.

Here are a few paraphrased comments: Continue reading