Matt Netkow
https://twitter.com/dotNetkow

Ionic
https://ionicframework.com

Capacitor
https://capacitorjs.com

Stencil
https://stenciljs.com

Greg Marine 
As a software developer, I find one of the most important aspects of my industry, in terms of vendor support is Developer Relations. This week I talked with Matt net CO, the head of Developer Relations at Ionic.

If you would like to learn more about building a great mobile app with ionic, my good friend, Mike Callahan has introductory courses available right now. Select either Angular or react and start building your app today, you will find these great courses using the following links.

Developing Mobile Applications with Ionic and Angular - Idea to App Store:
https://gumroad.com/l/FyZHi

Developing Mobile Applications with Ionic and React - Idea to App Store
https://gumroad.com/l/KJvnU

Matt Netkow  
Yeah. Hey, Greg. Well, first, thanks for having me on. I'm really excited to chat with you today. Yeah, so I am Matt natco. I am head of Developer Relations at ionic. And thrilled to be talking with you today. So we ionic for those that don't know, in the web development, you know, ecosystem and the sphere, we create tools and products that basically help web developers just take their skills to the next level, and specifically reuse their, you know, HTML, CSS JavaScript skills to build web apps that can be deployed to mobile desktop, and of course, the web and beyond. So yeah, great stuff.

Greg Marine  
Very much. Looking forward to hearing more about that. And also you recently a new father. Haha,

Matt Netkow  
yep, that's why I've got my diet coke here. Um, excuse me. Now I need a bunch of caffeine to keep going here. It's been such a blast. My little buddy is seven weeks old, as of a couple days ago. So still in the beginning? Yeah. Thank you. Thank you. I am back at work down here in my lovely basement office setup. Yes. Mm hmm. I know it's a bit of a mess. Now. I should have cleaned up. That's not good. No,

Greg Marine  
I cleaned up just before we started this.

Matt Netkow  
That's the the zoom way these days are the pandemic right? That's right. Um, but yeah, newborn at home, during a pandemic, and you know, everyone's got their unique challenges, but let's just say, yeah, it's been, it's been particularly tough, but, you know, rewarding and fun still, you know, I've got a lot to learn about being a dad, for sure.

Greg Marine  
Well, be sure to follow all of my dad jokes on Twitter, those will come in very handy.

Matt Netkow  
You know, I gotta say, I really enjoy those and seeing them leading up to becoming a father was was something I have. I'm excited to build out my dad joke game myself. I like to think I've been trying for years, but now it's the real deal.

Greg Marine  
Yeah, I've had a great, great teacher from my dad, and glad to pass that along to folks like you. And so before you started ionic, where did you come from? What's your background? What brought you to, to being Dell Developer Relations at ionic? Sure.

Matt Netkow  
Yeah, I've had a great and varied career so far. So let's see, it's been about 1010 1213 years or so that I've been a software developer. And I actually started and came from more of a consulting world. So I had a couple roles in that realm. The first role I was at was as part of a SaaS company building. technology that basically helps sales and marketing folks find their content better. So this goes back a number of years, it's that's pretty table stakes, and a lot of things like Salesforce and Microsoft products, and you know, all that kind of stuff. But at the time, they were they were pretty innovative. And what I was, I was part of their consulting org. And this was 99% project manager. So you know, walking enterprise clients through setting up the software for their particular needs, and loading up their content into the site and all these other things. And what was kind of cool, though, is I was one of just a handful of developers on the team that was responsible for integrations, and really, a jack of all trades type work. So if we had, you know, maybe some automations to create, to help tie systems together, we would do that. So a lot of like scripting, working with third party API's to bring in data to our main products, all sorts of work so that that was something that you know, I really cut my teeth having to work fast, pivot fast. And learn fast. And I really love that the variety was there, I wasn't working on any particular software product at the time, it was kind of just a mix and match of things. And additionally, what was really cool compared to more of a traditional software developer engineer role is I was exposed to the business side of things. So some sales and marketing, but even just from the sense of working with clients directly, so building up people skills, a little bit of I might talk through a technical white paper on a call, like we're having now. I remember when that was incredibly scary to me, this Junior kid out of out of school, you know, talking through to IT professionals about single sign on something or,

Greg Marine  
you know, whatever I can, I can imagine. Yep.

Matt Netkow  
Oh, it's so scary when you start out, right?

Greg Marine  
Indeed it is.

Matt Netkow  
And now that's like, full time job is being out in public learning, and public's doing a lot of speaking. So

Greg Marine  
it's definitely been a journey. So yeah, it's good to get those soft skills to be able to do that. Let's build those over those years. Yeah,

Matt Netkow  
yeah, I mean, it does. It didn't take years, for sure. I've definitely am more of an outgoing person, for sure. But regardless of that, personality, there's you there's a lot behind, you know, of course, building those those skills up and really being comfortable, because a lot of times, it's still nerve wracking to speak to others be interviewed on a podcast, whatever, you know, whatever. Yeah. And so that was really, really great, had a good exposure to that I liked working directly on solving problems and seeing that impact. Oftentimes, like on the phone, or again, over over email, we didn't have this kind of zoom setup. So that would have been interesting to really celebrate wins a little bit more with clients. Right? But absolutely, yeah. And then I moved over to a company called slalom, who does, I absolutely love them to this day, and spent a couple years there. And that was a little bit more dedicated engineering roles where they take on, you know, major, major projects and augment teams, engineering, resources and teams basically. So think about, really where that comes from and why they've been successful is, you know, every company is kind of being forced into becoming a software company, right as, regardless of the enter in industry, you have to compete with software. And so, you know, I worked with clients like Starbucks, who else I'm trying to think, well, some other little, little not as well known brands and things like that, but all kinds of customers in different verticals like manufacturing retail, that, you know, realize they're really just starting to build up their developer teams, so that that company was kind of neat, I would actually, before I would be more on the phone, but this, I would actually go on site and sit with other developers, with the development team, you know, for weeks, months, even years at a time for some of the projects. And so that was really fun. Got to, you know, kind of grow more into like a team lead and architect role, kind of guiding them. Because oftentimes, you'd have more, as teams are not, you know, you're juggernauts like Facebook or Google that you might think of finding talents hard, right? Because they're right there, they might be an insurance company out of some small town or, you know, some other spot and finding and attracting talent is hard in tech anyway. But especially so when you don't have that recognizability. So we kind of learned a lot of talent to those to those teams and things like that. And then I was, you know, kind of on the side, I've always loved tinkering with different with with software, right? Like, it's my software is my full time job and being a developer, but I've always enjoyed it as a hobby as well. So tinkering with different things, exploring different apps and API's building stuff on the side. And even over time, writing about it, right, so putting out blogs. I actually, believe it or not, I found in some of the slalom roles that I was liking, documentation more and more, which is we know software developers and Doc's are not always, you know, it's a necessary evil but not exactly.

Greg Marine  
Right. Exactly. Yeah.

Matt Netkow  
Have you done a lot of documentation work yourself, Greg in here.

Greg Marine  
Do not enjoy it. Yes, I have. But I do not enjoy that part. I like the building.

Matt Netkow  
Mm hmm. No, I understand. I do. But I found some what I was finding with some success with that is I would, you know, being deployed to these other teams and companies. We didn't really have any issues integrating or being like accepted, quote, unquote, by those teams, but at the end of the day, you will you were still kind of an outsider, right? You kind of had to even like as at a company level or individual level, there's everyone had different perceptions of why you were brought in, what your motivations are. You know, sometimes if you think about it, if you're a developer on the team, and you have other companies devs brought in, like, how does that reflect on you, you know, you could have some feelings there. And it's usually wasn't like a problem of their talent or skill or something, it literally was always, like, they just need more help, and more guidance on things. Right. So that's a side note. But where I was going with that, is they, I actually found that building up good writing skills, and the communication skills that go with that was crucial to some of my success there for being getting ideas heard, bought into being able to craft and summarize like, maybe it maybe it's an architectural decision, like let's go with so and so for an authentication provider, or even just some of the process, you know, how do we do code reviews, pull requests, things like that, you know, it's, if you try to do it one on one, like we're talking now, that works, maybe I convince you, Greg, but what about the whole team, right? And so stealing that, it's not always feasible to have these convos? Or have to go through the whole spiel over again. And then to management, right, it becomes exhausting when you're trying to drive change, especially like we were? If so, that kind of led me to love writing more and more. And I had on the side, over the years been working with Cordova and the web, stack JavaScript, etc, to build hybrid applications. Those are hybrid mobile, I should say. So iOS and Android apps. And that ultimately led me to ionic.

Greg Marine  
Very cool.

Matt Netkow  
Yeah. And kind of what's neat about that kind of technology spaces is I actually started more in the dotnet. realm. So building more, again, automations ASP. NET MVC websites that were more back end heavy and database driven, right. But going back a few years, I realized that there was this language called JavaScript that was really taking off. You may have heard of it. Yeah. Because I was going, you know, back in, I don't know, 2010 2012. That's a long time ago now. But not really. But yeah, it feels like it. You know, I love going to conferences and talking to other devs. And it was so much JavaScript content and things online with it. Twitter was starting up and, you know, getting more of folks in developers on that. And I kept seeing that and thought, like, wow, I really, I'm more of a back end person, but I should not ignore the web, you know, I should really build up those skills. So what ultimately led me did more and more JavaScript things and at work, trying to build more interactivity into my projects, and really started enjoying that, especially from if you think about it, the I love backends, and API design and things like that. But it's not as snazzy or sexy as building out a UI that someone might interact with, or complete a job or get some tasks done. So that can be really fulfilling to see that work visually. out there in the world. Right.

Unknown Speaker  
Exactly.

Matt Netkow  
Mm hmm. And so what I ended up getting into was I found this project called Cordova or PhoneGap, basically synonymous, that allowed you to use web tech and build mobile apps from them. And so speaking from that, kind of hobby mindset and kind of side project approach. And working alone, right, I didn't want to, I wanted to, I remember, I just gotten my first Android phone. And what blew my mind was the ability that you could potentially build an app for it, like write software for the phone. That was, you know, because up till that point, so much, so many of us had just built websites, etc, for desktop computers, right or lab era, but to actually, this potential to have something that you're holding and phones over there that you're holding in your hand and carrying it throughout the physical world was just I think, I don't know, it still blows my mind. If you think about it, you know, just, that's only been a little over 10 years that we've had the iPhone and everything that came from that probably Yeah, so just just incredible.

Greg Marine  
And be able to To use a technology like web technologies, and then like you mentioned Cordova slash PhoneGap, gave you the ability to write once and run it on either iOS or Android. Exactly.

Matt Netkow  
Yep. Yep. And the Cordova project basically is, provides that kind of native runtime layer provides the scaffolding for creating what those native projects look like. And the compelling part of that to me was, well, oh, gosh, I want to build mobile apps. I have an Android phone, and you know, great Android, I can build for Android. But I want to go on iOS to you know, I want to be on both and not have to learn Objective C, or swift on iOS, or Java and kotlin, whatever it is now, for Android, right? There's a whole, just so much to them. Even Of course, it's grown and grown and grown, like any platform, you know, the type of things you have to learn for them. Right. And so that was really compelling to me. So I built a number of apps, some of them did, all right, and, and really loved that technique. And along the way, came this company called ionic, based in who I had kind of just found, I think, through reading about Cordova, and just that hybrid approach, right, that was what they were about to, and I kind of kept them in my back pocket. I used remember not use, I read a bunch of their blogs and their thought leadership and always thought they were really cool. You know, they were doing really slick stuff. Unfortunately, I never had the bandwidth or just didn't make the time to try ionic was always in my as I told him when I was interviewing, um, I was always just around the corner from rewriting my app, and ionic and stuff. And it's like, oh, gosh, I hope they believe me and, and hire me. So here we are today. So I guess it worked. But what was kind of the turning point there is I've just really enjoyed this kind of app stack and writing, speaking, I've done a little bit of speaking at different conferences. And they had a position open up a couple years ago for a technical product evangelist. And it really, I remember I because I turned to my wife. And I was like, I think I found my dream job. Because they combined development, software development skills, with all these other skills that I've slowly been building up over the years, writing public speaking, to some extent, not as much, but interacting with communities and teaching other developers. And that was exactly what they were looking for. They had been they've been starting to, they have built up a over many years, a successful open source product there Ionic framework, which is a library and framework of over 100 Mobile components that help you build these these apps that are, you know, specially styled for Android and iOS. So really great for web devs. And something that you didn't have back when I was building apps. I think I used jQuery Mobile and some other other things. But they you know, the apps never really looked great. I wish I had a little picture for you. But you'll have to take my word on my design skills not being so hot. So

Greg Marine  
well as part of your company's history. You probably already aware jQuery was kind of something they started using what was drifta ko, and then they came up with Ionic framework. And that has now snowballed. It may have started out slow in the beginning, but now it has snowballed into a framework that can be used using react Angular view was your latest. And I'm sure there's gonna be more down the road. But so you know, they may have started with jQuery, but now they're using all the top three. And using components, like you said, over 100 components that are all styled for either Android or iOS using the tiller material designer, the iOS stuff, look and feel. And so now that snowball is, is becoming its own thing. And you guys are doing some great stuff, including capacitor if you should not really replace Cordova it's it's well I guess, in a way you have now but now capacitor is something that can be used to build to compile to use these on both iOS and Android, as native. Basically, web native, I think is the newest term that Max has coined.

Matt Netkow  
Oh, you caught that? Yep. I'm starting to write some of the messaging for that. So you're way ahead of the game. I like it. I'm gonna reach out to you, Greg, on ideas for that. No, no. Um, yeah, that's a great. That's a great summary. Absolutely. That's what I found so compelling about joining them. And this space is there so much. It's a friend Being a alternative approach to traditional native mobile development. Now using those native platforms, why should say as a, as a result of that, there's so many tools, techniques, education, so many different things that need to be done. So I, myself and the rest of team have a full plate constantly,

Greg Marine  
constantly, Jason, I can imagine. So.

Matt Netkow  
And you've probably seen, we've had a number of different products come and go over the years, and a lot of different innovations come out of it. And that's what makes it so exciting. Because what they what they maximize Ben, the founders, you know, found even many years back as you just had these, the web in terms of accessibility, the platform that is ubiquitous on mobile, desktop, tablets, whatever. The web has been around for multiple decades, and, you know, shows no sign of slowing down. Right. Right. Um, I mean, honestly, most I realized like, especially with streaming services, or even video games, all kinds of content, most of the time we're consuming and in a web browser, if you really think about it, you know, maybe there's some native apps that are to the whatever platform you have, but at the end of the day, it's such a great proven delivery mechanism for content, productivity and work. You know, really, the sky is the limit there. So we're, we like to say we bet on the web, because of all those things. I love that I love that phrase, I think it encompasses so much of what we do. Absolutely. It's, I never thought that I would be on this kind of switching stacks from back end front end. But it's just so much fun to be involved with that. And now, kind of what I'm doing today is just an evolved role. running our developer relations program. So just building up lots of content, partnerships, I do a lot of if anyone knows me at all, it's probably because of our The, the usually monthly webinars we run, teaching and promoting some of our products, and teaching different web development concepts. And it's just been absolutely rewarding type of role that I really enjoy and recommend for sure.

Greg Marine  
Well, Andrew, a very people person, like you're very approachable, they're easy to talk to. So hosting these, these webinars makes perfect sense for you and a few of the others that I've gotten to meet over the course last few years. And so kudos, you're doing a great job there. And I think you're on to the people that wrote a series of posts on the new view, you wrote a tutorial that's available on the ionic website, I'm not going to ask you, which is your preference of you react or Angular? Because in a way, that it's it's everybody's choice, you know, whatever stack you want to use. But now that you're in these three major things, what what do you find the biggest benefit to having that much coverage?

Matt Netkow  
Uh huh. Now? Well, it's, you know, we. So the quick background, there's the Ionic framework was originally built on Angular one, angular j. s, and then moved on to Angular two and different versions of Angular. And we love Angular, it's, it's going stronger than ever great ecosystem and community and Google's backing cannot be, you know, understated, is incredible. But what we're seeing is, the JavaScript and web ecosystem moves fast. There's new incumbents all the time, I think, you know, and I'm a fan of this things have slowed down a little bit. It feels like in the web development world in terms of churn and new projects taking over. So from a developer anxiety and my personal anxiety trying to keep up with learning, you know, that I think I'm, I'm fine with that. Honestly, I think it's great for innovation to have new tools and things. But so many of us, you know, we work regular jobs, and you can only have a life, and you can only do so much at a time. So I'm fine with that. But what we realized is, particularly react and view are growing. And react is really dominating today in terms of, you know, usage and developer love and whatnot. And, but to be able to support those developer communities, we just feasibly wouldn't be able to rewrite the framework from scratch to target those, right? It's just so many reasons. I mean, what chief among them is, we're a small company about while we've grown a lot lately, probably 5060 people and up. And even but even if we had a Google size organization, keeping up with all these frameworks would be really challenging. You know, like doing it right. You know, Putting out, we really pride ourselves on putting out high quality work, and giving the time and space and letting it breathe, you know, kind of given that time for that. So, long story short there, we ended up rebuilding the framework on using Web Component technology. So the base core of Ionic framework is built with web components. And the gist of that is we are then able to provide thin wrappers, right libraries on top of those, to provide syntactical sugar for those three frameworks. And what's great is we get to support and you know, from a community and business perspective, growth, and attract more developers, and devs, using us get the familiar tooling and syntax and all that stuff that they're used to, it's not some custom ionics way of doing react or view or whatever. It's just, it's just react, it's just view I love, I love being able to say that. Oftentimes, we've all used proprietary tools, especially in software is a consumer or a developer. And I've had frustrations with them being going out of under life support or just having to learn that specific skill set that you might not take to other jobs, or like part of your career, which can be risky, right for when time is limited. And what's great about what we do is in being focused on web development is it's all what I'm getting around to is it's all just modern web techniques. So you kind of asked like, what my favorite is, and I'm not, or you know, it is a contentious thing we get asked a lot about which of the three I should go with. And really, there's no clear cut answer there. It really depends on your background, and where you're at in your career and, and what your skill set is what I realized. So I, I built, I built our first app tutorial kind of guide that you go through, if you start in our documentation that walks you through, kind of like a lightweight tour of our products and all the open source, things we have. And having built it. Now, the same tutorial three different times for Angular, then react and view. Honestly, it, I got faster and faster at building them, which I was definitely a fan of from a workload perspective, but quality and just you know, being able to offer a great experience that there wasn't a hit there, there wasn't a sacrifice, because

what I'm finding, especially for I've been really I had I had done a lot of Angular development professionally at slalom, so I have a great larger background in that, and a much newer to react in view. But what I'm loving about both of those two is just a focus on modern JavaScript development techniques. So meaning, while they do have their own UI and library type of concepts and their opinion away opinionated way of building things, there's there's a lot of overlap, especially between react and view these days, would you would you agree, Greg, I know you're a react yourself, right? Is

Greg Marine  
that true or started out Angular moved to react last couple of years. And then now that view is supported by Anke, by ionic, I'm starting to delve into it. And I'm realizing views actually sort of like the, like the lovechild. Between Angular and react, there's a lot of similarities from the two that are baked into view that that actually, I love, I'm absolutely having a great time with the view experience. I haven't done anything that's out in the open wild for work or for personal yet, but I've just been playing around with it when I've had time. And I absolutely love your guys's support of them. Yeah, but like you were saying, you know, the tooling and everything. One of the decisions that was made by you guys a few years ago, was to Yeah, you've got a c li, you've got your own command line interface. But it's a wrapper sort of on top of the tooling available for Angular react and view so that the teams that are using it can actually use the angular react and view tooling without really learning anything. So that's one of the beautiful things about the way ionic has been evolved over the years is now you could take your ionic skills to any company or any client that's using any of those three major frameworks and and be able to use them without losing any time. Exactly.

Matt Netkow  
I admittedly it was right before my time at ionic I came at kind of an a spoiled sense because they were making all these great architectural decisions like web components, or in that case, embracing whatever frameworks tooling. So I kind of missed some of the more challenging days. It sounds like from when I talked to the have older versions of ionic. But yes, I it's my understanding that in the past, we had custom build scripts and tooling that we created to to augment some of the angular tools make them. I don't wanna say better, but just more robust for mobile development. That was our kind of main target use case. And exactly.

Greg Marine  
I was using it back then. So, yeah, yes, I know exactly I'm talking about.

Matt Netkow  
And what, what we found though, is, the more especially in the open source world, the more you have to well, the more ideas to, you know, thought, leadership, whatever, the more great stuff you put out into the world, the more folks you attract, but the potential drawback there is, that's more to support from the software,

Greg Marine  
exams,

Matt Netkow  
community issues, triage, whatever. And again, when we're, when you're a small team, it's very easy to get overwhelmed. Even even large teams, I mean, it's just it's really, I've tried to say this gently before, to folks where it's just like, gotta have some patience. Sometimes, because, you know, it's, it's a potentially a million developers to one, you know, at that scale. Regardless, if you're like, us, or Microsoft or something. And, you know, we we're not robots. So, you know, especially with development work is hard. So it takes time to get really quality answers and figure out issues. So long story short, I think the those custom tools and scripts were hard to maintain, as Angular would change, things would break, for example, they'd have to like patch things or make it work with new versions. And with this new kind of mantra, where we're use under, we might wrap them in some special commands and put some sugar on top and do some mobile specific things. But yeah, at the end of the day, it's it's just using their CLS under the hood. So with with full, you can see the output of what's going on as well. So there's really full transparency. So like when I was learning react and Vue, you might I might not necessarily know, what create rat react app or web pack is really are what it's doing. But at least it gives you a starting point to to troubleshoot, sure. And find answers in a in a supported way. Because it's not the ionic web pack something something, it's, it's just the official one. And we're leveraging that. And that also means when you're encounter challenges, when you're isolating and debugging issues, it's really easy to quickly divert like, well, is this an Ionic framework type of issue is your Cordova capacitor one, or this tooling? Right? And modern web development has gotten very complicated. So that is very important these days, because honestly, I don't know if you agree there, Greg, but half the battle seems to figuring out issues is like, Okay, what are who is causing the issue? Is it me, the developer, or is it my tooling? The browser, my mobile device, like iOS 13, versus 14, or something like all these different layers? And yeah, it makes for? There's no good answers there. Because it's still challenging today, and probably will be for ever,

Greg Marine  
honestly, honestly. Yeah, look, the markets kind of fragmented when it comes to the amount of devices that are out there. And of course, the versions, like whatever version of Angular or react or view you're using at the time when you first start a project, and then have an upgrade along the way. Of course, some of that's getting easier to upgrade. But of course, there's going to be new challenges tomorrow. So yesterday's challenges, or today's solutions, and so on. So

Matt Netkow  
that's true. Yeah.

Yeah.

Greg Marine  
So yeah, I thought that's one of the things I think that goes along with that as capacitor was created to solve a problem a little while ago. And then now, in 2021, Cordova support ended. capacitors now sort of becoming the go to for hybrid, or web native development. So you know, tell me a little bit more about what capacitor does for the developer. Sure, sure.

Matt Netkow  
Yeah. So as you kind of mentioned, it's a, you know, something that, you know, over time, so we had built up a really great UI toolkit with Ionic framework. We had our own. That's a whole nother topic. We have a web component compiler and builder called stencil that helps us build that framework. So again, lots of lots of tooling on To the hood, or more open source work there, we have a mobile ci CD cloud service called app flow that helps you automate the process of going from idea to the app stores and, you know, submitting builds and native builds and things like that. And we were using Cordova for many years, great project, love the team, we contributed back to it even to this day, and an open source fashion. And but what we were realizing is as a, as it was something that was we have some influence over, but not part of our, you know, kind of suite of offerings. There was challenges there, which is getting things moving features, fixes, stuff like that. And as well, as, you know, I think it was released initially in like, 2008 or so. So, you know, over a decade, it's it's definitely a, it's been around for a while. And, you know, there's, there's, of course, challenges from a legacy perspective of like, you know, taking on modern tooling, different, you know, of course, let's see, that'd be 12 years or so that's a huge, huge amount of time in terms of the software development world, right. Six months, it could be a lot of time, let alone 12 years. So Right, exactly. really reflecting on it was, you know, we, it was a hard choice. You know, do we continue to put all of our efforts into Cordova slash phone gap, or do we do our own thing, and ultimately, that's, you know, kind of spinning off into something new and different was what we went with. And it's been, actually, some of the, especially the last year or so, has been growing like crazy. It's been quite a ride, because the the adoption and excitement from the community is really palpable, in terms of just the the love out there. So if anyone's used it, we really appreciate that and appreciate all the feedback and whatnot. But it what it allows us to do is embrace more modern tooling. And, you know, essentially what that means is you, you take your ionic app, or really any, almost any web or single page application app, those are really great for that, and, you know, take that code and bundle it into a native app. So at the end of the day, for your end users, it's a native app that you can publish on the App Store. So it's, you know, discoverable there. And the bonus of being built with webtech is you also can build a progressive web app and run it like a web app or site. So naturally, there's difference between those platforms. Some of that is, you know, responsive design wise is handled for you with different breakpoints and the way our components style themselves automatically across those different form factors and platforms. But ultimately, what capacitor is meant to do is just provide that native layer and that container to publish on the different, you know, really take your skills and publish them on to iOS and Android.

Greg Marine  
And to give you a common API between all those two. So you can also use a camera API on a desktop, or mobile, and it's one API that you've talked to, from your app standpoint,

Matt Netkow  
definitely my favorite part because a lot of folks that are coming to like exploring this technique where we say, we make a lot of promises, right, we say, one code base and multiple platforms. And you know, I understand it's, it seems a little a little dicey, right? I'm offset if you don't, if you're kind of new to that technique. And while I'm certainly biased have being part of my job day in day out, it is the real deal, because the the web platform has evolved so much in terms of the features like Bluetooth notifications, the camera, you mentioned, all those hardware features we can access now, and have been able to, for many years now they've just keep advancing and the browser platform gets better over time. And as you said, for some of them, we have core API's or plugins, that ramp and give you that one API, that one interface into those different native functionality, or you can build your own, which is really cool. So one of the things I love to call out in some of my demos, or when we're talking to companies is is we can you know, the proof is in the pudding sort of thing I can show you doing a lot of open source work has been a lot of fun, especially coming from that more of my corporate background where none of my work will ever see the light of day, or it's just not even probably in production anymore. open sources is learning in public, it's, it's, it's, you know, the proof is right there you can for better or worse you can validate our claims or anyone's as to the validity and how easy it is to use and all that kind of stuff. It's it's All out there for you. So one of the things I love to do is pull up some code samples, like with the camera, and show like, Hey, we're not actually writing platform specific spaghetti code, which would be a nightmare. I think that's what a lot of folks think of is like, okay, yeah, they say, we can write for every platform, but is it like, you know, if iOS go to line for, you know, run this block, if Android if web etc. And while you certainly can do that, and occasionally you might have to, for variety of reasons, you know, really just your business logic needs to do different things, or there truly are differences that are Stark in the platform offerings. It's pretty rare. It's, it's fairly rare. So one of the things that I love that, really that look on, when I when I've been back in the old days before, fantastic, where I could be in person, seeing someone light up where they could run their, their, their ionic app on their device, you know, and just a few steps and see that interactivity like what that tutorial I talked about, is fairly powerful. And I think, fairly convincing, for sure. But that's capacitor in a nutshell. And, you know, it's something that we, we've seen, just take off this past year heading into 2021, we're going to be doing even more with it. We have capacitor three ruptor, version three now coming, hoping to start a beta soon, which we are, haven't really been talking about too much. But that is, you know, really just a lot of like performance optimizations, they're getting the bundle sizes of the code that you ultimately shipped to your users down. So that's kind of something that benefits all developers, improve tooling, we're always we've we've, in addition to being the web company, or based on that we do so much with tooling, and try to make that like a really great developer experience happen with these, you know, when you're building these types of apps, so there's always more we want to do with that. So last, last to come there.

Greg Marine  
And you'd mentioned a couple of other products that you that you guys have just kind of in passing. First one of those being stencil. Now stencil, you basically can build these web components. design systems even tell me more about stenzel. And how it can benefit potential clients.

Matt Netkow  
Yeah, and so that's a really, really neat stuff. So the idea behind it a they're called, I think, officially custom elements is the is the official name. I'm not a huge expert in this, but I think I can explain it well enough. But you know, the idea here with a web component is the web gives us buttons forms, all these UI controls out of the box, right, that are built into it. And, you know, at the end of the day, they're just HTML tags. They're just components that you use a cross platform and that sense of you know, all the browser's support them and whatnot. So I imagine someone at some point said, why the browser gets these, but why don't we, like other companies, other indie devs? Get them? Where we can, again, instead of having to rewrite them in every framework, like the React specific one, jQuery, you know, whatever. What if we could use them across different platforms and different browsers. And so that's the idea there, you're essentially able to publish your own UI components and element tags and just drop them into your project like you would a button, or a form or radio buttons, all that kind of stuff. And to your developer, as the end user, they don't need to know the details or see the implementation, they can just import and consume that component right on the page. So that's really the secret sauce to how we rebuild Ionic framework, as we've said, For the last time, because they're using this web component technology, and stencil specifically is theirs out of the box, the browser gives you custom elements slash web components, a way to build them. And as we've said, we're pretty fond of, you know, layering more tooling, making that developer experience, you know, we're very opinionated, hopefully in a good way. So what essentially what it does is just adds makes the process of building web components easier. If I had to say at a nutshell, this, the details of that I'm actually I'm actually as well versed to talk about it, but that's kind of how that how that works. And it's what we end up using to build Ionic framework, so What I love about us is we have this feedback loop, and dogfooding of our own products to build on our products. So, you know, some companies are kind of like siloed different, different offerings, but we really use day in and day out our own products to make everything better. So it's really quite incredible to see both from myself and like marketing slash dev REL to give that feedback and, and do that, but also our developers, in and out interacting. And, you know, making things kind of be more cohesive is always the goal.

Greg Marine  
Yeah, that's a that's quite important, especially for someone such as myself, a developer, or a company that's hiring developers to have those kind of tools, and then the fact that you're dogfooding it, if I were to come to you, for information on how to use it, you know, your company, you guys can easily talk about it, because you're using it yourself. And then another sort of a big thing that's happening right now is ci, CD, continuous integration, continuous delivery. Now you have app flow, that's evolved over over some time. But now it's quite a strong tool to allow the ability for teams and companies to build their apps and get them delivered to the app stores for Google Play, and the Apple App Store. Tell us a little bit more about that, and how that benefits companies besides what I just said,

Matt Netkow  
Sure, sure. So typically, you know, you build your ionic app, you'd create it for and deploy it to the app store's, you know, kind of manually to iOS and Android, the Play Store and App Store specifically. And there's a, you'd use the native IDs, development environments for those. And and Apple's tooling, Google's tooling for that to upload the binary into the your Play Store, your Google Store, right. And that works just fine. But at scale, if you're on a team, or a large, you know, really, of any size, a spot, but especially larger companies, you know, doing maintaining those builds, and especially the native binaries is really challenging. Because you have, you have different versioning, you have to account for, and what if you have, you know, Bob and Sally submitting different you know, what they think is their right, the right app to the app store's like you could imagine there'd be a disaster there if the right features or the wrong features, getting out. Maybe things not being coordinated well, between developers, QA, project managers, and whatnot. So the idea behind Apple is to kind of help scale that last mile delivery to the app stores. So and really meant for certainly useful for even even hobbyists or solo devs, like automating their workflows, because of course, time savings in any part of the development process have just monumental payoff, right. So that's definitely important. But we really see the impact with you know, teams, of a handful of people and up. Because what you get essentially as a centralized hub or dashboard, where you can coordinate your iOS and Android releases, and builds. And then we also have some cool things with different branches and channels, for example, where you can we hook right into your GitHub, get lab, get repositories, and build the code for you deploy it, and whatnot, and then unlocks a lot of different options like setting up different environments. So you know, a lot of teams will have development, staging, QA, production, all those things, and you can keep your mobile apps moving through those stages without kind of kind of fumbling through that or having mistakes come up from someone owning it manually, you know, you might have like, Bob is the person that submits to the App Store and has to manage the keys and certificates, which is like a security concern, or just the bills themselves, right. And one other kind of neat thing that that unlocks is we have something where it's the it's called the live updates feature where you can actually submit and deploy changes to your app without going through the app stores. And how that kind of works is we it's it's absolutely allowed by you know, we think of Apple is kind of the most strict when it comes to App refuse. Putting it lightly. And what's kind of neat about that is because we're our apps are built on web technology. You can ship web updates, web based updates to apps, because of just the way that the architecture and the way they're design. So that's your CSS, JavaScript, business logic and even images, you know, kind have that kind of content, what, what we're seeing teams do it. And the impact of that is substantial. Because if you think about it, we, my favorite example is I actually could really have used this feature back a few years ago, when I had a Cordova app and building some of these hybrid apps. I had

an app out there that used a third party provider to sign in and connect your account from them. And I was on vacation. And they changed. They changed one of the login URLs, they maybe the hash or some one of the properties was renamed, I think it was probably a mistake, or maybe, you know, they didn't version it right. And it broke my app, because I was pointed, you know, the hard coded to whatever URL and that whole author, excuse me, authentication flow. So I had to scramble, pull out the laptop, which, you know, when I was on vacation was not not the most fun thing, and submit a fix, and deploy it, especially to Apple. So Google Play, updates are a lot simpler, they're a lot more lacks in terms of deploying and releasing apps in terms of their guidelines and review process. But Apple is notorious for taking days or weeks to let your updates through. And this was just more of a personal project for me. I wasn't but not like my company app, being down, but I still got emails about it. I still I it was a paid app. So I was losing money, you know, and other other concerns there. Oh, I mean, not a big deal, because it was like a side project. But the point is, if I had had live updates, I could have shipped that change. Because really, it was just a simple parameter that I needed to change. That was also what really was irritating is, you know, sure the company changed something and probably shouldn't have done that. But that I mean, what real What better real world example. Yeah, there's humans involved, right, we all make mistakes, or like, maybe I missed, maybe I missed something I actually don't know. But it wouldn't have mattered because I could have fixed that bug, you know, within honestly, 1010 minutes or so. And then users get the update. And they're none the wiser. What happens is, when you pull up the app, there's a bunch of different options, but you can essentially download it in the background and then apply that new code, essentially, effectively patching the app with the new version, without going through that review process. And I love that because you know, if you're just really fixing a bug, maybe running an A B test, an experiment that you want to have beta users opt into, doesn't really need a multi day review. I mean, especially in these days, when we're trying to move fast, and company revenues on the line. And your velocity is it's just a no brainer.

Greg Marine  
So an app flow does all this for you. That's the power of app flow.

Matt Netkow  
It is Yeah. So I don't know, I just always love sharing that story. Because they we've all even if you're not like I'm not a DevOps person, I don't have that background. But and that's another reason to go with a platform like that is if you don't it's a it's an entire discipline, there's so much you can know, from that over, especially the past few years, the tools that have built up. So the other aspect is just really putting that responsibility on our shoulders, you know, to keep up the the tooling, the support for all that kind of cloud back end stuff. Let us do it and just focus on building your app, which is plenty of work for anyone that's been a software developer for for a day or so well know that that's you always have enough to work on, let alone deal with infrastructure. And these App Store releases, which are like, as I said, can be pretty hairy to deal with.

Greg Marine  
Absolutely. Well, Matt, I want to thank you so much for being on the show today. And thank you so much for your insight and, you know, highlighting all these wonderful tools from ionic, and I wish you the best of luck being a dad as well.

Matt Netkow  
Yeah, yeah. Thank you so much, Greg. had a blast. Cheers. Cheers.

Greg Marine  
Thank you for listening. This has been talking tech

Twitter Mentions