The role of designers in the Django community¶
* UPDATE*: There is a new thread about the roles and implementation of a Design Czar up on the Django Developers mailing list. Please contribute there as well, if you have thoughts and ideas.
There has been a recent discussion on the Django Developers mailing list about the role of designers in the Django community. I think that this is an interesting discussion that can come from this, and I would like to explain my thoughts on the issue.
This discussion came up in the context of redesigning the Django Admin, which everyone knows and loves. The UI is growing a bit out-dated, and there was talk of working to clean it up. This then turned into a discussion about how design proposals and improvements aren’t taken as seriously as they should be by the community. I think there are a number of reasons that this happens, and I would like to take a look at them. My purpose here is to start a discussion about how to better integrate designers into the community, because they are a vital part of making our world more beautiful and efficient.
I don’t trust myself to judge your work¶
The normal process for changes that go into Django is that a proposal is sent to the mailing list. There is a discussion that happens around them, and then if the code is produced, and it works, it gets committed. For design changes, I don’t reply to these messages, because I don’t have the skills or knowledge to judge the work. I think that a lot of people on these lists are in the same boat.
When someone sends a proposal to the list, and it doesn’t get any replies, that feels like rejection. This happens more than it should, but it isn’t anyones job to respond to these messages and say “sorry, I’m not qualified to critique your work”. This happens with code proposals too, but I think it may happen more with design. This leads to designers forsaking the mailing list, and this problem perpetuates itself, by not drawing designers into the community.
Design is not special, except when it is¶
Part of the problem that seems to have come forward is that there is a feeling that design is “special”. That it should be treated somehow differently in the process. As we know from history, even with all good intentions, different is never equal. So I think that we should work to fit design into the current scheme of how things work, instead of trying to adopt new ways of dealing with it.
When I look at the current Core Developers of Django, I don’t see many people who are designers. As I said above, that fact that very few of the current core developers are well versed in the design realm, really hurts inclusion of design changes. This creates a lot more friction in the process of getting design changes into the code base.
I don’t know if this idea is crazy, but should we have the concept of a “core designer”. These would be people that the community trusts and knows have good taste, that would be an obvious person to make these design choices. I think that there is a problem when I have a design change for Django, and I really don’t know who to talk to. There is an obvious authority (BDFL) for code changes, but I don’t know if Adrian and Jacob are really the correct people to making these judgment calls on design?
I realize that this is open source, and “core designers” would be the same as developers, just people who care about the direction of the projects design. However, I think that having more design oriented people in the community in a more direct fashion would make it more obvious that design changes are welcomed and seriously considered.
I don’t know how far we need to go down the path of making this explicit. However, most of the documentation about contributing is explicit about “code”. This is another of those lines, where I don’t know if it makes sense to be explicit about design, having a “design” section in the contributing documentation, or if the implicit knowledge of core designers will make it obvious that we mean design changes there too.
The actual process¶
I don’t want to talk about the actual design process, because well, I really don’t know how it works. I think that once we integrate designers into the community better, the process for design will naturally fall out better.
I would like to point out that Django has some of the best designers of any open source community out there. I am lucky to work with a number of them on a daily basis, and I really think that they make our community special. So thank you guys for sticking with us.
This is a place where I could see Django leading the way in how to integrate design into the open source development process. Let’s make a grand experiment, and see how it works out.