Live data from Hacker News

What I wish I knew before building a Shopify App

ma.ttias.ch

161–170 of 175 posts

Re: What I wish I knew before building a Shopify App

#161
post #148

Earlier quoted context omitted.

It is not hard to standardise an Address type across a company (they are a shopping product after all) Or better yet, define which types are required and which are optional so at least naming is consistent

As someone who has worked on addresses for a large corperate system, addresses can get very complicated. International localization, formatting, different usages (shipping, billing, mailing, taxes), multiple addresses per user, and security all start to add up, with many different part of the application having different requirements. Even as the team that owned addresses we debated whether new use cases should spin…

Shopify does not have this problem. There is no excuse for these addresses to be different. Case in point - look at Order vs FulfillmentOrder. The destination is a simple copy! Even worse, FO is missing the country code and province code, including only the (useless for shipping) full text. It's daft.

A typed language helps because you would have to make an explicit decision to use a non-standard Address. And the 2 vs 3 digit country code conflict is an issue with "stringly typed" code; don't do that, make a CountryCode type instead and constrain it.

Re: What I wish I knew before building a Shopify App

#162

I read "Shopify App" as one that clones/competes with Shopify. I prefer "app that uses Shopify"

Shopify has an app store, similar to apple's app store. This is what the article is referring to.

I didn't know that it had gone from being a payment API to a developer platform.

Re: What I wish I knew before building a Shopify App

#163
post #129
post #95

Earlier quoted context omitted.

I don't really understand why developers use SDKs/libraries at all when the RESTful APIs are easy enough to consume directly.

One word answer: Types. If you dont use a language with strong type safety the benefits are less. For instance the OpenAPI3 (Swagger-NG) standard. It allows the typing/schema'ing of the JSON bodies. It also provides a bunch of generators[1] that can be used to generate client libs. And when the languages of the client libs permit it, those libs come with lots of type safety and greatly reduce boilerplate. 1: https://…

One of the reason I don't like types.

There really shouldn't be much boilerplate to passing JSON around back and forth.

Re: What I wish I knew before building a Shopify App

#164

I built a print-on-demand system that integrates into Shopify stores. To vent a little... * I can concur that their API is unreliable. About 1 in 5 of my CI runs fail with mysterious 500 errors. It's infuriating. * The support channels are a wasteland. Do not expect help. * The documentation is super thin. At first glance it looks decent - there's the objects, there's the fields those objects have. But it's missing a…

This is a great list, ill add in that there is no partner UI for billing obejects. If you lose a secret token then no one can access it, even though shopify has it on record and you have to beg the client to press uninstall.

Support is friendly and prompt but knows nothing about the apis.

Re: What I wish I knew before building a Shopify App

#165
post #16

My biggest problem with the ecosystem is how Shopify tries to deflect their own customer problems onto their partners to solve. And oftentimes, these same customers expect the partners to solve it for free. Examples: - Their default theme (provided by Shopify) has problems. Blame it on the app developer. "It's the app's fault." Yes, there are some poorly developed apps, but this lumps together the good with the bad.…

[deleted]

Re: What I wish I knew before building a Shopify App

#166
post #16

My biggest problem with the ecosystem is how Shopify tries to deflect their own customer problems onto their partners to solve. And oftentimes, these same customers expect the partners to solve it for free. Examples: - Their default theme (provided by Shopify) has problems. Blame it on the app developer. "It's the app's fault." Yes, there are some poorly developed apps, but this lumps together the good with the bad.…

This is 100% my experience as a developer of Shopify POS plugins (building features that "should" just be included in the core product). I entered their ecosystem 9 months ago bright-eyed with the hope of being the captain of my own ship and hopefully building a living; I now feel like I have essentially signed myself up to build core features for their app (and dealing with frustrated customers who, rightfully, believe this feature should just be free and included), with the added handicap of being a third-party developer, and making significantly less than what I would make if I simply worked or contracted for them.

For now my apps are growing each month, but the culture and practices have left a bad taste in my mouth such that I also know that this is not for me in the long-term, and hope to someday exit their ecosystem.

Re: What I wish I knew before building a Shopify App

#167

Ugh, I can so relate to this right now. I followed their Node embedded app tutorial closely, submitted my app, then found out they no longer allow embedded apps to use cookies like their tutorial does. Finding up to date documentation is a struggle and some of the components they suggest you use are closed source and completely undocumented.

I had previously built a rails app using Shopify CLI and it failed review due to some endless cookies loop that I could not reproduce caused by their gem. In the end, I just rolled my own OAuth / user database / Billing - but talk about a waste of time.

Re: What I wish I knew before building a Shopify App

#168

I recently got an app on to the Shopify app store. The review process is the worst that I've been through. My rejections in chronological order: 1. Rejected for having text in the app icon. The text was our company's name and is our logo which we had to change for Shopify... 2. Rejected because we didn't implement the GDPR webhooks. We don't operate in Europe so I didn't think they apply. I could have read this in th…

I think I remember seeing your thread (and responding to it). That sucks.

Re: What I wish I knew before building a Shopify App

#170
post #76

Earlier quoted context omitted.

The fact that you can have side effects on imports, and that a lot of libraries relied on side effects on import, was one of my biggest sources of frustration with Python

What other packages have you seen abusing import side effects? Shopify is the first one I've seen, so I don't think it's quite as common as you are implying, but I'm curious to know what other bad behavior you have found

An example in the standard library is the antigravity package. While it is an inside joke it still requires a HTTP transaction similar to the shopify package import.
Post reply on HN