Building a Sustainable Ecosystem for Joomla!
With this blog, I hope to introduce a strategy and thought process that will help make the Joomla! ecosystem more sustainable and create more opportunities for growth. This has been written and evolved since March 2016 via discussions with various people in the community and the leadership.
Please note that this piece is a personal opinion and does not have any official standing. As Joomla! goes through a transition phase, a fresh look at how things stand might help.
I appeal to current and upcoming leadership to have a read and express their thoughts ! If it makes sense and we can adopt it, it would help us align to entire ecosystem to great success.
The Internet has evolved in the last 10 years from being a geek’s paradise to a consumer ecosystem. While WordPress has always been ‘consumer first’ in its blogging tool avatar and a darling of the ‘Do it yourself (DIY)’ movement as a site building tool, Drupal has been very much B2B — relying on consultants and developers to take it to the ‘Consumers’. Joomla! has always been somewhere in between.
With this ‘in between’ positioning, Joomla! has always struggled with identifying who its target market should be.
I’d like to define 2 important parts of Joomla! from a positioning perspective below. I’ve deliberately kept the framework out of this to keep things simpler. However it has a role to play as part of the platform.
‘Joomla! the platform’ with its common horizontal features like ACL, Categories, tagging, menu management etc is more like Drupal and helps consultants and integrators build complex websites and applications. This I believe should be tailored to be more Developer focused.
‘Joomla! the CMS’ is more like a Distribution of this platform focused on building simple to complex websites using core features and the myriad extensions available. This core CMS is very much focused on system integrators & site builders and the DIY crowd.
Whoever builds them, using whatever technologies — all websites & applications built today are built for the end user, the consumer to solve certain business cases. We need partners — power users, system integrators, developers & consultants to make Joomla! more ‘consumer friendly ‘ and ‘ready for end use’ . We need to empower these partners.
This blog explores how we make Joomla! more sustainable as a project by empowering our partners & improving product positioning. We need to find our Purpose which will allow us to align all activities across the project much better & work faster. This purpose will also help us align and expand our ecosystem in a more sustainable way and reduce fragmentation.
I’m going to explore some fundamental areas around Joomla! and opensource in this article in an attempt to refine and discover our strategy and the target market. Getting clarity on these aspects will help us move forward faster and with more purpose.
The blog starts with exploring the current ecosystem, our competition & factors that affect how we work today. It goes on to propose possible solutions based on this analysis.
Its an output of the many ‘self deliberations’ and countless discussions on this and related topics with various types of users of Joomla! You will notice I have refrained from saying ‘members of the community’ here as the idea was to get inputs from not just people who contribute in the community but also end users who don’t.
I believe that as a project, Joomla! needs to be able to differentiate between ‘Market’ and ‘Community’ . They might overlap but they are usually different and have completely different needs and expectations. I’ve written on this topic in an earlier post about Product and Project Marketing.
This is a long read and explores a lot of areas. So I’d recommend a cup of coffee before you get started !
Some Personal Background
To understand the thought process, a quick little background might help.
I’ve been associated with Joomla! since the Mambo days and as an individual and the company I work with has gone from the ‘Various stages of growing with Joomla!’ as i’d like to call it. We discovered Mambo as a 2 person team while working on our own non profit project and started ‘Using’ Mambo and later Joomla!
We found that we loved it when we founded Tekdi Technologies in 2006, it was our platform of choice. Starting out we were ‘System Integrators’ helping other companies & Non Profit organisations leverage the power of the web using Joomla! as a tool and effectively serving other businesses.
Gradually we started discovering the power Joomla! held under the hood and ‘Skilled up’ and started doing our own extensions at Techjoomla. The next level was the evolution into a consulting company doing much more complex projects for not just small business but also Enterprise Fortune 500 clients.
So for us it was a gradual upgrade of our knowledge as a team which helped us serve different ‘end user cases’ for Joomla!
Users, Do It yourself → System Integrators -> Consulting -> Extension Developers
Moving through these cycles have helped us gain perspective about the approach that’s taken at each level by a ‘User of Joomla!’ . Through these last 10–12 years, we built a business around Joomla! as Tekdi Technologies,Techjoomla and AppCarvers.
Finally I’ve been serving on the Marketing team as a Strategic Marketing manager for a while now. You can find out more about me and what I do as a volunteer on the Volunteer Portal & read my Joomla! related blogs here . A more generic Linkedin Profile can be found here.
The Evolution of the Internet and its Impact on the CMS world
In the last 10 years, the internet has evolved at a breathtaking pace. It’s gone from being a ‘Geek Paradise’ to a Consumer ecosystem and the ‘Geek to consumer ratio’ is very different from what it was 10 years ago. The number of consumers grew at a much faster pace than the geeks which means that we have a lot more consumers on the internet now than we have geeks.
This has changed the very definition of ‘Do it Yourself (DIY)’. The consumer DIY users naturally expect more easy to use systems and they are the majority. For true scale you need to have a product that’s made for the Masses and the masses are not geeks. None of the typical CMS’s are true consumer products.
WordPress with its ‘Blogging’ aspect is probably more consumer focused than Joomla! or Drupal. But even it is seeing the impact of even more consumer focused systems like Wix, Facebook pages and Google Business Pages.
Drupal has never been focused for ‘End Consumers’ and depends on Consulting companies to ‘Shape it’ to their end clients needs.
Joomla! has been somewhere in between with a higher learning curve than Wordpress but still easier than Drupal and from a development perspective much more organised.
Having a Purpose and Staying Loyal to the Target Market
From an outsider’s perspective Drupal and WordPress (typically considered competition for Joomla) , have always seemed to have a very clear purpose and have evolved to that purpose in a changing world.
WordPress has always been ‘End user First’ with its strategies of unending backwards compatibility and auto upgrades and even risking dependence on absolute non secure code and technologies.
Even with its new ‘Abstraction’ approach to run Wordpress.com off Web services seems to point in a direction where it will enable a technology shift later with comparatively less impact on its end users. This decision (which might not be easy to implement) does show a lot of dedication from the WordPress project to their ‘Purpose’ of being Easy on End users.
On the complete opposite side is Drupal which seems to have a ‘Consultant & Technology First’ approach. Drupal has never had easy migrations and its consultants were empowered enough to explain to clients why the migrations were important. Even their ‘end clients’ are picked to be big enough to afford and and mature enough from a technology perspective to understand why technology shifts need to be adapted every few years.
This was proved again with the release of Drupal 8 where they turned things on their head and embraced the latest technologies and forced a migration. Of Course they have strategies in place to help their ‘Market’ which is the consulting companies do this with minimum issues.
In both of the above cases, you will see that the decisions have been very strategic and visionary and inline with their central purpose.
So what is the purpose of Joomla! ? Is it inline with its target market ? That is exactly what I’m trying to discover!
Purpose as a tool for Project Alignment
A central purpose is extremely powerful for any organisation or project. It provides the important test for anything you want to do in the project whether it’s a new Marketing campaign,, a new feature you want to implement or a complete overhaul of the entire system.
With anything we want to do, we first need to ask — How is this useful to our target market , Does this align with our central purpose ?
With a community as large and diverse as Joomla!, a common purpose will help us move faster !
Defining Joomla! — the product
Depending on where you are in the Joomla! ecosystem, you tend to see Joomla! differently.
For System Integrators, the Joomla! CMS along with the extensions and templates are the ‘Product’.
Consulting companies see the Joomla! Platform as the ‘Product’ on which they add value in addition to other extensions and templates.
The Core platform, CMS and extensions add value to the ecosystem in their own unique way and have their own goals. This is my attempt at defining their purpose.
The Joomla Core Platform
Empowers CMS devs to build a strong CMS, enables Consulting Agencies to Build custom Apps that make things easier for Joomla Extension & Template developers by making ‘horizontal’ features like User Management, Languages, Access Control, Versioning, Menu Management, Categories Tags, Fields, Web Services etc available to them..
The Joomla CMS
Empowers system integrators to build robust websites by providing a strong content platform between the core and extensions which makes Joomla a viable solution for a wide variety of use cases.
Take the CMS to new levels and add value to empower system integrators to be build more powerful web systems with Joomla.
The Target Users for the ‘Joomla! as Joomla Market’
Joomla! started out as and has always been called a Content Management System. The Joomla! mission statement even says ‘Our mission is to provide a flexible platform for digital publishing and collaboration’.
However the commentary also quotes “The word “platform” is used to emphasize not only that the Joomla! CMS can be extended, but also that we will release the Joomla! Framework as a separate platform at some point and might develop a non-CMS application on top of it.” Of this the Framework was released already…
You could further argue that ‘Content’ could mean various content types which could also be so many things !
Coming to the practical side of things, Joomla! has always been more of a ‘Starter Kit’ to build upon using extensions. Our latest roadmap of the 3.X series also indicates our thrust towards concentrating on building ‘Horizontal’ platform components that other extensions can reuse. So Extensions have always been our power as a platform.
So in a way, we have always ‘enabled’ Extension developers to build things better and faster and that has triggered the creation of the ecosystem that i have tried to describe below.
Extension and Template Developers
As a result of the popularity of Joomla! on one end and the impetus given to them by the project evolution, a strong and active 3rd Party developer ecosystem has evolved and thrives around Joomla.
They have a very symbiotic relationship with the Joomla! project as they get their users are a subset of the Joomla! Market. Some of the more popular extensions have also resulted in new users being driven to Joomla! due to the extended usability they offer.
By virtue of the strong infrastructure provided between the CMS and the extensions, System Integrators have been empowered to be able to easily create decently complex websites and applications without doing a lot of coding.
This category includes Freelancers, Web Agencies, Designers etc who deliver small to mid range projects effectively with Joomla!
These companies are the ones using Joomla! as an application development platform and build bespoke systems and enterprise applications using Joomla as a base. You have cases where extension development companies and System integrators have evolved into consulting companies.
Hosting companies and more recently Cloud service providers like myjoomla.com or watchful.li form another aspect of our market & ecosystem.
These target users Present Joomla! to the ‘World of end Users’
As we have seen above, the Internet has evolved into a consumer ecosystem and ‘End users’ are looking at more off the shelf products.
For Joomla! it is the above ‘target users’ that present it to the world in the avatar that it wants to see. This is what i’m calling the ‘Joomla! as Joomla! Market’.
So for Joomla! they are the Market, they are the target users . We need to enable them — our first order target users to best serve the end user market.
Market positioning for Various forms of Joomla!
The point of this entire discussion has been to try and find our purpose as a product. To try and find our positioning in the market. In the diagram below, I have tried and compared various platforms on the basis of the following parameters.
- Level of Expertise required
- Expectation of Simplicity
- Flexibility of the system
- Cost of Acquisition
- Perceived market share
Also plotted against the same are the different type of users who use these platforms
- Pro Geek Programmers which also includes Developers & Consulting companies
- System Integrators which also includes Site builders, Designers, SEO Agencies etc
- Hobbyists & the Do it yourself crowds
- End Consumers
The diagram assumes that the right choice of platform is made for the Project. As even using any platform very very badly in the wrong place, it is possible to blow the cost of acquisition and other parameters out of proportion !
While the diagram is self explanatory, I will explain the positioning to satisfy both Google as well as ensure no context gets missed ! On the extreme left are the pro geeks and on the extreme right the end consumers.
Frameworks (read PHP Frameworks like Laravel, Symfony, CodeIgniter, Yii, CakePHP, Zend, Slim here ) are the go to choice if you are a Geek developer who knows his or her stuff.
Frameworks are super flexible and you can practically build anything you want if you know what you are doing. There’s plenty of knowledge and reusable code and libraries available on this level which will make your job easier.
Depending on what you are building however that the cost of Acquisition for an end customer will be much higher. It won’t be Simple out of the box for the end user, but you as a developer will help make it so. The level of expertise needed to build it right will be much higher.
Now if you are a pure geek looking to start blogging, you are likely to roll out your own Laravel based system rather than use Wordpress or even medium, just because you can & yes it gives you a kick doing that as well as establish your credentials . Not everyone will actually do this, but almost every ‘pure geek’ out there will surely consider it ;)
However for the client to consider it for a project, a lot of factors as discussed above will come into play.
Drupal & Joomla as a Platform
The flexibility that Drupal and Joomla! offer in comparison with Platforms is less but they start scoring better on the level of expertise needed. Both need a lower level of expertise to work with and Joomla! fares better in this regard in my opinion. In both cases if you know your stuff well, you will be able able to build large scale enterprise systems on both platforms.
Again depending on what you are building, Cost of acquisition in these cases will be lower, users will have higher expectation of simplicity and in the right hands you will not lose a lot of flexibility. Joomla! can be easily positioned in this space if we have enough people in the ecosystem who can serve this need. Develop
ers & consulting companies can help us capture more market share here.
Basic Joomla! & Advanced Wordpress
Building robust websites is something Joomla! does very easily out of the box and you can get pretty advanced functionality using Joomla! and extensions very quickly. Also the Joomla! administration as well as code organization scales easily do even very complex websites.
Doing the same type of websites is very much possible with WordPress but needs a higher level of knowledge and the code becomes harder to manage. That’s why Joomla! Basic is placed on the right of WordPress advanced as being comparatively easier and cheaper in the longer run for such a segment.
This is the segment where Joomla! is strongest right now. System integrators are our focus in this segment.
Getting into the wider market with Distributions to target the spaces of Wordpress.com & WIX
As we go closer to the right side, the ‘Purpose’ of the various products starts becoming more and more clear, they start becoming simpler to use. Products like Facebook pages are truly ‘Consumer ready’ cloud applications that end users can just start using. This is the space Joomla could target if it became the enabler for Distributions. This is what I call the ‘Joomla as something else market’
The Joomla! as Something else Market
By virtue of Joomla! providing a decent platform to build a variety of end user focused systems, it’s evident that it’s used to provide specific need based end user distributions and SAAS solutions to end customers. This provides a great opportunity for consulting companies and extension development companies to leverage their existing code and position it in a different market.We have talked about purpose earlier on in this article.
A distribution being further downstream and closer to end users is much more focused in terms of the problem it is solving thus allowing for much better UX and development focus on its level.
The Joomla! CMS in a way is a distribution that’s maintained by the Joomla! Project but being higher up in the stack it’s more generalized and suited for a greater variety of applications.
Encouraging and enabling 3rd Party distributions to come up opens up a whole new range of possibilities. This is already possible now and is already happening but having it as part of the overall strategy can help.
This is great for Joomla! as Joomla! effectively gains more ‘end users’ via such downstream projects and the sustenance of Joomla! is critical for all such downstream distributions and SAAS projects making it more sustainable for Joomla! overall.
These downstream distributions will be a source of Core platform contributions for the Joomla! Project.
The Sustainable Joomla! EcoSystem
Bringing everything together, I’ve attempted to put everything together in a single info-graphic below.
Not only does this make Joomla’s positioning more clear in its various forms, it gives us the basis of a development strategy for the Joomla!Platform, the CMS as well as Distributions if we want to go for them.
The second big impact of this is that it enables creation of more downstream projects to Joomla! thus increasing the chances of upstream contributions. This is what I discuss in the next section of this blog.
Making contributions to Joomla! more sustainable
Logic says that for any Project or Product to sustain and grow, it needs to satisfy a need — or in other words, have a market. As long as the Market needs are satisfied, the market will support the Product or Project.
In a community project like Joomla! however, there are two aspects to this. One is the Community aspect in which we need to ensure that the ‘Community design’ is sustainable and scalable. And the community itself is dependent on the ‘Product and Market’ aspect being sustainable. We are an awesome community but we have to remember, it’s the product that brought us together and binds us.
Like in any team — the Community is bound together by a combination of logic and emotion, each driving and supporting each other towards a common Purpose.
Why do we contribute ?
In some cases, the reasons are emotional — we have passionate people who love to contribute and contributing drives them, it makes them feel satisfied. Sometimes the reasons might be purely logical like a Student contributing for experience or a professional or company contributing to get visibility.
More often than not, the reasons for being part of the community are a mix of logic and emotion. For instance students contributing because they love to whilst also gaining academic benefit and real world experience for their resume. Professionals who contribute because they are giving back to the technology they are using whilst gaining visibility.
Sometimes it’s purely a question of code organisation where it makes sense that something that is useful to the lowest common denominator of the market be contributed to Joomla! rather than being maintained higher up in the development stack.
Usually people and companies will always stand to gain when they contribute. Be it on an emotional level or on a material level.
It’s important that as a community all the elements of the community find that it’s sustainable to contribute.
Sustainable Contribution, Sustained Contribution with the Spirit of Open Source
In order to understand this, let’s take an example of a super simplified representation of the Linux ecosystem.
While the Linux Kernel provides the ‘Infrastructure’, first order distributions like Fedora and Debian add value on top of it to make them ‘usable’ to their target market by adding package management, a desktop interface and ready to use apps. Distributions further downstream like Ubuntu have a more refined purpose and target users.
Downstream projects like Debian contribute improvements to their upstream projects since it makes sense that any ‘Generic’ Improvements are maintained in ‘higher up projects’ since they are useful to everyone. This way the downstream contributors also get more help in maintaining the code in the long term from the upstream project.
Contributions for the right code at the right level are cheaper to maintain and more sustainable
In Open Source where we build our products and projects on top of existing code, it makes a lot of sense that ‘Downstream’ products and projects contribute their improvements to upstream projects making the whole ecosystem more sustainable.
We have discussed above how its logic and emotion that drives contribution. We need to ensure that our contributors, whether they are committed individuals or agencies — get emotional and logical gratification from their contributions. I’m talking a lot about this strategy nowadays at conferences. You can see the slides & youtube video from JWC16 here on this subject here.
The Role of the Joomla! market elements in the Joomla Community as contributors
Since these players around the Joomla market benefit from Joomla, them contributing back to Joomla logically makes sense as it helps the market grow and thus benefits them and is thus sustainable. Depending on their skills they could possibly play roles as below in the community.
* Note that these are not exhaustive but just some ways i could think of.
Extension and Template Developers
Community contributions to common code,developer documentation, provide code fixes and horizontal features useful to all, sponsor events and aid marketing.
Community contributions for bug fixes, documentation, event organisation, Website infrastructure, Marketing, translations and much more.
Community contributions to help maintain and improve the platform, Sponsor events and volunteer coding time.
Hosting Companies and Cloud Services
They can with their infrastructure support the project with sponsorship's and also help improve the platform and CMS by giving valuable code and insights due to their more ‘B2C positioning’
Joomla! is one of the unique projects in the world that’s managed and built by Volunteers and they form a critical part of the ecosystem. They might or might not be be connected with Joomla via a downstream project or entity providing services via Joomla. They will however be logically or emotionally motivated to contribute as discussed above.
Third Party Distribution Developers
These people will usually bring in the same type of expertise that extension, template developers & consulting companies will bring in. So they can do community contributions to help maintain and improve the platform, Sponsor events and volunteer coding time.
In addition to what’s covered above, all of these ‘Partners’ of Joomla will help us get perspective into various aspects of our markets and allow us to evolve continuously and stay relevant.
Calling for Feedback !
Well that has been one long article. However it was important that all the background information and thought process be presented in order to achieve the result. I hope i have been able to present my thoughts clearly.
I request you all to please fill in this Google Form to give your feedback on these concepts.These findings will be published & will be invaluable for anyone deciding the future strategy for Joomla! You may also post comments below for a public discussion.
Thanks for taking the time to read this ! Thanks to everyone who helped proof read this and gave feedback !