June 15, 2013

Plone: Future or Legacy?

This is a personal followup on several discussions I had in personal lately with other Plone integrators and big Plone users in addition to Steve's and Eric's latest blog posts on the future of Plone (5):

Most of us are in weird situation because we have multiple and different roles in the #Plone world: either as integrators, as contributors, as Plone users.

So where is my current problem?

Steve numbers clearly show a growing number of contributors. On the other hand there is the overall feeling that Plone turned into a legacy technology that will be around for many years but the overall impression is that the overall adoption of Plone is stagnating. This impression is of course subjective and based on personal experience and talks with customers. In addition many so-called Plone companies are currently making a shift by no longer focusing on Plone but also providing services in other areas and focusing on solution and services to customers and addressing their needs instead of advertising themselves as "Plone company". The concept of the "Plone company" is going to fail for most Plone shops. Customers are looking for solutions and as integrators we have to have various solution options - Plone will be one out of many others. The decade of the CMS systems is over. CMS turned into commodity software. They were something new and cool in the first decade of the millennium but nowadays web technology moved and the technology and requirements are more diverse than ever. So content management is now only a small fraction of "the web"  as it was some years ago. I think the trend of stagnation and more slowly adoption is also true for other content management systems.

Going back of the level of adoption of Plone. The level of adoption of an enterprise-level software is possibly depending  on factors like

  • marketing
  • user experience
  • to a certain degree: underlaying technology

Steve speaks in the last paragraph of his posting of a marketing problem or lack of Plone marketing in the past. I would object that this is has been a real problem and does not explain the stagnation of Plone. In Germany we found the German Zope User Group (DZUG) around 2002 and made annual conferences around Zope & Plone. The DZUG invested a lot of marketing work in promoting Plone through the participation in various fairs (like Linuxtag, Froscon etc.). There was certaintly an outcome by attracting some new people and institutions to Plone but we could actually never compete with our competitors like Joomala are the special German phenomeon Typo 3.The more important reason for the stagnation of Plone comes from my point of view from the user experience with Plone. User experience breaks down (for me) into usability of the system and professionalism and reliability of the system. At the latest conference of the  German universities using Plone we had a pretty long and controversial discussion about how a usable CMS should like editor. My conclusion from this discussion: people love or hate Plone in the same way as it is true from the usability point of view for Typo 3. Power users seem to prefer Typo 3 while more average editors prefer Plone!? Anyway...this is a never ending discussion and there is no solution to make a CMS user interface work for all editors. This will always a love-hate relationship. Another point that we have in our own hands is the reliability and the professionalism of the overall system. I personally came across several weird issues lately and bitched about them in several controversial postings on the Plone product developers list (you will find them  if you are interested :-). The key point is quality and stability. Some examples:

  • Webdav support of Plone under Windows is fragile and not usable for enterprise-level usage. Many weird workaround exists for getting rid of webdav locking problems.
  • Customer received a Plone 4.2 buildout with a policy and theme package. Everything was working...the customer himself installed a few add-ons on its own...suddenly the complaint that TinyMCE would no longer work...even after debugging for some hours I could not find the real problem...perhaps not a core-issue but some weird interaction of Plone with some of the add-ons. Bad user experience, pissed integrator experience.
  • OOTB installation of add-ons must work. E.g. a simple functionality like video support in Plone has to work without issues by installing collective.flowplayer (4.0). As an integrator I can handle issues and properly fix them. End users just become frustrated.
  • Upgrade story: upgrades in Plone 4.x became an unpredictable pita. With 4.x update we had to update various add-ons basically because of changed imports. So some add-on in some version was only running with one particular Plone 4.x version. Having to support multiple Plone 4.x versions ended up with try..except cascades or different release branches....not nice.
  • Migration story: I upgraded a Plone 4.0 site to Plone 4.2 based on my own Produce & Publish framework. Suddenly some image URLs (using plone.app.imaging) could no longer be resolved directly through restrictedTraverse() for whatever reason. In addition: Plone started to store image URLs (as edited through TinyMCE) suddenly with the full host and port which became a major pita in the context of virtual hosting and in particular in the context of having image URLs starting with https:// accessed through the public website served over http:// (IE security restrictions caused the images to appear broken). All these issues caused major user pain and trouble on our site. In the end the migration took full six working days (two days scheduled and paid, four unpaid working days on the integrator side).I am not sure with conclusion I should draw personally when we talk about the future of Plone. There is of course a future for Plone in certain areas like large institutions as intranet or portal but also the requirements here are shifting into a different direction ("social media"....). hm.....Plone is legacy for me...but an important legacy, one solution out of many others, a solution that fits a particular use-case: enterprise-level content-management.