Saturday, September 17, 2011

Ubuntu, Android, and Firefox in serious danger

Let me preface this by saying three things.

First, people who know me know I'm a serious fan of free software (as defined by the FSF) and I'm not exactly a fan of Microsoft. With that said, my views towards Microsoft have significantly softened over the past few years as Microsoft has started to become genuinely innovative and has embraced open standards. But Microsoft remains, at heart, a vendor of proprietary software.

Secondly, I do not have access to Android Icecream Sandwich. That said, the hints about what's in it do not really affect what's written here. It's just about possible that Icecream Sandwich is a true universal operating system that's just at home on the desktop as on a tablet or phone, but it's extremely improbable given the advance notice developers would need to make use of that.

Thirdly, while I technically have access to the betas of Ubuntu 11.10, I haven't yet downloaded it. I have followed its development, and Canonical have been fairly open about what it contains. So I don't think it's wrong for me to come to the conclusions that I'm coming to.

So, with that said, let's get to the meat of this journal entry. I think Microsoft's Windows 8 is going to change the way we use computers, and I don't think Android, Ubuntu, or Firefox are in a position right now to be a part of the future.

I spent about fifteen minutes using Windows 8 this morning. I knew roughly what was in it, and it was an interesting experience. Windows 8 has a very different UI from what we're used to. In some ways, it felt like going back to the 1980s when people started playing with GUIs. There were one or two significant problems: the UI, as is, just doesn't work well with a mouse. Lots of things are non-obvious, with hidden dialogs and strange menus.

Still, it does actually work, and you can see exactly how Microsoft intends for it to be used. This is a universal user interface. It'll appear on a tablet - which quite honestly, is probably what Microsoft intends the PC to turn into, it'll be on your TV, your phone, and your desktop - insofar as you still have one.

And by tablet, I don't mean a toy like an iPad or Xoom. I mean something that runs real applications, the logical successors to the ones you run on your desktop, not stripped down versions designed for a stripped down computer running a stripped down operating system. In that respect, this is almost a threat to Apple too, except that I suspect the iMac will run a touch version of Mac OS X in the long run anyway, and I believe Apple is working on it.

The other aspect of Windows 8 that's worth noting is that it's a web operating system. During the 1990s, Microsoft wanted to kill Netscape and spent a lot of time "integrating" IE into Windows to make it appear it was a necessary component of the system. The integration was essentially a sham, Microsoft wasn't ready to produce a real web based operating system at the time, and saw the entire concept as a threat.

That's not true of Windows 8. The user interface is, very clearly, a system built on web technologies, on top of the IE engine, and it's no longer realistic to suggest that users are going to find it useful to have alternative browsers installed.

There are C++ APIs, including an entirely new API unrelated to Win32, but it seems to exist largely as a belts-and-braces thing, a way to ensure that scenarios Microsoft hasn't thought of aren't impossible in the new system.

The combination of these technologies seems to point to drastic changes in the way we're using computers. If tablets are suddenly useful, it's quite easy to envisage people actually using them rather than buying them and ignoring them after a few weeks. Microsoft has been pioneering tablets for the last decade, but hasn't found a winning formula for the systems - but with the advances in UI design of the last few years, it really has a chance to make a workable tablet system.

Would people want these things? Well, the way I suspect it'd work would be something like a bigger version of the Motorola Atrix concept. You'd have a very portable device that contains everything, with the option of hooking it up to a proper keyboard and monitor when you need the comfort of having both. And personally, I love the idea. I've been wanting something like that since the 1980s. I'm not kidding. And I don't see why everyone wouldn't like the idea, given a tablet device that's powerful enough.


Ubuntu

Ubuntu has been doing some very interesting stuff on the UI front lately, but it's like they're heading in entirely the wrong direction. By this, I don't mean the usual "Wah! I don't like Unity!!" arguments - as a mouse driven UI it's heading in absolutely the right direction. I'm not saying it's "good" yet, it isn't, there's a reason I don't run it as my primary UI, but I liked where Unity was going.

The problem here is that Unity is very much mouse oriented. The decisions the Ubuntu people are making are mostly revolving around the idea that the user will be using a mouse to control their system. Some features, such as the dock, are virtually unusable in a touch-UI context. Drop down menus? Again, hostile to the touch UI world without major changes.

The issue for Ubuntu though is not merely that their own attempts at building a next generation UI are heading in the wrong direction, it's that they're still locked to the GNOME application base. To build a user interface that works with the future "way of doing things", you need to essentially tell developers "Throw out what you're doing, and move to something else". That's extremely tough, especially for a system built upon goodwill and sharing rather than monopolist control of a major part of the infrastructure.

Nonetheless Canonical needs to change direction, and do it fast. There are things Ubuntu can adopt, the most obvious being to look at Android, especially when Icecream Sandwich comes around, to see what can be incorporated into a next generation UI. And they need to look at how the applications that Ubuntu provides can be rebuilt to work best with a universal UI.


Android

Android, at least, has a - well - tablet friendly UI. It's not a Desktop friendly UI, and moreover, Android is a stripped down operating system. Android doesn't have many of the lower level and middleware layers that are needed to support a full, universal, operating system in the same way as Ubuntu or Windows. It's single user. The file system is awful. There's limited USB and Bluetooth support - indeed, if Google hasn't thought of it in a mobile context, the chances are it's not supported.

Porting proper desktop software to Android is a serious problem. While "any language that can be translated to Java byte code" can in theory be ported, in practice there's just no infrastructure for non-Java Dalvik development. The other option to developers is the NDK, but the NDK - again - is limited, being a C/C++ only thing, with a limited API. The NDK also limits the ability of an app to run on multiple CPU architectures, and it's realistic to suggest that Microsoft's decision will result in a massive influx of Intel based tablets in the near future.

Android is an excellent mobile operating system, and a true competitor to iOS. But it's just not powerful enough to take on Windows. I don't think Android is salvageable. Can it survive anyway, as a phone operating system? That depends on whether Windows Phone starts to make headway in a Windows 8 world. I can't comment on the likelihood of that.


Firefox

Firefox has a large number of problems right now which makes me concerned for its future. Here are some points that have nothing to do with Windows 8.
  • While Firefox had some minor (but useful) new features added in version 4, this seemed to be at the expense of a browser that uses so much memory it simply becomes unusable on most desktops. Ironically, the reason it's causing your computer to halt and sit swapping for two or three minutes at a time is because they're trying to use memory to make Firefox slightly faster. Mozilla seems to go back and forth in terms of fixing this problem. But it's fair to say Firefox is rapidly gaining an atrocious reputation right now.
  • Firefox is pissing off developers. They teamed with Microsoft to kill the popular Web Database system, introducing the awful IndexedDB specification as an "alternative" (that doesn't even solve the same problems!) Their rapid release schedule is making it harder to ensure extensions work with the system - both upsetting developers of extensions, and developers who rely on extensions like Firebug.
  • Firefox is pissing off system administrators, by proposing release schedules, version update policies, and software update policies, that fly in the face of standard IT practice, and to add insult to injury, with some Firefox developers announcing that Firefox has no place in the corporate environment as a response.
I'm upset about this, because I love the Firefox browser. But I'm using the 4+ versions solely because Ubuntu doesn't give me the option of installing 3.6. Even with the memory issues half fixed, I find myself drifting towards Chrome these days.

Now, let's look forward on this. The Windows 8 UI is simple, it has a web browser integrated into it, and it doesn't really feel like you're using apps any more - eg you're selecting a page in News that you go to, you're not loading IE to look at a web site.

In this environment, you have to be fairly motivated to want to install another web browser, let alone use it. Where is this motivation as far as Firefox goes?

What of Chrome and Safari? I don't think anyone's going to install them under Windows 8 either, but Safari at least has the benefit of being a part of wherever Mac OS X is heading, and Chrome's importance is lessened by virtue of the fact it's just another Webkit browser, albeit a nicer one (in my opinion) than Safari.


What happens from here

I think unless Ubuntu changes direction it's dead in the water. I think it'll start rapidly losing what little marketshare it has from 2013 onwards unless the Canonical people find a way to fix the UI issues so it can run efficiently and well in a tablet environment.

I think Android is going to have severe problems going forward. I can't see how it can be fixed. I think the system may work well as a phone OS, but it may lose the battle if people find themselves drawn to Windows Phones because they work well, and are well integrated with Windows 8.

I think we're going to be seeing the death throes of Firefox in the very near future. Canonical was reportedly considering a switch to Chrome with the last version, I think they'll eventually go in that direction. I think relatively few Windows 8 users will deliberately install Firefox.

On a separate note, I think it'll be interesting to see what Apple is doing. If I had to make a prediction, I'd say it seems likely, to me, that the iPad and iMac "products" will merge in the near future. I think Mac OS X will steadily become more tablet oriented, and once it's ready, a "tablet iMac" will be the next thing that comes out of Cupertino. The iPad will likely be phased out at that point.

What do you think? Anyone else used Windows 8 yet?


No comments:

Post a Comment

Replies are welcome, but be aware comments are moderated. Be friendly, on-topic, and all of the things I'm not!