Last week, I started working on a personal project to create a good Unity configuration tool that doesn’t look out of place or outright ugly. During the process, I realized how awesome it would have been if we had some sort of design guidelines.
Having Human Interface Guidelines (HIG) would allow developers to create applications that blend with the platform instead of sticking out like sore thumbs. Like myself, there are many other developers who don’t have any idea about properly designing applications for Ubuntu. The closest we have to a HIG is a bunch of links to Ubuntu wiki, API and documentation.
Surely, if we were to compete with well-established developer platforms like Windows, iOS and Android, having a neat set of HIG for developers to refer to would go a long way in helping them create software that are well integrated with Ubuntu itself.
To my surprise, it so happens that other open-source projects do have a HIG. Some of them may not be complete but it is nonetheless better than nothing. KDE has it. XFCE has it. GNOME has it and by extension, distros with pretty much unmodified GNOME software like Debian and Fedora are covered as well. Even Ubuntu downstream Elementary has it and a pretty good one at it too. If I may add, it shows that these platforms care about creating a unified experience for the users. Ubuntu being one of the major Linux distributions seem to have forgotten about HIG altogether.
I do have to point out the default applications themselves aren’t very much consistent. That might very well have to do with the fact that there are at least 5 different toolkits (Gtk, Qt, Xul, Nux and whatever that LibreOffice uses) being used but that discussion is for one other day.
Anyway, I figure Canonical was looking for an interaction designer earlier this year to create HIG for Ubuntu among others but I am not sure what came out of it. With the added focus on developing a Ubuntu SDK sometime in the foreseeable future, I hope Canonical doesn’t overlook the need to create a HIG at least this time around.