The Stack Overflow Podcast

Bring your own stack: Why developer platforms are going headless

Episode Summary

We chat with Glen Coates, VP of Product at Shopify Core, about some of the announcements the ecommerce giant made this week. Shopify is aiming to hire 2,021 developers in 2021, and as part of opening up their platform and making it more appealing, they introduced a number of new options for creating stores, themes, and apps on their platform.

Episode Notes

As explained in this piece, "A headless CMS is a back-end only content management system (CMS) built from the ground up as a content repository that makes content accessible via a RESTful API or GraphQL API for display on any device." Shopify has leaned hard into GraphQL and APIs in general. 

The goal, as Coates describes it, is to allow developers to bring their own stack to the front-end, but provide them with the benefits of Shopify's back-end, like edge data processing for improved speed  at global scale. Shopify also offers a wealth of DevOps tooling and logistical support when it comes to international commerce. 

We also discuss Liquid, the flexible template language Shopify uses for  building web apps.

Our lifeboat badge of the week goes to chunhunghan for answering the question: How to customize the switch button in a flutter?

Episode Transcription

Glen Coates: The things that we are doing to make our traditional online store powered by Liquid, render insanely fast around the world, we're doing some things that make basically the server side call layer of the headless stack, also benefit from the same, basically edge data deployment, right? So you could be running your business in the US. But you know, your Chinese customers will get performance on that site, whether it's Liquid based, or whether it's React based, they will get, essentially, like local data center edge performance, no matter where they are in the world.

[intro music]

Ben Popper: MongoDB.live is the conference for data enthusiasts of all types and skill levels — from new developers to seasoned DevOps engineers. Get the scoop on the latest technologies, best practices, key skills, and more. To register, visit trymongodb.com/live2021

Ben Popper Hello, everybody. Welcome to the Stack Overflow Podcast, a place to talk about all things software, programming, and technology. I am Ben Popper, the Director of Content here at Stack Overflow. And I'm joined, as I usually am by my wonderful co-host, Paul Ford. Hi, Paul.

Paul Ford Hello! Oh, my goodness, we're doing it again.

BP We are doing it again. So Paul, we have a great guest today. Glen Coates who is joining us from Shopify. I don't know if you've sort of gotten this ambient awareness over the last year and a half. But my sort of vibe, you know, not not sticking too close to the businesses that Shopify has been blowing up, that it is just—

PF Oh my god. Yeah. 

BP Getting bigger and bigger and bigger. What's your read on this? 

PF No, I mean, Shopify is sort of fascinating, right? Because it's one of those wild giants that you don't think of necessarily as a giant, but it's a giant. There's Stripe, and there's Google. And but Shopify just kind of gets bigger and bigger and bigger. The thing I always talk about when I talk about Shopify is that's the power of like, your true platform, like your giant set of APIs just powering a million different experiences. Lots of sort of people setting up their stores, very decentralized, but with this one big platform in the middle, it's a hell of a thing. It's one of the beasts of the internet.

BP Very cool. Well, we're recording this on Monday, but Shopify is having a big developer conference or I believe developer conference with some developer news this week. So let's welcome Glen Coates from Shopify to the show. Hi, Glen. 

PF Glen!

GC Sup, guys. Thanks for having me. It's great to be here. 

BP Yeah. So for people who don't know, tell them who you are. And yeah, a little bit about what you do at Shopify.

GC So I'm the VP of Product for what is called Shopify Core. So you can think of a core as being you know, if you're a merchant, Core is like what's in the box, when you buy Shopify, it's the online store, the checkout, and the back office admin to kind of run the whole shebang. And then if you're a developer, Shopify Core is the Core dev platform. So the API's, the dev tools, the docs, all the things that you build on when you're building a Shopify app, or a Shopify theme or an extension or any of those things. And so I'm running for product for that. Before I was at Shopify, I ran a startup in New York for about 10 years. And before that, I was a video games programmer and comp sci grad and just general nerd. Basically.

PF It's a common story on this podcast. How big is, how big is Shopify? Just give us a sense of scope, you know, users and—

GC Yeah, yeah, so today, Shopify has almost 2 million merchants on the platform selling on the platform, hundreds of millions of buyers around the world buying from those merchants, and, you know, running ridiculous global scale, you know, hundreds of millions of requests daily, it's the biggest commerce platform in the world. So if you're buying things online—

PF If it was a mall, it would be like the size of—

GC Yeah, I mean, that's a terrifying thought. [Paul laughs] Like, I don't love malls, I get the heebie jeebies walking into the mall, so that sounds like my nightmare.

PF Alright, good. So, you know, most of those merchants, right are like, I'm gonna set up my store, you know, and they go in and they fill out forms, and they upload images. And they put—so talk a little bit about, kind of, what I think people kind of are going to get that. What's underneath? What else can you do with this platform?

GC Yeah, so I mean, Shopify's mission and like what, you know, so Toby Lütke who's the founder and CEO, like what he lives and breathes is entrepreneurship, right? Like he, he has I have, like many of us have experienced the entrepreneurship of starting our own software businesses. And he actually experienced the entrepreneurship of starting a snowboard business, which then the software for that became what Shopify is today. So he's done both the I started a commerce business and I started a software business thing. But entrepreneurship is really kind of the core of Shopify. And so yes, what Shopify lets you do is say, hey, I've got an idea. You know, there's something I'm making or there's a product that I'm excited about that I want to sell online, it gives you the tools to really quickly and easily set up an online store, upload your products and start selling but it also gives you the tools to grow your business as you become more and more successful, right. So like, oh, Obviously, many, many, many small businesses are not successful. Because whatever the idea just isn't a good one. But like, so what we want to make an easy to do is, we want it to be very fast and easy and cheap to try out those ideas. Many of them don't work out, but some of them do those that do, we want it to be easy to grow and scale. So it's not just selling on your online store. It's also selling multi channel through Google, Facebook, Pinterest, you know, you name it, it's also if you ever get to the point where you are running your own physical retail stores, you know, it's a point of sale, so that you can run those, its fulfillment services as you grow to the point where you need those, it's capital. So if you want to accelerate your growth and invest in new stock, you can get loans and advances. So as you grow, it's not just like a shopping cart, it's all the stuff you need to basically make the most of your idea and bring it to its full potential. 

PF And I mean, look, bringing it back to software terms, you're letting people prototype a business.

GC Totally.

PF And then giving them the tools to actually sort of get out of prototype, you know, towards MVP, towards sort of the full featured business.

PF Let's bring this back to developers, right? Like, what, where did the developers start in your world? What can they do that I can't do just by filling out forms? Like where does the developer come into the Shopify ecosystem?

GC So yeah, like the, you know, I actually took over as head of product for Core about six months ago now. And my number one priority, when I came into the role was how do we make Shopify a better developer platform? And that's not because of some like, I used to be a developer, like you know, help out my homies kind of instinct. It's, you know, Shopify started out as a Canadian startup that you know, the mission was always make commerce better for everyone. But like, if you cycle the timeline back, you know, 5, 6, 7 years. The reality of that is it's it's a Canadian startup, mainly serving North American merchants. Mainly Selling, you know apparel and footwear, mainly selling direct to consumer over the internet only, right? And as Shopify has grown and as you guys pointed out, like the growth in the last couple of years has been pretty explosive, that "everyone" in "make commerce better for everyone" is starting to look like the real everyone of like planet Earth. Once that "everyone" actually becomes that big, the challenge or the opportunity is like that "everyone" is now very diverse, right? It's all the countries, it's all the industries, it's selling to consumers and businesses. It's I'm a tiny company with zero customers up to, you know, a national powerhouse that has millions of customers. So everyone becomes pretty diverse. You know, just like, you know, on the, I'm just sure on your I don't know if you guys have iPhones or androids, but I'm kind of an Apple nerd. But the homescreen of my iPhone has a couple of Apple apps on it. But it has a ton of third party stuff on it, that also helps me do what I need to do every day. And if we really want to serve the real "everyone" then we're never going to build all those things ourselves. nor should we. And so we are now entering the phase of if we want "everyone" to be real, we're going to need developers around the world to step up and build those points solutions for the markets that they know way better than us, and are passionate about and can create those apps, those themes, those add ons that take Shopify from being, you know, the sort of 60 to 80% that's in the box up to the 100% that someone actually needs to run their business. Does that make sense? 

PF Sure, of course, so sort of classic platform store style approach, Slack does this. I mean, as you get to a certain scale, you just can't solve every use case. There's two ways this could go. And it could go multiple ways. Actually, maybe it goes both directions. But they're sort of towards the very small, very specific kind of sellers. So somebody who is, you know, really focused on a given niche, but might have specific accounting requirements, or there might you know, they're going to need special products. There's also the other direction would be like, more towards the enterprise and integrating Shopify into like ERP systems and doing big planning. Where do you see like in your brain? What are the gaps that you would love to see a community close up? Where are the things that you think that people coming in, and building apps on top of Shopify, will add value for everyone?

GC I mean, the self serving answer is everywhere. But like the enterprise end of what you just said, is, I think that's actually to be honest, like relatively well served today. Like if you are a big company, and you are running SAP, and you want to start selling online on Shopify, you are going to find, like an army of people who willing to integrate into SAP you know?

PF You can also write a $3 million check to get your store working. 

GC Totally.

PF It's not, it's not a problem for you, because you're selling $300 million worth of industrial lighting equipment a year.

GC Yeah, the part that I'm where I mean, I think this is where you're going and like the part that we are genuinely more excited about is the story of Shopify is like eliminating the hurdles to getting going. And so you know, we are probably on balance, more excited about the idea of app developers and theme developers coming out who really, basically increase the probability of that small business, like reaching escape velocity and like becoming successful, right. So if you are, you know, if you're like today, if you want to sell, I don't know, hats online, in America, you can probably do pretty well with Shopify out of the box. But if you want to sell natural food supplements as a subscription, in Brazil, Shopify out of the box, like you may need a couple of extra things to make it work perfectly for your market. And so it's all of those things that are going to help a large number of independent business people or soon to be business people really performing in a world where frankly, like the you know, the the tides of the internet are not really on the side of small business right now. Like there's, I mean, you guys read the news, like there's a lot of power consolidating in the aggregators of the internet. And so whatever we can do to help independent businesses have a chance find find an audience find traction is something that we're excited about.

BP So talk to us a little bit about sort of like the stack, what do you work with, you know, in terms of the building blocks you're making, and the hooks and the API's on the Shopify front, and if somebody were to come in and be interested in either creating a very customized experience as a, you know, owner of a store or theme, or even better, they want to build an app, what kind of, you know, code and tools are they going to be working with?

GC In many ways, the stuff that we have today is, you know, the stuff you'd expect, like we've got a full set of API's, whether they're rest or graph qL, Shopify lent very hard into graph qL early, which is something that's like extremely powerful, particularly for highly referential domains like commerce, like all the objects basically point to one another. And so graph qL is like a really expressive and powerful way to work with those domains. So, you know, we've got the standard set of API's you would expect, like the COI tools for starting, creating, publishing, pushing projects. But there's a couple of new areas that we've opened up opportunities for that were just weren't open before. The first one is we're releasing a new version of our online store, which is like the main thing that Shopify does. It's a new theme platform that supports basically better templating languages, more interoperability with apps. And for developers, like particularly theme developers, we are actually opening up the theme store for the first time. So until like, now, if you're a theme developer, and you're like, hey, I want to build this theme, that's gonna be great for restaurants or whatever, we actually weren't accepting submissions. But that all changes tomorrow. So anyone who's got an idea for a great theme will be able to submit it, and have it listed on the theme store. So that's a net new like didn't exist yesterday opportunity. The other thing that's were opening up, which is kind of a maybe a technical opportunity, which is kind of interesting. So the Shopify online store today is based on a, for the most part based on a templating language called Liquid, which is similar to most of the server side templating languages that you've seen in web stacks, like you know, the Django templating language, or, you know, the ones that shipped with rails or any of that. So Shopify online store today is mainly based on a templating language called Liquid. Like everything, there's like benefits and cost to that, like, there are some great simplicity benefits with that templating language, that make it easy for themes and apps to kind of work with each other on a sort of standardized basis. But if you're a developer who's like, Hey, listen, I don't want to write my websites in Liquid anymore. I want to write them in React or some other like modern framework, we're actually going to be announcing it's kind of a coming soon. But we're going to be announcing support for basically the bring your own stack version of the online store, which out there in the world, it's like the kind of name on the street is 'headless'. But we want to support developers building online stores in any stack that they want. You know, in theory, you can do that today, we have an API called the storefront API, which is basically exposes the data models of Shopify, so you can build an online store on top of them. But what we don't do today, is we do not provide the hosting or the infrastructure or the deployment tooling around a bring your own stack build.

PF Oh, this is always the great puzzle, right? Which is like, I'm going to make it look good. And then you're like, wait, where do I put it?

GC Right. And it's like, and hang on a minute, how is it going to load fast in Australia? Right? And by the way, when the site goes down, can I call Shopify support, or wait, now I can't, that's painful. So we're trying to kind of close that gap, right? Like we want you to be able to deploy globally with ridiculous performance, we want you to be able to depend on, you know, the, the gargantuan amount of DevOps we have running every day. But we want you to be able to bring your own stack if that's what you want to do. And that's a net new thing that there's never been seen before.

BP That's fascinating. So for me as a, I'll call myself a low coder now, even though I think no coder is really more expressive. What happens there? What allows you to do that translation to do that transformation so that no matter what they're bringing, you're gonna be able to talk to them, it's not gonna break the system, we're gonna be able to access as you said, all that great back end and support and tooling?

GC Yeah. Oh, and to be clear, I it's not bring your own any stack, it's bring your own front end stack, right. So like the world, obviously, the world of web development has moved heavily towards like very advanced front end web frameworks, like React being the most famous. We're going to be providing, you know, the, the details are, you know, still being fleshed out. But it's basically think of it as like a JavaScript kind of VA based back end for running the back end of the the site. But then obviously, on top of that, you can deploy whatever web front end stack you want on top of that. And the cool thing about us providing that back end is that—I'm like a potato DevOps guy, like I sort of know enough to be dangerous, but like not that much. But the things that we are doing to make our traditional online store powered by Liquid render insanely fast around the world, we're doing some things that make basically the server side call layer of the headless stack, also benefit from the same, basically edge data deployment, right? So you could be running your business in the US. But you know, your Chinese customers will get performance on that site, whether it's liquid based or whether it's react based, they will get essentially, like local data center edge performance, no matter where they are in the world. 

PF So it's Shopify Cloud! [Ben laughs]

GC Basically. It's Shopify Flare.

PF Okay, good. So, Flare, that's the name F L  A I R or R E?

GC Well, yeah, in principle, it's R E right? It's like we want we want you to not have to think about this stuff. And we just want you to have blazing fast performance everywhere.

BP Paul, you think about Office Space?

PF The little tags, yeah, yeah.

BP Okay, got it.

PF Okay, so wait, wait, you this, I think does point to a certain rule, a new rule of extremely large internet organizations, which is that everyone ends up having their own cloud. And in this case, this is going to be, you know what, I totally take your point, which I think is like I have unusual regulatory requirements in my weird market that I really want to, I really want to do things, but I can't even use this thing. Because the like, the shopping cart doesn't make sense for me. And now I can get one developer and actually get my store up with all the little rules observed. That is very cool. That's very cool.

GC On the on the global thing, you just touched on that poll, actually, that that global compliance thing is actually something that's becoming way more difficult. And that's actually something we look forward to helping both merchants and developers with, right, you know, like the laws that are popping up around privacy around the world, data residency, all that stuff. It's like, if you, if you run your own stack, and then it's like, people from some other country start buying from you and you like, you're accidentally in violation, like, it's just becoming very hard to stay on top of all that stuff, either as a developer or as a merchant, right? So.

PF I mean, we're in such a strange world, right? where like, the regulations are so complex that you need third parties to help you interpret and sort of formalize, because this, I always think about this, this is shielding, right? Like it's it's shielding for the the small business who really can't afford it's like the same reason you hire an accountant. You need organizations to give you some cover. And to help you understand and sort of put things in place. One of my big arguments is always that like, a lot of times I get asked to talk about the industry, what the government should do, from a regulatory point of view, in terms of everything in terms of the internet. And the thing I always emphasize is Terms of Service for app stores actually are the law as far as developers know. Like, I mean, it's just like, what Apple says it goes is what goes and then everything else is kind of on the table. And the web is very different, right? Because it's open, but that sort of shielding and framework that you can use and just download as opposed to having to figure out a nation's privacy laws for yourself, right, saves hundreds of hours.

GC Right. And to be honest, like there are even cases where like a nation's privacy laws may even be sort of a gray area. And you can end up catching like some district judge in some region of Italy who's like, Hey, here's my interpretation of this. And you're now offline. Right? And so it's just kind of this like, very fast moving weird world right now.

PF We're gonna let Shopify lawyers deal with that. [Glen laughs] That's not my problem!

BP Just file a ticket. 

PF That's a big old company. It's okay. I'm not worried about it.

[music]

BP Alright, Paul, it is that time of the episode, I'm going to shout out the winner of a lifeboat badge.

PF A lifeboat!

BP You got it. It's either chunhun-GHAN, or chunhung-HAN. I can't say but because all the letters are pressed together. But either way, thank you very much, chun. Awarded June 25, "how to customize the switch button in a flutter." So we've got a little bit of customization options for you there. I am Ben Popper. I'm the Director of Content here at Stack Overflow. You can always find me on Twitter @BenPopper, email us podcast@stackoverflow.com. And if you'd like to show, leave us a rating and a review. We appreciate it.

GC Thanks for having me, guys. If anyone listening wants to check out the things that we announced at Unite, you can just go to unite.shopify.com. And you can catch a recap of all the announcements. I'm not very big on social media. I'm actually kind of one of like an old school nerd but I'm on LinkedIn and Glen Coates. You can find me there and hit me up if you want to chat more.

BP Alright. Well, thank you so much for coming on. Paul. How do you want to describe yourself these days? What would you like to say?

PF My name is Paul Ford. I'm the co-founder of Postlight. Check out my company. If you've emailed me asking you for some mentoring, it's been really busy, but I'm gonna get back to you. Don't worry. Take some, it's all gonna be fine. Check me out on Twitter at @ftrain.

BP Oh, I like it. We're going in a new direction with this. Alright. Great.

[outro music]