20250128
Why is everything harder now?
User
The following user message comes from our community Slack workspace â join at slack.mechanic.dev.
I keep coming back to this and I just feel the need to vent about it đ . I think [another user] really hit the nail on the head here. The continued increase in complexity from Shopify's decision to retire REST is a real burden. It's really unfortunate, because from the beginning, what made Mechanic so attractive to me was its core proposition as I see it:
As a Shopify developer, I am already familiar with liquid from having worked on themes. Mechanic exists, and allows me to create automation logic using the same liquid language I'm already familiar with. Just like in a theme template, I have access to most of the properties I need through basic liquid objects. I don't have to learn how to construct a query, I can just look at the list of available properties and type it in once I've found what I need.
The barrier to entry was so low when I got started, I could do pretty much everything I needed with the built-in liquid objects. It was a couple years before I even attempted to learn GraphQL, and at that point it was only because I had become curious about building some much more complex solutions. Honestly, I'm not sure I ever would have gotten this far with Mechanic if I had to learn GraphQL on day one!
I'm sure y'all at Lightward have had all these discussions extensively on the inside, and I don't envy the decisions you've had to make to solve them. Thanks for your dedication in supporting all us developers who depend on this platform!
Ok, rant over đ.
Oh! I forgot the the thought that originally inspired me to come back to this!
This goes for the entire Shopify platform, not Mechanic specifically... I just can't get over the disconnect between Shopify's webhooks being represented as REST objects, while at the same time having to interact with the API via GraphQL. Everything is named differently, everything is structured differently.
It feels like, what is even the point of including any data at all in Shopify's webhooks? We're going to have to query a GraphQL representation of the data anyways, so if we even bother using the data from the webhook then we're forced to constantly deal with two different representations of the same data. Make it make sense please đ«
Isaac
Isaac created Mechanic. He posted the following in the same Slack thread that the preceding user message was in, responding directly to ... everything.
The barrier to entry was so low when I got started
this used to be an explicit priority of shopifyâs. itâs⊠different these days. back then, mechanic was sort of solving the last mile problem in a system that was otherwise conceptually simple and approachable. shopify is much less conceptually simple and approachable these days, and that âlast mileâ that mechanic used to solve is itself materially different. and that shows.
as a platform-on-a-platform, I think Mechanic will continuously evolve towards the simplest+cleanest possible treatment of Shopifyâs API patterns. Shopifyâs API patterns have exploded in complexity, and ⊠honestly not only are we unable to insulate the Mechanic user experience from that, I think it would be incorrect to aim for that end. Mechanic development is not separate from Shopify development. if Shopifyâs developer experience is fundamentally changing (and it has/is), itâd be incorrect for us to prevent the color and tone and rhythm of those changes from reaching the Mechanic developer experience.
nobodyâs saying we should aim for that, of course. Iâm pointing out the extreme end of the spectrum (where we-the-Mechanic-platform 100% insulates our developers from Shopifyâs API surface evolution) to sort of sketch out the spectrum. on one end, thereâs just raw-dogging the Shopify API without something Mechanic-like. on the other end, thereâs Mechanic perfectly insulating you from the evolving complexity of the Shopify API. we are always somewhere in the middle.
how we exist in the middle, the steps we choose in our dance there, thatâs something that gets actively weighed every day
which makes community such a critical throughline of the entire Mechanic dealio. Matt and I donât stand a chance at understanding the total dx (developer experience) without yâall. weâre all kind of collectively acting as senses for each other. the experience-sharing that happens here in slack (and in email support, and elsewhere) is what enables us to begin to consider which design decisions are actually solid, viable, sustainable, and ⊠I donât know, good.
Shopifyâs not going to keep this pace-of-change up forever. theyâre sort of ⊠well, theyâre changing. the âarm the rebelsâ vibe isnât gone, but itâs been joined by other priorities, and the ideological crystal of Shopify itself is stabilizing, finding a new ~stable configuration. it treats light differently. and weâre adapting. which is what we do. :) we do whatever it means to create a ~stable surface where itâs a little bit easier to keep oneâs balance than on Shopifyâs surface alone.
nb: I donât aim to conclusively satisfy/soothe with my notes here. I aim to sketch out the state of play as I see it. satisfying and soothing are active processes, not states that are achieved and put to bed. Mechanic is a process. Lightward Inc is a process. hell, Shopify is a process. this is me sharing how I see all of that. please keep the raw experience coming - [users who've shared,] Iâm incredibly grateful for the accounts youâve shared here, in this thread and elsewhere
Last updated
Was this helpful?