"Count what is countable. Measure what is measureable. What is not measureable, make measureable." -- Galileo

Monday, December 31, 2012

Plone Metrics Person of the Year 2012

It may not be apparent if you are watching the U.S. Congress deal with the fiscal cliff, but things can get done when there is a deadline.  My midnight deadline is fast approaching for choosing the Plone Metrics Person of the Year.  This is my annual (since 2007) shout-out to the Plone community.  Plone Metrics Person of the Year is in no way officially affiliated with Plone or its Foundation, but represents my personal effort to thank the whole community that makes the Plone ecosystem tick.  On top of that, this prestigious award entitles the winner to bragging rights and a free beer from me.

This year's kudos department has two important changes.  One is the absence of the Packt Open Source Awards, an area where Plone frequently gets a community-wide vote of approval. 

The other is the Official  Plone Awards.  Congratulations once again go out to PloneGov.Br and their standard bearers, Cintia Cinquini and Jean Ferri.  I look forward to meeting you in Brasilia in 2013. 

Past Plone Metrics Person of the Year winners have been: 

2011 Toby Roberts
2010 Eric Steele
2009 Nate Aune
2008 Joel Burton
2007 Alexander Limi

Once again the year in Plone is a target-rich environment.  Consideration is noted for these worthy efforts:
  • The 2012 Plone Conference team.  Special commendation should be noted for their video-streaming and video archiving.  Those of us who could not attend really appreciate it.
  • All of those who have blogged and microblogged about Plone are another group of supporters who contribute simply by continuing to communicate your ideas, thoughts, and solutions along with the occasional pieces of humor.  
  • The core developers and release managers definitely need a huge shout-out for all the essential work they do. 
  • As always, the Foundation Board gets a great big nod of appreciation here.  Matt Hamilton in particular deserves a big tip o' the hat for doing a bang-up job as past President.

All that said, I've been casting about for an objective metric for this year's Plone Metrics Person of the Year.  One of many interesting places to turn is Stack Overflow.  There we see that Martijn Pieters is at the top of the leader board, which itself is a serious who's who in Plone.  Based on that objective record of exemplary service to the Plone community, the Plone Metrics Person of the Year Award for 2012 goes to Martijn. 

And with that, I'd like to once again point out that the real strength of Plone lies in its community--thanks to all you Plonistas out there that make my job easier.  Here's wishing all a healthy, prosperous New Year. 

Thursday, October 11, 2012

Mobile Plone

Despite the time difference (8 hours ) I was up last night following the LiveStream from the Plone Conference in Arnhem.  A tip o' the hat to the conference organizers for the high quality streaming video.  But I must warn you, putting beer in the conference swag bag is raising the bar pretty high for next year's conference. 

Besides the two live talks on geo-locating and digital cartography for Plone, I caught the slide deck from Paul Roeland's "Is that a Plone in your pocket?" presentation the day before.  That inspired me to look at how Plone.org is doing with regard to small platforms and, importantly,  truly mobile devices.  Google Analytics quickly supplied the answer:  mobile use at Plone.org has increased 545% since GA started tracking it back in Nov. 2009.  Let me repeat that with emphasis, 545%.  The graph below shows total monthly visits from mobile devices.

All I can say is, design for mobile.

Saturday, October 6, 2012

Last year (Sept 2011) I responded to a series of questions on LinkedIn with a piece that looked at a number of CMS metrics that are commonly used.  These include the Real Story Group CMS subway map, some CMS Matrix numbers, the security vulnerabilities at NVD, and some notes from Google Analytics.  With the World Plone Conference getting set to kick off in Arnhem, it seems like a good idea to run these numbers again and see where we stand.

Where is Plone used, functionally?  The Real Story CMS subway map shows some interesting changes with categories up to 8 from 7 last year.  Plone still lies at the intersection of three lines, the only open-source CMS to cover Web Content & Experience Management, Portals & Content Integration, and Collaboration & Social Software.  You need one of the heavy hitting commercial vendors like IBM, Microsft, Oracle, or OpenText (formerly Vignette) to get the same combination of capabilities. 

 Geographically?  Once again, as a proxy I'm using the locations of Plone.org site visitors as visualized with Google Analytics.  Plone is used world-wide, although it's most commonly found in Europe (45%) and North America (24%).  Both have lost a couple percentage points because Asia now comes in with 16% (+3) and  South and Central America with 10% (+2).  Oceania with 3% and Africa with 2% remain steady.  As always, Plone has one of the strongest i18N capabilities of any major CMS. 

What kind of companies are using it?  From Plone.org we can track down a large sample of self-reported sites that use Plone that are conveniently categorized by type of company (61 of them, no less).  Non-profits (15%), government (14%), and education (11%) top the list, taking 40% of the pie.  Down from 44% last year are the 32% grouped into "Other," each of the 51 remaining with less than a 3% share of the pie. You can visit Sites that use Plone for the full list and lots of beautiful exemplars. 

Growth potential?  (Is Plone competing with Drupal and Joomla?)  Plone is always being compared with Drupal and Joomla because it's an open-source CMS.  But Plone has never focused on the free or low-cost mass market.  Instead Plone has built up an ecosystem of professional consultants and businesses that provide the enduring value. 

With it's fine-grain security model, powerful workflow engine, high usability, and large feature set, Plone remains one of the top CMS today. CMS Matrix shows Plone to be one of the top six most frequently viewed CMSs in their exhaustive listing of over 1000 systems. 

How secure is Plone?  Plone continues to be the most secure of all the major CMS.  The National Vulnerability Database shows Plone with only 10 issues in the past 3 years.  Drupal had 232 in the same time interval, Joomla had 404, and WordPress had 127 (a 36% increase over last year's 3 year running total). Yes, that tiny blue sliver is Plone's share of this group of CMS's security vulnerabilities.

As the Sirius Cybernetic Corporation says, "Share and enjoy!"

Wednesday, July 4, 2012

Confirmation Bias in Software Comparisons

I'm definitely guilty of confirmation bias... frankly, it's part of my job to justify the software tools that my team uses.  But I'm not a paid Plone consultant, so I don't have a conflict of fiduciary interest.  This blog is a voluntary effort completely independent of the Plone Foundation. Full disclosure:  my web team at my day job implements and manages Plone sites. 

What Paul Kaiser is doing, since he makes a living off of the WordPress ecosystem, is criticizing a system with an eye towards bolstering his own line of work.  Since he does make a living with WP, he has a genuine conflict of interest.  To his credit, he makes full disclosure of this.

His recent piece about Plone vs WP has garnered thoughtful and measured responses to clarify some of the statements.  Plonistas David Glick, Alex Clark, Eric Brehault, David Bain, and Matt Hamilton have quickly stepped in to provide the Plone point of view.  Paul's responses have been equally civil, so here's a tip of the hat to polite, open discourse, sharing of ideas, and no flame wars. 

Here are my thoughts, taking Paul's points one by one. 

Straight away Kaiser gives a nod to Blender, PyGame and Trac.  Django, Pyramid, TurboGears, and other top-flight Python frameworks are left off the table.  In the comparison of underlying languages, take a look at http://time2hack.blogspot.com/2012/01/php-vs-ruby-vs-python.html#axzz1zfOHeTNY for a recent set of stats re:  Python, Perl, PHP, Ruby, etc.

But then this is a "WP instead of Plone" article.  Move along, nothing here....

Plone != Harder;

Matt Hamilton's reply covers the misconception that Plone is harder to install, maintain, and develop.  When I was teaching at the College of Santa Fe, we'd install Plone, build a UML model, run it through ArchGenXML, and have a custom archetype all in a single evening.  It probably comes down to the background and experience of the implementer.  More about that down below under human factors. 

Regarding the other points in this section:

1.  "Fewer commercial web hosts support..."  Physical proximity is not the be-all and end-all that it once was.  With cloud-based deployments, this will be less so in the future.  If you control your own servers, it's not nearly such an issue.  We recently lost our long-time sys admin, but a new fellow with no Plone/Zope experience picked it right up.  With his CENTOS background and the clear Plone 4.1 documentation, he was able to build our new cluster without supervision by me. 

2.  "...PHP, MySQL, and WP [programmers] are far easier to locate..."  This opens the entire out-sourcing can of worms.  Take a look at the discussion at http://forums.whirlpool.net.au/archive/1772689, for example, or this interesting anecdote (http://www.electoral-vote.com/evp2012/Pres/Maps/May31.html#item-2). 

All those Plone advantages

Plone _is_ more secure.  David Glick's comment is absolutely on target -- Plone has an order of magnitude fewer vulnerabilities.  This doesn't mean that WP is less secure, it just means you must spend lots more time patching your installation.  It also means that there's more of an opportunity to miss something. 

Plone is faster.  Again David's comment is a good one.  Both WP and Plone can handle loads if configured correctly.  That said, these kinds of stories seem to be a staple of Plone:
Faster and more scalable.  No, using the ZODB isn't cheating, it's good design.  Systems running in front of MySQL just have to live with all that comes with it:  slower out-of-the-box speed, less security. 

Document Management Functions

I manage websites for my neighborhood association and the Albuquerque Bonsai Club, both WP sites.  I shudder to think about scaling these up to handle thousands of documents.  I have Plone sites with tens of thousands of pdf's, LDAP integration, complex workflows, formal review and approval processes, versioning, and multiple languages to boot.  Despite what Kaiser says about WP ease of use, I find Plone far easier to deal with than the two WP blogs I manage.

Customer experience and background count for a lot when you must satisfy a client.  In the end it comes down to listening to your customer and matching requirements to systems.  WP was designed to be a blogging system and that architectural history burdens it's ability to easily and efficiently handle document management use cases. 

Search.  David Bain's comment pretty much covers this.  Nuff said. 

Dealmaker:  Human Factors

Yes, people use the tools they are familiar with.  Typically that means an organization has evolved to have staff skillsets with flexibility and extensibility to handle their current and plausibly foreseen use cases. 

Existing skills and installed systems are themselves aspects of requirements that need to be assessed as constraints.  I won't hire a Ruby developer for a one-of-a-kind project even if using in-house Python talent is not most cost effective; it is an optimum use of HR resources.  The overhead of hiring is an indirect cost that would need to be considered and I'd be left with a under-utilized Ruby developer afterwards.  If you have outsourcing and consulting options available to your client, then that's another situation. The entire system within which software is to be recommended has to be considered by the analyst. 

Weakness in complexity.  From my background in ecology, complexity actually generates stability.  I'm seeing that in software systems as well, depending on how you define "complexity."  And if a four-layer technology stack is too much to handle, you'd better stay away from the likes of these listed here (http://www.tutkiun.com/2011/07/web-technology-stack-analysis.html).  Complex technology stacks, especially in the open-source arena, are generating co-dependencies that actually strengthen them in what mirrors co-evolutionary adaptations between biological species.

If the final analysis hinges on the human side of the equation, one only has to participate in a Plone sprint or conference (not to mention other communities involved with Zope and Python) to see that Plone wins this hands down.  In researching Plone and WP conferences this evening, I was astonished to learn that WP's first international conference was only held in 2011.  Plone Conferences have been alternating between Europe and North America since 2003 (New Orleans, followed by Vienna 2004). 

In conclusion...

I'd like to go back to Paul's initial paragraph:
"Plone is a web-based content management system built on Python, sharing many similarities with WordPress. As a WordPress developer, you may from time-to-time find clients leaning towards Plone. Learn the important differences between WordPress and Plone, and you’ll be better prepared to help such clients."
I'd take issue with the "sharing many similarities" part.  Although the Real Story Group's CMS Subway Map considers Plone and WP to be on the "Web Content Management" and "Collaboration & Social Software" lines, Plone is one of the few CMS's on those two lines that includes the "Portals & Content Integration" line.  RSG places WP far, far from Plone, and also far from Drupal and Hannon Hill, WP's colleagues on the red and blue lines. Alex Clark's comment on feature-for-feature comparisons are very relevant here, as well. 

CMS Matrix shows Plone to rank higher than WP when ordered by clicks (10:33) and views (6:13).  That's indicative of WP being the choice for many people who select it without due diligence because of its low- or no-cost hosting and ability to meet simple use cases.  Plone, by contrast, is considered by those making thoughtful, feature-by-feature assessments to meet stated requirements. 

I'd also take issue with Mr. Kaiser's insinuation that "leaning towards Plone" is a bad thing and that "to help such clients" implies choosing WP instead of Plone.  While the words appear neutral, the general tone of the article is Plone- and Python- negative.  Python is only described derogatorily as "sexy."  Statements like "hard to imagine why anyone would even consider using Plone" slide in while listing only Drupal, Joomla!, and WP as "professional tools."  Disparaging Plone as a "little content management system" is not being cute, it's a euphemism that intends to give positive appearances to negative, misleading statements. 

Paul's not-so-hidden agenda is clear in the paragraph:
"A few issues I discovered almost held water for Plone. Here’s the information you need to knock them down."
 It's obvious that Mr. Kaiser has a case of confirmation bias and is trying very hard to spin everything toward his business of WP.  To their credit, members of the Plone community have called him on his misrepresentations, misstatements, factual errors, and logical fallacies.  Alas, the comments (as of 7/4/12) don't have anyone from the WP community besides the author jumping in to the discussion.  To everyone's credit, the debate has been mutually respectful and polite.

In closing, 

I'll stick to my mantra that all information system decisions need to be well thought-out based on requirements, requirements, requirements.  Those requirements need to be considered at the broadest level taking into account existing resources, human factors, future needs, and many other aspects of the problem to be solved and its environment.

That WP fits a set of very common use cases, is widely available for no- or low-cost hosting, and in its simplest forms can be managed by those with little or no CMS experience goes without saying.  But to say that WP is the "surprise winner" in a Plone vs WP throw-down is just not true.  Especially with regard to meeting requirements of security, workflow, indexing and search, usability, and document management in general, Plone excels. 

Saturday, February 18, 2012

Plone at my Day Job

Our skunk works of a Plone shop continues to chug along at my day job.  We have a steady stream of new projects, a couple big ones that are enduring, and some interesting integration questions ahead to keep us on our toes.

While my webmaster and fellow Plonista, Debbie, is off scuba diving with manta rays in Hawaii, I've been holding down the fort.  Between allergies and proposals for next year's funding, it's a good thing we aren't having any death marches.

That said, I thought I'd try to capture some ideas in that latest Facebook meme, "How others see me." 

Between a fair bit of foreign travel, the geekiness of it all, and the reality on the ground, everyone around me has a different perspective.  Perhaps I'll use this for my interim performance review.

Thursday, February 16, 2012

4th Annual Great Backyard Plone Count

For the fourth year running it's time for the Great Backyard Bird Count (Plone-driven, btw) and the Great Backyard Plone Count.  While the bird count is a collaborative bird-watching effort by the Audubon Society, the Cornell Lab of Ornithology, and Bird Studies Canada, the Plone count is a voluntary effort to collect data on the world-wide distribution of Plone-powered sites.  In homage to the GBBC, the Plone count is held the same weekend, which this year is Friday 17 through Monday 20 February. 

Because many Plone sites are intranets behind firewalls, they can't be located by crawling the web.  This is a chance for developers, site owners, and users to stand up and be counted.  It's a non-scientific, totally voluntary effort for self-reporting Plone-based web portals.  Last year's results are posted at this Google Docs spreadsheet. If your input from February 2011 is still current, you're already done. 

That said, the input form on the Google Docs spreadsheet is now open.  Anyone can submit sightings of Plone in the wild.  I'll be doing some mining of Delicious and other social bookmarking services this weekend and posting them as well. 

Although there's significant bias in a survey like this, the real value comes from tracking trends over time.  This is the fourth annual Backyard Plone Count (2009, 2010, 2011) and as the number of yearly data points increase, we'll better be able to extrapolate from the observations.  It's not that we're getting an absolute count of Plone market penetrations (just like the GBBC isn't counting individual birds), it's just that we're getting a repeatable sampling by the community.  It is as more a measure of community involvement than it is a metric of the actual number of Plone sites out there. 

So get out there and spot some Plone sites -- and while you're at it, spend a little time counting birds at your feeder.

Thanks in advance!