Yesterday I talked a bit about why I love Jetpack. Today I want to talk about a couple things we can do to make it better. People's biggest concerns with Jetpack aren't that it doesn't do enough or that it doesn't do it right, their concerns are that Jetpack is too big. This isn't exactly news in the WordPress community and there's already a Jetpack Lite plugin which only includes two out of 20+ modules.
I like the idea of the lite version but there's just way too many useful modules to use the lite version. How can you give up a free image CDN (Photon), email subscriptions (Subscriptions), and perhaps the easiest to set up social media sharing tool (Publicize)? As I said yesterday I Love Jetpack and wouldn't want to go without all of that functionality. To this effort rather than creating another Jetpack lite plugin I've created a plugin which removes some of the less used modules.
There's a couple aspects about Jetpack that this new plugin, Jetpack Thrusters, will solve. The point of this plugin isn't to provide another admin interface but to simply install and have it remove the unnecessary functionality.
Auto Activated Modules
This may surprise you but there are some modules within Jetpack that are auto activated. It wouldn't be so bad if the functionality was all behind the scenes but this case it's actually functionality that appears in the user interface.
The site administrator has to know to press the Learn More button followed by the Deactivate button on the Contact Form module. Otherwise WordPress loads a Contact Form button on every edit page & edit post page (and any other custom post types you may have).
I take a great deal of effort setting up a contact form usually using something like Ninja Forms to automatically capture geolocation data and sign users up for a newsletter at the same time. I don't want to remember to disable the Contact Form module, and I don't want a client to re-enable it and put contact forms everywhere possibly even deleting my own.
CSS Specificity
So far every module I've looked at is very well coded and the Jetpack team does a great job. There is however one module that isn't up to my standards. There is a Custom CSS module that allows you to write custom CSS to override CSS from another plugin or your theme. The only downside to this module is that is runs the CSS before other plugins / themes run their CSS.
So instead of overriding a style by redeclaring a selector and adding more styles you have to write a more specific selector or use !important
declaration. Both of which are considered a bad practice from a developers stand point.
To prevent the user from creating sloppy CSS (and OMG do you want the user to write CSS in the first place!?) I've disabled this module.
Bloat
Coen Jacobs, one of the WooCommerce developers, recently wrote a post about why we're removing functionality from WooCommerce 2.1. The gist of the article is that it creates a better experience for our users and I think we should all strive to remove the cruft and only leave the features that people use.
I've created quite a few sites since I started using WordPress many years ago and I've never had to display mathematical formulas. So why would I want to see that module every time I open up Jetpack?
I removed Latex, Shortcodes, Gravatar Hovercards, Post by Email, and Comments since most users probably don't need these.
The Roadmap
I honestly don't have a roadmap for this plugin at the moment. I know that I have to remove some of the complexity out of Jetpack and I'm going to continue removing it bit by bit tweaking as I go. That's why I released this plugin as a 0.1 version. It's not ready for an official release and the functionality of the plugin could entirely change by the time I get to 1.0. For now I'm totally ok with this. I accept this this plugin probably isn't perfect but it's going to be something that I can continue to work on as time goes on.