Drupal is famous for a steep learning curve, and justifiably so. In many ways it seems that Drupal is built for experts. While I love Drupal and enjoy building websites with it I have to ask; does Drupal have to be difficult? Is that steep learning curve necessary? I'll say that its not technically necessary and that it comes out of the culture and philosophy of the Drupal development community.

Now Drupal does and makes possible lot of very complex stuff and thats great, but its also called to do a lot of simple stuff. Drupal is frequently very frustrating because while it makes the very hard possible, it also makes the very easy hard!

Take for example some thing as simple as putting an email subscription box on the front page of your website, that collects email addresses, stores them in the database. Lets say you just have a simple blog. You can't do that out of the box, you have to find a module and believe me there is no easy choice. Your best bet is to spend a few hours setting up simplenews and associated modules. One reasonably expects such functionality to be in core. For that matter shouldn't the ability to email all content simply be part of core? For a non coder such as myself this appears obvious. Of course it may be technically infeasible. But is that really the case. We have a book module, a blog module and even a poll module in core. Would an email module that did the above and more be technically difficult?

You, dear reader, can of course think of pet projects or ideas you would like to see in core. But I think we can all agree on some core aspects of websites, that a fully formed CMS should be able to do in point and clicky fashion, right out of the box. Here is my list of what every website owner would like to have right away.

- easy content creation this means text, graphics, video and sound
- easy interaction with site visitors i.e login/logout, email collection and communication, content upload, social media integration
- excellent security i.e permissions, roles, updating, content validation (Drupal is excellent here)
- statistics i.e data collection, tracking, page views etc

In short everybody wants to put up some text, pictures and multimedia. Everybody wants to know who visits their site and everybody wants to be able to sign those people up for something. This means everybody wants to gather email addys and send email.
So what that says to me is that this stuff should all be in core. We should'nt need a separate, email or link module or a separate module to pick up email addresses. We should'nt need to install captcha. These should come with core. There should be a basic easy to use wysiwyg text editor as part of core. Some thing like the ecard module functionality should be in there to allow mailing of all content. Out of the box. One click turn on and pointy clicky configuration, no coding.

Now I know that as a non coder, who just uses Drupal to build sites I'm vulnerable to being accused of just making demands. Thats not what I want to do. I know I probably should be figuring out how to roll up my sleeves and get this stuff in core. But Drupal has a vast development community, a great deal of expertise, and so I have to ask.

Is it that these things are hard to do technically, laborwise or timewise or is it that the devs consider them unnecessary and hence do not prioritise them. The situation is great for people with the expertise be cause we can figure out what to use and how to make it all hang together. But I think its limiting the appeal of Drupal.

Comments

steeph’s picture

"Drupal is frequently very frustrating because while it makes the very hard possible, it also makes the very easy hard!"
That's very true. You have to have overcome a good part of the learning curve to change this.

"In short everybody wants to put up some text, pictures and multimedia. Everybody wants to know who visits their site and everybody wants to be able to sign those people up for something."
That's definitively not the case. The use cases of Drupal are very diverse. I have as well sites that don't need image resizing, views, user registration and even one that doesn't need any support for images at all.

I think Drupal is not getting more beginner friendly by itself because it isn't made by beginners. You could see it a bit like Linux some years ago when most of the users who used it on desktop mashines were programmers of some sort. It needs to get pushed in a direction the makers of the software don't want to use it theirself. This needs a plan and the coordinated help of users who's best skills in this regard are constructive nagging and providing the view of beginners. Drupal isn't that far in my view. Beginners get great help to become more experienced, but that doesn't help the beginners who come after them.

Just my 2 cent, you may think differently.

Preston McMurry’s picture

My belief is that a CMS should be easy to use for web site administrators, most of whom are not anointed developers. It is my experience that Drupal is so hard to use, that for any client whom a Drupal site is created, the developer (or some project manager at the development company) ends up administering the site for the client ... which kind of defeats the purpose of having a CMS. And that does not even get into how difficult is to use Drupal as a developer. Example: I am in the midst of adding google conversion codes to a "thank you" page. In my case, there should be a different conversion label depending on field values in the submitted form. I could have done all this in a few hours in pure PHP, but have now been at it two full days in Drupal ...

emkamau’s picture

I think I did generalize too much, in terms of what everybody wants in a site. BUt I think more want those things than want, say, a forum!

emk

spovlot’s picture

I agree that there are some hurdles to getting Drupal up and running. However, it has consistently been getting better. Documentation is improving all the time. The UI is much better in D7.

In regards to getting up and running quickly, Drupal Distributions (http://drupal.org/project/distributions) are key. Distributions are highlighted on both Drupal.org Home and Getting Started pages. Almost all of the issues that you mentioned can be solved with a distribution. Perfect, no. But getting better.

In regards to adding more features to Core, you consider the following:
From Principles - http://drupal.org/principles :

Modular and extensible. Drupal aims to provide a slim, powerful core that can be readily extended through custom modules.

And "Why isn't X feature part of core?" - http://drupal.org/node/278173
Contributed modules are key to Drupal's success.

BTW, I suggest you move this to the "General Discussion" forum since this isn't Support or Post-Installation.

Good discussion!

Scott

emkamau’s picture

Drupal is getting better, though I don't think that the learning curve is getting flatter. We now have image handling in core, with D7. I agree completely with the modular/contrib module philosophy. My problem with Drupal is I think its too modular. You have to draw the line somewhere with modularity. Sort of like you can have lots of features and options with a car but you don't want to be picking some things. I think there should be a concept of what a model website should have out of the box (I think its those things I mentioned in the post) and just make sure all of that is in core and is trivial to setup.
Right now we have a forum module in core, but no multimedia and email capability. We have polls and books but you need contrib modules to handle email and anchor links.

So I think the line is at the wrong place.

P.S I'll move this over to gen discussion.

John_B’s picture

The ambition is to make Drupal both easy to use as CMS and flexible. Drupal Gardens tries I think. However, it is tough to combine the two. Wordpress is easiser to use but does less out of the box. If you are offer users a huge menu where they can have anything they want, it is sure to take them time to read and understand that menu. When you add that Drupal at the same time needs to be a framework suited to making large sites for international corporations, it is just trying to do a lot of things for a lot of different sites.

Most people in the community, including Drupal core developers, are very much aware of this type of criticism even if they are not reading this forum. The willingness to improve is there already, and there is only one way it is going to get better, and that is if more people join the army of volunteers who contribute in various ways http://drupal.org/contribute We just all have to look at ourselves (we being people who are using Drupal) and ask ourselves, without having justify to anybody else, whether we are putting back as much as we are getting from having free software like Drupal.

Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors

Michelle’s picture

Nothing to do with a line. No one held forum in one hand and multimedia in the other and decided to go with forum. Drupal has grown organically from its early days as, essentially, a forum. There is a lot of cruft in core that's built up over the years and some things are coming out as other things are going in but one generally has little or nothing to do with the other. Forum vs multimedia vs email is a nonsensical argument because no such decision was ever made.

emkamau’s picture

Actually what you are calling a nonsensical argument was a simple example. I did not say a choice was ever made between these. Read my post again! I said we we have forum and many other modules in core, this implies we can have email, multimedia etc in core as well. Plus there is a line. It does not have to be explicit, in fact it is implicit. Because in a world of scarce resources priorities have to be made and they are made. Obviously since we have modules that do things like send email, smtp and so forth they could be in core. The way things get in core may be organic, incremental etc but its still a way, its still a method.

And because it is real, organic or not we can certainly examine ints processes and outcomes and modify them. Explicitly

emk

Michelle’s picture

Forum in core implies nothing about what can be in core so your basic premise is false. Aside from that, this is yet another in a long line of posts that completely ignores all the work that has been done and is yet ongoing. If you really want to help, read up on current efforts and dig in instead of piling on the echo chamber.

spovlot’s picture

While I appreciate this discussion, I would like to hear how you are taking part to make Drupal better. This community thrives on contributes from everyone.

Some suggestions for possible contributions:

  • An awesome Distribution with all of the best basic modules
  • Better Documentation
  • Core development contributions
emkamau’s picture

@Michelle and @Spovlot. Its a general discussion board. I posted this for general discussion not as a complaint, feature request. Your opinion may differ with mine, but I'm certainly not piling on and a general discussion board is not an echo chamber. At least I don't see it that way. There are many ways to contribute also from coding to helping on the issue queues to documentation to voicing ones opinion for discussion. One does'nt have to prove their bona fides to voice an opinion or ask a question.

Just my 2 cents. Anyway this is too far afield from where I wanted to go so nuff said.

emk

Michelle’s picture

It's not General Discussion that's an echo chamber; it's threads like these. Piling on yet another thread where someone lets out this evidentially well kept secret that Drupal has a learning curve followed by a bunch of other people nodding vigorously and saying that Someone must do Something to fix this Great Problem just gets old after a while.

When the thread is countered with advice on how to help, it quickly turns to excuses and people drift off hoping Someone Else will do the great Something that will save Drupal from doom.

If you enjoy preaching to the choir, by all means, continue. If you actually want to pitch in and help, there are numerous ways to do that outside of navel gazing in the forums.

emkamau’s picture

Look, I don't mean this to be rude or anything. But theres plenty of threads out there. Why not read those? Perhaps you were not the intended audience for this one. It would seem so to me at least.

Michelle’s picture

Sorry, didn't realize this was a private thread. I'll leave you to your yes-men.

emkamau’s picture

It will be so much better. Nothing like a few yesmen in an echo chamber. To get rid of the jackbooted thought police. We'll enjoy it. Yes man!

Michelle’s picture

Ok, then, have fun. If you ever want to join those of us actively trying to improve Drupal, I'd be happy to point you in the right direction.

John_B’s picture

Yes there are lots of problems with Drupal including difficulty. There are things being done about this, albeit sometimes in an uncoordinated way (reference Johan Falk's comment about coordinating documentation in this podcast). http://modulesunraveled.com/podcast/016-johan-falk-and-the-skill-compass...

@emkamau I do see you raising this matter as potentially constructive, but it will be really constructive if you say in more detail which tasks need to be completed in your view, and what specific contributions you can make. Michelle's contributions are well known (as you can see from the tracker on her profile).

In terms of discussing things you think others need to be involved in, sharing in the Core Conversations track at a DrupalCon is probably more likely to get a response than sharing here on the forum. But if the costs of attending are too high, raising specific ideas for improvement in the core issues queue might also get things moving, especially if you are able to contribute some of the work needed to carry your issues forwards.

Digit Professionals specialising in Drupal, WordPress & CiviCRM support for publishers in non-profit and related sectors