← Back to team overview

unity-design team mailing list archive

Is Unity 5.10 the reference implementation of Unity Specification 1.0?

 

This is all about communication.

Now we have the Unity 5.10 release which, if I understand correctly, will be the last feature update of Unity before 12.04LTS is released. This release is so important, I'd like to see it as the end of the old Ubuntu and the beginning of the new one. I think that's important, because it enables us to really clean up the mess in information and communication out there, and that's what's causing the confusion and anger. It's too difficult to provide simple answers. After all, there's lots of things we wish we knew when we started, right? There's massive amounts of outdated information about Ubuntu on the web. If we can tell users to disregard information older than 12.04LTS, we make everything much easier to understand. That also means we'll have to really seek out old information and upgrade it, but that's a very precise goal, and something I really think we can do. Then users can contribute by notifying the Ubuntu community that some documentation is not upgraded to 12.04. Anyone can do that.

With regards to Unity, this is what I'd like to see. NotifyOSD, AppIndicators, Lenses, Scopes, Dash, Launcher, Sound Menu, etc, are all part of The Unity Specification. If there are changes to any of those APIs in 12.10, then we'll refer to it as Unity Specification 1.1. If there are any changes between now and 14.04LTS, then we'll refer to it as Unity Specification 2.0 – even if it's identical to 1.1. There are a few benefits from this approach: it'll make it easier to experiment with APIs between LTS-releases without creating confusion. It'll make it easy for documenters to know what has been updated. During the T-cycle (14.04), we can just search for documentation that has not been upgraded to 2.0. That means it needs to be reviewed. Might not be any changes, but we review it and update it to 2.0. "External websites" can update their code snippets and examples, etc.

This will also allow us to refer to other implementations. For instance, the Gnome Panel Indicator Complete applet can be referred to as a "valid partial implementation of Unity Spec 1.0". This will make it easier to spot what applets and plugins needs to be upgraded in order to work across valid Unity Implementations.

I really love the reference implementations of Unity. But what I love even more about it, is the modularity it provides. The idea that LXDE developers might create a Vala/GTK implementation of the Dash, using an LxPanel plugin to support Indicators, for instance. But for that to really work well, I think it's important to distinguish between the implementations and The Specification.

It should also make Unity more attractive as a development platform in general.

Can we please do this? It'll make it so much easier to communicate properly.

Thanks,

Jo-Erlend Schinstad


Follow ups