In a discussion on Twitter with the Internet’s @SiobhanPMcKeown (if you don’t know who Siobhan is, you don’t read many WordPress blogs) & @Krogsgard about WordPress themes with lots of options, I mentioned that I’ve been thinking about ways to justify removing options from Museum Core in favor of using plugins to accomplish those same things. Case in point: using a plain textarea for custom CSS vs using Jetpack. This led to the following comment:
The common critique of Jetpack is that it’s “bloated”. In a market where more and more theme and plugin developers are advocating “less is more” and removing settings and options pages from their code entirely in favor of things that don’t require options, are always on and “just work”, Automattic takes a bit of the opposite route by bundling all of the built-in plugins and options available to WordPress.com users and stuffing them into Jetpack, often discontinuing development for the standalone versions of those plugins (e.g. After the Deadline).
To be sure, Automattic is taking the Google route of things with Jetpack: let’s users access to a bunch of different technologies, some of which they might not have asked for. You can’t use just a few without getting everything, but if you have a problem with it, you can just opt out of the whole thing. So, let’s take After the Deadline as an example. After the Deadline (which was acquired in 2009 by Automattic) is a plugin that beefs up spellchecking to also do grammar and style checking on your posts. It runs before the post is published (or sooner, if you click the icon in the toolbar) and gives you tips on things you’re doing wrong and (possibly) suggestions on how to fix them. After ATD was bundled into Jetpack, Automattic said they would no longer support or update the standalone plugin, which means if you want the latest and greatest version of the plugin, you need to have Jetpack.
To compare with the Google analogy — imagine using Google Docs without the spreadsheet and presentation options, or Google Drive without it being tied into Google Docs, or Google+ without either of those technologies. Jetpack, like Google, is the platform from which many interconnected features are offered and it’s not possible to extricate just those features that you want without getting the whole bundle (which is a bit contrary to the philosophy of themes and plugins for WordPress). As an aside, we don’t (typically) accuse Google of “bloatware” possibly because all of their services exist on the cloud — which is also the theory behind many of Jetpack’s features (in particular those that require Automattic’s hosted services, e.g. VaultPress, Akismet, WordPress.com stats and Comments.
Getting back to After the Deadline, if I just want to use ATD and nothing else, I need to install a plugin that currently bundles 14 other (free) plugins for things ranging from comments to sharing links, one optional premium service (VaultPress) and including the pay-what-you-want donation for spam filtering from Akismet. (Like Google, Automattic is sneaking their premium services in with their free ones as a way to monetize their software.) Hence the argument about bloat.
But let’s consider the alternatives.
Contact forms — If I want an easy-to-use contact form, I have a few options: use Delicious Days’ cformsII — not hosted on WordPress.org and therefore not able to be updated automatically, Rocketgenius’ Gravity Forms, a premium contact form plugin (and arguably the best), or something from WordPress.org. In the WordPress.org category, the most popular is Contact Form 7. However the user interface for CF7 is frighteningly counter-intuitive. Over the summer the Akismet team wrote a major update to Grunion which makes it much easier and intuitive than it was previously to build simple custom contact forms for most uses (for more complex forms, like conditional questions, you’ll still need Gravity Forms, but that’s not something you can get from the other free options, either). Plus, Grunion has Akismet built-in to prevent spam. Like Gravity Forms (but unlike other contact form plugins), Grunion stores all the messages sent via the contact form(s) on a Feedbacks page (which still bugs me because the word “feedbacks” doesn’t sound like a real word, but the utility overrides any English major critique I could make because I’m not actually an English major).
Mobile Theme — Previously, if you wanted your theme to look good on mobile devices, you needed to get a plugin for that or hope your theme was properly responsive. With a recent update, Jetpack added a mobile theme, meaning all those third-party plugins and mobile-only themes you were using before can be disabled in favor of a clean, minimal, and easy-to-read mobile view for sites that aren’t currently using a responsive theme.
Stats — Most people want stats of some kind on their site, but Google Analytics can be confusing to set up and many Google Analytics plugins for WordPress don’t give you a visual of your stats in the dashboard (the only one, that I know of, that does is Google Analyticator). For most people, WordPress.com stats is all you need, providing much of the same information you would get from a simple Google Analytics view without requiring all the setup that Analytics does. (Full disclosure: I use both WP.com stats and Google Analyticator. This gives me two stats widgets on my dashboard that show me slightly different information as well as the stats page in the Jetpack menu.)
Comments — I’ve tried every major commenting system there is. Seriously. CommentLuv, IntenseDebate, Disqus, Livefyre and the core commenting system in WordPress. Right now I’m using Jetpack Comments and I’ve been happy with it. In terms of speed vs. other commenting systems that replace the existing core commenting system (IntenseDebate, Disqus and Livefyre), Jetpack comments loads faster than the others. The interface is also much simpler, providing options to comment through the major social networks for logged out users, and a minimal comment form for logged in users or users logged into any of those services. The lack of a name, email, and website form above the comment form makes the comment form look a lot more elegant and clean to my eye.
Custom CSS — Usually, you need to rely on your theme to do this for you or hack the code yourself. This leaves you with two options — the Theme Editor or a simple textarea widget in your theme options page. This is what I have in Museum Core now:
This is what you get if you use the Theme Editor (which also runs the risk of being overwritten by a theme update if you are not using a custom child theme):
This is what you get with Jetpack:
As you can see: SYNTAX HIGHLIGHTING! This makes making changes much easier because it’s easier to see what yo’re doing. Also: revisions, so you can undo something you broke easily by going back to an earlier revision. You can even opt to write all the CSS here and use that instead of the theme’s css to build a completely custom child theme without having to upload a whole new theme (so you can use something like _s on your live site and do all the CSS from the backend). What you can’t see? It also auto-tabs for you when you do a line break after a bracket, and formats your CSS for you for readability. (All the css gets added to the single stylesheet that is loaded with WP which means that it will be minified if you have a plugin that does that for you.) The only downside is it doesn’t like loading resources from off-site and it will strip comments — if you need either of those things, you’re better off using your theme’s custom css editor, if it exists, or building a child theme. This is by far my favorite feature of Jetpack, currently, and I’ve stopped using my own custom css editor in favor of the Jetpack CSS editor.
The end result? A collection of useful tools that can easily find frequent use on most sites. Is it a lot of stuff? Sure, especially if you only want one or two of the options it brings. But if you are using more than that, or using those one or two a lot you may find yourself gravitating toward the built-in features of Jetpack, especially if you are able to get over the initial “wow that’s a lot of stuff” knee-jerk reaction.