This morning I present some notes from Scott’s excellent presentation at Sugar Camp today, about more effectively leveraging the work of other projects in Sugar. As a new full-time user of Sugar (day three!) these issues are especially acute for me, and I have a new appreciation for them.
Why did we choose Matchbox to run Sugar? Because (a) we cared chiefly about a full-screen windowing mode, and (b) Matchbox fit nicely into the small memory footprint on the XO, and (c) we didn’t care about compatibility with legacy applications, because Sugar activities were going to RULE THE WORLD!
It’s probably time to move beyond Matchbox, and it shouldn’t be too difficult to do — one of the nice things about the structure of X is that the window manager really is quite modularized. And the big new requirement, which Matchbox doesn’t deal with well, is to deal gracefully with applications that really do need multiple windows. For instance: running Gimp would be truly nightmarish under Sugar, and would be very difficult to Sugarize. It would be mighty nice if such applications “degraded” gracefully.
Scott is looking at Awesome, which is a tiled window manager that also has a compatibility mode that allows for floating layers. There are other tiled window managers being considered; everyone’s got their favorite, of course, but it does look like Awesome is in the lead right now.
We should also be using the standard notification, alert mechanisms, and system tray specs that freedesktop.org supports. (Seems like the only reason this hasn’t been done so far has been time.) Here’s what that means to me: when I use my IRC client in GNOME and someone says “hello gregdek,” I get a glowing icon on my system tray. (Yaaay! Somebody likes me!) But XoIRC, right now, is incapable. Which makes IRC much less useful for me (although I’ll probably get more done.) This is an opportunity to work directly with the folks at freedesktop.org, and this is important; if Sugar is to be viable, we must learn to work with other projects and take advantage of the work they’ve already done. What will these notifications look like in Sugar, exactly, which currently doesn’t have a “system tray”, per se? Unclear, but thankfully Eben is really good at solving these kinds of problems.
Finally, there is the question about the fundamental difference between “Sugar activities”, which the current UI relies upon and expects, and “Linux applications”, which the current UI completely ignores. As the real-world deployments grow, the need to consume non-Sugarized Linux applications grows with it. Having a window manager that handles this problem gracefully is only a first step: necessary, but not sufficient. Follow-on questions come up quickly. If Audacity isn’t Sugarized, how do you even find it? Do you put a lightweight Sugar “launching” wrapper around Linux applications?
Seems like most of these things are making their way on the roadmap this week. That’s a Good Thing. It’s been a really productive session.