Part 1: George Stephanis on Why Jetpack is Not a Collection of Plugins

Jetpack Plugin Collection Featured Image
photo credit: northbaywanderercc

George Stephanis, who is a member of the Jetpack Pit Crew, published a post over the weekend that explains why Jetpack is not a collection of plugins. According to Stephanis, dependency management in WordPress sucks. In a nutshell, a dependency is when a library, framework, component, theme, or plugin requires the existence of another to function. He gives a practical example of dependencies that highlights how quickly things could get messy.

Now, if Likes, Single Sign On, After the Deadline, Post by Email and others were their own plugins, and connected to a separate Jetpack Core plugin, versioning gets tricky.  It could work, in theory, if every plugin is kept up to date, always and forever.  But the instant that the user is using, say, an outdated version of Subscriptions with an outdated Jetpack Core (which work perfectly together), and then installs the up-to-date WP.me Shortlinks plugin, things could break because WP.me Shortlinks expects a more up-to-date Jetpack Core.

So you go ahead and update Jetpack Core to current, but now Subscriptions — which used to work perfectly — now breaks because there was a method change in Jetpack Core, that is fixed in the up-to-date version of Subscriptions, but the user isn’t running the up-to-date version.  Horrible UX.

He goes on to describe the installation flow for a plugin that needs Jetpack Core to function. A plugin that depends on Jetpack Core adds at least four additional steps to the installation flow.

It’s a good article that answers the technical side of a commonly asked question. It also gives insight to those who may be thinking of creating alternatives to Jetpack using a similar model. In part two of the series, Stephanis plans to write about the variety of other reasons Jetpack is not a collection of plugins.

Would you like to write for WP Tavern? We are always accepting guest posts from the community and are looking for new contributors. Get in touch with us and let's discuss your ideas.

5 Comments


  1. Curious: Do all of Jetpack’s modules require connection to WordPress.com? And if not, why are those modules that don’t require this kind of connection not released as standalone plugins?

    Report


    1. Do all of Jetpack’s modules require connection to WordPress.com?

      Nope.

      Report


  2. Towards the quote & blog post: Exactly.

    Ever since I’ve used it, played with it and tried implementing all the theme features & modules it introduces. Try it out, you’ll understood why things are done this way. Jetpack is great.

    I have only 1 qualm with it. *Nudge* @George, we need a dev-friendly docs portal. They’re currently all over the place. I had to scour blog posts to read up on everything.

    Report

Comments are closed.