Un(b)locking the Drupal Learning Curve
I love being part of the vibrant and ever advancing Drupal community. When I first got to know it, just four years ago, I came with the purpose of finding the right tool to build a website with. Instead I quickly got lost within drupal.org, eagerly wanting to help improving Drupal. The website that brought me there is still a work in progress btw...
I don’t regret one second of it, though. It has given me so much more than I was originally looking for. Especially since nothing gives me more pleasure than enhancing the user experience for others. Over the years I have also had the honor of meeting and getting to know an uncountable number of amazing people from all over the world and with all sorts of backgrounds. Many of you have also become great new friends of mine.
The community has also taught me that open source is so much more than just access to the code to do what I want with. It’s also about the people and a common goal of making something better for everyone by wanting to learn new things. That, in essence, I believe the Drupal community has championed and is also something I often see mentioned outside the community too.
There is, however, a darkening cloud on the horizon that is affecting things in a less positive direction. That cloud is the Drupal Learning Curve and it continues to have an effect, especially on new and/or less skilled users, but also on more seasoned users.
There are plenty of great initiatives, both commercial and community driven, with the ambition to crack open this cloud. Some by offering training to new talents, others about improving usability and so on. All these initiatives really shows how serious the community takes this and how hard everyone is working on improving things.
I’ve been following this work more or less since I started using Drupal and also pitched in whenever the opportunity was given. It’s always been in the back of my mind as my experience has grown. I believe now is the time where I feel ready to present my take and ideas about this topic. This post is the first in a series of six where I will dig into this:
- Un(b)locking the Drupal Learning Curve
- The Drupal Site Building Experience
- Drupal Site Building Challenges
- Drupal Limitations and Bottlenecks
- How to Improve Site Building in Drupal 7
- The Drupal 8 Opportunity and Beyond
Each post will build upon the previous ones. Thus it is highly recommended that you read them in the above order to get the most out of it. For the remaining part of this post I will touch on a few important basic concepts that I will delve into deeper within the upcoming ones.
Note: Post 5 & 6 has, after feedback to post 1-4, lead to the formation of the Drupal SuiteBuilding Usability Initiative, which I write about in Making Drupal more User Friendly. I am very excited about working with other Drupalers in the community in this initiative.
New Users don’t start out Passionate about Drupal
Something that is very important to understand is that new Drupal users are not passionate about it as we more seasoned users are. Practically all come looking for a great tool to build a website with. Many of them have also very limited experience and skills when it comes to web technology and the requirements needed to build a great and future proof website.
What they do have, though, is a need of a website to help them get where they want to go. That website could be anything from a personal blog, a site for a club they are a member of, to an rich media or eCommerce site for their business. Fact is that it is the website that is in their minds, not the technology used to build it with.
For larger projects, most often backed with a healthy budget, they usually contact companies specialized in building client websites and asks for quotes. Then they get offers to base their final decision on. They can afford to hire these skilled experts to get the site they want built. Their sites are most likely also long term projects and they want something that can be further developed and extended with new functionality over the years to come. These projects usually also comes with a knowledge that it will take some time to build. Here Drupal is very competitive as we have seen time and again.
For smaller projects with limited or no budget, the situation is very different. They simply don’t have the luxury of being able to hire experts for anything but limited sub projects, such as parts of the theming for example. Instead they will have to do all the homework of researching as well as testing the alternatives themselves. In this process they will also be exposed to a lot of new terminology and tech they often have no or limited knowledge and experience with.
When they read about Drupal, they are most certainly impressed with the sites built on it. The same goes for the impressive features set and the number of contributed modules and themes. Of course, also the large and vibrant community plays an important role.
It is here our greatest growth opportunity and challenges lies, as it is in this process where we lose a lot of potential new users. We do it because they quickly lose patience with all the new complicated stuff they are faced with that they often don’t understand much about.
This is why we simply must improve the first impression experience. If we can do that, then it will be much more likely that they opt to use Drupal. The great thing is that this will also come with a bunch of other nice bonus effects, such as:
- All roles will be able to much better focus on their own tasks.
- Drupal Core and all contributed projects will be easier to develop, support and maintain.
- The site building experience will be more intuitive, flexible and powerful.
- Websites will be much more maintainable and easier to add new features to.
- Extra bonus - We will all have even more fun.
Yes, I am convinced that is definitely possible. It will, of course, require a lot of work and changes in combination with a better understanding of the needs of other roles than our own. In the end, though, it will all be worth it.
Drupal is an UI-driven CMF
Last month Larry Garfield (Crell) published the post Drupal is not a CMS, where he wrote:
“Drupal is a Content Management Framework (CMF), from which you can build a CMS tailored specifically for your needs.”
Further into the post he also wrote:
“Starting around Drupal 4.7, key developments such as the Form API, Content Construction Kit (CCK), and Views changed the way Drupal worked; not Drupal core, but Drupal the meta-project. "News nodes", "event nodes", and "recipe nodes" got replaced by "text fields", "date fields", and "image fields", which you could now use to build your own news, events, and recipes to exactly your specification.”
I couldn’t agree more. Add to it that no real site will ever be built with just Drupal Core, they will all require a healthy number of contributed modules and custom themes. Even the most simple sites usually end up having tens of contributed modules.
As Drupal has matured since its initial launch in 2001, it is now clear that building a website (CMS) with it is an UI-driven configuration process. Core, modules, and themes provides functionality that exposes UI-based configuration options that site builders uses to create websites with. This is a development that has accelerated over the years and won't change.
That Drupal is a CMF doesn’t mean it has to be hard to learn and complicated to build sites with. That will only happen when functionality is not correctly exposed in UI and that is why:
The Site Builder Experience is Central
Simply put - If module functionality doesn’t expose correct and flexible enough configuration options in the UI, then using them will be much more complicated. Often this will lead to that workarounds and/or hacks are the only options left to get something workable. In many cases compromises has to be made with the result that website features will be hampered and the website itself will be more demanding to work with, as well as maintain and expand.
Here we have the key not only to make the Drupal learning curve less steep, but also enable us to build much better websites. In the process these sites will be easier to expand with new functionality and much more maintainable.
If we get better at understanding the site builder role and the needs it has for creating websites, then I am convinced it will have a great impact on Drupals future growth. Especially when it comes to website projects that doesn’t have the luxury of a budget for hiring the needed experts.
This is also why I have chosen to make the site builder experience the main focus for this series of posts. It is my belief it truly has the potential of unlocking the full potential Drupal has.
We are In This Together
The secret to un(b)locking the Drupal learning curve is to better understand the whole process of building a website, how everything is connected and affect each other. Then we will better know what and where to improve things.
The Drupal community is a fantastic an buzzing place. It is also an extremely flat organization. All you have to do is to create a user on one of the websites and jump right in. Yes, it takes a little time to get adjusted and learn where to find the stuff you need, but in general you get great help from your new community friends.
Throughout my time in the community I have noticed an increased willingness among the members to learn new stuff to make Drupal better. Things such as UX (User eXperience) and usability have over the years gotten more space and a better awareness about why it is important is growing.
It is this willingness to learn and understand that makes me convinced we together can fix this. Together we will not only flatten the learning curve, but also make the site building experience and all other roles amazing.
Let’s Meet in Munich
DrupalCon Munich is around the corner and it is an excellent opportunity for us to meet up. For that reason I have scheduled a BoF where we can discuss and come up with initiatives on how to improve the Drupal learning curve and site builder experience.
Until then I hope you have enjoyed reading this post and are looking forward to the remaining ones.