Category: Web Strategy

  • Shipped: A new subscription management experience on WordPress.com

    Last week, a new subscription management experience was shipped to WordPress.com users.

    Before*

    After*

    The best part? The users probably didn’t even notice (yet) 🎉

    The problem

    As a WordPress.com user, understanding where to find a particular subscription was a bit of a headache. There were previously two options.

    1. Go to My WordPress.com Account > Purchases and scroll through a list of all purchases on the account. This includes WordPress.com, Jetpack, Akisment, user-to-user products, certain WooCommerce solutions, Professional Email, and marketplace purchases like plugins and themes. It’s alot.
    2. Go to a specific site home, click on Upgrades > Purchases and then see the list of purchases for just that site. This narrows the field a bit, but also means you have to move in and out of different sites to use this filtered list.

    The feature request & solution

    In 2024, David Rothstein pointed out that the interface of the global purchases list would be improved if it could be easily searched, filtered, and sorted. I took on that challenge with the help of Payton Swick.

    After an initial investigation, we decided that rather than building custom functionality, we would migrate the current layout (which was a faked table) to use the DataViews component built into WordPress Core.

    Project considerations

    The biggest challenge of the project was how to complete that conversion. There were a few key aspects which guided how we defined milestones:

    • The Purchases management screen is used by millions of paying WordPress.com users. We couldn’t simply take down the original version and replace it with an “excuse our dust” page while we completed the changeover
    • We didn’t want to redesign the page. The goal here was to add functionality, not move the user’s cheese and break years of muscle memory for paying customers.
    • The previous Active upgrades line items were generated by a class component called PurchaseItem. While it appeared as though there were four distinct sections (Status, Product, Status, and Payment method) these were all tied up into a single class component and couldn’t be accessed individually.

    The process

    In order to prevent breaking current functionality, I copied over the previous purchases-list directory into a new version called purchases-list-in-dataviews. Then I created a feature flag, purchases/purchase-list-dataview. This allowed the work to be done behind the scenes and shown only in certain environments.

    The next phase was to get the PurchaseItem component to render within the DataViews table. I started out by rendering a table layout that contained the PurchaseItem component as a single column. Once that was done, I started to break the PurchaseItem class into individual functional components which could each be rendered into individual columns.

    1. Sites
    2. Product
    3. Status
    4. Payment method

    While it would be great to say it only took five PRs to get this to happen, we all know development doesn’t work that way 😅. There were a few hiccups, including a dive into how to render backup payment methods and deciding how to display user-to-user (Membership) purchases.

    The good news is that the project kept moving forward. Which got us to the point where we could start to implement the fun part: searching, sorting, and filtering.

    Search

    There is now a functional search box which can be used to search for a number of data points. This includes the site name, the product type, the service, or the payment method.

    Filter

    By clicking on the tornado looking icon, there are three filters available to the user. This includes the Site, Type, and Expiring soon status.

    Sort

    The sort feature can be found within the table settings gear icon. The user can choose which data point to sort by and if they want to sort in ascending or descending order.

    What’s next?

    I hope users begin to discover the newest features and are delighted by the results.

    There are also improvements to be made to the API so that the filtering can be done server-side for performance reasons. There is opportunity for a bit a clean up, such as deprecating the old PurchasesSite component. These are things which the payments teams at Automattic can prioritize.

    As for me, I am open to new roles and projects. If you have a legacy code base in need of refactoring to improve your user experience, please feel free to reach out!

    Go back

    Thanks for reaching out! I'll be in touch soon!

    Warning
    Warning
    Warning
    Warning.

    * Before you get excited about seeing credit card numbers, these are all Stripe test card numbers.

  • Catch the Niche Wave

    Recently, I was working for the art & apparel brand aHbe Racer. It’s niche is the Cafe Racer and Motorcycle scene. During my time with the company, I started to see a rise in the popularity of Cafe Racers as they made their way from a niche market to a more general market. There were two tell tale signs of the transition which made me realize the change was coming. The first sign was a Lowe’s commercial which featured a Cafe Racer in it as the hobby of a gear head. The second was a commercial for Glade duo-scents, using a cafe racer and its rider as a contrasting point to a soft and feminine character. For two major companies like Glade and Lowes to be featuring Cafe Racers meant the market scene was about to change. It was about to be a  late 90s khaki and swing dancing craze all over again.

    I was discussing the change I saw coming with my brother, Remy. He works as a web-strategist and gave me two prong strategy for trying to catch the wave first. I thought I would pass it along to you so that if you find your niche in the main market, you can be the first there.

    • Keywords: Market Research – How do people search for you product/niche if they don’t know what it is?
    1. Choose 5 – 20 friends.
    2. Send a personal email requesting a favor: “Watch this national commercial (or other indicator), use Google or Bing to learn about the product/niche. Send us back your three best searches and what you learned.
    3. Offer a t-shirt or coupon code for first five responses as incentive / thank you for participating.
    • Content
    1. Educational posts – Easy to draw from Wikipedia or cite books and re-tell on your site through your company’s more accessible voice and style.
      1. History of your product/niche
      2. Profile / Interview with prominent individual / influencer
    2. Write a brief post about the  commercial (or other market change indicator): Yay! Our thing is becoming a big deal!
    3. Seed blog copy and headings with keywords from market research.

    If you are interested in more ways to maximize on your web presence, you should check out Remy’s company, Root and Flow.

    Continuing the adventure,

    Jessica