• The idea, design and execution of these blocks is beautiful, and yet the limitations of the project and the way it is presented reveal a small existential crisis.

    Oftentimes it’s impossible to have progress, or growth, without a certain degree of self-disruption — and in this sense, the new Cart/Checkout blocks serve their purpose. Gutenberg had to disrupt the publishing/creating experience in WordPress to keep the platform moving; both the user experience of it, and the tech stack. The WooCommerce Blocks plugin seems to be an exploration of how WooCommerce can fit into the Gutenberg picture — but one without a clear audience or purpose:

    – If the project aims to better the checkout experience on those millions of sites currently built with WooCommerce (soon, and not in a distant future), the tech of the “new checkout” should be compatible with those thousands of extensions/plugins in existence.

    – If the project aims to create a tightly controlled checkout experience that’s protected from plugin modifications and conflicts, then the decisions made so far make sense, along with the current plan to slowly make these new blocks work with flagship plugins and payment gateways. If this is true, the majority of existing users (developers, builders, merchants) are probably not in the best position to share meaningful feedback: They naturally expect that the new, sleek blocks will work with the plugins on their site, and are always puzzled to find out that this major limitation isn’t communicated anywhere.

    I can easily see these Cart/Checkout blocks inside a tightly-managed and regulated version of WooCommerce — one not necessarily designed for today’s users, but for those new users looking for an easy, worry-free version of WooCommerce in the future.

    My confusion might be stemming from my own difficulty to see the big picture from where I stand. However, I also can’t help but notice the confusion of dozens of SomewhereWarm merchants who have tried these blocks so far. Please consider shaping their expectations a bit more clearly: Users should not rely on third parties (Vendors) to explain who this project is for, or the vision behind it. The signals given by the core team are mixed and largely contradicting, and the product itself doesn’t do anything to help the average user understand what to make out of it.

Viewing 3 replies - 1 through 3 (of 3 total)
  • Hi Manos

    Thanks for the feedback.

    We have actually been planning to make a few changes specifically related to the Cart & Checkout blocks to help reduce any confusion that may be arising for merchants that try use them and are currently using unsupported extensions – so you should see those soon.

    In terms of the audience and purpose of the plugin itself and the Cart & Checkout blocks more specifically – you have touched on one of the key issues we face – how do we make these blocks work for both new and existing merchants?

    However, we don’t see these two sets of merchants as mutually exclusive of each other and as such are working towards finding a middle ground between what you’ve outlined that will allow existing merchants to be able to use the new Cart & Checkout blocks with still meeting the needs of new merchants.

    As WooCommerce, we are doing this by ensuring that our own popular extensions that integrate with the cart & checkout are compatible and in so doing we will be exposing ways for other extensions developers to integrate with the Cart & Checkout blocks as we make progress. We will then be working with extension developers that distribute their extensions via WooCommerce.com to ensure they can also integrate their extensions with the new Cart & Checkouts where possible.

    We are already seen other extension developers integrate with the new blocks and have documentation for integrating with the new checkout here: https://github.com/woocommerce/woocommerce-gutenberg-products-block/blob/trunk/docs/extensibility/README.md

    With regards to providing feedback – as a developer of extensions that integrate with the current checkout – your feedback/questions etc with regards to how best to integrate your current extensions with the new checkout would be appreciated.

    There will of course be cases where some extensions might no longer work with the new checkout blocks – and we’ll be working on ways to address this to ensure that the merchants user experience is taken into account.

    Thread Starter Manos Psychogyiopoulos

    (@franticpsyx)

    Hey Gary,

    Thanks so much for the added perspective!

    The process/roadmap you outline sounds like what usually happens when an old technology stack is replaced by a new one. A technology switch is accompanied a long, transitional period during which:

    – effort needs to be directed towards rebuilding infrastructure (and resources/documentation);
    – the existing ecosystem of third-party developers/builders adjusts and rebuilds (instead of creating more value).

    Technology changes always create a “divide” that is difficult to bridge, which is why drastic decisions like this are usually reserved for cases when there is no way to offer the same (or similar) value with the existing technology. For example, the Gutenberg editing experience would have been impossible without a technology stack change. But can the same point can be made for the WooCommerce cart/checkout experience?

    If there is a resource, discussion or post that summarizes all the different parameters you took into account to answer a “yes” to this tough question, I’d love to read it and learn from it. At this time, many developers probably feel as intimidated as I do by the amount of rebuilding that this change is going to require, so good documentation/resources will certainly help steer the ship faster.

    We are already seen other extension developers integrate with the new blocks and have documentation for integrating with the new checkout here

    Although I am not intimately familiar with React, I can see that most of the available documentation that you linked to is targeted towards development needs with a “reactive” (pun intended) flair. In addition to a lifecycle/events reference, I’d love to see a resource that explains:

    1. How to modify or add elements in the new cart/checkout “views” — what are the equivalents to the filter/action hooks present in WooCommerce cart/checkout templates?
    2. Is there an equivalent to the old cart/checkout JS events?

    Thanks again for the response! Looking forward to learning more about all this shiny new tech! And of course, Happy New Year ??

    For example, the Gutenberg editing experience would have been impossible without a technology stack change. But can the same point can be made for the WooCommerce cart/checkout experience?

    This is a very good question and I don’t want to downplay the importance of it. It is one that we have considered carefully as we considered the architectural and ux approach to the new blocks. We haven’t done a good job of communicating around the rationale for this and other decisions which is something I plan on contributing towards doing better in the coming few months. I just wanted to make sure to highlight I think you are asking the right (and very important) question here.

    At this time, many developers probably feel as intimidated as I do by the amount of rebuilding that this change is going to require, so good documentation/resources will certainly help steer the ship faster.

    I definitely empathize with this and acknowledge the reality that the impact on affected developers varies greatly depending on the complexity of their existing integrations and the available hours to do any refactoring/new code. As much as possible we are trying to limit significant changes to where it gives the most benefit for the merchant/store. Getting there with that approach takes longer but I’m hopeful we can mitigate much of the pain for extension developers by retaining what extension points we can on the server, and building clear API interfaces for integrating in the client.

    …I’d love to see a resource that explains…

    The docs Gary linked to are where we will be adding initial iterations of developer docs for new extensibility interfaces as we build them. We’re still early in this process which is why its currently limited to what you see now (and primarily oriented to payment method integrations which is more feature complete at the moment). As we are confident in the stability of the APIs we’ll also be announcing them more broadly on developer.woocommerce.com (and likely publishing there).

    We know it’s important to extension developers to have a heads up and be well equipped to build integrations for Cart and Checkout blocks when we roll them out more broadly to the WooCommerce user base.

    Thanks for providing your feedback here Manos, it is valued!

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Beautiful yet Puzzling’ is closed to new replies.