- Charles Swayne - https://jadepuma.com/charles
- Linear Shopping Experiences - https://apps.shopify.com/linear-shopping-experience
Hey everyone, Scott Austin here. And for this episode, I want to dive into a topic that is really excited me and about the past year and a half since it's come out from Shopify. And what that is, is these things called app extensions that Shopify released in 2023. And the more projects we do with our clients who are pushing the boundaries of what's possible in Shopify, the more we end up relying on Shopify extensions to enable things we couldn't have done, even just, you know, 2 or 3 years ago without, you know, creating a private app, which is really expensive endeavor.
So I totally love with app extensions, we find we're using them on a lot more projects than we thought were going to. So what I want to do for this episode is to bring in my business partner for Shopify apps in our premier apps business, and that is Charles Wade. Welcome, Charles. Hey, Scott, thanks for having me. Yeah, sure.
First time on our podcast. This would be kind of fun. Can you tell the audience a little bit about your experience with Shopify app development? So I've built multiple Shopify apps. I've made about five public apps that are currently listed on the App Store, and we're making another that is close to becoming public on the App Store. But most of these apps focus on theme level enhancements on the online store.
Our most used app right now is brand, a calendar, which lets merchants embed their own calendar, and then they can brand that calendar with their own store brand without needing any coding knowledge or anything like that. And then I've also built a couple private apps. Longest projects for a private app. We made an inventory management system for a vintage poster retailer which focuses on on meeting filling in product details.
Excellent. Next. So basically every app that the audience hears in our house ads was built by you. And you've got even more apps than that. Some private apps for clients. And, you know, you kind of alluded to it. We should just let people know. Our next app is called Data Files. It'll come out in the next couple of months and we are super excited about it.
It's going to help stores manage their structured data around their products to help them with SEO and Geo, which is SEO for us. I type stuff and we're super excited about that one coming. Now pre audience, can you explain the difference between a public app which you know most of them are familiar with, that they go to the App Store on Shopify and download an app for things like reviews or trust badges and those kind of things.
Well, there's two in those in private apps, like the one you mentioned that you built for the poster store. The difference between a private app and a public and a private app can only be installed for one store. Shopify gives you a bit more leeway on the things that you can do from the from the get go, like with the public app, if you want to use certain APIs, you have to submit a request and they have to review and all that stuff.
But for a private app, it's just already there. And you can, you can use it right away. When does a store need a private app? In other words, you know what sort of things exceed what is possible to do inside of a theme with liquid in JavaScript that would require them to develop a private app. A store needs a private app when they want to edit data that isn't pre exposed to the online store.
So like one of the capabilities that you have with a private app that you don't have with just like regular liquid in JavaScript, is ability to read customer orders that are older than than 60 days. So you need special permissions from a private app to, to do those things. Also, what you can do with private apps that you can't just do with, with regular JavaScript is you can make authenticated requests to external systems like Klaviyo for like, sensitive data on Klaviyo or other product inventory management or CRM.
What the audience might not understand and gets a little bit technical there. It's good for clarifying. It is that, you know, Shopify exposes, you know, let's just call on doorways in developer vernacular to call them APIs, right. And other technologies than that. But it's just an interface that allows us to talk to the Shopify database. But there's multiple doors, so there's a door to talk to the product, there's a door to talk to, the order history and those kind of things.
And apps get more permissions, more doorways, more open doors than you do just from the theme side of things. And also it gives you doors into the back end that, you know, usually only the Shopify admin can do things. So these private apps give you access to things you couldn't otherwise get access to. But you know, there's a cost of private apps, isn't there?
Don't you have to have your own server and and keep that up and running every month? What would that cost somebody to like build out a server for their private app and they'd have to pay that fee every month on a on a minimum. The cost for a private app range from around 5 to 10 bucks per month.
With my specific tech stack for using a database, we use MongoDB, which can cost around 30 to 60 bucks a month, depending on, you know, how complex the data you're storing is. But not every app needs a database, so it would probably be around 5 to 10 bucks a month for private app, you know, and you have to like, have the knowledge on how to set that server up and all that kind of stuff.
So, you know, even if you were to build a private app for a small function, there's a monthly fee to keep that going, to keep that server up and running and a more complex function that's going to be a higher fee. And that's what's really cool about these app extensions. Now, Shopify doesn't require us to host our own server for an app.
When did that change? So Shopify introduced, extension only apps in the editions 23. And where can these apps be put be placed in? And what did you call them? Extension only apps. So yeah, they're called extension only apps. You can place them in the, in the, the theme or within the, the admin, the checkout or customer accounts.
And what's really cool is we as developers get to create code and we should host that code on our servers, which we just talked about. And now in these situations that are allowed by Shopify for the extension only apps, that code is now hosted on their servers. It's on the Shopify servers, which has multiple benefits. One of them is we don't have to have our own server.
So there's a whole, you know, overhead and cost reduced. And the other is everything is on Shopify is very robust platform. Right. So they have what's called CDN which caches information. So it's really fast and responsive. And we don't have an external dependency which could fail separately and all that kind of stuff. So it's much more robust than the things that we do when we host our own servers, which is really nice.
Can you give me an example just for the audience or understanding what the you know, we keep saying apps, apps. Well, I'd like to understand the functionality behind them. Can you give me an example of an admin block that you've done in the shop lab? So an admin block that I've done is, a client wanted to know the last time that a product was updated.
And so, that's not readily available on the admin. I added a block that literally just says product updated. And then, the time that it was updated. Yeah, that is a really simple function. It was one of those I remember when our client asked for that, I'm like, oh yeah, there's no way that store staff knows the last time a product is updated, the data is sitting right there behind them and behind the curtains.
You just can't see it. So you created that little functionality which we could not have done before. You know, they released this in 2023. How long do you think it took to make that code? So we make that code and and deploy it and everything. It took around 15 minutes. So what does it take to create an app like this?
Where is it done? How does it get installed? You create the app through the the Shopify CLI. And usually you you log in to Shopify through the, through the CLI. And then you go on to your partner organization dev dashboard and you're able to select the store that you want to install the app on and then install the app.
And it's about as easy as that. And you can from your terminal, open up for the files that you want to have pushed to the store and deploy it all from from your local computer. Yeah. And, you know, you're sitting here throwing around a few acronyms that most of our audience has never heard of. You're also talking about tools and interfaces they never heard of, which is totally fine, right?
And you said, yeah, it's pretty easy. You know, it's very simple kind of stuff. And that's true for someone like you who does this every day and has dozens of apps that they've developed for Shopify, you got to be a developer to do this, right. It's not like somebody can just go and figure it out in an afternoon on their own.
They really got to know how to develop apps in general. And then apply it to this Shopify situation. Is that accurate? So the technical skills needed is you should be comfortable with working with a terminal and setting up environments on your, your local computer to run, the Shopify CLI and then all of the dependencies that go with that, like, like Node.js.
It's pretty technical. It's not as simple as it should be. It's way simpler than it used to be, which I'm really happy about. It'll only get, you know, easier in the future. But I think the thing that we want to make, you know, the, the audience understand is, you know, this is not the kind of thing you're going to give to your, you know, very talented child who's in high school and taking a computer science course.
Right. It also doesn't require a master's degree, but somebody has to have some serious technical knowledge and experience with the Shopify ecosystem to do this. This is meant for developers. There's a reason you have to have access to the partner portal to do these, these apps, because the bar is a little bit higher than just going in and editing your liquid code or your CSS files.
You know, it's nice. It's really approachable. It's a lot easier to do today, but there's still a barrier to getting it done kind of thing of knowledge and skill needed to do it. But let's, you know, go back to the examples we were doing so people can still understand, you know, we talked about that first example, the admin block where you're showing, you know, just a simple, hey, here's the, you know, the most recent date this this product was edited.
Can you give me an example of like an AB and print action inside of the Shopify admin. So an example of a admin print action would be on the order page. There's a client who wanted to generate jukebox strips from the products that a customer had had ordered. So let's just explain that a little bit for for the audience, just so they understand we're talking about.
So we have a client and they sell old 45 records. Right. That fit in jukebox, you know, so their customers like have jukeboxes and they're always buying, you know, old, you know, records from the 50s, 60s and 70s and filling their jukebox with them. And, you know, for those who remember the old jukeboxes, there were these little strips with the song title and the artist on the little strips, you flip through them like, oh, I want to play D7, which was Elvis Presley, jailhouse Rock or something like that.
So when somebody buys one of these 40 fives, we know the artist title and the artist and the functionality you have actually literally takes the order data and helps the store staff print these little jukebox strips that they include with the order. Right. So go ahead and finish the explanation of you know, how you did that. You know the audience understand what did you strip was because not everybody knows they're kind of dated these days.
So yeah, on the admin there's a there's a print action button. From there we, we added a button where you can print this jukebox strips PDF. And basically what happens is when you click the print action button, it brings up a modal where you can customize your your PDF, can preach it to a printer, or you can download, the, the PDF to your, to your computer, which is just absolutely fabulous.
Right? It's now for this customer built in to their Shopify admin. Your process in order. They can see, oh, and you know, there's a line item for the, you know, jukebox strips because it's an extra, product for the customer to select. And they just see it and they go to the print button and it automatically just pulls all the information up and print it out.
I could not be happy with that. And that's built into the Shopify platform. Now for that store on code that Charles developed. But we don't have to host it, right. It doesn't cost us any monthly fee to make that app, and it's just there for that customer. Absolutely wonderful.
I think the next example, the one you did I absolutely love also, which is the UI extension inside a customer account. So why don't you explain what you did there? There's a client who, sells continuing education credits. What the customers were doing before the app was implemented. I bought this continuing education credit. I want my certificate for the continuing education credit.
I built a page on Shopify customer accounts that says, these are your continuing education credits that you've bought. Select the credits that you want to have and a certificate, and then download the certificate. The amount of work you know, because this is a manual process for this client. Up until we just launched this a couple weeks ago, we're guessing right now the amount of work they're going to say is one person per year for this, this brand, because we've now automated this process.
So that means people, instead of doing this manual process all the time on their team, are going to go off and do other marketing activities to grow the business instead of just satisfying their existing orders and their absolutely delighted to be able to take that, you know, staff energy that was applied to this manual process every single day, all the time.
And redirect it to something more useful for their business. So absolute win win. And that was quite a complex app that you built. There's a lot going on in there. How much time do you think it took to build that one? Just a guesstimate and hours. So it probably took around 60 to 70 hours, including going back and forth with the, with the clients and modifications and stuff to that.
That's a lot more development energy than that first example. And still, with all of the complexity that's in that app, that was all still be able to host it on Shopify servers, right? Yeah, that's absolutely wonderful. What sort of functionality you see in future apps with these capabilities is, you know, because this is a new platform that Shopify is giving to us as developers.
And, you know, we're just, you know, doing more and more projects in this. Where do you think you see these things going? What kind of things are you excited to build for customers here in the future with these capabilities? I'm absolutely excited to do more automated processes. The amount of tools that traffic is giving us to modify a store's workflow when I create products for orders or customers, is is so extensive, and so I'm looking forward into to using those tools and helping merchants save time or giving customers a better experience.
Yeah, I see the same thing. Like we're things, things we work on a lot now with our clients are things like the automations automating as many things as we possibly can. We've been using flow for that for a while, and these apps are helping with that. And it's sort of like, you know, the way I just explained to people with Klaviyo email, when you know, you have Cleve, you email after 5 or 6 years of using it, your flows are so complex.
Like you always ask, how did you come up with all these flows? Well, you evolve them over time and I see us now starting to do the same thing. On workflow automation inside the Shopify admin. We're doing this one little thing or this one little thing over here. And then we add to it and we evolve it. And there's a new scenario we haven't thought of or, you know, use happened by the client.
And we're factoring those things in like our flows have gotten tremendously more complex just in the past year in all these automations. And it is fun and exciting for the store that because the more things we can automate for them, that just reduces costs, reduces errors, and keeps them focused on growing their business instead of keeping their business afloat.
So what sort of limitations do these, apps have? And because we still need private apps in this world. So, you know, when it's like a borderline of when you're going to go from the. Yeah, extension only into a private app. The limitations for the extension only only apps are, still API restrictions. You can only access certain APIs from certain extensions, like Steam app extensions.
You get the same exact, permissions as you would with liquid code on just added to your online store. And then customer accounts only lets you access specific customer details and not much else but the, size limits of the of the amount of stuff that you can have, like the amount of individual characters, you know, of these of these files that Shopify is hosting for you.
You can you can reach those limits, and then you'll have to go to a private app where you can have some of those resources on your own side and some of your extension only apps hit those limits of size. Yes, they have. So how did you get around that? There's always adding a server and then moving the heavier functionality over the server.
So the extension is under that limit. Another thing is, is you can just create a second extension and have both of those extensions work together that have the the same outcome. Now, for the technical people that are listening, you're like, oh, this sounds cool. I want to dig in. How well is this documented? It's it's pretty it's pretty well documented for react and Ruby specifically in, in a general from from all the other programing that I've done.
Shopify documentation is pretty extensive, especially for giving you the basic building blocks that you can customize for yourself and just play with. Have you had to reach out to get support, you know, from the community or from Shopify and, and does support exist out there for these? Yeah, I'm currently on their slack channel, was very active. People are answering questions there all the time.
They also have the the Shopify developer Forums, which is very active. And there you can see Shopify employees actually like just going in and answering questions. There's also Twitter or X these days. I haven't used it myself, but talking to other developers and Shopify employees, it's it's pretty active within the community. Now for the non-technical people who don't want to do this any further, but they want some of that functionality.
How can people get in touch with you? So you can go to Jade puma.com/charles to schedule a meeting with me. Excellent. Well, I appreciate you coming on to, the podcast you've been listening to all the time and, providing some insight for us today who are welcome. Thanks. Got.
JadePuma is a certified Shopify Expert. If you need any help with your Shopify store, we can help.
