Linux Mint 15 Interview – HTML5, Arch and the MintBox
Read the rest of our interview with Clement Lefebvre and the Mint Dev Team from the latest issue of Linux User & Developer, 128
In our interview with Clement Lefebvre and the Mint dev team for this months issue, we covered more than could fit into the confines of our magazine. We talked about the most important part there, the release of Cinnamon 2.0 in the next Mint, however there was more that we talked about.
Linux User & Developer 128 is in stores now, and also contains 14 pages devoted to the Raspberry Pi, and a tutorial on installing a Linux distro to your Android phone. Grab it online at the Imagine Shop.
Here’s the rest of the interview, with some interesting tidbits about the new MDM themes, the MintBox and more.
Linux User & Developer: Can you talk a little bit more about the HTML 5 themes in MDM? What made you want to do it?
Clement Lefebvre: Sure. GDM 2.20, at the time (2007 or so) was the best display manager available, but its design was complicated, people who had worked on it had left GNOME, etc, and it was becoming more of a problem for GNOME than it was worth. Or so they thought.
You probably remember when they removed the ability to theme GDM, in 2.30. That GDM 2.30 was a brand new GDM, with a shiny new design/codebase but only the basic features were ported. Eventually that trend continued in the GNOME project and they focused more on design considerations at the cost of their users experience.
Fast forward a few years and modern DM don’t do anything and aren’t configurable anymore, so, we took GDM 2.20 and called it MDM and we started working on it. In close to no time it was the best Linux DM again – the problem was, it didn’t look modern.
Albert Pool: MDM was buggy at first because it was old software run on a new distro (though you didn’t really notice most of that in 13′s default configuration – but it’s caused problems to us on the way to both 14 and 15). As of Mint 15, most bugs have been fixed.
Lefebvre: Yes, it caught up with new technologies like upstart, plymouth, etc. You might have seen someone called Sam Riggs?
LUD: It’s not ringing a bell, sorry.
Lefebvre: He used to develop Android applications. When he saw we supported HTML5 he simply ported his animated Android clocks to MDM. Lusito, participated in this as well. He developed the MDM theme emulator. You can run MDM in a window but it’s a bit technical, with Lusito’s emulator, theme artists can test their themes very easily. Writing a theme is like writing a website.
LUD: A couple of distros that had their own Cinnamon spins have dropped official support or using it as a default recently, Cinnarch and Manjaro in particular. Were you surprised by these moves?
Lefebvre: Yes and no. I wasn’t surprised, but they didn’t have to either.
I can explain for Cinnarch in particular, I’m not really sure about Manjaro, and it goes back to why we’re implementing our own backend in 2.0. Cinnamon 1.8 is a frontend to the GNOME DE, so for it to work, it needs to speak the same language as GNOME. That means dbus interfaces, settings etc.
If GNOME changes its interfaces, settings, etc, Cinnamon needs to adapt to continue working with it. If these changes are radically different than before, in some cases, it’s not possible for Cinnamon to be compatible with both the old and the new GNOME. That’s the core issue, and our priority, as the makers of Cinnamon, is with Mint and LMDE. That means GNOME 3.4/3.6, and the promise to our users that we will continue to backport Cinnamon to LMDE and our LTS release.
So when GNOME 3.8 breaks compatibility, the choice for us is easy to make, especially since we won’t be using 3.8 until November 2013.
Pool: The Arch package maintainers are already doing a good job of getting Cinnamon running on Gnome 3.8 when we’re not up to that yet. Same for Fedora.
Lefebvre: The problem is that some distributions like Arch are rolling, and so they run the latest of everything. Therefore by upgrading GNOME, they were breaking Cinnamon. They came to us in panic, at the last moment, in the case of Cinnarch I wasn’t there. They interpreted some of what we said (namely the fact that I agreed to consider it a bug but that as a Mint developer it wasn’t one of my priority) as a sign that Cinnamon wouldn’t work outside of Mint.
It was probably a good move for Cinnarch to distance itself from one particular DE anyway, and as you can see faidoc is shipping Cinnamon as one of the DEs in his newly named distribution [Antergos]. We weren’t surprised because the minute Canonical announced they would stick to GNOME 3.6 for another 6 months we knew there’d be a gap between the Debian ecosystem in which we belong and the rest of the world, and most of the work done on Cinnamon comes from us.
Some of the Cinnamon devs worked hard and provided Arch/Fedora with a 3.8 compatibility branch, so they can run Cinnamon 1.8 on top of GNOME 3.8 just as well as we run it on 3.4/3.6 and no compatibility is broken. In Cinnamon 2.0 we won’t have that problem since we’re getting rid of the GNOME backend altogether, which is great news for non-Debian distros and older releases alike :)
LUD: What else can you tell us about the new features in Mint 15?
Lefebvre: [There's] a bit of everything. We didn’t have to play catch up with 3.6 because we already ran on 3.6 in Mint 14, so we had a lot of time to focus on innovation itself.
LUD: A lot of new stuff has come from that. Did you have many requests for the Desklets, or was it just something you were going to eventually put in?
Lefebvre: I think it’s something most DEs have nowadays. I can’t remember who pushed for it.
Michael Webster: [It was] dalcde
Lefebvre: [Yes], dalcde is the one who did most of the implementation. Was there much demand for it? I can’t remember. I remember one thing, I didn’t like the way it was done in many cheap phones and in KDE, but when dalcde presented his work, other than a few issues with drag and drop, it was completely flawless.
Webster: Honestly, I don’t think so, but it was good for the wow factor, and just one more way you can customize your desktop.
LUD: Last time we checked, there were only a handful at the moment, have you had much interest in them in the community since 1.8 was released?
Lefebvre: No. I tell you what, a desklet is the exact same as an applet, in terms of code. It just derives a different class and has a few different properties. So if there’s an audience for them, it’s only a matter of time before you see most applets get a similar desklet. I wanted a picture frame, so I made one. .Sooner or later someone will want their weather on a desklet so they’ll port the applet, etc, that’s how it works.
LUD: And this is partly where the new API stuff comes in, right?
Lefebvre: I’ll let mtwebster [Michael Webster] talk about the settings API, it’s utterly brilliant. This is something we all wanted and he’s done all the work on it.
Webster: Pre-1.8, if you looked at all the 3rd party applets out there, there were 20 different ways developers implemented persistent settings for their applets. Tons of boilerplate code, myself included, with some of the applets I had out there. So we decided to create an easy to use API, one that you didn’t need root access for, and didn’t have to muck about with creating UI’s for.
It’s universal for desklets, applets, and extensions. Basically a JSON file defines your settings. There’s a straightforward API to use in the applets, and cinnamon-settings takes that JSON file and generates a UI on the fly for you.
Lefebvre: For the user it means no more unzipping applets and running an ./install.sh script as root. For the developer it means no more writing gsettings schemas, python/glade settings UI, etc. Cinnamon takes care of the applet settings and auto-generates the configuration screen.
Webster: It’s been fun to start seeing applets and desklets take advantage of it.
LUD: How is this related to Spices?
Webster: It all sort of goes hand in hand.
Lefebvre: Spices is the subdomain used to host applets, desklets, extensions and themes. [Webster] calls them xlets, but I like to call them spices. We agreed both terms were better than toy-lets :)
Webster: We’re trying to make it as easy and accessible as possible to develop these add-ons, and to use them.