Making Jetpack Better

Jetpack
  1. Blogging for Benjamin Competition
  2. Why I'm Grateful to Work on the Web
  3. 24 Pull Requests
  4. Update Downloadable Product's Expiration Date in WooCommere
  5. Get Lost in the Flow and Work for More Than a Salary
  6. Why A Plugin's Popularity Matters
  7. Why You Should (Or Shouldn't) Use Premium Plugins
  8. WooCommerce Terms & Conditions
  9. Only Ship to Continental United States with WooCommerce
  10. Just Talk
  11. Why I Love Jetpack
  12. Making Jetpack Better
  13. Remove Billing Address for Free Virtual Orders in WooCommerce
  14. Notify Admin of Customer Address Change in WooCommerce
  15. Open Your Self Up To New Possibilities
  16. 2013 Resolutions Review
  17. Create a Community
  18. Tips for Starting a Community
  19. The Intent of Goals
  20. Create The Ultimate Invoicing System Using WooCommerce
  21. Change From Address in Ninja Forms
  22. Work With People Who Inspire You
  23. Contact Form 7 & MailPoet Integration
  24. Monotasking
  25. Giving Back to The Community
  26. Adding Fuctionality to Lean Plugins
  27. Choose Stripe For a Payment Gateway
  28. A Dip Into Entrepreneurship
  29. Reward Yourself
  30. Blogging for Benjamin Plugin
  31. Blogging for Benjamin Wrap Up

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

jetpack contact form button

The Jetpack contact form button loads on every edit page and post

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

Jetpack Custom CSS

Jetpack Custom CSS loaded before regular CSS

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.