One of my favorite plugins in the entire WordPress blogosphere is JetPack. JetPack is plugin built by Automattic that brings in all the features of WordPress.com to your own WordPress.org site. The thing that I love so much about this plugin is that they offer some incredible free cloud services as well as a few really great simple modules (think of them as mini plugins) built the right way.
Free Cloud Services
One of the best things from a developers perspective are the free cloud services. Once you connect Jetpack to your WordPress.com account (free) you get access to a ton of services.
- Stats – one of the most addicting modules is the Stats module. Once activated you see a nice panel on your dashboard when you login. You can dig further down into the stats at any point by clicking around.
- Subscriptions – this is my favorite module within the entire Jetpack plugin. It allows you to add a signup form on your site where users can subscribe to all of your posts by email. This is hugely beneficial to the non technical users who want your content but don't want to check your site everyday. I'm sure this type of service is available elsewhere but with JetPack it's completely free.
- Photon – Automatically host your images on a CDN. This will reduce the load on your own server and will also speed up your site. There's plenty of other services that do this but once again – Jetpack does this for free.
Decisions not Options
Aside from the great (& free) cloud services that Jetpack provides there's a couple other services that they offer. The best part about these other modules is that they make decisions not options. That means that they make a solution that works perfectly for 80% of the users, give programmatic filters for another 10%, and don't clutter up the interface for the last 10%. This sounds careless but it is a valid software design philosophy that makes software better. If you need one of these features tweaked that much you should probably use a different plugin – and there's nothing wrong with that.
- Publicize – Want to publish your blog posts to Twitter, Facebook, LinkedIn, Tumblr, and more? Activate the module and connect your services. You don't need to use the bloated Facebook plugin and create a Facebook app to do any of this. It's much easier this way.
- Infinite Scroll – I love infinite scroll. It just makes the experience so much better for your users. And I like that by including this functionality into Jetpack Automattic has given theme developers a standard to use to add infinite scroll to their themes.
- Custom CSS – Do you just need to tweak one line of CSS? Then instead of creating a child theme you could use the Custom CSS module.
- Snow – One of the wonderfully superfluous modules they include is a snow module. You can tweak one setting and it will snow on your site.
Disadvantages
Jetpack isn't perfect of course. They do a couple of things that annoy me – but not to the extent that I would use anything else.
- Autoactivation – there are several modules that are automatically activated. For example since I'm such a big fan of Ninja Forms I want to turn off the Contact Form module but have to dig into the code to do so.
- Modules, Modules, & Modules – if you're using Jetpack for the first time it can take a bit of time to get comfortable with it. There's lots of modules. Don't be afraid to try them out and then deactivate them again.
I'll be looking into these disadvantages in a future post and am going to create a Jetpack assistant plugin (how about “Thrusters”?) that removes some of the pieces of JetPack that I don't need.
Give me My Jetpack
Jetpack does have a few disadvantages but what doesn't? The free cloud services more than make up for it. If you want to learn a bit more I highly suggest checking out the WPWatercooler episode about Jetpack (embedded below) which includes some of the Jetpack engineers.
There is a lot to like in JetPack but sometimes it seems like I spend most of my configuration time disabling modules.
I recently ran across a solution in this great little snippet from Jeremy Herve, which turns off all modules from being enabled by default.
add_filter( 'jetpack_get_default_modules', '__return_empty_array' );
Hey Doug,
I hear you. I say basically the exact same thing and use similar code to disable the modules I never user. Did you see the post I wrote today about Making Jetpack Better?