Tooling up to write good software. We had it so easy in the early days!
When we come to writing software and contributing to a major Open Source project there is much to consider. And that's often the problem.
For the volunteers today it's not as it was 25 - 30 years ago.
Back then when I started getting into open source, or as it was then "free software" the arguments were between Vi/Vim and Emacs as your editor of choice. I was switching between SUSE Linux and another distro Mandrake (which became Mandriva), and sometimes BSD flavours. Why not the more popular Ubuntu? Simple, it didn't exist, it was still a twinkle in Mark Shuttleworth's eye.
Then there came into being the most pretty little editor, Bluefish. It was a cross between an advanced editor and an Integrated Development Environment (IDE). It served me well for many years.
As for learning git, GitHub, code styling and code sniffers, they were all in the future and in our small groups it was easy to be top dog.
Commercial web software in those days I liken to making a meal over a campfire. Grab the essentials, all that you can lay hands to and just make something. Something that in the dark looks good and is mostly free from the local insect population. Sit back and say it was delicious. Not very good, visually a mess and full of bugs, and greeted by others with praise and delight that it even worked.
Contrast that to the same in today's world.
First you need a hygiene certificate, a kitchen with all the required essentials. You cannot lift a kettle unless it has a PAT test certificate. Training in handling knives, Understanding of nutrition, allerys, first aid course, accident book, insurance, knowledge of food storage. Personal outfit with a hair net. The list is long and we haven't even cracked an egg yet.
When finally you get to make something, it is tasty, healthy, looks amazing under the bright kitchen lights. It's free from the chance of even a single hair in this sterile kitchen environment, and will then be critiqued and compared with other excellent dishes.
That makes code produced with modern tools very good, visually stunning and bug free, and greeted with criticism and scorn that it didn't perform a tad faster.
Any wonder that joining a large open source group can be daunting for those joining today.
So what can we do to lighten the load, make that entry point easier but still of high standard?
That's where the idea of IDE groups came from.
In the Google Summer of Code (GSoC) onboarding channels we have organised a Saturday chat group running through what students would require if Joomla gets accepted as a participant. We are also planning even if we don't get accepted to onboard new members of the community.
Setting up the local environment is always one of the first issues. The choice of IDE is a major part of that tooling. With the IDE you have the chance to use it to connect to git, GitHub, code sniffer. All the things that are now days expected before you write a single line of code.
When going through the docs last year it was decided to officially support two. Visual Studio Code (VSC), as it's certainly very popular and also free. And PhpStorm which although paid for, is popular and they help us as a community by offering licenses.
In my day to day work I use PhpStorm, but I like the idea of the lighter weight VSC to play around with on my laptop. On Saturday March 6 Anibal Sanchez gave a presentation in our Saturday session on aspects of using VSC with Joomla. Following discussion in the session, we’ve then created two new channels in Glip (Joomla’s Official Chat), so people can join and learn about their IDE of choice.
What's planned for the rooms?
Well we have asked all who have joined to pin their learning resources to the channels. Already there are over 100 videos on setup and IDE usage.
External user groups and events are being added so it really does become a cross community resource.
If people have found courses and resources that would be useful on the various ways to use the IDEs then please do share. “Tips for the week” and a snippets section of IDE setups can be created over time. We can then have a few official recipes that will get new users up and running quickly and with all the tools at their fingertips.
We have more teaching sessions happening in conjunction with JUG’s and if recorded then these will also appear in the rooms.
Conversation and resource sharing in these channels aims to then feed back into the Joomla Documentation as resources to provide a comprehensive and easy to follow onboarding process for anyone wanting to join the community and get started cooking up code.
If you’re on Glip and have any problem accessing the new rooms then please join the Bugs & Fun at Home channel and one of the team members there can help you join the new channels. If you are not using Glip then please do consider joining the community to talk with others working on Joomla. It's great to see the community growing more in the past year, becoming a friendly and welcoming place for new users accompanied by mentoring by seasoned Joomla developers.
I would like to thank Patrick Jackson for his help with this project, his time and his “appreciation” of my jokes and Benjamin Trenkle who has been generous with his time, knowledge and patience teaching this mature student.
I've learnt so much from the kindness of others.