What shall we do about Themes?
Posted on Tue, Mai 19, 2009 by Jay Batson
Update - 22 Feb 2010: One of the issues lightly touched on below is the market need for some themes besides those on drupal.org. Acquia has started to collect both themes, as well as links to theme providers, at a new site devoted to the design-aspects of Drupal. See design.acquia.com for more information.
(Original post follows.)
For almost as long as I've been involved with Drupal, there's been a running complaint – either a (false) perception or (true) reality – that Drupal is "theme-challenged" compared to alternatives like Joomla and WordPress. I had this complaint myself when I first started using Drupal. Our investors heard it during their due-diligence on Drupal. And I continue to hear it from people I meet who are building their first Drupal site.
I've got some cycles now to pay some concentrated attention to this, and see if there's something we can do about it (where "we" means both Acquia and the Drupal community at large.)
I encourage you to add your comments / thoughts to this blog post. In fact, my primary purpose in this post is to listen to people. So read on, and give me your thoughts.
What's the problem - really?
The first thing to do is to characterize the complaints. I think there are (at least) two high-level areas of interest:
- Issues surrounding off-the-shelf (available) themes;
- The size (or lack of...) of the "designer" community within the Drupal community at large.
- Both communities score Drupal theme quantity poorly. Only 58% say the quantity is Satisfactory or better. In fact, Drupalistas themselves don't give Drupal very high marks in the off-the-shelf themes area. But Joombies (credit to Amy Stephan for the nickname) are pretty blunt: 0% of respondents said Drupal has very good quantity, and 60% say the Drupal world just plain lacks themes.
- In contrast, both communities view the Joomla themes ("templates") quantity situation more favorably. It's pretty stark: > 80% of the total (no matter how you measure it) say the quantity is Satisfactory or better. (Note also that Drupalistas give the Joomla project higher credit for Very Good than Joombies do themselves. Clearly we Drupalers are carrying a chip on our shoulder about our situation.)
- Code entanglement. To get Drupal to "look like you want it to," frequently you have to resort to coding PHP; you can't just tweak HTML/CSS. This forces designers to have to learn Drupal to get that done. Drupal is trying to be more scaleable, flexible, etc., than competing systems, so it's learning curve is higher. Designers just want to make stuff "look like this." Learning how to code to get it done is more work than they have time for. So they pick an easier path.
- Lack of in-CMS editing. In Joomla (and WP?) the site builder can edit the CSS & template HTML from within the CMS itself. You can't do that in Drupal. There are technical justifications for the Drupal approach. But it makes it hard for designers coming from the Joomla ranks. I'm one of them; I learned Joomla templating by making changes in the CSS / HTML from within Joomla. Once I felt more confident, I started changing it outside of Joomla (and using version control). But I learned within the CMS. Drupal doesn't let you start easy like this.
- Reputation history. Drupal 6 made templating more sane in many ways, and IMHO many designers could easily learn to make Drupal templates. But while the Drupal community fixed the technical problem, they either didn't try, or didn't succeed in overcoming the reputation that "Drupal Themes are hard to build."
- Lack of outreach. Related to reputation history, there's been desire, but no organized effort to go attract the designer community.
- Add a comment or even better some type of non-presntation XHTML before and after each theme'd element which shows it's javadoc, location of the function, etc.
- Make a quick way to click and "override" an element w/ JS. This will basically give a modal dialog displaying the existing function, renamed to fit into your theme, and a little shpeil about where to put it.



Comments
Please don't include "in-CMS
Please don't include "in-CMS template editing". It is the one feature I most dislike in Wordpress, Textpattern etc. I also find that the client has very little if any need of that feature.
I agree with Jacob's thoughts, also I would like to see a solid separate admin layout that doesn't cross into the front facing layout (not as default but by choice). It's easy enough to set an Admin template but often administrative tasks will still cross into the front facing layout.
And for my last thought. Search, it would make my life (and perhaps others) so much easier if I had the ability to restrict search indexing on certain content types (including titles).
Overall the learning curve is steep with Drupal (I'm a design dude), but proper project analysis and learning to understand Drupal has brought the overall (front and backend) experience that my clients experience to a new level.
There's my two cents,
Chet
Hi Chet, thanks for your
Hi Chet, thanks for your comments.
If you're looking to restrict search by content type, check out Acquia Search:
http://acquia .com/products-services/acquia-search
We provide a hosted search product which integrates tightly with Drupal, providng faceted search, content biasing, content recommendations (as a block on related nodes) and many other features.
One feature is the ability to make certain content types "float" to the top in search results more often, or omit certain types all together.
Hope that helps!
Jacob
Thanks for the tips, I'll be
Thanks for the tips, I'll be looking that faceted search over.
There is a module -
There is a module - http://drupal.org/projec t/theme_editor that give you the in-CMS template editing features like wordpress has if you really what to do theming that way.
I did a cursory code review
I did a cursory code review of this module and of the companion module_editor; it looks like it needs quite a bit of love before being usable on real sites.
Thanks both Chris and
Thanks both Chris and Andrew. I (a) wasn't aware of the module, and (b) am happy somebody took a look at it.
Chet, I hear what you say about not wanting in-CMS editing. But the point here was to ask whether this would make it easier for people to work on themes. Fortunately, Drupal gives us ways to turn capabilities on/off by role. So if such a thing did end up in Drupal, you'd be able to avoid the feature if desired - or at least control who can muck with it.
Drupal's permissions don't
Drupal's permissions don't help here. The issue is that to edit theme (or module) files, they need to be writable by the web server, which means many more ways for your site to get hacked.
I think the theme issue for
I think the theme issue for Drupal is a very complex one. Some of it is (for what I read) tackled by the d7ux project.
But, I'd like to try to give my 2 cents here.
First, I'm from a design background with a previous degree in computer sciences (programming for automation). Yeah, I'm kind of an hybrid monster, but this makes me unafraid of code. That said, I try to avoid coding as much as possible when it's not necessary. That is one of the main reason why I found Drupal, looking for a framework to build sites.
I will start by commenting on the Drupal community and its lack of designers (or is it really...)
I would tend to think that it is not by offering many well designed/fancy themes that you will attract designers to Drupal.
A clean, well balanced neutral interface with a clear ability to shape it into any idea you might have would do the trick.
I believe that a designer will, at first, be attracted by the design of the product (d.o redesign will surely help).
Then, since it will probably be used to provide a customized site design to a client or for a personal project, will look to bend it to fit her/his design idea(s). This is where Drupal shines vs Joomla I would think. The problem is that Drupal doesn't have the first contact appeal that Joomla/WP seems to have.
You could have a look at a CMS called indexhibit. It's community is largely composed of artist/designers/photographers with (often) limited knowledge when it come to web technologies. The platform, although limited and mainly aimed at portfolio sites, empowers its users to build the site they want. I believe part of it's success in its easy administration interface and clear separation of admin vs site. Maybe this could be part of a default Designer's Drupal install profile...
This is only one facet of the Theme problem, but attracting a few designers would probably also help build a stronger (premium or not) theme base.
Antoine
I completely agree with you
I completely agree with you that a "clear ability to shape it into any idea you might have would do the trick." I'm hopeful the work Mark and Liesa are doing will have this impact.
Designers are builders, creators, imagineers. They want to build the theme library vs use it. I fall into this category. As a designer, the only way I'd use a theme from a library of other themes is if I'm in a hurry to release - otherwise I'd much rather be original and get the experience of building a theme in an platform that appears to be growing.
Jeff Noyes
Interaction Designer
jeffnoyes1@gmail.com
Jeff -- (Chuckling that
Jeff --
(Chuckling that we're using this public tool to have a conversation, when I could just yell down a couple of cubes... ;-)
I think there are two separate issues here that I'm discussing:
We need to attend to both.
I agree on the need to have
I agree on the need to have both. There are so many facets to building a website that we can't just neglect anybody (non-designers are often the best content providers.)
I would also like to emphasize on the fact that attracting more designer will, in part, also solve the problem of having a good base of high quality theme available for the non-designer crowd...
Sure we need to address the
Sure we need to address the technical obstacles to getting designers involved, but there are similar challenges when theming Joomla or Wordpress.
I think the biggest issue is that it's much harder to build themes for Drupal because it has no default 'out of the box' layout or use case. Sure you can use Wordpress for other things, but it's basically a blogging engine, and the majority of the available themes are blog themes. Joomla may be more fully featured, but it still has a default layout that you can theme.
Drupal's power is in it's flexibility to let you build anything your imagination and skills can come up with. It would be impossible to come up with a theme that met every eventuality.
Perhaps the answer is to have a set of default install profiles based on common use cases that we can build themes around?
Glad you guys are going to
Glad you guys are going to look at the theming part of Drupal.
Im about to launch a new line of premium themes on alldrupalthemes.com in 10-14 days, it's going to take Drupal themes to a whole new level with professional designs, elaborate configurability and full color module integration.
if you guys want to learn more or be part of it before it launches send me an email at my form: http://alldrupalthemes. com/contact.html
My wishlist for the Drupal theming engine:
-color module out of core: http://drupal.org/node/445990 (we need a color API not a garland-render module)
-File based CSS settings caching. I use this in my premium themes and will try to get it in core
JR
Contributing a GPL'd theme
Contributing a GPL'd theme to drupal.org
CVS - oh yeah.
This is about contributing a free theme to drupal.org. I recently did this, and it was quite an eye-opener why there are not more contributed themes on drupal.org.
Thinking from a designer's person mind set - avoiding coding and coding-like thinking as much as he can: frankly, no one that does not have a real strong determination will succeed to submit his theme.
CVS itself is hard to use - well, in the end I switched to Tortoise as a GUI-driven client which helped a lot. But _all_ documentation you find on d.o. describes using the command-line. So a designer could use Tortoise quite well - still he won't find much help how to.
Next step (after having struggled through how to use your CVS account at all, since there is no "login" which you would expect) is to create a project page, filling out a lot of fields, and linking this to your CVS Folder.
It sure was my own fault I did not find the link, but for quite a while I did not find a link to create a release (which is simple in the end, but you might overlook it).
The entire interface, process and hurdles to overcome is unbelievably tangled and counter-intuitive. If I had not been long fallen in love to the Drupal community I'd sure given up, took me two to three days with several re-try's anyway.
What was more: it was not easy to find help for this on IRC. Some kind people helped me out (kudos to killes patience), but you soon learn no one loves CVS...
Well, this has turned into a bit of a rant, sorry for that.
If we want to have more themes on d.o., this process must be built in a way a not-so-technical designer can make it, how it is at the moment it is rather a solid "iron man" parcours.
I agree. I've been in the
I agree. I've been in the design business for a long time, and I've never had to use CVS, SVN or install patches to A) figure out what's going on B) contribute.
Having been in the space for almost a year now, I understand it's value. But its taken me a long time to get there, and so long as these types of barriers remain, we shouldn't expect a mass of contributions from designers or any other type outside of the developer community.
Jeff Noyes
Interaction Designer
jeffnoyes1@gmail.com
I understand it's value. But
This hits it right on the head. Especially for designers who mostly deal with non-textual assets, version control doesn't seem like a very useful function. What if there was CVS documentation specifically for designers? It could explain specific use cases of why CVS is important and how it's a benefit to designers and theme users. For users of themes, project pages with their summaries, recommended versions, and so on are a huge benefit compared to 500 post long forum threads containing random versions of a theme - and that's all made possible by the use of CVS.
Or, you know, do something
Or, you know, do something crazy. Like allow theme submission without CVS.
Around 50% of the open
Around 50% of the open source themes available for free download on drupal.org contain functional errors. These are usually worked out in the issues queue and in subsequent version releases, but new users may not expect or realize that some of the free themes are not 100% production ready immediately after download. As an individual site's complexity increases, with the addition of more and more third party modules from different developing hands, the "join points" where they all come together in the theme layer multiply, requiring more and more site specific CSS fixes to maintain a consistent display.
DHTML complexity - all of the "seam points" between php, javascript, html, css, xml, and other code layers includes a wide variety of methods for styling output display that may have to be addressed individually by the developers / designers. For around half of the sites built for client requirements, use of stock free or premium themes + "bug fix" will be sufficient. The other half have a specific design vision or new idea that requires significant css, code, & template modifications to build a new theme, layout, & GUI that works with the site's functionality (ecommerce, social networking, social bookmarking, blog, etc).
CSS iterations of a base theme are probably the biggest resource to draw upon for drupal themes. So many designers have modified blue marine, zen, newswire, or other free themes to amazing new levels - if we can enable the sharing of all the sub-variations of a theme back to the design community, there would be many more options available. Expanding the theme garden to include multiple sub-versions of a base theme, along with review functionality on themes, would be excellent.
Tools enabling Drupal theme design in Dreamweaver or providing additional diagnostic integration through Firebug are available, but very minimally supported and used over all. A Dreamweaver-like layout tool for drupal allowing one to easily set the sidebar column widths, the size of the theme's block regions, colors, font, etc. save & publish a style.css would be great. Many new D6 themes are offering more & more of this in admin settings, working with theme api, color module, etc. but required custom css changes are sometimes difficult to integrate with these automated settings.
There is a huge difference between the drupal community and joomla when it comes to commercialized module & theme solutions. WordPress and drupal themes & modules are still primarily "free" in the sense of free open source software. It is a difficult path to walk but the commercialization of module & theme solutions as paid downloads is a proprietary model. The reason many developers build on the drupal platform is the open source sharing / foss philosophy - any loss of this = doom.
Things that would help also with theming would be integration of a WYSIWYG editor like FCK into core along with advanced profiles like APK / BuddyPress. There is a lot of future strength in developing powerful, finished, and thoroughly tested themes that are built specifically for an installation profile, and then supporting them like Acquia & Top Notch Themes. Cross-browser display issues remain a continual problem.
We have bought premium drupal themes for projects and have requested also mySQL maps of the demo site structure. Installing a site template from a mySQL map allows for the inclusion of positioned block elements as well as custom code in the display that can more easily be reconfigured by the designers, saving a lot of time.
From where I sit, there are
From where I sit, there are two major obstacles to more/better themes on d.o:
If you want to focus your fire at something focus at this: Help the drupal.org team make it easier for themers to upload their themes AND/OR help the patterns team make default configurations (including downloading and installing dependent modules) a reality.
Josh
I also believe that patterns
I also believe that patterns will help improve Theme development a lot.
I think that the best thing
I think that the best thing to do is encourage professional themers. There are many other drupal commercial themers that you don't mention here.
Joomla.org , before used to have a section where new themes could be published, regardless if they were free or commercial, and now that there are many community sites doing that so they have removed that section about 1 year ago.
Take a look at Magento, they have a section where they display all extensions, commercial or not, and a themes section too. They encourage commercial themers and in such a short period you have many magento theme providers and some really excellent themes. Because themers know their themes will be seen by people.
I think the best thing to do is encourage non-GPL themes, open a section for those themes in drupal.org. Making non-GPL themes or modules should not be seen as a heresy.
I would agree that CVS is
I would agree that CVS is one of the biggest challenges for designers.
Having ported a couple of themes back then for D5, I never managed to get them into CVS. So I just gave up.
The other problem lies in the drupal architecture itself. It can do so many things that a theme just can't cover them all. That might not sound so challenging for a coder but for a designer it is.
Designs are build for a special audience and a special use-case. Unlike modules that is almost impossible to abstract.
So instead of looking for generic drupal themes, specialized themes for news-sites, social communities, galleries would be needed. But what modules are used for that task? What blocks? Drupal is so flexible, that is is very hard for a designer to build a generic theme that covers many use cases.
Having a few install profiles that a designer can design for would help.
But are there many?
Is there one for a forum?
For an image-gallery?
Maybe that would be a starting point. Give designer something that they can actually design. Not just a gazillion options.
Jan
As to the information about
As to the information about JavaScript licensing; does using any of the functions in the Drupal.* namespace bind your code to the GPL? I would think that many themes with heavy JS would then have GPL'ed JS.
Difficult question,
Difficult question, Andrew.
I've asked lots of questions about this from various people that spend all day thinking about open source licensing. Note that I'm a lawyer, so I can speak the lingo; and I think I've looked at this a lot. But I still defer to people who think more about it.
I'm not a coder; so I'm going to assume the Drupal.* namespace you refer to is Javascript present on a page supplied to a browser by Drupal. If so...:
I think the controlling principle here is similar to what the OSF, etc., has said about web services: when application A on host 1 consumes / uses web service S running on host 2, A does not become a derivative work of S. If S is Drupal / GPL open source, the GPL of S does not "taint" A.
So, even if Javascript happens to use a Drupal.* namespace, that Javascript is still either running locally (in the browser of A), or accessing web services offered by S. In neither case, is it creating a derivative work of S (Drupal). So that Drupal.* namespace code would not be GPL'd simply by operation.
Make sense?
Yes, it does, and makes
Yes, it does, and makes sense for Javascript which doesn't call Drupal functions. But, a better example might be a theme which has translatable text. If Javascript is changing text, it probably calls the Drupal.t() function, which I think *is* GPL'ed. So then it's not just code living in your browser, it's code that directly interacts with Drupal. Other common functions might be Drupal.checkPlain(), Drupal.theme(), etc.
Thanks!
Sorry Jay, but you're wrong.
Sorry Jay, but you're wrong. :-)
Drupal includes PHP code that is GPLed. Any part of a theme that executes as PHP on the server (which includes all template files, as well as template.php) is subject to the GPL.
Drupal includes Javascript code that is GPLed, which includes the copy of jQuery that ships with Drupal. Any Javascript code that shares data structures with that code is therefore also subject to the GPL.
"Premium" themes have a hard time with the GPL, due to the GPL, not Drupal. PHP, template files, and Javascript are all subject to the GPL. Imagery is not subject to the GPL, assuming it's not derived from a GPLed image. CSS is an odd case; I suppose there it depends how much of your CSS is copying and pasting from core or a GPLed contrib theme like Zen.
All of this is already detailed on drupal.org: http://drupal.org/licensing/faq
Please direct people there when they have questions about the GPL.
--Larry Garfield
Drupal Association Director of Legal Affairs
Larry -- Drupal includes PHP
Larry --
All this says is that the portion of the theme that executes on the server is tainted by the GPL. It does not say that the theme "as a whole" cannot have some reserved, proprietary IPR. A theme could become commercial (requiring a license to use) based on the inclusion of:
Simpler theming will require
Simpler theming will require a few tweaks to Drupal itself, but I think these changes would be fairly minimal. Drupal has the potential to be far more modular in its theming. Here are my suggestions:
Definitely ++ on the block
Definitely ++ on the block theming part. On nearly all professional sites there are blocks that need to be differentiated within regions, but as of now it's still required to use contrib modules for this functionality, and many people don't even know these modules exist:
http://drupal.org/project/ blocktheme
http://drupal.org/project /block_class
Good ideas. Have you seen
Good ideas. Have you seen Gabor's work on blocks? http://hojtsy.hu/
Jeff Noyes
Interaction Designer
jeffnoyes1@gmail.com
The best solution I've heard
The best solution I've heard is one Mentioned above by Jan Krummrey.
I can do anything you like with CSS. Give me some semantic HTML and an idea, and I'll style your site. The downside of Drupal is that it takes a while to get the site configured the way you want, before you can really consider the style. A few default configurations would go a long way towards making out of the box themes a more reasonable expectation.
I tend to agree on that
I tend to agree on that too.
Using patterns, We can have something like the following:
Community defined patterns (the gallery pattern, the forum pattern, and so on).
Then we have templates supporting X patterns.
This makes clear design objectives for designers to base their templates on.
And having patterns in the mix would make it possible to have all the necessary modules installed, configured and tweaked in order to have the 'common ground' needed to do so.
My list: Prepackaged,
My list:
Firstly, wow it's so
Firstly, wow it's so positive and refreshing to see how many users are passionate about theming in Drupal.
When i started using open source CMS a few years ago, i started out with a few other CMS but mainly used Joomla. It was relatively easy to build sites with Joomla because of it's limited features and functionality.
Drupal is different in the sense that it is very modularised and pretty much any thing in the theming layer can be overridden. This gave a lot of power to the themer than any other CMS i've used, IMO. However most of this power relies on knowing PHP placed in the template.php file which obviously isn't something Designers want to touch upon if they had a choice. So what i feel will make it easier for Designer are the following:
- To have all the theming settings already in a default drupal theme. Think of Acquia marine or Slate theme (or even Zen) with all the theme settings and configurations but stripped down frontend template so it can act as the base theme to build upon, which means ditch Garland.
- I agree CVS, should be abolished in favour of a simple upload and download feature for contrib themes. I use it only because there isn't any other choice.
- Separate frontend and admin panel. I don't have a problem with the way Drupal is but it will surely make theming less frustrating since at times there are conflicting CSS styles rendered for frontend elements and admin, and it becomes cumbersome having to override css classes each time it happens. This should keep the CSS clean and more manageable. Of course, there are ways to prevent this perhaps by loading certain CSS files using PHP but do we really need to put in that extra work? This separation does not mean you can't still have frontend inline-editing features.
- Agreed with everyone, there should exist more Install Profiles, however they can be too general and building an install profiles take quite a bit of time. So how about a tool to help build Install Profiles tailored to your own needs or community.
I don't have issues and think it's great that people can make a living from selling themes but I think commercial themes should be kept away from d.o since this can create conflicting interests within a community. Even Joomla has learnt this and now everything must be GPL only on their site.
The alternative to install
The alternative to install profiles are patterns.
The limitation of install profiles is that they are used only at installation time. Patterns can be turned on at any time in the site building phase. Many people setup their site first, with a few modules, try stuff on then would like to add, say a gallery, even if there would be a gallery install profile, that would mean redoing another install. Although there are workflows to go around these limitations, Patterns are IMO what is needed as a supplement/alternative to install profiles.
Documentation for
Documentation for Designers
When the D6 theming handbook came out, I was really enthusiastic about it: it had nice graphics, was quite coherently structured, a.s.o. As far as I know it has been mostly the effort of one single person in its basic form.
Meanwhile I see things a bit differently: it's a theming handbook written for developers. It has got the same flaw as other Drupal docs: It cannot withstand the temptation to mention the gazillion options that are there.
This is a fundamental flaw of Drupal itself seen from the eyes of an end user: loads and loads of options, but too little sensible defaults.
So there is a need for a Designers Doc that is _targeted_ at designers.
We need to try put ourselves in the shoes of a Designer that comes to Drupal and may have experience with other CMSes Theme layers or is maybe a pure CSS guy.
What you mainly have to think about is not, what you include, but much more, what you omit. Writing as little as one can, and just as much that is needed.
Really, when you start out, you don't need much. You won't even design a CCK content type with many fields. You just won't. So writing for the 80% comes in.
How little do you need to write a theme? I tried for D6 (older version for D5 also available), run through Google Translate, because it is in German.
http://www.drupalcent er.de/handbuch/17767
Well, sure, it is not true: you need to know more than that. But I think the page mentions (not explains) almost all you need to do your first Drupal Theme. When I did my first theme, I think it did not have much more that header variables, $sidebar_left and $content. But it worked. And it was in Drupal. At that time blocks and regions scared the hell out of me, I just did not use them - and did not miss them.
You can add more variables later, you can do whatever later. But first you need an experience of success, to make possible there is a 'later'.
Having a Graphic design
Having a Graphic design background and only just recently adopting trekking the drupal learning curve, I like the flexibility of Drupal.
Yes! Drupal is difficult to theme at first, but once you overcome the hurdle of learning a little php (phptemplate)fundamentals, I feel there is more benefit in that than shying away from code.
I second helping the drupal.org team make it easier for themers to upload their themes AND/OR help the patterns team make default configurations (including downloading and installing dependent modules) a reality.
This would considerably keep Drupal as diverse and robust as it is, but further enable its diverseness to be a strength and not weakness for designer purists.
My last Drupal theme: 1 base
My last Drupal theme: 1 base theme with 4 sub themes, around 30 theme templates.
If you have a theme which "kinda" works for the front page, and have some basic styling for forums, that isn't really a Drupal theme, is it?
And it could be even more flexible: http://dc2009.drupalcon.org/session/limitations-drupal-theme-layer
Bálint - Your video is
Bálint -
Your video is interesting. I take it you're basically suggesting mushing XSLT into Drupal? I think I get the implications:
This makes some technical sense. I wonder: would this make it easier or harder to get designers to consider Drupal as their favorite / default platform? It may yet be one more technology cliff they'd have to climb (beyond Drupal, jQuery, etc.)
OTOH, the payoff could be so high that it would attract developers.
XSLT has been more used in the Java world; it didn't seem to "take over the world" there, though. Does that suggest how well / poorly it'd do in the Drupal world? Or do we need so much improvement that this might be latched onto as salvation?
Interesting talk. (It was hard for me to follow; whether it was my player, or the encoder, but the audio & video weren't synchronized.....)
My own experience is,
My own experience is, although very powerful, xslt isn't easy to understand (especialy if your programming background is limited) and also requires a fair understanding of recursion to harness a lot of its power (I might be a bit off on that part...). I basically, didn't have a very enjoyable experience using xslt.
I also think there's just
I also think there's just generally a lot of confusion as to what Drupal is, and why it should be chosen over Wordpress or Joomla. On that note, I personally think it would be very helpful to have a showcase of Drupal sites that reveals how diverse Drupal is. Such showcases exist, but finding them is a chore. Hopefully the drupal.org redesign will help this problem.
Jeff Noyes
Interaction Designer
jeffnoyes1@gmail.com
Thanks for a thoughtful,
Thanks for a thoughtful, honest post. The complexities of theming in Drupal preclude easy answers, but it is great to hear that Acquia is taking on the issue.
I think providing a set of very clean, simple themes to start someone off that can be played with from with Drupal (exposed style sheets through a module) and superb documentation would be a step forward. The marketplace for paid themes is helpful too, but since this is such a free-oriented community, there should be a bundle of free themes available, ones that really offer visual options (not all top nav, etc.).
A contest with real $$s for winners to come up with themes that you might help support might also work.
Another thought might be a theme configurator - let someone start with a theme, then play with its attributes in some sort of engine on your site, and when done download the css files into their site. This could work with the Acquia module.
At this point, whatever you do to extend Drupal's ease of use (documentation) and aesthetic appeal (themes) will do more to extend its use than new programmed features.
Common ideas so far. Thanks
Common ideas so far.
Thanks all for an excellent start. I'm particularly glad to see a bunch of self-described designers participating. Maybe this can be the start of a (sub)community of designers in Drupal!
In reviewing comments up to today, here's the condensed version of the suggestions (no editorial pen here; just consolidating / summarizing):
I'll edit this post to add any new stuff that shows up in the next few days. This sounds, though, like what I might have expected so far - though the surprise (for me - maybe not Dries & others) is the distaste for needing to submit themes via CVS.
"Some desired pre-defined
"Some desired pre-defined things: blog, magazine (media generally?), forum site, eCommerce, gallery."
+ Brochure site.
I'm a non-technical drupal
I'm a non-technical drupal user with neither programming nor design experience but i've known drupal for quite sometime now and am able to install and set up a basic site using out-of-the box features. From my perspective the design challenge with drupal can be reduced if there is more easy to understand and use documentation in the form of books and tutorials. People like myself are not afraid to dabble into css/javascript/php but I do need to see good practical step by step examples of how some good themes have been set up. Let's face it drupal does have some brilliant websites out there which look really nice but unfortunately when people talk about the process they went through to build them the language used often only appeals to experienced developers and designers like themselves. I would really like to commit myself to the design side of drupal but good books (in addition to the existing ones), video tutorials and affordable training will go a long way in attracting more designers to drupal.
Bola -- Actually, the last
Bola --
Actually, the last 12 months have been a good year for Drupal books. There are currently over 35 Drupal books listed on Amazon, and several of them are focused entirely on Design.
I for one do want more books, and training. But do you have some specific holes you think are left unfilled from the current suite of Drupal books? We get asked by publishers all the time to help with new book titles; if there are holes, we can find ways to fill them.
I won't pretend, at all, to
I won't pretend, at all, to know all about the various Drupal books, but it seems to me it would be helpful to have additional books for Drupal designers/users who will never need to install Drupal -- i.e., they're going to work on an existing site created by another team or developers (the situation for a big university site, say, or many company/nonprofit sites) -- but who want to do things like the following:
create a new content type
create views
actually make them look like the rest of the site and fit in with an existing design
So a book that really gets into creating new content types, new views, and the theming of both (yet doesn't delve at all into installation issues, etc.).
I recently picked up "Front End Drupal," which I'm hoping will help in this regard.
In our blog at Internet
In our blog at Internet Unlimited we once discussed several changes that would be helpful for theming (the blog article is in dutch so I didn't link it).
One of the things that will help a lot of themers is a repository with little snippets that they can include in their template files. Like a repository to change the primary links menu, etcetera.
Ofcourse there already are the handbook pages, but searching on d.o is awful. You'll end up with articles about drupal 5 that will not work anymore in drupal 6, you'll have to search through comments that might suggest a solution which might work but actually is a very ugly solution etcetera.
it would be better if there was a page like api.drupal.org is for developers that only contain small snippets with some extra documentation for designers/themers. this would help starting designers/themers a lot with building their templates.
--
Internet Unlimited
I say give the user
I say give the user something simple but elegant and "good enough" to start with (Garland is not that: it was made for the admin screens, not for a website, Acquia Marina is much better but still not there). Something that he'd use for his site right away but at the same time would feel easy to customize, even just a bit (add a logo & change the colours). There must be a couple of nice and simple themes right in the core distribution. User has to start out with a simple unbranded theme (and please, please, please remove all traces of the hideous blue alien!).
I think that some of the most successful "seed" themes out there are Dave Shea's & Michael Heilemann's themes for Wordpress and Douglas Bowman's themes for Blogger. They are minimal, they use nice typography and subtle graphic elements and (most of them) offer room to grow. I also think part of their success was on the marketing level: hire a cool designer to make a great theme and the rest of the designers will follow.
Now these themes were all targeted to simple blogs while Drupal is a different beast. Creating different themes for different purposes sounds like a great idea. However, to offer a usable starting point for a specific purpose you'd probably have to use a couple of extra modules (CCK and Views as a minimum) and you'd have to start with some purpose-specific content types with appropriate fields. So it will probably involve more than a selection form a list of available themes.
Wow- a lot of great
Wow- a lot of great commentary here. I'm excited for the Drupal community- the efforts being made in both attracting designers and improving usability are huge.
As a designer who is pretty new to Drupal and the Drupal community, I'd like to think that I have some perspective in terms of what challenges face designers considering using Drupal.
I'm not sure that a lack of available themes is a priority issue for designers/front-end web developers, as I (and I think other designer/front-end types) would typically never start from a theme. If they did start with a theme, it'd be one specifically meant for branching off- a clean, simple theme that designers can use to both learn Drupal theming and provide a starting point beyond ground zero (as described above by George Terezakis).
That being said, I think having a place where designers could congregate around (and be inspired by) great Drupal themes would help promote the idea that great design and Drupal are not mutually exclusive. By the same measure, I think it'd be critical to have a directory of great Drupal sites, to show the design community (and the web community as a whole) what sort of crazy and wonderful things can be done in Drupal. (As an example, 16 Different Clones You Can Build with Drupal.) Designers need to see that Drupal theming not as challenging as they may think, and that some clever and wonderful things can be done with Drupal.
In my opinion, the biggest hurdles designers face are ease of theming and Drupal's usability. I know that what turned me away from Drupal initially was the fear that my clients would have a hard time using Drupal to manage their site. If I had to spend a lot of time walking clients through managing content, or if I had to spend a lot of time providing support for the platform I chose, it would be disastrous to both my bottom line and my mental health. Fortunately, Mark, Leisa and everyone else participating in d7ux are making great headway in this area, so I'm going to focus my comments on theming.
Any system- Wordpress, Expression Engine, etc - all have their own way of doing things, so I don't really believe that this is a huge hurdle. I've never created themes/templates without having to dig in at some level. Johnny van de Laar's comment about a simpler API makes a lot of sense.
Well, Wordpress templates aren't accessible from Wordpress itself. Expression Engine allows you to edit templates within EE, but I never liked that approach. Personally, I prefer using applications tailored to code editing such as Coda or CSSEdit. I think most themers would probably approach the initial heavy lifting of template development with tools that make writing code and styles most efficient.
I can't speak to what does and doesn't make sense for people learning a new platform, but I would consider this a secondary concern.
I agree here- with the launch of D7 there needs to be a serious push from the community to show how much Drupal has grown.
One advantage that other platforms (Wordpress in particular) have is the perception that there are more resources aimed at designers. Any given visit to Digg will likely turn up ten times more links to Wordpress resources than Drupal resources. I'm not sure there's a clear and easy solution to this, but I think it takes a community effort to move perception of Drupal forward.
Another improvement I think the community should consider to ease designers/front-end developers' pain would be to improve Drupal's markup approach. Things like class="block block-block" and 'divitis' can really frustrate front-end developers. I would really love to see Drupal be the obvious first choice for developers who care about web standards, semantic markup, and accessibility, but that's probably a whole other topic of discussion. :)
Pages