As the maintainer of the OpenChurch distribution and OpenPublic app contributor and presenter (see Karen’s blog post on our Drupalcamp Atlanta presentation) I have had a very strong interest in the topic of Distributions and App Stores for some time now. In early 2011, leading up to Drupalcon in Chicago there was much buzz around App Stores. I had just launched OpenChurch and I remember having very intriguing conversations on the future of Drupal and App Stores at Drupalcon that year. What was going to happen?
In my research for this article I went back to several blog posts that created the stir around App Stores last year. A good place to start is the #drupalappstore thread on groups.drupal.org. There were many spirited discussions on both sides of the issue, from Morten’s the DrupalAppStore that killed drupal argument to Earl Mile’s defense in his blog post, to the twitter post heard round the blogosphere, started by Robert Douglass of Acquia. In that post he referenced his Brussels presentation Sell Your Code: Announcing The Droopyappstore which sparked all kinds of controversy. I think his London presentation on the matter is even a better one to listen to if you need to get caught up.
Our own former intern also contributed his thoughts on various distributions in several blogs posts here on Mediacurrent.com.
Now I am going to jump in head first into this topic and offer my own 2 cents. There are currently many internal inside baseball discussions within of the Drupal community on various mechanics of Distro’s and apps. I would like to look more at the “Whys” and benefits that are very appealing to the CIO or other decision-maker who is actually evaluating where or not to use Drupal for their website.
I will also make the case that the Distribution & App Store experience are both compelling aspects of the Drupal platform and can grow the ‘Drupal Economy’ in the coming years.
I started working on OpenChurch in 2010 after seeing some presentations on Features in Drupalcon San Francisco by Development Seed. This got me really excited on the potential for creating much more robust, maintainable install profiles. Up to that point when I had seen install profiles on Drupal they looked like a complete mess. Features gave us a way to store configuration into code in a way we hadn’t had before. This opened the door, I thought, for many distributions to come. I had worked on an OpenPublish multi-site project and I thought surely 2011 would be the year of the explosion of Drupal-based distributions.
Did it happen? Well, from my perspective, not so much.
Phase 2 had OpenPublish in 2010 and then came out with the very solid OpenPublic distro. Development Seed had OpenAtrium which is still one of the more popular distributions to date. Acquia came out with Commons which is a really good profile for community sites in late 2010. OpenScholar & NodeStream were also late 2010, early 2011.
In the last year or so, we have had some other distributions but, in my opinion, they are not particularly newsworthy. This area still feels like an untapped market to me. There are many verticals to which a Drupal profile could really make an impact. Drupal to me is unique in that it is a platform on which you can build another platform, while still giving people the flexibility to customize. That strength is something I want to explore more in this article.
Everyone wants to be able to buy a pony
-Boris Mann, Buying Ponies - Drupal App Store
The analogy you hear a lot with Drupal is that Drupal is a box of legos.
There is a place for a box of legos, especially really good Drupal-building legos. But aren’t lego kits a lot more fun and easy?
And to me lego kits are what Drupal distributions are. You can even say the Drupal ‘apps’ follow the same philosophy, give the user a lego kit, a pony-a fully functional component that is dropped into their website.
One thing that frequently gets over-looked in App Store discussions is that we lose sight of the point. To Drupal shops and contributors we might be so focused on the business model surrounding apps that we forget why the idea came about in the first place - the experience.
What’s great about App Stores from the user’s experience is that they just click a feature they want and install it just like Apple’s App Store. This UI presents a much more usable interface to the Feature’s administration page which is much more geared towards developers.
Apps are created to solve a very specific problem and added to the site in a very easy, usable way. It’s this type of experience alongside Distributions that people are wanting and I feel like the Drupal community has opportunity to give them more of it.
What appealed to me about Drupal in the first place was that it addressed a much sought after problem, building a full functional website that could be managed online via a CMS. There were and are plenty of other solutions out there for building web applications or even websites, but Drupal’s targeted ‘problem domain’ was specifically ‘building websites’. It was this problem somewhere around 2005 when I was doing freelance Drupal that led me to use Drupal. Clients wanted to manage their own content. I didn’t want to get calls to change the footer text!
We have distributions that solve several use cases, some really well. But we could have more.
Distributions can be used to target specific use cases. These can include publishing, intranets, non-profits, government, media, education, and so on. We have distributions that solve several use cases, some really well. But we could have more. And that is where we have opportunity.
Distributions and App Stores can work together very effectively to solve specific use cases in different verticals. These solutions will drive more newcomers into adopting Drupal and will grow the platform. Maintaining distributions and apps also feeds the Drupal ecosystem because you have more people invested in the ongoing maintenance of the underlying modules and code within the platform.
I have learned from my experience in developing and maintaining a distribution as well as contributing apps that maintaining both is hard - really hard. The problems are mostly mechanical and are getting easier as solutions are found. As of Drupal 7, it is still very difficult to export a lot of configuration to code, there are many things that aren’t yet exportable which means more work for the maintainer. As a maintainer of a distribution you are basically invested in the functionality of not only the theme and custom code, but all of the contributed modules that are part of the platform. That means even more care has to be taken to ensure the stability of the distribution.
Apps are still new enough that there are bugs and technical hangups that can make it difficult to jump into creating apps. This too is something that will improve over time.
It is my contention that these challenges are what drive many individuals and shops to calculate that the amount of work involved for creating a distribution and maintaining it, outweighs the potential benefits that could come through project work and any other revenue stream they could come up with (hosting, paywalls, training, etc.). That is something that up to this point, I believe has ‘stunted’ work in the Distribution space.
I am optimistic that innovators in the space will lead the way, making the choice easier for shops and individuals to find a way to get some kind of an ROI for their work. You are already seeing hosted solutions subhub.com, drupalgardens.com and paid support options from openatrium.com and others in this space. I believe this will open the door for more players in this space which ultimately will be better for everyone in the Drupal community.
Where does Mediacurrent fit in? Well, interestingly enough we have been tinkering with an idea and as it comes to fruition, we'll be posting more information about it.
I am still optimistic about the future of install profiles and App Stores. It has been my experience with OpenChurch that has opened my eyes to the fact that people love a robust out-of-the-box experience that attempts to solve their specific business problem. It doesn’t have to completely solve it, but I think you find that individuals would much rather modify something that already solves 50% of what they want, rather than starting from scratch. And this is why I believe we can grow this space in the next few years which will bring even more customers and contributors into the Drupal community.