skip to content
Podcast cover art for Jamstack Conf Block Party (Uniform)
Podcast

Jamstack Conf Block Party (Uniform)

JavaScript Jam goes live from Jamstack Conference 2022, discussing edge computing, composable architectures, and the future of frameworks with Uniform's Alex Shyba.

Open .md

Episode Description

JavaScript Jam goes live from Jamstack Conference 2022, discussing edge computing, composable architectures, and the future of frameworks with Uniform's Alex Shyba.

Episode Summary

Broadcasting live from the third floor of Jamstack Conference 2022, the JavaScript Jam crew hosts Alex Shyba, co-founder and CTO of Uniform, for a wide-ranging conversation about the state and future of the Jamstack ecosystem. The discussion opens with Alex's background working with enterprise customers trying to adopt Jamstack on their own infrastructure, which naturally leads into the conference's dominant theme: edge computing and the challenges of getting data to the edge. Alex then walks through his conference talk on Digital Experience Composition (DXC), a newly coined Gartner category that Uniform operates in, which aims to bring composable, headless architectures to both developers and non-technical content editors by solving problems like "publishing anxiety" and long build wait times. The conversation explores how DXC differs from traditional digital experience platforms, how Uniform's mesh approach lets information architects configure content sourcing without code, and why personalization should be a day-one feature rather than a perpetual phase-two dream. The episode closes with predictions for Jamstack Conference 2023, touching on the emerging "Framework Wars" and a notable post-React sentiment observed during the conference panels.

Chapters

00:00:00 - Live From Jamstack Conference

Scott Steinlage kicks off a special live edition of JavaScript Jam, broadcasting from the third floor of Jamstack Conference 2022 near the rooftop venue. He sets the scene, mentioning the DJ booth downstairs, the various guests expected to join, and shouts out Brad who's listening in from a faraway time zone in the middle of the night.

Scott and Ishan welcome the audience, reminding listeners that the show normally airs Wednesdays at noon Pacific but is running on Tuesday as the conference wraps up. They encourage everyone, beginners and veterans alike, to participate and ask questions, emphasizing that audience interaction is what makes the conversations valuable. Ishan notes the booths being taken down around them and the chilly weather that moved the rooftop party indoors.

00:03:39 - Meet Alex Shyba and Uniform

Alex Shyba introduces himself as co-founder and CTO of Uniform, sharing his developer journey from .NET through TypeScript into JavaScript. He describes his work helping enterprise customers adopt Jamstack on their own infrastructure, including projects on Azure and even Tencent in China, which gave him a deep appreciation for how much the optimized Jamstack platforms handle behind the scenes.

Alex also discusses Uniform's work on edge-side personalization and A/B testing using edge functions and workers. He reflects on the exciting fusion of static and dynamic content he's witnessed over the past couple of years, and how pushing the boundaries of what's possible at the edge has been a core part of Uniform's mission. Ishan asks him to contextualize why an enterprise might need to run Jamstack on their own infrastructure rather than using an out-of-the-box platform.

00:09:27 - Conference Themes: Edge Computing and Serverless

Ishan and Alex discuss the dominant themes at Jamstack Conference 2022, with edge computing and edge runtimes emerging as the most prominent topic. Alex highlights the serverless adoption numbers from the Jamstack survey presented by Laurie, expressing optimism that edge functions will see rapid uptake as the natural next evolution of serverless. He also raises the critical challenge of state management at the edge, noting that stateless compute is far simpler than stateful.

The conversation turns to a key realist takeaway from the conference: the moment an edge function needs to reach back to an origin database, the performance advantage of the edge is effectively lost. Ishan notes a forward-looking panel specifically on databases at the edge and observes that for edge platforms to succeed, they need to offer the same serverless-style developer abstraction where infrastructure is invisible. Alex also reflects on the conference format's emphasis on group discussions and the joy of meeting people in person after years of virtual interaction.

00:17:50 - The Future of Jamstack Is Composable

Alex recaps the talk he delivered on behalf of Tim Benneks, covering the modern digital pipeline and why composable architectures matter. He explains the Unix-inspired philosophy of best-of-breed components that can be swapped without tearing down the whole system, and introduces the concept of Digital Experience Composition, a new Gartner-identified category. The key idea is that a single component might pull copy from one CMS, media from Cloudinary, and product data from a PIM, all unified by a composition layer.

Central to DXC is enabling non-developers to assemble page-level content without developer involvement, complete with universal preview, in-context editing, and built-in personalization. Alex introduces TurboTutorials.dev as a lighthouse project demonstrating these capabilities with Nuxt 3 and edge-based personalization. Ishan connects this to a longstanding challenge in the Jamstack world: content editors have historically struggled with headless workflows, and DXC represents meaningful progress in making the ecosystem accessible to non-technical stakeholders.

00:25:07 - Publishing Anxiety and the Content Editor Experience

The conversation zeros in on the content editor experience, with Alex coining the term "publishing anxiety" to describe the uncertainty non-technical users feel in headless systems when they can't predict how a content change will propagate across pages. He argues it's the community's responsibility to make Jamstack approachable for business users accustomed to instant publishing in monolithic CMS platforms.

Alex expresses excitement about incremental Jamstack improvements and edge rendering with streaming, which can eliminate long build wait times. He emphasizes that performance and business user productivity must be balanced, and that content authors need in-context tools for personalization and management. Ishan agrees and frames the Gartner DXC category as real progress toward broader recognition of these needs. They discuss how this shift parallels no-code trends, with Alex noting that low-code and no-code capabilities are an important but not exclusive aspect of DXC.

00:31:02 - Edge Rendering, Static vs. Dynamic, and Rendering Options

Ishan asks whether the DXC vision could have been achieved in the old purely static Jamstack paradigm, and Alex argues the edge is a critical enabler. He recounts building custom incremental static generation extensions before frameworks supported it natively, and explains how edge transformations offer a pragmatic middle ground between fully static and fully dynamic approaches that work well with existing frameworks.

Alex thoughtfully lays out a future where rendering strategy is route-dependent: some paths pre-rendered statically, others rendered on demand, and session-specific paths server-side rendered close to where user data lives. He cautions that edge rendering's viability hinges on having fast content APIs, and that the proliferation of rendering options, while positive, requires more architectural forethought. The discussion acknowledges that a universal rendering approach may never emerge, but having multiple options is far better than being constrained to static-only.

00:40:14 - Uniform Mesh and Composable Data Architecture

Anthony Campolo joins the conversation to dig into Uniform's Mesh product and how it enables composability. Alex explains that Mesh allows content architects, not just developers, to configure REST API integrations and map their output into component props without writing code. Anthony draws comparisons to GraphQL-based mesh solutions like Netlify Graph, TakeShape, and StepZen, and Alex clarifies that Uniform's approach intentionally avoids GraphQL due to challenges with arbitrary-depth tree structures.

The discussion explores how Mesh offers two operational models: a fully managed mode where Uniform handles data fetching and assembly with CDN-level caching, and a developer-controlled mode using SDK "enhancers" for fine-tuned data fetching. Alex teases an upcoming announcement on November 15th that will showcase a next-generation auto-magical version of Mesh. Ishan summarizes the key distinction: developers just ask for page data while information architects control the content plumbing through configuration rather than code.

00:49:37 - DXC, No-Code, and Personalization Strategy

Ishan explores how DXC relates to no-code platforms, and Alex positions no-code as one characteristic of DXC among several, including API orchestration, visual editing, and edge personalization. He explains Uniform's philosophy that personalization should not be a perpetual phase-two dream but should be integrated from the start, activatable with a single click, following a crawl-walk-run approach rather than requiring massive upfront infrastructure planning.

Alex contrasts DXC with the previous generation of digital experience platforms, describing DXPs as monoliths that handled everything from content management to rendering to personalization. He explains how Uniform originally started as a set of tools to "Jamstackify" existing DXP sites running on ASP.NET, allowing enterprises to incrementally modernize rather than doing risky big-bang rewrites. Ishan connects this to the Strangler pattern and progressive migration strategies discussed at prior Jamstack conferences.

00:57:53 - Predictions for Jamstack Conference 2023

Alex shares his wish list for the next year, predicting that the "Framework Wars" will continue and expressing interest in seeing more diverse frameworks like Nuxt and Remix featured at future conferences. Anthony notes that the headline from the Jamstack survey, declaring that Jamstack developers have gone full stack, validated what the JavaScript Jam podcast had been discussing for two years.

The group reflects on the notable absence of React-specific frameworks from the conference's framework panel, with Anthony observing that the panelists were signaling a move beyond React without stating it explicitly. They note growing interest in what Qwik and Solid are doing as sources of innovation for the broader framework ecosystem. Scott wraps up the live broadcast, thanking all participants and reminding listeners to tune in next Wednesday at noon Pacific for the regular show.

Transcript

00:00:00 - Scott Steinlage

Perfect. All right, now you should hear me. There we go. All right. Hopefully my gain isn't too high here. I'm trying to keep this to a minimum. We are live right now at Jamstack Conference. Oh, this is fun. Oh my gosh. This has been such a great time. We have with us Alex, who's gonna be joining us here, with Uniform, and several other people, actually. Tanner Linsley, maybe David Price. We might make a show here, maybe Tom Price-Warner. Who knows? He may appear, may not. I did talk to him earlier. We've got many, many folks, Facundo from Storyblok. We've got so many great people here that are hopefully going to be joining us here shortly as we continue this. We were going to try and do this down... they've got like a DJ booth going on right now downstairs on the first, second floor. We're on the third floor actually right now near the rooftop, considered quote unquote the rooftop. We got lots of awesome things going on. So let me add Alex as a speaker there. There we go, if he's not already. Brad is listening in. Brad, it is for you, man.

00:01:12 - Scott Steinlage

Yeah, it's like 2 a.m., I know, or something like that. You said that it was going to be like the middle of the night. So thanks for jumping on. I totally understand if you can't talk because maybe people are sleeping, but yeah. So welcome to JavaScript Jam live at Jamstack Conference. This is where normally we do this every Wednesday at 12:00 p.m. Pacific Standard Time. But we like to do these conferences and go live at the conferences, right? And so that's why we're doing it Tuesday, because this is the last day of the conference and there's an awesome block party thing. If you feel like you're missing out, having a little FOMO, don't worry, we're going to let you in on all the fun here with all these people that are going to be coming in and talking and listening in. So all right, Alex and Ishan, I'm going to give it up to you guys here in just a second. I just want to say, if you are just now joining us for the first time, just know that... hey, Ishan, I don't know if you want to mute unless you're in.

00:02:17 - Scott Steinlage

You know, there's a lot of background noise right now. Until you come in. Thank you. Awesome. If you're here for the first time, we just want to say, you know, we welcome everybody to speak up here, whether you're a beginner at this or you've been doing this for a very, very long time. And what I mean by that is being a developer. We want to hear from you, okay? In fact, that's how we get the most out of these conversations and have the most value and fun together, is when everybody joins in and asks questions or gives their opinion or whatever it might be. So we want to hear from you. And now I'm going to give it up to our awesome co-host, Ishan, and welcome Alex as well to the room. Thank you so much.

00:03:03 - Ishan Anand

Yeah. Hey, thanks, Scott. It is great to be here. This has been a really exciting, interesting conference. We're up here on the third floor. They're actually taking down the booths, so there's a little background noise. And it's mighty chilly here at the venue, surprisingly, because it's actually just supposed to be where the rooftop party was going to be. They moved downstairs because of the weather, but it's been a great conference. And one of the speakers was Alex from Uniform. And Alex, thanks for joining us on JavaScript Jam.

00:03:39 - Alex Shyba

Hey, guys, how's it going? Can you hear me?

00:03:41 - Ishan Anand

Okay.

00:03:42 - Alex Shyba

It's my first Twitter Space here, so I'm a bit confused.

00:03:50 - Scott Steinlage

We can hear you just fine.

00:03:52 - Ishan Anand

Yeah, you're actually ahead of the game. We've learned that Twitter Spaces for the first time can be confusing. Number one recommendation is if you want to speak, you should make sure you join via a mobile device. Otherwise, if you try to join from the web, you can't actually speak. So you're already doing great.

00:04:17 - Alex Shyba

Mobile first. Yeah, that's very anti-Jamstack. No web platform presence. Like, what's going on?

00:04:24 - Ishan Anand

It really is, especially considering the closing remarks we saw in the last hour where the web is fun again. The web is great again. Hopefully they'll roll it out.

00:04:38 - Alex Shyba

We need to speak to the manager who runs this platform.

00:04:43 - Ishan Anand

Yeah, I know who might be in charge.

00:04:47 - Alex Shyba

Shh.

00:04:48 - Ishan Anand

They're listening. But let's turn back to the conference. You're one of the speakers. I want to get to your talk, which I tweeted out. I was very much aligned with a lot of what you were talking about. But first of all, before we jump into what you guys were talking about, first introduce yourself and who Uniform is, and then I want to get your impressions on the conference itself. And then let's talk about the theme of your presentation.

00:05:18 - Alex Shyba

Yeah, sure, gladly. So my name is Alex Shyba. I'm co-founder and CTO of Uniform, and I'm a full-stack developer. I kind of started with .NET back in the day, ASP.NET. That's how I got into web. And then TypeScript was my gateway into JavaScript. I kind of went from C# through TypeScript to JavaScript. Yeah, that was kind of my short journey. I've been spending a lot of time in the Jamstack land and working with some enterprise customers to activate Jamstack for them in various capacities, kind of trying to figure out how to have Jamstack their way sometimes on their own infrastructure or their own CDN. So that's been kind of fun, trying to make it happen and realizing the power of Jamstack-optimized platforms while I was doing it, making it so easy. Then when you're trying to do it outside, it's like, ah yeah, that's why we love Jamstack-optimized platforms. So that's kind of my experience in pushing the edge-side shenanigans with our own SDK and making personalization and A/B testing work on edge functions or edge handlers or edge workers, whatever you call them.

00:06:53 - Alex Shyba

So that's been kind of fun over the past couple of years, to see various generations of edge compute working together with static and kind of observing this fusion of static and dynamic, and it's really exciting. Yeah. So at Uniform we're kind of at the forefront of edge-side personalization, but doing all sorts of other stuff with composable platforms and kind of, yeah.

00:07:34 - Ishan Anand

There's a couple of things I actually want to unpack there. The first one, actually, as you said, people who want to do Jamstack their way or on their infra... maybe for the audience who may not have experience in a large enterprise, could you contextualize where somebody might do that instead of going with one of the soup-to-nuts platforms?

00:07:56 - Alex Shyba

Yeah, it's a journey for many enterprise IT teams, right? So they've invested heavily in their Akamai, for example, and they are playing around with the next-gen deployment platforms that are more Jamstack-friendly. So it's a journey to get there for many. But they like the idea of the fundamental principles of Jamstack, so kind of figuring out an incremental pathway from where they are now to the future, that's been an interesting challenge and undertaking. Like, can you run Jamstack on Azure, for example, or on Tencent in China? We had an interesting project making it work, and you realize how much more you need to do while it's all possible. But you need to figure out where you run your builds, how you invalidate cache yourself. So that's kind of... you realize how much mechanics are needed to make Jamstack work. But it's exciting to look at it from a low-level perspective, and you gain appreciation for Jamstack-optimized platforms this way.

00:09:27 - Ishan Anand

Yeah, there's so much that a Jamstack platform does for you that you don't... it's almost easy to take it for granted how simple and easy they can be. We once mapped it out, and when we were done mapping it out, it was like 20 different services on AWS you'd have to stitch together yourself in order to get an out-of-the-box Jamstack platform. Unfortunately, in an enterprise context, you might be wedded to half of those. Fifteen or ten have already been chosen for you, and you might have to build the rest out. So the other thing you talked about was edge computing and edge runtimes. And I would say probably the biggest theme here today at the conference, today and yesterday, was edge computing and edge runtimes. It's a really popular one. There's talks on databases at the edge. I would say that was probably one of the most dominant themes. If you were to pick, for the listener, what you walked away from this conference as the top, say, two or three themes you think that were in the air, in the ether here, what jumps out at you that you think, and reflect back on the last two days, was a popular theme either on stage or in the hallway track for you?

00:11:00 - Alex Shyba

Yeah, I think the edge programmability layer is definitely interesting. And seeing the adoption of serverless, the numbers that Laurie shared, gives me belief that edge functions, as the next evolution of that, will be picked up rather quickly, since serverless is getting a lot of attention and adoption compared with previous years. So those Jamstack survey numbers were really interesting. So I think I'm excited to see where this is going and what interesting applications can be built powered by this. We spent some time, we actually had a workshop on that on Monday, three hours, where we were hacking around with Netlify edge functions and doing all sorts of transformations there. So it's kind of combining static and dynamic. So have post-static-generation transformation of HTML. We have some SDKs for that, but you can do a lot with it if you have some ad hoc sort of requirements around that. So I'm excited where this is going and what other things you can do. I mean, you have a Deno runtime at your disposal and you can do anything you want, but where are the boundaries? And whether we're going to have emerging patterns, best practices from that, like what to do and what not to do with edge functions, that's sort of uncharted waters for many.

00:12:44 - Alex Shyba

But I think because it's so integrated and so easy to start, I think the uptake will definitely be there. And the next question is how you manage state with all those functions. Stateless edge compute is almost easy. I don't say easy, but much, much easier than stateful compute. So how does this work when you have user session, you have application state? That's where you need some sort of fast persistence layer. And this is where I think a lot of the talk is. Where is it going, and what is the...

00:13:33 - Ishan Anand

Yeah, I think that's actually a really good point. For all the talk on the optimism of the Edge, I feel like there was a lot of realism in the sense that we heard from, I think it was during the Edge runtimes panel, multiple times people brought up, well, the moment you have to go to a database, add an origin from your Edge function to get the piece of data in order to personalize or render or whatever you have to do, you've basically defeated the whole purpose of the edge. We have to get the data there. And I was impressed. There was a panel specifically on that on databases and the Edge. I thought that was really forward looking and I thought that was really good that they included that in there. Were there any other themes that jumped out? Sorry. The serverless one I think was a really good call out too because I feel, especially with what we're seeing is serverless is kind of the interface for a developer to serverless and to Edge. Edge functions is kind of very similar and so it feels like a easy stepping stone from one to the other.

00:14:38 - Ishan Anand

So I think what Laurie showed in terms of serverless adoption bodes well for edge, but it means that any type of edge platform needs to effectively be serverless-type, let's say, in terms of an abstraction and compatible, like you won't have to think about the infrastructure. Just give us the function and we execute it. I think that's one of the lessons there. Were there any other things that jumped out from you, from attending the conference or speaking at it, that you thought was an interesting theme that emerged or anything that surprised you?

00:15:13 - Alex Shyba

I think the format was a lot more group discussions and knowledge sharing from thought leaders in the community. But that was fresh, I think,

00:15:34 - Scott Steinlage

and

00:15:34 - Alex Shyba

like going into the depth there. You don't always get to experience it. I think just seeing friends or people you've interacted with virtually over the last couple years...

00:15:53 - Ishan Anand

Oh yeah, that's huge.

00:15:55 - Alex Shyba

That was the highlight, obviously.

00:15:57 - Ishan Anand

Oh yeah, I'm glad you brought that up. I almost forgot about that. That was a huge, huge benefit multiple times. I mean, actually you and I have met virtually before we met physically here. There are people who walked up to me like Bud Parr from the New Dynamic. It was like I had to realize, oh, we've never met in person, but we've interacted. So like we went through. We'd be like, oh, wait, we. Yeah, this is our first time meeting in person. We just hadn't been used to it. So that's a really good call out. Sorry, keep going.

00:16:29 - Alex Shyba

Yeah, no, definitely. I mean, also, first time speaking in a few years, so that speaking anxiety was a familiar feeling that I kind of forgot. So reliving that was quite something. It's always... being a tech guy, doing public speaking is not my nature. So that was a good challenge, to shake things up a little bit and get into the groove and get into the right flow and have a 20-minute onstage. You lose that if you don't do this often, right? So you had that couple years of conference pause. Then you need to retrain yourself in those skills as well, as well as just networking, mingling skills. That's also getting rusty. So kind of getting through those interesting experiences... it's not my first conference. It was the first time speaking in a while. That was a rush.

00:17:50 - Ishan Anand

Yeah, you're right. It's kind of like riding a bicycle again, except you're like, oh, wait, I'd forgotten what this was like. But I think that's a good segue into the talk that you gave on the modern digital pipeline. The future of Jamstack is composable. Do you want to. And people can go tune in and see a lot of the Jamstack conference videos online, including yours. But do you want to first start up by giving the audience just an overview on what you talked about? And then I'd like to dig in on a few themes you had.

00:18:24 - Alex Shyba

Yeah, this was actually Tim Benniks's talk, but he couldn't make it because of COVID, so I kind of took over. But of course we work together on shaping the vision of what we think is kind of the next wave of headless composable architectures, but going a little bit beyond that. Why composable matters, and how do we actually make composable work and make it mainstream? I think there's a lot of talk in the ecosystem around composable, but everybody understands composable differently. We look at it as a true open composable approach where you can build architecture following the Unix principles of best-of-breed libraries that are great at what they do and compose them into one cohesive architecture. And you can swap out components easily without really tearing everything down and starting from scratch. So when we imagine a project at enterprise scale, there's always more than just a CMS and a front end. There are some other sources of content. And if we imagine the world where there is no central content repository, as in the prior decade we tried to shove everything into CMS, including your place to run your API, place to bring your commerce integrations, place to bring your digital asset management integration, search,

00:20:10 - Alex Shyba

and then your CMS becomes a huge monolith. We don't want to repeat those architectural mistakes from the past. I mean, it may work at some scale, but in order for this to be sustainable for larger use cases, composable architectures are the answer. And the evolution of headless is leading us to what we think is a new category, and this is what Gartner identified as Digital Experience Composition. So I introduced that concept and how we're implementing a DXC solution with Uniform, where you can combine multiple sources of content even on a single component. You can have copy coming from one headless CMS, media coming from digital asset management like Cloudinary, you could have search API powering other parts of your component, maybe a product catalog or PIM. So that's kind of the new world order of distributed content. There should be a layer that brings it all together, but not just as an API aggregator, but as a tool that also brings non-developers into the room and makes them productive so they can assemble page-level content without developer involvement. So this is where that composition-level management or assembly layer is really important, where you have universal preview, you have the ability to edit in context, you can have the ability to personalize or A/B test different components inline.

00:22:06 - Alex Shyba

So this is the promise of this Digital Experience Composition category, a product category that we play in. So I wanted to introduce that in terms of which problems it is solving and what could be the solution. And also it was a good chance to introduce TurboTutorials.dev, which is what Tim Benniks has been building as a lighthouse project of what a DXC solution could look like with the latest Nuxt 3, with edge-function-based personalization, delivery with content from multiple sources, multiple headless CMSs, and search. So that project is all about multiple tutorials that help developers kind of get started and learn all of this new cutting-edge web stuff. So that was an opportunity to also share this with the community. Yeah, so that's the premise of the talk.

00:23:26 - Anthony Campolo

Go ahead.

00:23:28 - Ishan Anand

Yeah. So first off, you know, we should throw out that URL again. It was TurboTutorials.dev, is that correct? I'm trying to find it again.

00:23:40 - Alex Shyba

TurboTutorials.dev.

00:23:42 - Ishan Anand

TurboTutorials.dev, with a dash in between Turbo and Tutorials, correct?

00:23:48 - Alex Shyba

It works with or without the dash.

00:23:49 - Ishan Anand

Oh, it does? Okay. Ah, it does. You're right. I have it in my browser with the dash. Okay, so. And that's Tim's site. Again, speaking of meeting people in person, I was really looking forward to meeting Tim. Unfortunate that he got sick. Tim, we love you. But one of the things that I think was really great about what you're talking about here with DXC and that you called out is something that I feel like has been brewing for a while. I remember talking about this with somebody, I think it was somebody from SpeedCurve back at the very first Jamstack Conference, and that's this fact that, as developers, the Jamstack feels great. We get to put all these pieces together, we get this great assembly. But for content editors, for the people who aren't developers, it can be a nightmare. It certainly was a few years ago when we didn't have tooling to support the content creation. And one of the things I remember we talked a lot about is that sites are built as much by the developer as by the non-developer. The people putting content in the site are building the site as much as the developer is.

00:24:59 - Ishan Anand

So I think this, it's really great. When did Gartner actually start coining the DXC category?

00:25:07 - Alex Shyba

That's fairly recent. Just, I think, a couple months ago.

00:25:14 - Scott Steinlage

Okay.

00:25:17 - Ishan Anand

I think that's real progress that people finally are going to start recognizing this. I do feel like, you know, you guys are part of this group that are kind of helping the Jamstack be more... I don't know what the right word is. I don't want to use a loaded term, like more inclusive of non-developers. But it's definitely, I think, making it easier for people to manage the stack and giving that composable, let me piece things together. Just as much as developers enjoy it, I think non-developers enjoy that as well too. One of the other things. Oh, go ahead. Yeah, go ahead.

00:25:52 - Alex Shyba

Yeah. I just want to add to it. I think it's our responsibility to make Jamstack more appealing and understandable to non-developers as well. And you're right, we need to be striving for a balanced approach where it should be unreasonable for an author to wait five minutes for the build to finish to see the changes, right? So I'm excited to see all the incremental Jamstack progress. I'm excited to see edge rendering and streaming as an option, which unlocks SSR, but at the edge as well, which should completely eliminate that waiting stage of content change and publish. There's also a lot of what's referred to as publishing anxiety among content authors in headless space specifically because it's not often clear what's going to happen if I change and publish this particular content object, right?

00:27:06 - Ishan Anand

Yeah.

00:27:07 - Alex Shyba

How does this impact my pages? Is this gonna show up on 500 pages or just one page? Because there is no head. There is no really any reference to a piece of content because it's all in code. So there are a lot of challenges there. The next wave of adoption coming from the monolithic CMSs from prior decades... there are certain expectations that these folks are coming into these new stacks with, and I think it's our job to make this transition easier for them. So there is no publishing anxiety. There are no wait times. They're used to instant publishing, pretty much, and we kind of need to restore that balance at scale. Performance is important, but also business user productivity and giving them tools so they can manage web experiences in context, making sure they can personalize individualized web experiences if they wanted to, in context, right? So that's kind of the capabilities they used to need to work with all the modern stacks and modern tooling. That's what we believe in, and that's what we're trying to make happen at Uniform. But we also see a lot of folks doing amazing things on that, bridging that gap.

00:28:36 - Alex Shyba

And headless CMS is also evolving. Nothing is static, kind of playing on the Jamstack. Nothing is static here. And seeing so many demos from folks having booths and doing presentations, just amazing pace of innovation in this space. And it's interesting to see these gaps being closed very quickly.

00:29:03 - Ishan Anand

I really like that publishing anxiety as a term to describe it. And that description of really this is marrying the expectations they have from a monolithic platform, but just delivering it to them in a, in a headless context, that's a great way to kind of explain it. We're at the halfway point. So, Scott, I'll let you do our station break and remind folks that, like, what we like to do for the second half is, you know, open it up to the audience. Feel free to raise your hand and comment or ask a question about the conference or anything else that we've been talking about.

00:29:42 - Scott Steinlage

Absolutely. Thank you so much. Appreciate it. So far, this has been great. Thank you, Ishan and Alex for joining us during this. It's been such a fun time. So amazing. So if you're just now joining us for this, know that we do this normally on Wednesdays at 12pm Pacific Standard Time. So anytime you want to join up with us and you know, listen in and also contribute and/or partake in this in JavaScript Jam, you can feel free to do so every Wednesday at 12:00pm Pacific Standard Time. If you're a beginner or whether or maybe you've been doing this for a really long time, you know, being a developer, that is. It doesn't matter. We'd love to hear from everybody. In fact, that's how some of our amazing conversations happen in this. During this time is when everybody participates. So feel free to request to come up here and we'll be more than happy to bring you up if you have any questions for Alex or Ishan or myself and want to ask those questions and, or just state an opinion or whatever you want. We would love to, to hear from you. Thank you guys so, so much.

00:30:54 - Scott Steinlage

And now moving on to the second half of the show. Appreciate it.

00:31:02 - Ishan Anand

Yeah, thank you, Scott. So, you know, one of the things, and I'll just encourage people again, feel free to raise your hand, and if you want to get any type of firsthand view of the conference, we're happy to answer those questions, but raise your hand at any time. But one of the things, getting back to your talk, Alex, you had this slide that said, why use the Jamstack? Everything is now API-first, the magic happens on the CDN, the meaning of Jamstack is changing. And I'm going to interpret that to really just capture this edge theme of being in the air. The old definition of Jamstack was entirely very much static. It feels like, do you feel like this new generation or an approach to what we've been talking about in terms of DXC, in terms of being able to deliver for content editors the same level of authoring, would have been possible in the old static paradigm? Is the edge an enabler there or do you think it could have been done without that?

00:32:15 - Alex Shyba

That's a great question. I think it's definitely an enabler to get it done right. There have been workarounds, I think. Even for incremental Jamstack, we had to build our own incremental static generation as a kind of Next.js extension because we needed Jamstack to scale and have this on-demand page regeneration. When one page changes in CMS, we would skip the process and regenerate the one page. So those were workarounds we had to build before. It's now possible with the framework and with CDN platform natively. And sometimes you have to do it on some old-school CDN because this is what a particular customer is using and they're stuck with it for maybe a couple years before they can evaluate all the options. So you kind of need to. But they want Jamstack to work, right? So you need to find these creative solutions. But I think, I hope many will join me in this, that we...

00:33:31 - Ishan Anand

you

00:33:31 - Alex Shyba

know, it's better just to use the platform and just focus on building other stuff rather than building these workarounds and stretching Jamstack further. But it was fun, but I'd love to do other things. And I think the dynamic component, the ability to combine static and dynamic, is really interesting. Until edge rendering, which requires fast data or fast content... if you don't have fast content, edge rendering also is probably not the best option. So until that becomes reality for many, this kind of combination of static plus dynamic transformations, lightweight transformations, that's an interesting approach to stretch Jamstack further so business users do not miss out on A/B testing or personalization that runs natively without conflicting with your virtual DOM and fighting with your virtual DOM, making it work the way it's intended, together, compatible with React- and Vue-based frameworks. I think that becomes possible with this edge worker, edge function, edge handler, edge middleware layer. And I think that stretches us into ultimately being able to render everything at the edge. Eventually, I think this is where it's going. But there's also a case to be made about the right tool for the job.

00:35:17 - Alex Shyba

I think Matt touched on that on stage, because we shouldn't forget about this magic formula and ask ourselves, do we really need this? Maybe old-school SSR works for this particular use case or project. The fact that you have so many options, how to render, where to render, it's great. But it also requires you to pause and think before architecting something and really find the best option. But yeah, I think it's definitely easier now and you have more and more options at your disposal. But I'm not sure if it's going to consolidate around edge rendering or not, or if we're going to end up having three or four options to choose from for a few years down the road, probably.

00:36:17 - Ishan Anand

It does seem like there's a collection — sometimes a confusing collection — when you include the unique ones in the frameworks, like ISG and ISR. You seem very diplomatic as to what you think the future is going to be. Are you being diplomatic, or are you open to all of them? Do you have a prediction or preference? I think it would probably — I don't know — 80% certainty we'll all converge around rendering at the edge. Or do you think this has to be taken apart and different use cases render in different places?

00:36:54 - Alex Shyba

I think it's predicated on whether you can solve the fast content layer problem. If you can deliver content at 50 milliseconds, you can render, you can spend another 50 milliseconds rendering that content. That, I think, works. But if your content API is too slow, there's not much you can do about it. But Jamstack has always been that savior doing build time as much as possible, hiding that cost of the first cold request. So that's, I think, dependent on the maturity in the content API space. If you're already caching your content at the edge, then edge-side rendering is probably going to get you very far and you don't have to do any static builds anymore. But for some project it might be even use-case-based or path-based or route-based, right? Some routes can be pre-rendered statically, other routes may be rendered on demand, and then you have maybe a path that is user-session-specific that you'll always have to server-side render. And where you do server-side render will depend on where your user data is. Is that geo-distributed? It's one thing if it's in one data center in us-east-1, then you probably want to do that sort of server-side rendering closer to where data is stored.

00:38:43 - Alex Shyba

So that's where complexity in the architectures will play into. When we start looking into the best option, we'll have to ask a lot more questions, and that's the right thing to do anyways. But having those multiple options is better than to have, you know, you have to do static for everything. We know it doesn't work.

00:39:04 - Anthony Campolo

Yeah.

00:39:05 - Alex Shyba

And now we have more options at our disposal. So I'm not sure if there's ever going to be a universal way, but yeah, it's all dependent on whether geo-distributed data or state will be so universally available. Yeah, right. But that's such a difficult problem to solve. I'm not sure if we're gonna get there.

00:39:32 - Ishan Anand

Yeah, scaling compute, I mean if you think about the evolution here, like scaling compute was actually the easier problem and it took us a while to just get that to the edge. Scaling data is going to be, you know, the real linchpin there. And you're right, we had a panel where they made this point, like maybe for some use cases you actually want to be running functions. Some cases at the edge, maybe you want to run it super close to the data than you already are, like in the database. And it's like food for thought there. But we've got Anthony who just came up to the stage. Anthony, let's give you a chance to speak.

00:40:14 - Anthony Campolo

Yo, yo. Yeah, sorry, I was just kind of curious. You have some sort of mesh-like thing for Uniform, and this is a very niche thing, I think, for some people, but this is... I actually worked at a company that built, I think, something exactly like this. I'll be curious. Can you talk about Mesh's smart grid and how that fits into the composability?

00:40:36 - Alex Shyba

Yeah, yeah, definitely. So our approach is to build Mesh not just for developers, but also for content architects or practitioners so that they can build Mesh integrations with the REST API, any REST API, themselves without a developer. So essentially configuring an endpoint and then bringing it into your view model. So essentially a structural component, in our case, becomes a consumer of that Mesh integration. So let's say you want to bring in Unsplash images into your site. You can configure an integration, and then the array of images could come into your component props. So you will essentially map the output of a Mesh integration into the component prop that's modeled inside of our component library.

00:41:37 - Anthony Campolo

Right, that makes sense. But usually when I'm hearing about a mesh, it's more like multiple different things that are being combined together in some sort of way. Because like... and I think this is interesting because...

00:41:48 - Scott Steinlage

Is anybody else having trouble hearing Alex, or is it just me?

00:41:52 - Ishan Anand

No, I can hear. Sorry, go ahead, Anthony.

00:41:55 - Anthony Campolo

Yeah, sorry, my bad. Talked over you. Didn't mean to. Yeah, I was just saying that the mesh thing, I hear it referred to in a GraphQL kind of way, but it sounds like what you're saying is it's not GraphQL.

00:42:09 - Alex Shyba

In our world, it doesn't have to be. And GraphQL actually makes things more complicated for us because we're dealing with trees of arbitrary depth, and this is... well, GraphQL is not...

00:42:24 - Anthony Campolo

Where can I find docs on this? I'm trying to. Trying to find it on your website.

00:42:31 - Alex Shyba

Yeah, it should be under docs.uniform.app.

00:42:39 - Anthony Campolo

Yeah, sorry to hijack, but yeah, I want code examples because this is a really interesting thing. You're building a mesh in a very different way, but it's accomplishing a similar solution. So I think a lot of the other meshes are doing this, like Netlify Graph and TakeShape and StepZen and all of those. They're all GraphQL meshes. But the pictures, the five services you have in the little blocks on your front page, those are the same five services all of us have.

00:43:11 - Alex Shyba

Yeah, our approach is different in the way that we want to bring the output of Mesh into your component and have it be configurable without development effort. So think about it as, if you see a page, you see a few components, the structural part of that page. What goes into components, this is something we want to facilitate non-technical folks to create and own. And then, as sort of the individual props of the component, we call them parameters, as that binding goes into an individual element from any source API. So you can connect title from a hero component to a field in Contentful, image to an asset in Cloudinary. So kind of using components and props as the way to manifest how the Mesh binds into your application, if that makes sense.

00:44:26 - Anthony Campolo

So the thing that I'm still... that makes sense. The only thing I'm confused on is, basically, are they hitting an endpoint? Is the endpoint hidden from them? Like, at what point does that stuff actually get connected and get into their component? And how much of that is abstracted away?

00:44:42 - Alex Shyba

Yeah, it's all abstracted away. You actually have two options. One is have our Mesh do the data fetching and final assembly of content for you. So you just ask for page data and you get post-assembled data that is cached at the CDN level. Another option is for you to actually plug in what we call enhancers. These are kind of pieces of SDK that will be responsible for the final assembly. And this is where you can fine-tune how you want to data-fetch from a given data source or give you some implementation, but you can be fine-tuning the mechanics of how Mesh operates. And then you can deploy it yourself somewhere on the server and kind of own that piece if you want to. So you kind of have two models of operation. The next-gen Mesh that we're actually revealing next week is going to be more auto-magical and everything is taken care of for you. So we give you an edge-cacheable API endpoint. You ask for page data, and you get everything that's on the page already fetched, mapped, and ready to go.

00:46:02 - Ishan Anand

Gotcha.

00:46:02 - Anthony Campolo

And I did find it. It's docs.uniform.app/tutorials, and they have a bunch of stuff with it. This is super cool.

00:46:14 - Ishan Anand

Yes, let me repeat back to see if I've understood correctly. Basically what you've described is that, whereas a developer, Anthony's question was, a developer might try to query something like OneGraph or some service like that that aggregates a bunch of APIs together. But the developer is the one specifying what all the different services are that they've asked through their GraphQL query, all the ones they want stitched together. And instead, what happens here is the developer just asks for page data, maps it into components, and inside Uniform the non-technical stakeholder can decide how things map together into that page data and easily swap it in and out. And all the developer knows is that they got page data, but not whether it's one or ten different services put together that power that data. Is that an accurate summary?

00:47:08 - Alex Shyba

Yeah, we want that information architect to drive that decision, right? For them to own that boundary, that content configuration boundary. So use configuration versus code for that. And we believe that's what kind of makes this project scale. So we have folks that are coming from enterprise content management systems. They understand components, they understand modeling the information architecture. We want to make sure they are productive in our system as well. So developers can focus on the front end, they get the data they need to render, things become simpler. All you need is bring your own render function, and then information architects are setting all the content plumbing. So everything, of course, you can still do if you want to throw together an API and then call it from your front end. If it's not page data, something outside of page data, you have a search index to call, maybe some other endpoint, it can coexist with page data. But everything that is the web experience, that will be taken care of by this Mesh component.

00:48:32 - Ishan Anand

And you said you've got an announcement next week. Do you want to just tease that one again? And how do people tune into that? I know it looks like you got a webinar coming. I think next week. Is that where you're announcing it?

00:48:44 - Alex Shyba

Yes. November 15th, we have 6 a.m. Pacific, 9 a.m. Eastern. If you go to uniform.dev/dxc-assembly, and I believe we have an announcement bar on our main uniform.dev website...

00:49:09 - Ishan Anand

Yep, I see it there.

00:49:12 - Alex Shyba

Yeah. So it's gonna be just couple of hours sort of event where we're gonna showcase everything we've been working on, make some announcement, have some customer story success stories there. So should be fun. Hopefully you can join. It's going to be all virtual and yeah, we are very excited about it.

00:49:37 - Ishan Anand

Yeah, sounds exciting. And then I assume if you can't catch all of it, the recording will also be available. But folks, go ahead and register. I'm doing it right now. So 6 a.m. Pacific Time or 9 a.m. Eastern Time on November 15th. Definitely check it out. How do you feel DXC overlaps with, say, kind of like no-code? Would you feel like that's a fair comparison or not? Is that not an accurate comparison to no-code tools and platforms? It feels like it's no-code just for the UI layer, to a certain extent, or the data-mapping layer. But what do you think? Do you feel like there's an overlap there, or is that not a decent analogy in terms of the DXC category, not necessarily Uniform in particular?

00:50:33 - Alex Shyba

Yeah, I think no-code is a characteristic of DXC as a piece. I think it extends headless and it makes headless more of a no-code-capable architecture, in my view. But there is a lot more to DXC than that. I think it consists of multiple components and API aggregation, orchestration, the visual in-context editing presentation service, and our version of it also includes edge personalization integrated. So there's a few other components included. And I'm sure this is still very new space and it will marinate for a while, and we'll see what the sort of universally adopted version of this is going to be. But definitely low-code or no-code is a big, important aspect to it because it's meant to enable non-technical folks and bring them together on this Jamstack headless composable journey.

00:51:58 - Ishan Anand

One of those things you mentioned is not, I guess in the official Gartner definition, is A/B testing in there or not? I'm just out of curiosity. And how do they pitch it against, say, DXPs, the digital experience platforms? How do they compare and contrast that?

00:52:16 - Alex Shyba

Yeah, in our version of DXC, personalization and A/B testing is included, but I don't think it's in Gartner's definition. To us, this is kind of such an integral part of composition. And by letting this be a separate piece, we also want to challenge this phase-two convention that is known in our space, where personalization has always been a phase-two dream and it never comes. So by bringing it a little bit closer to the beginning of the project, where when you do content planning, you can do initial assembly, it's there and it can be activated with one click of a button. To us that's very important, and we want to make sure it's easier to get started with. And you can invest more into it, and it's a crawl, walk, run kind of approach rather than you need to do a lot of upfront planning, making sure your infrastructure scales to handle server-side personalization because it just throws so many new wrenches at your problem. But because of CDN and edge-side delivery, you kind of don't need to worry as much about it because CDN will take care of that.

00:53:42 - Alex Shyba

So that means that all you need to do is make sure it's fully integrated as a first-class feature, and then you enable teams to use this effectively so they know where to get started, how to get the most out of it, and how to progressively enhance their personalization strategy. There's a lot to it. Lars, our co-founder, CEO, even has a board game on personalization, which is kind of fun. So yeah, there's a lot to it. And DXPs, this is sort of the prior generation of tooling where you have one big monolith running the show, running content management, rendering, delivery, and personalization, pretty much responsible for everything. And that's sort of not working anymore in the composable Jamstack world. So DXC, I would say, is the evolution of DXPs.

00:54:46 - Ishan Anand

Yeah, that makes it, that's a good way of describing it in comparison to DXPs. You know, when you're describing it and because it's being done at the edge, is it possible to use this approach or uniform specifically on top of a legacy, you know, a site that isn't built headlessly? Let's say somebody says I'd love to, you know, I've got a Legacy site. I want to incorporate a new data set into it, but I'd love to use Uniform to start that process.

00:55:16 - Alex Shyba

Yeah, this is how we actually started the product, as a set of painkillers and accelerators for existing DXP solutions. So we have these fairly niche capabilities, but they solve concrete problems for customers running Sitecore, for example. So we're essentially able to Jamstackify their existing sites running on ASP.NET, essentially turn them into static sites that are also personalizable at the CDN level. So you can kind of extend the lifetime of your current investment. You can make sure these sites scale, and then you can incrementally modernize and embrace composable and headless and Jamstack, and almost take a page-by-page approach, if you wanted to, of moving off to React, to Next.js, and sunsetting the previous architecture. So that's the origin of Uniform. As we had a few of these painkillers, we kind of realized there is a bigger problem to solve here. But this is kind of how we started with a few of those.

00:56:39 - Ishan Anand

Yeah, that's really compelling. Last year's Jamstack Conference, I remember hearing a lot of this, something customers on our platform have done with: don't do a big bang rewrite to the Jamstack. You can do it incrementally, page by page. We sometimes call it progressive migration or reference Martin Fowler's Strangler pattern as a good kind of example of this, where you strangle out the legacy monolith gradually. Definitely for a large enterprise it's too risky to migrate the whole site, but prove it out on a small site and then show people the productivity wins, and then everyone wants to roll it out to more of the sub-properties. You know, we're almost coming up at the top of the hour. The question I want to maybe close out with, if we don't have any other audience questions, is, you know, it's Jamstack Conference 2022. In a year it'll be Jamstack Conference 2023. What's your wish list or prediction for what we'll be seeing at Jamstack Conference 2023? Is it something you want to see or something you're predicting we'll see?

00:57:53 - Alex Shyba

Yeah, that's an interesting one. I think the framework wars will probably continue. So I'm not sure where that's going to bring us in 2023, but we're going to need to see... I'd love to see the data from the Jamstack survey and see how things are either consolidating or not in that space. But it seems like there are still multiple camps at play here. I'd love to get, I guess, more different frameworks featured. Maybe bring folks from Nuxt and Remix into the space. I think it'll be quite interesting to have a conversation of how things are evolving. But I don't know. This is the big question, how the multi-framework landscape is going to evolve. I'm not sure. Yeah. Anybody has any thoughts on that?

00:59:07 - Ishan Anand

Yeah, so that's actually, I would say, like, we had talked earlier about the top themes of the conference. I would say the other one was this, the framework wars. In fact, we had a panel on it and Scott and I were chatting, and there were a bunch of frameworks up there. There was Solid, there was Astro...

00:59:30 - Anthony Campolo

No React, interestingly enough.

00:59:33 - Ishan Anand

Well, RedwoodJS wasn't up there. It was one of the ones we noticed was missing. So yeah, you're right, there were no React frameworks up there, now that I think about it. Well, I mean, Astro's kind of a...

00:59:49 - Anthony Campolo

Astro is not a React framework.

00:59:51 - Ishan Anand

Yeah, you can use React with Astro.

00:59:53 - Anthony Campolo

Yeah, Astro is not a React framework.

00:59:55 - Ishan Anand

Yeah, but you're right, there were no React frameworks up there. That's a very interesting observation. I can't believe I...

01:00:04 - Anthony Campolo

Something a React framework developer might say. Yeah, I thought it was fine because the point they were trying to make is that they're moving beyond React. That's what they were saying without saying it. So I feel like they could say it more explicitly.

01:00:22 - Ishan Anand

Yeah, no, you're absolutely right. I think you're right. There was talk of a post-React world, but certainly people have been talking about it in the last couple months. It's been picking up in the blogosphere. It'll definitely be interesting to see how this sorts out in the next year. Although I don't think it'll be completely sorted out. I'm curious to see how it progresses. It's definitely a fascinating space. Anthony, I'm curious if you have any thoughts on that, your prediction for how that sorts out in the next year.

01:00:51 - Anthony Campolo

Just like the framework wars?

01:00:53 - Ishan Anand

Yeah. Or you know, what you want to see from Jamstack Conference 2023.

01:00:59 - Anthony Campolo

So I would say what I saw in Jamstack 2022, the headline of the entire survey was "Jamstack developers go full stack." Who've you heard say that before? So that was cool. I feel like, yeah, it just feels like a whole...

01:01:16 - Ishan Anand

If only there was a podcast that had the name Full Stack Jams. Yeah, sorry.

01:01:20 - Anthony Campolo

So I felt like the literal thesis they led with was the thesis we spent two years saying. So that was cool. I couldn't be happier about that. And yeah, I would just say, I think what Fred said, that what he's most excited for is stealing whatever Ryan is doing, and then Ryan saying he's stealing whatever Tanner is doing. I think there's a lot of wisdom in that.

01:01:46 - Ishan Anand

I want them to steal what Qwik is doing, but that's what they're doing.

01:01:52 - Anthony Campolo

That's the most interesting thing they're stealing, is Qwik and Solid right now. That's what I said on the Modern Web.

01:01:59 - Ishan Anand

Yeah. But I think the frameworks will be interesting in 2023. Well, since we're coming up a little over the top of the hour, I want to thank those of us who've stayed, especially Brad. I know you're in a difficult time zone and it's getting late, folks. We're losing our space. I've had to migrate three or four different locations to broadcast completely.

01:02:22 - Anthony Campolo

Ish, get a room next time.

01:02:23 - Ishan Anand

Yeah, I know. Yeah, they keep disassembling every room I go into. But we'll be looking forward to covering Jamstack Conference 2023 and seeing you guys all next year.

01:02:42 - Alex Shyba

Absolutely. It'll be fun. Thanks for the invite.

01:02:48 - Ishan Anand

Absolutely. Scott, you want to take us out?

01:02:51 - Scott Steinlage

Yeah, absolutely. Thank you so much for joining us today, tonight, this evening. It's been fantastic. Yeah. Thank you so much to Alex for hanging out with us and joining us to talk about Uniform and several other things, including obviously Jamstack Conference. Thank you to Ishan for co-hosting this and asking all the awesome questions. As always, you know, very thought-provoking things. So we love it. Anthony, thanks for joining us up here as well. And Brad, yeah, thanks for hanging out, dude, as always. For real. Yeah. Appreciate everybody. And we will not be doing our normal thing tomorrow. We'll be traveling. But as far as next week goes, we will be live next Wednesday at 12 p.m. Pacific Standard Time. So don't forget to join us for that. Yeah. Thank you all so much. Appreciate it. And if you're listening to the recording, you know, be sure to give us a follow as well. And you know what? If you got any value from any of the speakers up here, please follow them too. Because if you got value from them here, you're probably gonna get value from them elsewhere, too. So all right, y'all, thank you so much.

01:04:16 - Scott Steinlage

We're gonna wrap this up, head down and network with some folks. If you missed it, you missed it. If you didn't, you're here, and we'll see you next year. Oh, I totally did not mean to do that. That was amazing. All right, see you guys. All right. The fade was a little fast on that, but thank you all so much, and we'll see you next time. Peace.

On this pageJump to section