Instigating the Gizmo: Our Drupal Theme Framework and Library is Awaiting Your Contribution

Yesterday, I wrote a post called Turning Drupal Themes Upside Down. Tonight I'd like to conclude those thoughts with a call to arms. Its time for us (you know who are you) to form a splinter project. For now I'm just going to refer to it as the Gizmo project. It would be rude of me to name our project before anyone even joined the party! Anyways, here's the basic concept (!$details).

The Goal of Project Gizmo is to create a theming framework that follows the modular, flexible precedent of drupal. The gizmo consists of a core that solves a multitude of difficult CSS/design problems that nearly every drupal site faces (whether they know it or not). In addition, it provides "hooks" and naming conventions to enable quick implementation of  common design, and UI patterns in a generic (read: flexible) way. Finally, gizmo provides a pregenerated set of blank CSS selectors that we the people of gizmo find ourselve commonly using. We shall extend this to encompass module styles as well.

In many ways, we're aiming to create a CMS that organizes and generates styles. The idea is not t build some "grandma can build a webpage" system. Really, we're looking to build a tool that moves drupal theming in a more ruby on rails direction. Developers, and users who are willing to learn CSS are the audience. Screw the folks that think we should build some magic mind reading design creation machine. Lets keep this practical.

Folks,(especially those who do a lot of professional-drupal work), if your workload is like mine, you probably are desperate to find ways to shave off time for drupal projects. And theming is probably the most obvious time waster that could be most easily corrected. So when are we going to start if not now? If we don't build it, who will? I know this can be done... anyone who's learned drupal's CSS patterns knows it can be done.

I've begun to lay the foundations of this framework in curved slate.  Over of the course of the day, Curved Slate morphed into something of sketch of how such a framework could come together and how different CSS rules could be seperated with one master class that enables simplification of the actual coding that makes the design (e.g. makes designing a breeze... mostly colors, typography, space, and images...  then fun stuff). (sorry, bug fixes are late).

Why Splinter from the Drupal CVS 

I want to give the reasons why I think this project should be largely independent from Drupal.org's contributions CVS (except for the Gizmo.module).

1. First and foremost, I believe the Gizmo Project will bring a greater benefit to the drupal community by splintering from it at the very start. Since its goal is inherently visual, artsy, creative, I feel it would be good to allow it to develop its own culture from the ground up.

2. The Gizmo Project isn't about code. It's about style, interface, and beauty. When one considers that most users make their judgements  about a website in 1/20th of a second almost entirely on the basis of appearence, the need for a healthy community that focuses on design is clear. Therefore, I'd like the structure to encourage experiementation, creativity, and in some areas sheer irresponsibility and chaos. I feel that there is a very large group of drupal users who could provide tremendous value to the drupal community with thier understanding of graphic design, user experience, and how monkeys see the world. However, I think the realities of code and actual work that needs to be done at drupal.org is inherently unfriendly to these types. It doesn't make sense to me to build this community within the confines of drupal.org. For one, there are lots of legacy issues that will interfere with developing such a community, and two, drupal.org has enough on its plate. It just makes sense for both drupal, and this group that I see coming together to start a fresh, and build their own culture.

3. Drupal.org has certain legal considerations that basically make forming a splinter project the only option (in my mind at least). I don't think its in our best interest to make the project GPL only. But, I'd like to put legal issues on the backburner for now. All I can say is that I'll find the lawyers to help us work it out when this proposal is more mature than say -- a -- blog post.

So, let's get started.

Since I am in a unique position to set the tone of this project, here's our first rule, and first task.

1. There is to be no talk of setting up rules or chains of command until our complete lack of rules causes problems that suggest clear rule/authority-based solutions.

2. Our first priority is to get some sort of system up to manage revisions, versions, and contributions. The project module, or unix-shell based systems are not an option (with exception to the core, and module.. since those will be inherently geeky, and serious tasks).

So... a good place to start is with some questions (I'm just the instigator):

1. Are there similar frameworks and ideas that we should look to?

2. How should we manage revisions, versions, and collaborative work given that Unix commands and complex project management tools represent everything that the types who would be most valuable to this project, and are not given a good place to contribute to drupal hate.

3. Before I submit my own more detailed outline sometime tomorrow, is there anyone that would like the opprotunity to set the stage? Please, I'm all ears, and I'm ready to code... suggest away... I hope I've made it clear that I have no intention of masterminding this, all I offer is tons of development, and very extreme anarchist political leanings.