Q: So, MeeGo is using mutter like GNOME3, right?

A: Um… yes and no.

When engaging people outside of MeeGo, I find a lot of confusion over what is MeeGo.  And when you try MeeGo, the confusion doesn’t actually get much clearer.  Is MeeGo a new Linux distro?  Is MeeGo a new desktop environment?  Is it a suite of apps?[MeeGo Handset UX]

The trouble is that the answer to all of these is “yes and no.”  Which doesn’t really help.

MeeGo is a new Linux distro.  MeeGo is not anything like Ubuntu or Fedora or Debian or even Damn Small Linux.  MeeGo is designed to be a really good starting point for people who want to make custom devices with custom graphical interfaces (i.e. phones, tablets, TV/set-top boxes, kiosks, etc.)

MeeGo is not a new desktop environment nor a bundle of apps.  Inside the embedded device community, the graphical “desktop” is called the “User eXperience” (“UX” for short).  MeeGo does provide several reference UX’s.  This includes the Netbook UX (which came from Moblin and uses Mutter), the IVI UX (which is a new thing based on Qt), and the (alpha-quality) Tablet UX (a new thing based on Qt).  But the thing that’s hard to grasp is that these are just proof-of-concept UX’s.  It is expected that device vendors will not use them, but replace the UX’s with their own custom UX.  And by “expected,” I mean… this is what you’re supposed to do (by design).

This UX concept is hard for users to grasp… because articles and videos show a user interface and you think, “That’s MeeGo.”  It was hard for me, personally, to grasp because the engineer in me thinks, “Why are we reinventing the wheel every time??”  However, that’s the plan — and AFAIK the only OS of its kind that takes this approach.[1]  It allows device vendors to do cool things with their device that help them stand out in the market place.  (In contrast… do users really care if they get a Motorola Android phone or an HTC Android phone??  Probably not.  They look/feel the same… so they buy based on price instead of features.)

And this is the reason why the MeeGo API (i.e. Qt) is so important… with everyone writing their own UX… having a preffered API makes it easier to write apps that will work on all the different custom UX’s that the vendors come up with.

[1] Edit: However, doing this is possible with other OS’s (like Android).  However, it’s the only one I know of that has this as a core implementation strategy.