Making Drupal easier for beginners
Drupal is doing well.
The past few years (since Drupal 8 has been released), has seen the stability, power and (most importantly) the usage of Drupal increase.
This is thanks to the hard work of all the organisations who support and enhance the CMS on a daily basis, whether that’s dedicating their time to contribution, recommending Drupal, or championing Drupal in their own ambitious digital experiences.
That being said, during the last State of Drupal presentation, at Drupalcon Amsterdam 2019, Dries mentioned one of the greatest pain points with Drupal adoption is the beginners experience.
Beginners struggle with Drupal while experts love Drupal.
(source: State of Drupal presentation (October 2019))
This is why one of the proposed Strategic Tracks for Drupal 9 product strategy is to Prioritise the beginner experience.
Remove the blockers
Before being a Drupal developer, in fact before being a developer at all, I started my journey into the IT world by being a Free (as Libre) Software evangelist. I began with joining my local Linux User Group (LUG) and started advocating Linux as a valid alternative to proprietary OS.
But at the time GNU/Linux wasn’t as attractive as it is nowadays. Before the installation process there was a hard command-line-only journey where you had to expect problems. (That was the fun part by-the-way: fixing problems!)
That was the reason why among the LUGs there was common practice to do monthly Install Parties. During an install party, experts were offering their time to help people, either with techy backgrounds or completely ignoring what an Operating System even was, to install linux on their computers or laptops.
One day there would be struggles with the hard drive. Another day it would be the chipset. Often wifi! You’d think it was only the installation process itself that caused issues, but actually every single case is different. As much as you can streamline and simplify the installation process – which did happen during the years when Linux was maturing – people always joined our parties with unique issues.
And it was nice to see people returning for following sessions, with more questions (sometimes doubts), until they became confident helping the new people. Communities were born naturally, through a lot of fun, and without big investments.
Wouldn’t it be nice to have the same experience with Drupal?
Beginners barriers to Drupal
For a user to fall in love with a technology tool, there are 4 steps:
1. Easy to install
2. Easy to evaluate (as “Easy to fall in love with”)
3. Easy to adapt to my needs and grow with me
1. Easy to install
You may or may not know Drupal has made huge progress with enabling new users to easily install Drupal. Have you ever read the “Quick install for beginners” page on Drupal.org? Don’t – this would scare the most experienced developer! And please don’t go to the guide page for developers. And gladly you don’t need to.
Drupal 8 has a Quick Start command page, explaining how, with 2 simple commands – one of them is to download Drupal, which you can skip if downloaded manually! – you can get a Drupal instance up and running. The only requirements is having PHP, also covered on the page for popular operating systems. Please give it a try!
Lesson – Drupal is easy to install!
2. Easy to evaluate
Drupal bundled themes haven’t changed a lot over the years. That means that Drupal’s look and feel out of the box is… quite outdated.
That’s why projects like the Umami demo, or the new Claro admin theme as well as the upcoming front-end theme for Drupal called “Olivero” change the way new users can evaluate and fall in love with Drupal.
Have a quick look to Claro admin theme, now on core since Drupal 8.8
Focused on accessibility, responsiveness, simplicity and better user experience, these themes have already received outstanding feedback and are changing the way Drupal at-a-glance is seen among other competitors.
3. Easy to adapt, and flexible
Most users see Drupal as a CMS, limited to its UI and what the contrib modules can offer. They often forget, or not know, Drupal is also a powerful framework you can easily adapt to your needs.
Since Drupal 8 has been shipped, thanks to its OOP structure, extending functionality has never been easier. Besides, by using the “Proudly found elsewhere” modelling Drupal to your needs is now more familiar if you have been working before with Symfony, Doctrine, PHPUnit and many more popular PHP Libraries.
Yep. The documentation can be better. The community is doing a lot to ship clear documentation pages, and keep them up to date. But this is often a very difficult and boring task for developers, which prefer to code the what rather than to explain the how. But if you think you can do better, why not starting contributing to Drupal documentation now?
So what’s missing? Quick to install, amazing look and feel, powerful and easy to extend. But still a big pain for the beginner.
If we take back the analogy from the GNU/Linux install parties above, the missing element in the equation is the event itself, and a reliable local community.
Dries during his keynote asked the community to come up with new initiatives for each of the new tracks. And I now propose a Not-Just-Code initiative.
The Not-Just-Code goal is to expose more the local communities and promote their events. You may not know but Drupal community, together with his virtual aspect of contributors meeting online every moment to contribute back to the platform, has a big number of groups who run local events spanning from Show and Tell’s as well as Training.
Some NJC initiative goals can be:
- Review – or renew (!!) – groups.drupal.org as platform.
- Promote local events more, for example with global community events and camps quick links on Drupal.org homepage
- Improve and promote events templates, to help new local community. These templates already exist, they’re just not the easiest to find!
- Create and promote courses templates, about beginning with Drupal as a site-builder or developer.
- Create and promote specific programmes helping facilitate the adoption or learn of Drupal on environments like High Schools and Education in general, Detention centres, Immigration or Job centres, etc.
Plus many more.
Please leave a comment in this post, or messageme on twitter (@Gambry) to give me your feedback on NJC initiative.
One of the most interesting and yet poorly known periodic events are the Drupal Global Training Days.
“Drupal Global Training Days is an exciting initiative from the Drupal community to introduce new and beginning users to Drupal. Trainers from companies and local groups around the world help newcomers to the Drupal community feel inspired and empowered to start great work.”
Dries wrote an amazing blog about Makers and Takers and their relationship to Open Source community. It’s a long but interesting post, which I suggest to read. In the article, this is the definition of Makers:
“I use the term Makers to refer to anyone who purposely and meaningfully invests in the maintenance of Open Source software, i.e. by making engineering investments, writing documentation, fixing bugs, organizing events, and more.”
Manifesto has always sat among the Makers, but like most other organisations we always (and only) found ourself as code Makers. Contributing to either code feature or contribution days, but never leaving the pure-development approach to our giving back to open source.
Manifesto, among the 243 different individuals who contributed to Drupal 8.8.
(source: State of Drupal presentation (October 2019))
There isn’t anything wrong with it, but during the last few months I have been thinking about enabling more new beginners to get their hands on Drupal and gain the confidence to encourage them to learn more and more.
Mentoring new developers, and helping existing developers to become even better.
Fingers crossed the NJC initiative will have its own space in “Drupal 9 product plan – Strategic track 2: prioritizing the beginner experience”, but either way I will personally dedicate most of my contribution time to beginners.
In the next cycle of Drupal Global Training Days, Manifesto will be hosting two training courses:
– Drupal Module Developers Course
This course is designed for existing PHP or Symfony developers, who would like to start their career as Drupal developers.
– Drupal Advanced Development Course
A course is designed for existing Drupal Developers, who would like to scale up and learn more advanced (and usually not well known) subsystems like Cache API and Plugin API.
How can you help?
You can help by promoting these two training sessions and the Global Training Days. Help the NJC initiative to become official.
Help making Drupal easier for beginners.