Native PHP w/ Simon Hamp

00:00:06.68
Chris Morrell
All right, welcome back to Overengineered, the podcast where we ask the question, what's the absolute best way to do things we have a perfectly acceptable solution for? it ah Today, I'm here with Simon Hamp, and we're going to be catching up a little bit and talking about native PHP, which is something that I have been just sort of idly following along ah just sort of on social media about.

00:00:31.84
Simon Hamp
yeah

00:00:33.29
Chris Morrell
And very curious about, so I'm i'm hoping that we can ah get into some some interesting places there. But ah before you do, you want to say a quick hello and all that?

00:00:46.24
Simon Hamp
Yeah. Sure. Hey everyone. I'm Simon. Uh, I'm as Chris has kind of suggested, I am one of the creators of native PHP.

00:00:57.74
Simon Hamp
Um, but I am a programmer. I have been doing that for a very long time. Too long. That's why I have gray here and gray here. ah So yeah, that's enough about me for now, I think.

00:01:10.30
Chris Morrell
Yeah, when did you when did you start programming?

00:01:13.32
Simon Hamp
um i Technically, I would like to say I started programming when when we got our first computer when I was a kid and I was about nine years old.

00:01:22.56
Chris Morrell
Sure,

00:01:23.61
Simon Hamp
So that's nearly like, well, it's 30 years ago. um Because when we got a computer when I was a kid, the only way to interact with it was through the command line.

00:01:34.02
Simon Hamp
And that's kind of programming, right? You're typing commands and the computer's doing stuff.

00:01:38.41
Chris Morrell
sure yeah, that's fair.

00:01:38.87
Simon Hamp
But I mean, it wasn't technically, you know, there's going to be a lot of pedants that say, no, that's not programming.

00:01:41.64
Chris Morrell
Yeah.

00:01:46.03
Simon Hamp
So I didn't really get into like writing programming. code that was going to run, um until I was in my teens, like 16, I think I started writing a little bit of PHP.

00:01:59.08
Simon Hamp
Um, I'd done dabbled with basic and things before that, but never with the intent to get any sort of professional or anything, you know, not really doing stuff, just pottering around.

00:02:10.97
Simon Hamp
And, um, yeah, I sort of quickly Went from doing an it job where I was doing a bit of learning of programming in the background to full blown, like this is going to be my career.

00:02:24.56
Simon Hamp
So within two years, it was like, I was 18. I switched to doing programming as a career.

00:02:32.55
Chris Morrell
you Did you start with ah basic basic or visual basic?

00:02:32.47
Simon Hamp
So yeah, it's been, it's been a while.

00:02:38.24
Simon Hamp
Basic, basic. Yeah.

00:02:39.38
Chris Morrell
Oh, wow. i I have ah a deep fondness for visual basic still. i In a lot of ways, I think, ah you know, I...

00:02:51.14
Chris Morrell
There's something that's still lost, beauty of dragging a button onto a window and double-clicking it, and you just write the code that happens when you click the button.

00:02:54.04
Simon Hamp
they Yeah.

00:02:57.88
Simon Hamp
It was super approachable.

00:03:01.94
Chris Morrell
and

00:03:02.56
Simon Hamp
Yeah, it was beautiful.

00:03:03.43
Chris Morrell
you know In a lot of ways, ah the needs of modern applications ah far um you know ah exceed what's possible with that kind of ah very very basic interface.

00:03:12.21
Simon Hamp
It surpassed all of that, yeah.

00:03:17.13
Simon Hamp
it

00:03:18.71
Chris Morrell
But I see a lot of, I don't know, I see a lot of people building things that all feel like in some way an attempt to get back to that it's a little bit, you know?

00:03:29.37
Simon Hamp
It's a really good paradigm for people. You know, it's like the Excel and MS access was like one of the first kind of proper pieces of database software that I ever used.

00:03:41.21
Simon Hamp
And you know, sort of, doing a load of stuff in Excel, and then you you go, i need something with a bit more structure and definition. And then somebody goes, oh have you heard about databases?

00:03:49.47
Chris Morrell
Mm-hmm.

00:03:51.62
Simon Hamp
And you're like, what? No, what's that? and Well, I had, but you know it was like, file maker or something and i didn't have a Mac, you know, everybody was using Windows. So it's like, well, access is this thing.

00:04:05.89
Simon Hamp
and Yeah. And then you get into all of that world of structured data, which was way more interesting. um But that was the bit for me that got me onto like the GUI stuff because it was like, you've got the database, but then you need to attach buttons and things to it.

00:04:18.35
Chris Morrell
do

00:04:26.08
Simon Hamp
And that's kind of how I got into the like the visual basic side of stuff. But no, before that, it was all just like, you have to draw your own lines, figure out the little algorithms to draw lines on the the screen and stuff.

00:04:34.45
Chris Morrell
Yeah.

00:04:39.20
Simon Hamp
That's crazy. Yeah.

00:04:40.39
Chris Morrell
man

00:04:42.80
Chris Morrell
Oh, man. So now how long has native PHP been a thing that like you've been involved with? like like when did When did that start? It's been a couple of years now, right?

00:04:54.08
Simon Hamp
Uh, yeah, uh, definitely at least a couple of years. So I, I mean, I kind of told the story a few times, but it might, it might be different every time I tell it.

00:05:05.29
Chris Morrell
Ha ha ha ha

00:05:05.94
Simon Hamp
So my memory is a bit fuzzy. Um, but basically ah I was working for a company in the UK, so I'm from the UK and I was working for this company in London and a really cool startup that was doing like hardware stuff that was really interesting.

00:05:20.85
Simon Hamp
But whilst I was there, we were kind of reaching for tools that could let us build desktop applications that could wrap up some internal tooling and maybe even provide some tooling to our R and D teams.

00:05:32.33
Simon Hamp
So they could take physical goods quick equipment out to um essentially beta testers and just get people plugging devices into phones or laptops and

00:05:40.19
Chris Morrell
Mm-hmm.

00:05:46.78
Simon Hamp
using it in its kind of prototype stage and recording data for us and then passing that back to us. And we explored a few options and it was, you know, we're using PHP on the server side and we're looking at, we're using Python for ah machine learning and all of these other things.

00:06:02.23
Simon Hamp
and And really neither of those, Python's a bit better, but neither of them are really good at kind of getting you up and running with like gooey GUI, graphical user interfaces.

00:06:13.61
Chris Morrell
Sure.

00:06:16.31
Simon Hamp
um Python is a lot better. There are ah really good tools, third party tools that make that easier. And we ended up using some of those, but because I went so far down this road of like, how do we do this in PHP? And I'm like, i I do really want to do, you know and I'm thinking back.

00:06:35.82
Simon Hamp
I've wanted to do this in PHP for a really long time. and I mean, I've been using PHP for 20 plus years and it's like, wouldn't it be so great if I could just tap those skills and build apps for over there, you know, that aren't like stuck on a server and

00:06:53.58
Chris Morrell
Yeah.

00:06:54.77
Simon Hamp
it's yeah, that led me down this path that bumped me into some wizard called Marcel Poziot who, um, only, only by like via Twitter, not that we actually spoke.

00:07:09.39
Simon Hamp
Um, but I saw some of the stuff that he was doing in that world for a while.

00:07:14.54
Chris Morrell
Mm-hmm.

00:07:14.66
Simon Hamp
Uh, this is probably going back six years now and wow.

00:07:21.02
Chris Morrell
wow

00:07:21.82
Simon Hamp
Yeah. I, I kind of latched onto something that he'd posted on Twitter and I was like, right, i'm going to save this. I'm going to come back to it when the time is right, you know, and and that time wasn't quite right.

00:07:34.15
Simon Hamp
And I, I left that job at the end of 2022. was like,

00:07:38.80
Simon Hamp
and i was like the time feels right to pick this project up again and, and see, you know, and I went to see if Marcel had done anything more with it, um, and see, you know, if they solved any of the problems that he was kind of bumping into kind of, it wasn't in directly related to this space, but tangentially close to it.

00:07:58.60
Chris Morrell
to

00:07:58.65
Simon Hamp
And, um, I just went down the rabbit hole for a couple of months. I think it was like November, 2022. And I sort of came out of the cave, you know, bleary eyed.

00:08:11.74
Simon Hamp
well And in, in April or March of 2023, was like, this thing actually works. You know, I can, I can build an app.

00:08:23.76
Simon Hamp
with this that I can throw on another machine and, um it just runs. So this was like the, the birth of, of what became native PHP. And funnily enough, Marcel, like within a day of me posting about it on Twitter, he he messaged me and he was like, Hey, this is really cool. You know, like I was doing something similar and, shall we join forces? And then, you know, I had a call with him and, and native PHP was born and that was it. and so yeah, it's been, it's been a long time in the making.

00:08:53.98
Simon Hamp
But really it's been since 2023 that it kind of properly kicked off. So a couple of years now.

00:09:01.18
Chris Morrell
Yeah. Yeah, I mean, and I think like one of one of the things that's really interesting to me about the concept of native PHP is like, it's like regardless of what is arguably the best ah best tool for building a GUI,

00:09:20.49
Chris Morrell
um If you no php ah you know the fact that maybe Swift is built for it you know and Swift UI exists if you want to build like ah a Swift app doesn't really help you a whole lot ah if you want to get up and running right away.

00:09:32.59
Simon Hamp
Yeah.

00:09:37.96
Chris Morrell
right and so This idea that like I can just translate the skill set that I already have

00:09:38.88
Simon Hamp
Yeah.

00:09:45.05
Chris Morrell
over to something really quickly is is really appealing and very interesting to me. um

00:09:53.11
Simon Hamp
yeah

00:09:53.32
Chris Morrell
On the flip side, I think like i have had I've had some hesitation myself because I find that especially for... Well, this is true. I don't know. I find that for like native apps,

00:10:09.69
Chris Morrell
um a lot of the problem space tends to be in user interaction, which is not necessarily where PHP shines.

00:10:16.71
Simon Hamp
Yeah.

00:10:22.10
Chris Morrell
And think because I am very comfortable with react, um, I find myself leaning towards the sort of like react based ecosystems. Um, you know, whether it's a expo and react native for mobile or, um,

00:10:36.59
Simon Hamp
yeah

00:10:38.02
Chris Morrell
you know something like just building a React app with a Tori or Electron backend.

00:10:43.10
Simon Hamp
shown

00:10:44.49
Chris Morrell
um And you know that's generally served me well, but and you know it falls apart in the same places that React apps always fall apart, which is once you kind of like enter into certain areas of business needs, like there's just not a,

00:11:05.27
Chris Morrell
Either there's not the like canonical solution and you have to start ah sifting through ah thousand different options to try to figure out you know which one's going to be around in two years.

00:11:08.37
Simon Hamp
Mm-hmm. Yes.

00:11:18.61
Chris Morrell
Or or there's just not a solution at all that's really acceptable or it's solid. um

00:11:26.49
Simon Hamp
Yeah. there wow there's There's loads to kind of... I could dive into each one of those statements and and go... for probably an hour or more on each one of them, which I shouldn't do right now.

00:11:36.92
Chris Morrell
Ha ha ha ha ha.

00:11:40.13
Simon Hamp
But I think, you know, the the premise of this show ah probably sets the scene quite well that, you know, it's it's about building things that we don't really kind of need.

00:11:50.45
Simon Hamp
And I would say, you know, we don't need native PHP. we don't You don't need to use PHP to do this. But the what I've found, um you know, i've I wanted to.

00:12:03.41
Simon Hamp
I wanted to have this tool that leveraged the the skills that I already had because I've spent a lot of time investing in those skills and kind of ah maybe not intentionally always, you know, picked up PHP because it was convenient and and then I've run with it for so long now that I've got all this experience in PHP and now Laravel as well, building rich applications that run via the internet and they rely on

00:12:03.93
Chris Morrell
yeah

00:12:33.46
Simon Hamp
a whole suite of technologies. You know, it's not just one thing. I use Tailwind. I use Inertia. I use React. I use HTML, CSS, JavaScript, you know, all everything that's built on top of those.

00:12:49.76
Simon Hamp
that is the That is the way that I i build applications. and And I want to be able to do that for these other platforms.

00:13:00.49
Simon Hamp
And what I've been kind of surprised about is that actually so do so many other people.

00:13:06.67
Chris Morrell
Yeah.

00:13:06.66
Simon Hamp
Like they, I think a lot of people see it the same way. It's like, yes, there are all these other tools out there and they are all good in their own right. And they've all got, you know,

00:13:17.91
Simon Hamp
um the levels of support that we require to determine whether this is a healthy investment from a business point of view for the next three to five years, you know, the kind of typical cycle um and whatever other, you know, like it's got feature complete for the stuff that we think we need right now and the stuff that we think that we need in the near future and the more distant future.

00:13:41.05
Simon Hamp
um But the fact is you never know all of the stuff that you're going to need right away. And you don't know the true cost of running a piece of technology until you actually start running with it.

00:13:55.16
Simon Hamp
um And from from that angle, you know I kind of view it as, well, having this in PHP is just another option for teams, individuals, because now they can use something that they already know.

00:14:09.78
Simon Hamp
And if you know PHP, if you know Laravel, being able to do this stuff with that ecosystem potentially opens some doors for you and it kind of pulls your comfort zone around this new section of technologies that you weren't able to have before.

00:14:27.99
Simon Hamp
Because if you didn't already know something like React, React Native, Flutter, or Swift, and Kotlin, then you would have to go outside of your comfort zone as a business or as an individual to go and pull that technology into your comfort zone.

00:14:28.24
Chris Morrell
Yeah.

00:14:45.76
Simon Hamp
and um and And that's what, like, native PHP is just kind of I don't know, one of those video games where you just like extend the reach of your land, you know, around the the castle that you've just destroyed.

00:14:58.25
Simon Hamp
It's kind of doing that for you, ah hopefully. ah And yeah, I think ah it's it's just good. It's good for PHP as a language to have the optionality there. And you know, I don't want to say it, but people do say these things about PHP and its viability. And I just like my experience in in my 20 years of using it is that it's not been like that at all. It just keeps getting better and better.

00:15:28.25
Simon Hamp
ah And it's kind of exciting from personally to hopefully be seen as being involved in and helping it get better and better. So.

00:15:38.45
Chris Morrell
Yeah. So can we, I i have, ah I think I know, or I think I generally know how it works, at least on the desktop side, but I'd like to, I'd like to like quite ah check, check my assumptions here before going too far.

00:15:49.57
Simon Hamp
Yeah.

00:15:56.99
Simon Hamp
and

00:15:59.06
Chris Morrell
So can we talk a little bit about the like nuts and bolts of how, how it actually works? um

00:16:05.09
Simon Hamp
Yeah.

00:16:06.61
Chris Morrell
Here's my, i'll I'll say what I imagine and you correct me. How's that? So,

00:16:14.13
Simon Hamp
yeah

00:16:16.46
Simon Hamp
I'll try.

00:16:19.69
Chris Morrell
oh you know, there are two projects on the desktop. There's ah there's Electron and there's Tori. And it seems like NativePHP, you're working with both of those projects, right? Like you can use either of those as the framework.

00:16:35.13
Simon Hamp
so that is the plan um I'll say right now, Tory has been kind of put to one side. we

00:16:43.87
Chris Morrell
Okay.

00:16:44.42
Simon Hamp
So when when Marcel kind of came to me and and joined forces and and he said, he said this thing about, I've got a talk at Laracon in 2023, you know, this is the, the now the native PHP talk.

00:16:57.53
Chris Morrell
Yeah.

00:16:57.53
Simon Hamp
But before then, it was not going to be native PHP at all. Like he was, you know, three months away from giving this talk or something. And he said to me one day, I'm going to ask Taylor if I can change my talk to native PHP. And I was just like, oh, my days, what?

00:17:13.28
Simon Hamp
And because of that, he sort of drove this whole thing forward with Electron, which was something that he's very familiar with. You know, Electron is a

00:17:20.70
Chris Morrell
Yeah.

00:17:21.67
Simon Hamp
It's quite stable. ah I know people don't like the fact that it's huge because it's shipping a browser all the time and there's all these performance quirks and what have you. But um I think, I believe Tinkerwell was built on Electron.

00:17:35.66
Simon Hamp
um

00:17:36.73
Chris Morrell
Yeah, not originally, but it is now.

00:17:36.72
Simon Hamp
And so... Sure. So, um, yeah, he's got a lot of familiarity with this and I don't doubt that he'd already put some of the conceptual ideas for what we ended up building together yeah before, um, what we did.

00:17:53.35
Simon Hamp
So he sort of threw this stuff together and it was all really robust, kind of robust and um working well. Um, on Electron. and And I kind of started off with, I want to use Tori because it's like the new kid, it's fresh and it's doing all this stuff in Rust, you know, like a new language, shiny. ah And um ah basically I just, I kind of got,

00:18:21.79
Simon Hamp
to a point where I'm like, I can't do rust well enough at the moment to make this viable and quickly enough. And you know there's ah there's a lot of work just to do on the electron side. Marcel's been super busy with herd and Tinkerwell and other products that you know the beyond code team are working on, which is completely understandable.

00:18:41.22
Simon Hamp
And this thing being like fully open and and free. means I've got to be really cautious about where I put my time. So I said, okay, Tori, one side, ah let's focus on the electron.

00:18:50.29
Chris Morrell
Sure.

00:18:53.96
Simon Hamp
So we've got electron, but we'll talk about this in a little bit, but I think there's another option that will also come up. So yeah, but electron, let's just focus on that for now.

00:19:02.64
Chris Morrell
Okay, interesting. um

00:19:09.18
Chris Morrell
Okay, well, I mean, I guess that gets it sort of ah the next question that i was gonna ask though, which is, um you know, so PHP, right? PHP is,

00:19:21.65
Chris Morrell
fundamentally written to run server applications, right? Like the primary interface that PHP, I mean, originally, right? ah

00:19:29.48
Simon Hamp
Yeah.

00:19:29.76
Chris Morrell
the The primary interface that PHP has is the server API, right? That's like

00:19:35.69
Simon Hamp
Definitely.

00:19:35.93
Chris Morrell
um how ah how input and output is kind of like interpreted by the actual like PHP system, right? I'm pretty sure that's true.

00:19:46.31
Simon Hamp
Yeah. and Fundamentally, yes. I mean, it's kind of really the two now that you've got the CLI. So it's just expecting the argv, argc stuff, you know, environment variables, and I can go and run this script and I've got access to all of that stuff.

00:19:55.06
Chris Morrell
yeah

00:20:06.99
Simon Hamp
And then the server API SAPI kind of approach, which is... i'm going to I'm going to expect input from a few different places. I'm going to expect input in maybe the body of a document that comes into, you know, as a request into the server.

00:20:23.49
Simon Hamp
And and I'm going to expect input from headers.

00:20:24.56
Chris Morrell
Yeah.

00:20:26.33
Simon Hamp
And, you know, so the basic building blocks of a HTTP message is kind of where PHP started life, right? As you say, it's ah

00:20:36.08
Chris Morrell
Right, right.

00:20:37.23
Simon Hamp
It's built for the web. and This is kind of where we always go back to PHP was built for the web. That's entirely why it's like that.

00:20:45.14
Chris Morrell
So I can picture, like if i were if I were kind of like naively trying to build something like native PHP, I can picture an approach where I essentially say, okay, we're essentially going to ship a PHP server that just lives side by side ah next to one of these like application container systems, right?

00:20:53.25
Simon Hamp
Hmm.

00:21:06.22
Chris Morrell
Whether it's Electron or Tori or whatever else there is, right?

00:21:06.97
Simon Hamp
Mm-hmm.

00:21:10.47
Chris Morrell
It's like essentially just um there's a web server that's bundled with this application and the application essentially just makes HTTP requests to that server.

00:21:23.52
Chris Morrell
um i would imagine that and and that would probably be the first way i would approach it and then i imagine that over time ah the the need for more um sophisticated sort of like interaction between the browser event loop and the quote-unquote server would mean that i'd want to find

00:21:23.61
Simon Hamp
ye

00:21:52.17
Chris Morrell
some sort of deeper integration between, you know, because ah whether it's Electron, which is using like a node process in the background or whether it's Tori, which is like building a, um, Rust application, you know, both of them are ultimately, implementing some sort of like RPC system, right?

00:22:06.03
Simon Hamp
Yep.

00:22:11.63
Chris Morrell
Like a remote procedure call between the backend process in Electron.

00:22:12.54
Simon Hamp
Yep.

00:22:16.77
Chris Morrell
That's like the, uh, the renderer process, renderer process, right. Or the other one, uh, the worker process. And

00:22:23.69
Simon Hamp
Yeah, I'm not going to pretend to know enough about electrons in a working system.

00:22:24.17
Chris Morrell
um ah sure. Well, there's, I mean, in in a Electron, there are two processes. There's like the browser process and there's the worker, the renderer process and the worker process.

00:22:34.73
Chris Morrell
And they're talking to each other over some sort of like RPC channel that's like little bespoke thing.

00:22:35.91
Simon Hamp
Yeah. yeah

00:22:40.83
Chris Morrell
Tori is the same thing, right? You define ah ah you know you define functions in the Tori app in Rust that need to define some sort of messaging between that and the JavaScript on the front end.

00:22:43.29
Simon Hamp
Fundamentally,

00:22:57.45
Simon Hamp
Yep.

00:22:58.50
Chris Morrell
And so I can imagine... um

00:23:02.36
Chris Morrell
potentially wanting to get to a place where rather than having your PHP process be a totally separate thing, that somehow PHP is like more deeply integrated into that like a messaging boss, whatever it is for the system.

00:23:21.45
Chris Morrell
um

00:23:21.40
Simon Hamp
Yeah. Yeah.

00:23:23.39
Chris Morrell
Is that kind of the path that you went or is that like the long-term vision or did you discover that it really doesn't matter and it's fine to just ship a, PHP binary kind of like next to the app and it just works good enough or like what, where did you land on that?

00:23:40.12
Simon Hamp
So my, yeah, I try and approach these things now, and this is something that I kind of feel that I've learned through the course of my career and and actually quite a lot from just spending some time with Marcel and kind of working through how he sort of approaches things, which is very interesting.

00:23:56.69
Simon Hamp
Um, but to like, find find the the path of sort of least resistance that gets you the the sort of end result that you want as quickly as possible.

00:24:02.94
Chris Morrell
Mm-hmm.

00:24:07.32
Simon Hamp
um i And it's definitely not the ideal. You know, I get a lot of heat from certain factors of the community of like, this isn't native. and you know But the vision is definitely like, you know, PHP is a very capable language.

00:24:25.49
Simon Hamp
It's one of a very few set of languages that has this paradigm of you know ah shared nothing ah in terms of memory. And this this the kind of the web basis for it makes it very nice. so You have this request and response cycle. And once you've done that, once everything's gone and you kind of start it up again and and it's all fresh. So We're used to that as web developers.

00:24:50.21
Simon Hamp
So the approach was like, how can I make this so that it's as similar to what we're used to already?

00:24:50.91
Chris Morrell
Yeah.

00:24:55.46
Chris Morrell
Yeah.

00:24:57.75
Simon Hamp
Because if it's something that the majority of people who are in the community that I'm in, you know, like I want i am part of, that I want to be part of, get, then i you know, i know that I can get sort of a foot in the door with people using it and trying it and hopefully expanding on it and all of that kind of thing. So,

00:25:16.04
Simon Hamp
The goal definitely initially is to make it feel really familiar. Um, and that the goes beyond like the specific technologies to use, you know, and it's why ultimately, you know, I focused on electron because it doesn't matter between Electron and Tori, you know, it's a preferential thing if you decide we want to use Tori and that's just the way we go because of whatever reasons you your business decides that that's the right thing for you to do.

00:25:46.44
Simon Hamp
But um fundamentally under the hood, it's going to work the same way. So it's like not really making that much of a difference. So um having having the PHP binary sat there by the side of this thing Um, is, is absolutely fine from my point of view. And it's a completely, know, suitable, maintainable approach.

00:26:10.30
Simon Hamp
Is it the ideal? Maybe not, but you would still have to have the PHP binary at some level, whatever you do, because the whole goal of the thing is to be able to ship a PHP application to somebody.

00:26:25.16
Simon Hamp
And if they don't have PHP on their system, how in the hell are they going to run it? So you have to be able to say, well, here's PHP as well. And it's, it's kind of the same principle that electron has taken. It's like, well,

00:26:39.50
Simon Hamp
we We don't know what browser you're going to have on your machine. We don't want to fiddle around trying to figure out how to make your browser ah render our application. So we're going to ship you a whole browser.

00:26:51.43
Simon Hamp
And then, you know, then we know we can reliably kind of do stuff on top of that. and And that's principally what we're doing. And it would be that way, no matter what, whether it's Electron or Tori or something else.

00:27:04.39
Simon Hamp
But I would say the ultimate vision for it will be that we don't even have a Tori or an electron, you know, because PHP, again, it is very capable as a language.

00:27:13.21
Chris Morrell
Mm-hmm.

00:27:18.65
Simon Hamp
It's quite um possible for us to have let's say a C extension in PHP that knows how to speak the APIs of the specific platform that you're on and maybe open a window and render ah web view in that window using whatever web view your system is capable of rendering by default.

00:27:42.02
Simon Hamp
And so at that point you're like, well, I'm kind of 80% of the way of like recreating Tori. So why would I use Tori

00:27:49.41
Chris Morrell
Right. yes

00:27:51.76
Simon Hamp
or Electron now when PHP can do this directly. And then, and then, yeah, then you get into the territory of like, okay, we need our own sort of message passing from the PHP core straight into these device APIs.

00:28:05.36
Simon Hamp
um And, and that would probably end up looking something quite similar to what, you know, Electron has built and what Tori have built. um But it would be,

00:28:16.73
Simon Hamp
it would probably be in a raw sort of while not raw but compiled C extension that gets baked into those PHP binaries. I think that's where we'll end up.

00:28:25.74
Chris Morrell
who

00:28:27.69
Simon Hamp
um yeah I don't know how long that's going to take, yeah that's kind of the but the ultimate vision.

00:28:35.09
Chris Morrell
And so ultimately it sounds like um in that paradigm, you'd need something like octane, right? Like you'd need some sort of ah event loop driving all of that.

00:28:47.14
Chris Morrell
Would you, would you, um and and again, like obviously there's the like stop gap, um but,

00:28:55.27
Simon Hamp
Mm-hmm.

00:28:56.23
Chris Morrell
would you imagine that that would be the direction that you'd go to straight straight away or or maybe not at all or do you think that like ultimately it could be that there's like a you know a php slash c ish thing that's like orchestrating the the um uh itself and then it's dispatching requests to the native PHP application um to kind of keep that separation. Because obviously, you know i I appreciate what you you said about like

00:29:35.38
Chris Morrell
um the model that everyone or what most people who are familiar with PHP are used to is this you know um single request lifecycle

00:29:46.08
Simon Hamp
Yeah. Request response.

00:29:48.98
Chris Morrell
um

00:29:49.14
Simon Hamp
Mm-hmm.

00:29:50.31
Chris Morrell
And the moment that you have something running in shared memory, ah you know you you run into all sorts of new problems. They're not there's certainly manageable, but like you have to learn a new set of skills around in know memory management and understanding like ah how to how to debug memory leaks. And it can be very difficult.

00:30:15.22
Simon Hamp
Yeah. I, I, one of the main goals I would say for this whole project is to try and keep it feeling familiar to people who are coming at this from a web development angle, ah because I, well,

00:30:21.35
Chris Morrell
or

00:30:26.15
Chris Morrell
Yeah. Yeah.

00:30:31.67
Simon Hamp
From a personal point of view, I fundamentally believe that the web is the greatest technology that we've invented in the last 40, 50 years, you know? um And it's ah the basics of it are very simple, you know, and like, it's very accessible.

00:30:47.36
Chris Morrell
yeah

00:30:49.53
Simon Hamp
and And I think there's a lot of technologies that we use today that are kind of, they become very popular because they've got, I don't big organizations behind them and whatever, but they're not as accessible.

00:31:01.69
Simon Hamp
and, and they're not as portable and they're never going to be. And I think that makes the web, uh, sort of paradigm, very like attractive to a much larger proportion of people.

00:31:13.63
Simon Hamp
And, and

00:31:13.80
Chris Morrell
Yeah. Yeah.

00:31:15.33
Simon Hamp
I think PHP has kind of echoed that for a really long time as well. PHP has been approachable and accessible, ah which is why it runs, you know, like 80% of the the web and and and why so many people know PHP, even if they don't like it anymore.

00:31:29.03
Chris Morrell
yeah

00:31:33.78
Simon Hamp
um Yeah, all of that kind of thing. And yeah I do think, I think today it's still a great language to get started with, even if you don't end up making a whole career with PHP, because it is just approachable.

00:31:45.78
Simon Hamp
um I would like for PHP as a language to stay that way. I think for native PHP as a tool, I think it makes sense for us to try and keep it approachable because it doesn't have to be the tool that ah everyone at every level of like application development uses to build their applications.

00:32:05.79
Simon Hamp
like It can just be the the prototyping tool or it can be the the internal apps tool, you know. um I mean, I would love to see people building all sorts of stuff with it, but I haven't got any delusions of grandeur about that. So, um but yeah, I mean, in terms of the paradigm, then I think it makes sense for it to kind of stick with this sort request response cycle, at least as you said, kind of with Octane, you you can kind of make it feel like you're still doing that when you're not really doing that.

00:32:39.86
Simon Hamp
the only The only challenge I guess for that right now is ah the cross-platform support. So we're really piggybacking off of the fact that other people, smarter people than ah and than me, certainly, um have done all of this hard work in tools like Electron and Tori and whatever else to smooth over the cracks between the different platforms.

00:33:08.69
Chris Morrell
yeah

00:33:08.65
Simon Hamp
And PHP is actually quite good at cross platform work. I mean, if you look at what's going on in PHP source code, you'll see like there's a whole bunch of stuff that handles windows systems.

00:33:20.27
Simon Hamp
And there's a whole bunch of stuff that does just works on Linux and, ah Mac, you know, Unix like systems.

00:33:24.95
Chris Morrell
Yeah.

00:33:27.01
Simon Hamp
So, um, PHP is pretty good for that, but there are, you know, we're getting into the territory as you said, like PHP wasn't really built to do some of this stuff. And then when you get into the edges of like, you know, I want to run ah threads, ah you know, on the machine that can do this thing in a background task and whatever, PHP doesn't really give you those things.

00:33:52.15
Simon Hamp
um But the the tools that were kind of yet, yes, I did see ah there's been another proposal come through for something similar to that the other day.

00:33:54.18
Chris Morrell
yeah

00:34:02.50
Simon Hamp
but um

00:34:02.63
Chris Morrell
Kivolowitz- yep.

00:34:04.26
Simon Hamp
Yeah, we we can we can get away with a lot whilst we use these other tools. you know so ah One of the famous ones is like process control, which PC NTL extension in in PHP.

00:34:19.54
Chris Morrell
Kivolowitz- Okay.

00:34:23.35
Simon Hamp
is just not supported on Windows. And it's actually, you know, you think, oh, that's ahs such a shame because it's a super powerful piece of like PHP internals that, you know, you probably use a lot without even realizing it.

00:34:26.01
Chris Morrell
Perry Kivolowitz- hmm.

00:34:36.49
Simon Hamp
and Certainly Octane uses it under the hood.

00:34:36.71
Chris Morrell
yeah

00:34:40.39
Simon Hamp
A bunch of tools use it as a like the fork package. I think it's a spassy package that's called fork that kind of lets you spin up

00:34:45.11
Chris Morrell
yeah

00:34:50.64
Simon Hamp
kind of other processes effectively within the same process. All of that will only work on Linux and and Mac. um And that's not because PHP can't support it. It's literally because Windows doesn't have a way to do that stuff well. um And so, you know, when people reach for that kind of tooling across different platforms, when we're building something like this, where we're saying like this works on Windows and Mac and Linux,

00:35:19.51
Simon Hamp
ah we have to provide some reasonable alternatives. and And we can do that because of the work that's going on in Electron, you know, and what Node is capable of of managing across those platforms.

00:35:32.75
Simon Hamp
So it's really like, Fusing the different technologies together is where the power comes. And i don't we shouldn't be like purists and try and rely on PHP to do all of this stuff either, because I don't think that's its greatest strength, honestly. PHP's strength has been in I just do this thing with the server. you know i just i get requests, I do my work, and then I pass the response back out.

00:35:59.21
Simon Hamp
and and I just do that process really quick from like a cold start. If I can do that well, I'm happy. you know That's PHP's universe.

00:36:07.64
Chris Morrell
Yeah.

00:36:07.85
Simon Hamp
ah and and I'll let HTML and browser renderers and all of that like figure out what they're doing over there. I'm not going to touch that stuff. um And we kind of take in the same approach, you know, it's just like, oh, well you need the browser view to be rendered by a node process, or you need to spin up sub processes.

00:36:29.87
Simon Hamp
Fine. You know, like we'll hand that off to somebody else to go and do that for us. Who's kind of taking care of it a bit better than we we care to. um And I think that's fine.

00:36:39.91
Chris Morrell
Yeah. Okay, so then it sounds to me, at least on the desktop side, that native PHP is essentially, you've got the like the application framework, which in this case is Electron, right?

00:36:54.14
Simon Hamp
Yeah.

00:36:54.58
Chris Morrell
You've got the PHP binary.

00:36:57.65
Simon Hamp
yep

00:36:58.02
Chris Morrell
um You've got some amount of bespoke code to make those two things play nice to you together.

00:37:05.90
Simon Hamp
yeah

00:37:06.29
Chris Morrell
um Is that... um Is that something that's just like you basically have um some native PHP,

00:37:20.12
Chris Morrell
um something that can handle incoming requests and and sort of like parse out whether it's coming from your, like the the native PHP side or from the application side, and it's all just sort of coming in through um is fee requests or is there like ah dedicated channel between electron and php that's just like the native php channel how's that how does that work

00:37:40.32
Simon Hamp
Yeah.

00:37:48.58
Simon Hamp
Yeah, the moment is like we, we spin up, um, you PHP has got its own built-in server, PHP minus S at the command line.

00:37:55.96
Chris Morrell
mm-hmm

00:37:58.14
Simon Hamp
Um, so it's straightforward enough at this stage to have that just spin up at the beginning of the application's life cycle. So one of the first things that electron does, so in JavaScript code is to, to spin up from the PHP binary that we ship.

00:38:15.42
Simon Hamp
give me a server instance um and point it at the code that we've shipped with you that's our PHP application or Laravel application. So it's literally just then running a server that's waiting for requests in a very traditional sense.

00:38:24.12
Chris Morrell
Yep.

00:38:31.53
Simon Hamp
um And that works across all of the major platforms. So that's like a very nice and simple starting point for, a lot of this stuff. But you do get into like the two way comms and all of that. And what we've done, Marcel did this really, this was kind of his initial piece on this was to do a similar thing on the electron side. So it's been up a server too. And we've, we basically got two HTTP servers talking to each other.

00:38:59.76
Simon Hamp
um Over, a so I'll say, a secured channel. you know they They only talk to each other as long as they exchange the same key.

00:39:10.70
Chris Morrell
Mm-hmm.

00:39:10.64
Simon Hamp
um So yeah, we can kind of lock all of that down. But it is very like the traditional, i mean, you could look at it as like a server-to-server two-way API communication that's happening.

00:39:27.43
Simon Hamp
and But it's all just happening on your local machine. Which in a sense feels like overkill. um But in some respects is actually sort of fundamentally the same as a lot of other applications will do they're like that open sockets and they'll create a channel of communication and they'll have a mechanism for like the the format of the messages.

00:39:52.99
Simon Hamp
And we've just gone, well, our channel of communication is you know these TCP sockets and the message format is HTTP. So we're just like sitting on top of all this stuff that we already knew.

00:40:02.51
Chris Morrell
yeah Sure.

00:40:04.90
Simon Hamp
So um that keeps it really familiar for now, at least.

00:40:05.93
Chris Morrell
Yeah.

00:40:09.68
Simon Hamp
I think that could be improved in the future, but ah without kind of affecting the developer experience. So yeah, we'll see. We'll see how that changes, but that's kind of how it is right now.

00:40:24.74
Chris Morrell
And then it seems to me like the other big piece and like, you know, i my I'm leading up to the question of if you had to pick ah which of these pieces feels like the core of Native PHP. I know that obviously all of it is important, but um it feels like the last piece is really just the tooling that binds everything together, like that bundles up the PHP, that um makes sure that like yeah the files are in the place that Electron is expecting and like the PHP server is is ah compiled you know for the system properly.

00:40:54.51
Simon Hamp
Yeah. Yeah.

00:41:02.38
Simon Hamp
yeah

00:41:09.43
Chris Morrell
and like ah It seems like the the build process, if I had to guess, is probably the most like sort of special sauce part of the whole project.

00:41:25.51
Chris Morrell
Is that true?

00:41:28.50
Simon Hamp
I mean, there are steps that we have to take that would be unusual if you were just building and an electron application, kind of the way that an electron documentation tells you to do it.

00:41:39.58
Simon Hamp
and So yeah, special source. I don't know I think if you go through it, the the thing with it is I'm so familiar with it, but it feels passe to me now, you know, it's like, and I think so if you're coming at this with fresh eyes, you'll look at some of this stuff and you'll go, huh, that's cool.

00:41:51.86
Chris Morrell
Mm-hmm.

00:41:59.16
Simon Hamp
You know, like I didn't even know that you could do that with PHP or that you could do that with electron or whatever, you know, whichever angle you're coming at it from, there'll be stuff to learn. And I think that's really cool. And I have to kind of remind myself of that, that,

00:42:12.57
Simon Hamp
you know people coming fresh at this are gonna experience it in a kind of the way that i experienced it when i first figured out how to make some of these things work but um yeah it for me actually the the kind of secret source is not so secret is um it all came down to having the the ability to build the static binary right because

00:42:35.42
Chris Morrell
Mm-hmm.

00:42:37.58
Simon Hamp
PHP, you can ship PHP from one machine to another. Like you can have the the dynamic build. And i won't I don't want to get too like into that unless you want to, but you can do it.

00:42:49.47
Simon Hamp
It's just very painful because you'd have to not just compile it for the right platform, you know, like the CPU architecture and the operating system as a duo sort of combined to decide like this is what ah applications need to be compiled for.

00:43:09.00
Simon Hamp
right

00:43:09.34
Chris Morrell
ye

00:43:09.60
Simon Hamp
So if you don't target the right architecture and operating system, it ain't going to run. And so you can do that. We do that with PHP right now, but we do that typically with like this dynamic version of PHP, which means that the core PHP executable is actually very small.

00:43:27.20
Simon Hamp
It's like a few megabytes. And the the rest of PHP is kind of dynamically loaded in. So all these extensions that we enable can be compiled for that platform.

00:43:41.58
Simon Hamp
So the same operating system and architecture, but then they are these extension files. So like on Linux, they're the.so files on windows, it's.dll on Mac. I think it's dilibs and they're like executables that aren't executable on their own. They have to be pulled into the application and they can be pulled in at runtime. That's why they're dynamic and PHP has lived on that paradigm for it's pretty much its whole existence.

00:44:09.54
Simon Hamp
You know, it's been a fundamental piece of like DevOps server engineering architecture for PHP installations for almost all of its history. And that's fine.

00:44:23.25
Simon Hamp
But if you try to take everything built for one platform, so let's say Mac OS, you know, the M series, uh, CPUs. And I just,

00:44:34.89
Simon Hamp
take my installation of PHP and and send that over to you your M series Mac, it still wouldn't work because there'd be a bunch of stuff that's referencing specific paths on my machine um and and stuff that my machine maybe had at the time that it was compiled.

00:44:55.48
Simon Hamp
to what your machine doesn't have because of bye version differences or quirks of your, you know, cause you, I know you, you set up your system in some weird way.

00:45:00.28
Chris Morrell
Sure.

00:45:04.61
Simon Hamp
So ah it wouldn't necessarily work out of the box. And

00:45:11.13
Chris Morrell
I'm living no homebrew lifestyle over here, by the way.

00:45:15.27
Simon Hamp
I knew it. I knew it. um Me too now, but It's fine. The, uh, yeah. So the getting it to this place where you can basically compile PHP, a version of it for a given target platform, OS and architecture that can then be shipped across to other systems of that architecture was the real kind of critical piece.

00:45:43.30
Simon Hamp
Basically I wanted like one file, like, can I get PHP as a core engine

00:45:43.59
Chris Morrell
Mm-hmm.

00:45:48.59
Simon Hamp
as one file and then I can just pass that to somebody and pass them the script that I want them to run and say, hey, can you just try and run this? Like you've got no PHP, right?

00:46:00.96
Simon Hamp
If I give you this and I give you that, can you run those things? and And it worked. um But that wasn't anything that I did. I can't take credit for that.

00:46:12.65
Simon Hamp
ah Some very smart people created this static PHP CLI library, which has been used since then, you know, since before then to build a lot of this stuff.

00:46:25.78
Simon Hamp
And it was, that was the thing that kind of Marcel had bumped into the years before, you know, so when I was saying six years ago, this was this tool that he'd kind of shared something about, uh,

00:46:32.57
Chris Morrell
Mm-hmm.

00:46:39.22
Simon Hamp
adjacently on Twitter. And, and I was like, when I went digging, I found it, but at the time it didn't support enough of the stuff to do Laravel.

00:46:50.46
Simon Hamp
So the goal for me wasn't just like, let's get this static executable that I can ship to another machine.

00:46:50.61
Chris Morrell
Mm-hmm.

00:46:56.91
Simon Hamp
I want one that can run a Laravel application, which sets the bar just a little bit higher. And, um, that's what took me like four months to figure out basically it was like, how, how do I get the people who are doing that thing to help me get this up to that level?

00:47:07.37
Chris Morrell
Hmm.

00:47:16.04
Simon Hamp
And, I worked with them. There's one person who calls himself Jerry that I mostly, I think it's just. him or her, them, over in China. I believe they're in China.

00:47:31.10
Simon Hamp
And just working on this this package on their own, essentially, and just building out all the stuff that people were asking for.

00:47:31.27
Chris Morrell
ah

00:47:39.91
Chris Morrell
Hmm.

00:47:39.86
Simon Hamp
um And yeah, they got it working. And I got a build out of it that could run Laravel. And it was just like, this is the the Eureka moment. you know This is the thing that now is going to unlock this stuff.

00:47:55.76
Simon Hamp
So yeah, I think that's, from a technical point of view, that's kind of the secret sauce is to have that um kind of new way of thinking about distributing PHP.

00:48:11.66
Simon Hamp
But I think if I want to take it to a bit more of a philosophical level. I think the secret sauce there is, is more about being persistent, um, and, and working with much smarter people than than me to figure these things out, you know?

00:48:25.32
Chris Morrell
specific

00:48:28.29
Simon Hamp
And, um, yeah, I got that kind of gets you down into the path of like, how the heck do you compile these things? How did you figure all this stuff out? And this is a person who's doing this almost, I'll say pre chat GPT era, you know,

00:48:44.25
Simon Hamp
and and learning about how to compile things and do it statically and running it over and over and over again until you get it working, which is something I've unfortunately also gone through and in the intervening period.

00:48:58.09
Simon Hamp
But um yeah, it's, it's really, i can't say enough good things about people who are ah putting lots and lots of effort into really tough projects. And like, if you can find people who are doing that and,

00:49:13.02
Simon Hamp
work with them. I think you, you stand a good chance of having a really good time. I think that's the ultimately the secret sauce.

00:49:20.46
Chris Morrell
Yeah, no, I, Definitely agree there. I mean, I think, you know, I think that there's um there's a little bit of, and and I get it, and it's rightly so to a degree. i think there's some frustration in the web dev space around, mean, you know, i I see people complaining, especially in JavaScript, like, you know, how much of building a JavaScript app feels like ah just NPM install, you know, a thousand different things and patch them together.

00:49:55.67
Chris Morrell
And, you know, obviously that can lead to problems, especially long-term maintainability potentially. But at the same time, I mean, I think it's kind of amazing that um we can just pull together all these sort of incredible little building blocks that people have worked on and build these is amazing applications with them.

00:50:23.51
Simon Hamp
Yeah.

00:50:24.35
Chris Morrell
you know it It makes me think of when um and Marcel was first working on TinkerWell, um i saw him I saw him posting about it.

00:50:31.36
Simon Hamp
Hmm.

00:50:36.45
Chris Morrell
And I DMed him and I said, oh, i you know I've been working on a similar thing. like you know here's the Here's the code base. use Use it if you want, because I had kind of um walked away from it.

00:50:47.81
Chris Morrell
ah

00:50:47.88
Simon Hamp
Hmm.

00:50:49.20
Chris Morrell
And i think when I was working on that project, it was so kind of um incredible to me because here was, ah you know, essentially ah take Electron, right?

00:51:07.17
Chris Morrell
um I can but combine that with ah the Monaco package, which is essentially all the UI from VS code that that renders ah a really robust code editor.

00:51:17.26
Simon Hamp
Yeah. The editor. Yeah.

00:51:21.68
Chris Morrell
Right. um And then i i i grabbed a TTY package, and like and a node TTY package that had a ah ah ah React counterpart um for the front end of it.

00:51:28.60
Simon Hamp
Mm-hmm.

00:51:39.13
Chris Morrell
Right. And so in you know, in 30 lines of my own code and the backs of incredibly smart people, I was able to just wire up this application that has like this incredibly robust, you know, um code editor on one side, ah fully functional terminal on the other side, running in a need of native application, talking to my PHP app.

00:51:45.97
Simon Hamp
you You're just like... Yeah. Yeah.

00:51:56.88
Simon Hamp
Yeah.

00:52:03.26
Simon Hamp
yeah

00:52:08.32
Chris Morrell
And it was just kind of like, it shouldn't be, this should be illegal. but I shouldn't be allowed to do this.

00:52:16.03
Simon Hamp
It's like...

00:52:17.93
Chris Morrell
i like I did no work and I had this incredibly full functioning application. oh

00:52:25.15
Simon Hamp
yeah it's true.

00:52:26.91
Chris Morrell
And it's it's amazing.

00:52:27.42
Simon Hamp
It's... Yeah.

00:52:28.90
Chris Morrell
It's an amazing thing that we have this stuff available to us.

00:52:29.49
Simon Hamp
It is amazing. Yeah.

00:52:32.34
Chris Morrell
And and you know it it really is ah incredible thing that people

00:52:36.45
Simon Hamp
Yeah.

00:52:38.80
Chris Morrell
give so much of their work away, ah but but but that that enables um really significant um you know building on on top of those

00:52:49.39
Simon Hamp
Yeah.

00:52:53.19
Simon Hamp
I think it's, um, I can't pretend to know where it came from, but a worldview really that's come, it feels to me like it's come out of you know, the sort of technology.

00:53:06.40
Simon Hamp
California startup area, lots of smart people coming to one place and sort of going, Oh, you know, wouldn't it be great if I could build on your stuff and we weren't trapped by corporations and their trademarks and lawsuits. And, and, and we just, you know, and then open source is like the thing that sort of was birthed out of this, um,

00:53:27.70
Simon Hamp
approach to doing things. And, and I think fundamentally, like, I do believe that that is the right way to go with a lot of this stuff. If, if you want like longevity, if you, whatever that means, you know, where you want the, you want to explore what's possible.

00:53:37.29
Chris Morrell
the

00:53:46.80
Simon Hamp
I do believe like collaboration is far better than competition. competition leads to like death and decay because it's just like a race to the bottom and all of these kinds of things but when we've seen like when people collaborate and openly like the amazing things that it's brought to the world and and the the benefits that it's brought when used properly is an incredible kind of way to think about doing things um

00:53:51.74
Chris Morrell
Absolutely.

00:54:15.79
Simon Hamp
you know And it's one of the first decisions that we had to make about native PHP is like, ah do we keep this to ourselves or do we put it out there for everyone to to use? And honestly, that's quite a hard decision to make when You look at like the amount of time that's involved in doing this stuff and you know ah the effort that you have to go to the investment that you've gone to to learn these things and put it into practice. um But it's it stuck with me to say like choosing to do it that way and go open source has paid off in many ways in dividends. you know like

00:54:56.42
Simon Hamp
not just from a financial point of view, certainly not from a financial point of view, but um it does, the, the collaborative spirit has really come out of the community and the Laravel community and PHP communities that have kind of jumped onto that technology and started building stuff with it.

00:55:01.26
Chris Morrell
Thank you.

00:55:16.37
Simon Hamp
And some of the people that I've met because of it, and they've kind of really been drawn to, doing stuff on it, with it, for it.

00:55:27.09
Simon Hamp
um And it's been amazing. And, you know, ah maybe somebody will use it and build something great with it in the future. I don't know. But and the potential for that is all there because it's fully open.

00:55:41.04
Simon Hamp
And yeah, I think that's amazing.

00:55:41.44
Chris Morrell
i I also think, I mean, obviously there is there is like the dark side to open source, like right? there's There is, in a lot of ways, there are um there are people that take advantage of the free labor of others, right?

00:55:55.94
Simon Hamp
Yeah.

00:55:59.54
Chris Morrell
And and you certainly see that, right?

00:56:00.06
Simon Hamp
Yeah.

00:56:04.32
Chris Morrell
particularly with like large corporations, you know, using ah building on top of open source and then ah not necessarily contributing back and also sort of expecting free maintenance from the maintainers when they run into issues. Like obviously all that stuff is real.

00:56:20.61
Chris Morrell
And, um you know, ah in a lot of ways people have to have

00:56:20.60
Simon Hamp
yeah

00:56:25.46
Chris Morrell
um a certain amount of of access or privilege to be able to do it, and that's like not great. there's there's There are a lot of pieces that that we're still trying to figure out um for sure.

00:56:34.44
Simon Hamp
Mm-hmm.

00:56:36.80
Chris Morrell
But at the same time, i think in a lot of ways, as an indie developer, um open source lets you sort of amplify your exposure

00:56:36.75
Simon Hamp
Mm-hmm. Mm-hmm.

00:56:49.63
Chris Morrell
so much right because Right. If you're like comparing the the native PHP story, um like ah two imaginary timelines, the the timeline where, you know, you, you launch this thing and you say it's closed source, you know, and, and comes with some sort of licensing fee.

00:57:10.88
Simon Hamp
Yeah. Mm-hmm.

00:57:13.94
Chris Morrell
um

00:57:15.66
Chris Morrell
I don't, I have a hard time imagining that without, you know, ah um a Microsoft can, do something like that, right? Or a company that has, um you know, has investment, you know, sometimes you need to raise money to go tackle a big problem.

00:57:33.85
Chris Morrell
And that is a path. But if you're not interested or you don't have that kind of access, like, I think it would be real hard to convince a community of of other like sort of independent tinkerers and builders and and particularly,

00:57:51.88
Chris Morrell
in our community, folks who are really invested in open source, I think it's it's it's a lot harder to get traction and exposure you said if if you don't um have some sort of, it's not even that it's it's the open sourceness of it all exactly. I think it's more when it's open source, I know that there is a path um for this to live on.

00:58:20.64
Chris Morrell
regardless of what your interests end up being and what, you know, your intentions or, or you know focus where your focus goes.

00:58:24.86
Simon Hamp
Yeah.

00:58:29.17
Chris Morrell
Like once it gets to a certain point as an open source project, it has a life of its own and it has, ah you know, i I know that I can commit to it in a different way than if it's a solo dev working on a closed source project.

00:58:40.46
Simon Hamp
yeah

00:58:44.03
Chris Morrell
where who the hell knows where they're going to be in five years and what their commitment to this project is going to be in five years. You know what I mean? So I don't think it's, I don't think it's as straightforward as, ah oh well, if I had done this fully closed source, I could have made more money.

00:58:52.56
Simon Hamp
yeah

00:59:03.03
Chris Morrell
Like, I think that that's, that is not like a real parallel. You know what i mean?

00:59:09.48
Simon Hamp
Yeah, I think um there's there's lots of good examples and there's lots of bad examples in open source of how people have tried to do all of the different variations and how successful they've been.

00:59:22.34
Simon Hamp
And some have done exactly the same as somebody else and they've been more successful or less successful. And, you there's no one like template for it that makes

00:59:27.80
Chris Morrell
yeah

00:59:31.05
Simon Hamp
sense for everyone in in every situation. it's It's a combination of things and and eerily it does look like building and a product. Like you can't just go, I'm going to build this thing because, you know, i think it needs to exist and therefore I'm going to while away the hours and days and weeks and months and years ah building this thing and I'm going to release it to the world. And of course, everyone's going to love it because I've spent years building it, you know.

00:59:57.72
Simon Hamp
and then And then it kind of falls flat on its face because actually nobody needs this thing. it's like, it's just been ah an academic exercise for you. you know It's just been like a thing that you found interesting. It's like, I think there are fundamentals for open source to to make sense. I think you've got to have your, you've got to have a clear expectation, clear goal and and you you do have to unfortunately understand the market a little bit like you do have to know what is this the kind of tool that is going to go wild and i'm going to be on the hook for support and nobody's going to pay me any money for or like sponsor me or donate you know these kinds of things um

01:00:47.09
Simon Hamp
and And if I want that, how much work am I going to have to do to get that? Because, you know, that's a hurdle. It's free. And you've got to overcome that hurdle in order to get people to help you on that front.

01:00:59.47
Simon Hamp
um and And then, yeah, like you could you could do the whole like closed source route and... ah Yeah, it just...

01:01:10.77
Chris Morrell
is

01:01:11.67
Simon Hamp
That can completely falter because you haven't done the market analysis again. You know, it's just like... There are almost fundamentals to business that apply to doing open source.

01:01:23.97
Simon Hamp
But if you, if you do a little bit of this thinking about what you're doing and plan accordingly and kind of set your expectations accordingly, i think you can have success with open source in, in whatever way that looks to you. And it might just be that your tool gets used by a few hundred or a few thousand people.

01:01:49.14
Simon Hamp
uh, or that it, you get some donations, you know, like some sponsorships. If those are your expectations then, um, and you work towards those things, knowing what you know about what the likelihood is that people are going to use it, then that's what you'll get to.

01:02:07.61
Simon Hamp
Um, I firmly believe that people can do that. If you've got this, like, I'm going to build a little thing, I'm going to throw it out.

01:02:12.77
Chris Morrell
Thank you.

01:02:14.88
Simon Hamp
Millions of people are going to like it. And you know, I'm not going to have to give any support and people aren't going to demand stuff for free, then you can also do that. You just have to do it in a way of like, there it is.

01:02:28.12
Simon Hamp
And you sort of walk away from it. You just like throw it out and forget about it. And then maybe come back in five years and find that it's been downloaded a million times. you know It's like, oh, cool. um So yeah, the in in terms of the templates I'm sort of thinking of though, I think it's quite good to reference.

01:02:49.86
Simon Hamp
maybe unfortunately to to just hop on about Laravel because that's the community that we're in. But um Taylor had done such a good job with setting Laravel up as an open source thing and managing it, running with it for the time that he did whilst he was you know in employment doing other stuff.

01:03:13.71
Simon Hamp
And I know he was fortunate to be able to have some of his employment time kind of working on Laravel, but um and not everybody's going to get that.

01:03:20.94
Chris Morrell
yeah

01:03:24.73
Simon Hamp
But the the thing that I think he did was kind of at the right time. And I think this comes from like a good sense of what's going on.

01:03:35.44
Simon Hamp
What do people need? What can I provide for them at this time that's going to suit their need? ah As he identified that the framework in that, you know, in in the PHP space was in need of something better.

01:03:52.16
Simon Hamp
But then even when it got to the point where he went all in on Laravel, having that like awareness of like, this is the time to do this right now.

01:04:04.23
Simon Hamp
I was thinking when you were sort of saying about connecting the wires together, reminded me of that scene from um Back to the Future, you know, the the first one, right, a kind of right at the end where Doc is like trying to get those two wires together.

01:04:13.24
Chris Morrell
Thank

01:04:18.96
Simon Hamp
but it's sort of fortuitously at the exact right moment that he does it. And the, you know, the lightning bolt passes through as well. And I think there are these moments in in history of technology, but history of the world and like these these big moments of things that happen where it just feels like it's just the right time.

01:04:26.66
Chris Morrell
you. sous

01:04:39.12
Simon Hamp
You know, oh, it's like coincidence. um And maybe it was in some cases, but I i don't think so. I think at a lot of the time people, are aware of the circumstances, you and they create the environment that allows them to kind of bring these things together.

01:04:58.09
Simon Hamp
And at the time that the the lightning bolt is striking. you know um And I think Taylor did that with Laravel, not so much necessarily when he built it and put it out there.

01:05:02.76
Chris Morrell
hmm

01:05:10.68
Simon Hamp
Definitely that was like one version of it. But I think when he said to the world, I'm going to go all in on this. That was a massive signal to say, this is ready. You know, like you can all use this. And I think I wouldn't be surprised if Laravel's adoption went up massively because of, of that moment.

01:05:32.59
Simon Hamp
and And I think if you're like really serious about doing open source, if you can get to that point where you can go this thing

01:05:32.76
Chris Morrell
Mm-hmm.

01:05:44.51
Simon Hamp
I've got strong signals to believe that this is a worthwhile thing for me to pursue. and I can go all in, it's going to change people's perspective of the whole thing.

01:05:55.27
Simon Hamp
Um, and yeah, that's like, I would love to do that. Basically. I think that that's, uh, that's the ideal in many ways, because then you get to work on something that you, you love doing and you haven't got, uh,

01:06:14.14
Simon Hamp
Well, maybe you haven't got too many people telling you what to do. You just got loads and loads of users telling you, want this for free. um But yeah, it's it's kind of the the world becomes a bit of your oyster at that point in time. It feels like and maybe I'm idealizing that way too much. I don't know.

01:06:35.46
Simon Hamp
But yeah.

01:06:35.90
Chris Morrell
No, I mean, i think, don't know, I think a lot about the being in the right place at the right time. i think that, um you know, my my company's success is very much a, you know, a story of being in the right place the right time.

01:06:43.13
Simon Hamp
Yeah.

01:06:51.63
Chris Morrell
I think that we, you know, we we started delivering things via the internet right at the time when people were finally sort of getting over their anxiety about using the internet for more things.

01:06:52.19
Simon Hamp
So yeah. Mm-hmm.

01:07:01.90
Simon Hamp
yeah

01:07:05.60
Chris Morrell
um and so and yeah I think we caught that wave at just the right time um and and you know I think that it's it's like a difficult um it's a difficult thing to really figure out because it's like think to some degree you have to be at the right place at the right time but it at the same time ah you can be at a good place at a good time and not you know, not see an opportunity, right?

01:07:34.96
Simon Hamp
That's true. Hmm.

01:07:37.07
Chris Morrell
So it's like, um I talk with my my business partner, Nick, about this from time to time, um because I think I tend ten to see the story a little bit more through the lens of like, we just got lucky.

01:07:54.62
Chris Morrell
um Because I think we did just get lucky in a lot of ways, you know, we just kind of um started building a web application the year that php became like a stable tool for for building web applications and um yeah i mean there was just a lot of there were a lot of things that we just got really lucky with um but you know he reminds me and and i do think that he's right that it's like well if um if it's so much about luck uh like or if it's so much about like you know the opportunity of the moment um

01:08:07.48
Simon Hamp
Yeah.

01:08:11.81
Simon Hamp
yeah

01:08:35.48
Chris Morrell
you still have be going for it and to seize those opportunities or else it doesn't matter.

01:08:40.46
Simon Hamp
Yeah.

01:08:42.05
Chris Morrell
right um And I do think that it really is sort of like both of those things have to be true. you know It's like um ah Taylor could have gone all in on Laravel five years earlier or five years later, and maybe he would have missed the wave.

01:09:01.70
Chris Morrell
Right.

01:09:01.81
Simon Hamp
Yeah.

01:09:02.34
Chris Morrell
But if he didn't go all in, he probably would have missed it, too. Right. It's it's both those things.

01:09:05.98
Simon Hamp
Yeah.

01:09:07.83
Chris Morrell
um And yeah. And it's like, unfortunately, you only get to find out in hindsight if you were right. ah But if you don't go for it, you never find out.

01:09:16.06
Simon Hamp
Yeah.

01:09:18.31
Chris Morrell
Right. It's like this ah horrible catch 22 in a way. But it can be very rewarding if it if it does work out.

01:09:22.97
Simon Hamp
Yeah.

01:09:26.32
Simon Hamp
I think there's like a point where... mean, I feel like I've heard him say, maybe this is my memory just being terrible, but, you know, kind of it had got to the place where effectively I think Ian was telling him, like, you have to go and do this because it's making up too much of your your know time.

01:09:41.57
Chris Morrell
Yeah, I remember him saying that.

01:09:44.35
Simon Hamp
um And so, you know, like, that's a great position to be in.

01:09:49.85
Chris Morrell
Yeah.

01:09:49.76
Simon Hamp
but That's like the the universe telling you, do this or else, you know, Ian is the universe, right?

01:09:53.83
Chris Morrell
Yes.

01:09:57.10
Simon Hamp
Do this or else you're you're stupid or something, you know, like, that's not fair. But, you know, you'd be silly not to is kind of.

01:10:03.93
Chris Morrell
Use some sort of a poker analogy.

01:10:07.20
Simon Hamp
Oh, ah yeah. Like, if you don't play that hand.

01:10:09.84
Chris Morrell
He just got dealt ace-king suited.

01:10:11.27
Simon Hamp
Yeah. yeah Yeah. Why are you folding? What are you doing? ah I don't play poker enough. It's been a long time since I've played.

01:10:24.42
Simon Hamp
Anyway, that's beside the point. um Yeah. the I think you've you've got to be, you've definitely got to be alert to the opportunity. You've got to be

01:10:36.01
Simon Hamp
decisive enough at that moment to be able to do the right thing. And those moments might not come.

01:10:39.62
Chris Morrell
Yeah.

01:10:40.65
Simon Hamp
Like if you try and force it, it's probably not the right time. You know, it's like, and yeah. I mean, I can imagine like... oh but Taylor wanting to do it. I can imagine lots of people wanting to do it with like very successful open source packages and and not being able to because it doesn't make sense for them, their family, like whatever their goals.

01:11:06.20
Simon Hamp
ah And and he at that point, I think he'd already built Forge, basically, which is the thing that then allowed him to go and do that. right? Because it was making hopefully more than enough money to to survive on.

01:11:14.100
Chris Morrell
Yeah.

01:11:20.04
Simon Hamp
So ah that's the that's the point. It's like you've got to have the thing that kind of makes it make sense i don't think you can you can just bluff your way through it um some people have uh and they usually get found out at the end and it's like wait you didn't know what you were doing and you you know you' sort of successful and it's like yeah and people are like i that's I can't repeat that.

01:11:50.51
Simon Hamp
You know, it's like that's unbearable.

01:11:51.35
Chris Morrell
Yeah.

01:11:52.79
Simon Hamp
So, um yeah, I think the you've got to have these like the the threshold for when it makes sense. You've just got to be watching very closely.

01:12:04.21
Simon Hamp
But, yeah, I do think luck is part it as well.

01:12:07.27
Chris Morrell
And there's also, i mean, there's also very different types of open source projects, right? I mean, I think that um for the most part, you know, I'm, I'm a pretty prolific open source developer, but i

01:12:12.38
Simon Hamp
Sure.

01:12:21.13
Chris Morrell
um I mostly build small utility packages that solve the need that we have. ah

01:12:28.36
Simon Hamp
Yeah.

01:12:29.12
Chris Morrell
So I'm satisfied. If I get to use it and maybe we get a few free bug fixes from someone else finding a bug before we run into it and submitting a PR, that's about the right?

01:12:36.71
Simon Hamp
Mm-hmm. Mm-hmm.

01:12:44.43
Chris Morrell
right um And a lot of these you know are the types of open source packages. i mean, my my oh the the open source project that I built that has the most usage is probably the one that would be the most difficult to monetize or you know build a business around because it's just like low level utility that um lots of people have the need, but

01:13:04.34
Simon Hamp
Sure. Mm-hmm.

01:13:11.12
Chris Morrell
no one's really paying attention to it. It's just like a dependency that you install and then move on. you know um Whereas something like Laravel and something like native PHP, these are sort of like ah projects that are going to remain sort of central to the developer experience throughout the project.

01:13:32.18
Chris Morrell
um And I think you know have opportunity for like a you know a commercial ecosystem to exist around them. Right.

01:13:42.19
Chris Morrell
Like no one, ah no one is going to build a successful, uh, commercial business around, you know, uh, pad left or whatever the the famous node package was.

01:13:43.63
Simon Hamp
yeah

01:13:54.80
Simon Hamp
yeah yeah

01:13:56.03
Chris Morrell
Um, but, uh, but, you know, here that there's a lot more opportunity there and it's, it's the type of project that just lends itself to it. Um,

01:14:05.81
Simon Hamp
Yeah, though those are also steeped in like, what level of complexity do you want to engage at? You know, it's like, if if you're prepared to go in and build a something like a Laravel,

01:14:13.05
Chris Morrell
yeah

01:14:18.38
Simon Hamp
ah then then the reward stands to be potentially much greater. And and not necessarily just financially, but you know, like the outcome

01:14:24.18
Chris Morrell
for

01:14:27.45
Simon Hamp
stands to be orders of magnitude greater than, you know, creating a pad left package or a Boolean recreation. um Yeah. So, but none of those are bad. Like maybe there needed to be a pad left package in node. I don't know.

01:14:45.21
Chris Morrell
Yeah. Well, I mean, i i had a I had a need in in in Node that I built a small package to solve and lots of other people had that same need, you know?

01:14:53.87
Simon Hamp
Yeah.

01:14:55.16
Chris Morrell
And it's like, there's a place for that too, but it's not, it's more the sort of, um it's it's a different flavor of open source, right?

01:14:55.92
Simon Hamp
Yeah.

01:15:05.33
Chris Morrell
It's like, a this is giving back to the community and hopefully getting, you know, getting something in return for it ah in terms of like,

01:15:09.97
Simon Hamp
Right.

01:15:13.93
Chris Morrell
other people may be helping solve similar problems or, or, or just knowing that other people get to, know, take advantage of a solution that you found, you know?

01:15:17.83
Simon Hamp
Yeah.

01:15:24.51
Simon Hamp
Yep.

01:15:27.20
Chris Morrell
And that can't, you know, that can't sustain that. It has to be done for a different reason. Right. And and that's why it sort of lends itself to those small utilitarian type things where it's like, it's not a huge commitment to put out there and and maintain, you know, to some degree.

01:15:33.07
Simon Hamp
Exactly.

01:15:43.57
Simon Hamp
yeah exactly and again it comes back to setting your expectations accordingly in terms of how much time you're going to invest in and that thing and like what you're what you're expecting to see on the other end from it you know is it is it financial or is it more of like a social thing you know is it

01:15:51.18
Chris Morrell
yeah yeah

01:16:00.52
Simon Hamp
that you're just going to get a few followers on whatever your favorite social network is today. And, you know, that whatever it is or engagement from, you know, one of the the things that I have said before, i have absolutely loved about having this project and and sort of running with it is the people that have come out of it, you know, and I've got to know and I i got to meet some of them at Laracon EU, you know, when we first met.

01:16:07.07
Chris Morrell
Yeah.

01:16:17.02
Chris Morrell
Yeah, absolutely.

01:16:25.04
Simon Hamp
And it's been amazing because they've come to me and they've said like, this is great. Thank you so much. And I've got to know them. And I went to dinner with some of them and, you know, it's just been like amazing, um, to, to build really good relationships with people off the back of this stuff.

01:16:41.21
Simon Hamp
And I think that's, that can be even more rewarding than anything else, honestly.

01:16:46.39
Chris Morrell
100%. Yeah. I mean, that was, I feel like that was a core, part of the core thesis of my Laracon talk was essentially that that was that was what made it worth it, right?

01:16:54.13
Simon Hamp
Yeah.

01:16:58.99
Chris Morrell
Like, ultimately, it's those relationships and and all the other things that you kind of get out of it that are more intangible.

01:17:00.56
Simon Hamp
100%. Yeah.

01:17:07.66
Simon Hamp
Yeah.

01:17:08.95
Chris Morrell
So, I mean, i think that that brings us to the the next topic.

01:17:09.04
Simon Hamp
Strap all

01:17:13.55
Chris Morrell
stage of the native PHP ah story, which is mobile, right? Because um we just talked about open source for 45 minutes or whatever.

01:17:19.62
Simon Hamp
of that. yeah and ah

01:17:25.06
Chris Morrell
And, you know, ultimately,

01:17:26.38
Simon Hamp
drop all over that

01:17:29.57
Chris Morrell
um well, but it's, I mean, I think it's like an interesting question. It's like, I i i think that native PHP probably couldn't have made it if it started out as a closed source project.

01:17:40.61
Chris Morrell
But at a certain point, you decided that you had to launch ah a piece of the puzzle as a closed source project because you you want to be able to invest in it.

01:17:40.88
Simon Hamp
No, I agree.

01:17:50.70
Chris Morrell
And I think it's like an interesting balancing act that you're going to have to navigate. um

01:17:57.19
Simon Hamp
Yeah.

01:17:57.88
Chris Morrell
But I'm curious like what that's been like and and what the decision that went into that looked like.

01:18:04.43
Simon Hamp
So, yeah, I mean, the juxtaposition ah in this conversation right now, but that's also happened in the past of like, you've got this open source library and and now you're releasing a new kind of essentially part of it.

01:18:18.66
Simon Hamp
um To be clear, it could have been something completely different. And we chose just to like put it under the native PHP banner, cause it sort of makes sense. Like this is very related. Um, but this piece is going to be closed source, you know, the mobile piece and.

01:18:35.52
Simon Hamp
ah In some respects, that's kind of an easy decision because it's so distinct from the the desktop stuff. You know, there's there's really essentially no overlap.

01:18:42.22
Chris Morrell
isn

01:18:45.06
Simon Hamp
um I mean, some of the stuff we can use from the desktop stuff to make things a little bit easier and familiar on the mobile stuff. But other than that, you know, they're kind of chalk and cheese.

01:18:56.56
Chris Morrell
Mm-hmm.

01:18:56.90
Simon Hamp
So... um that From from the the kind of technical aspect, that was sort of easy to do. I think the more like tricky one for others to grasp is the the social aspect of it because I think for the most part,

01:19:17.12
Simon Hamp
people's expectations are that it would be free. I remember when I said from stage, you know, I was like, should I even say this line? Because just don't know if it's the, but I'm like, I need to just be open with people. I just need to be like the upfront. This thing is not, it's not going to be free.

01:19:34.97
Simon Hamp
And it's like, there was this audible gasp, you know, I think it was just one person, but ah in the audience, like, Oh, and I was like, Hmm.

01:19:39.05
Chris Morrell
Yeah. Hmm.

01:19:46.18
Simon Hamp
I'm not sorry about that. um i

01:19:48.22
Chris Morrell
yeah

01:19:48.88
Simon Hamp
I have my own little, you know, Caleb does these notes on work and that got me doing the same kind of thing. It's like a cathartic recording your own voice and then occasionally posting it when I feel feel cute enough.

01:20:02.08
Simon Hamp
um But I did go into some depth on this a little while ago because it's ah it is an important piece and the thinking process behind it actually isn't that easy, but it's not from a, as say, the technical point.

01:20:14.86
Simon Hamp
It is more the, like one hand, the business decision. And that's the biggest one, honestly.

01:20:22.53
Chris Morrell
yeah

01:20:23.51
Simon Hamp
I see, like, I love working on native PHP. Hands down, like it's the most interesting project I've ever done. i think it is the the thing that I will do for many more years if if the, you know, the community and and everybody engaged with it allows me to.

01:20:44.74
Simon Hamp
Um, what i what I need in order to be able to do that is to say like, this can support me in some way.

01:20:53.24
Chris Morrell
Yeah.

01:20:53.39
Simon Hamp
And so I went on that kind of crusade at the beginning of last year, or even really towards the tail end of 2023 of like, how do i how can i encourage more people to sponsor this project. you know and You do all the things like, here's the little trinkets that I can give you.

01:21:13.55
Simon Hamp
if you sponsor me, you can get your logo on the site and bla blah, blah, blah. um and And actually speaking directly to a lot of people and trying to and you know get agencies and and other organizations to buy into the idea of it, reaching out to ah various organizations across, you know I'm in the EU, so so there's There's various tech grant processes that are going on here.

01:21:37.80
Simon Hamp
And I did loads of those and was like trying to apply to all of these different sources of kind of non-commitment funding um as possible.

01:21:38.51
Chris Morrell
This

01:21:47.25
Simon Hamp
and and And going to them with the, look, we can do desktop right now. It's not V1, but we want to get there. And we've got our eyes set on doing mobile as well. we think this is a really good opportunity because the PHP community is huge and, you know, help.

01:22:02.83
Simon Hamp
and And they all were like,

01:22:03.43
Chris Morrell
isn't.

01:22:05.30
Simon Hamp
Nah. So it was just like, okay.

01:22:07.39
Chris Morrell
Sure.

01:22:10.50
Simon Hamp
Um, and I I'm really grateful for the sponsors, a lot of individuals, a few organizations that have sponsored native PHP kind of threw me, uh, on GitHub sponsors mainly.

01:22:25.85
Simon Hamp
Um, because they, they have helped like massively, um, ve I've been able to like shave off days of paid work with clients you know to to actually work on this stuff and and move it forward. And I think it's noticeably moved forward in the last 12 months um because of that, precisely because of that.

01:22:48.56
Simon Hamp
So when you, you sponsoring open source makes a difference, please sponsor open source, sponsor more open source. um But when when it's used in the right way, it can make a huge difference. And yet, despite all of that, it's nowhere near enough for me to say,

01:23:06.25
Simon Hamp
Like not only am I not comfortable going all in, like it literally just would not be enough to pay my bills and and things, you know?

01:23:12.09
Chris Morrell
o Yeah.

01:23:13.84
Simon Hamp
So it's like, I can't do that. I could, could I get somebody else involved, you know? And, and I have there, there a lot of the sponsorship that comes in now goes straight out to other contributors.

01:23:27.04
Simon Hamp
Um, so I don't even see that money personally. Um, and. I, that's what I want to do. You know, I want where the community supports something that it goes back out to support the the people that are working on it.

01:23:44.05
Simon Hamp
Um, but again, that doesn't help me get to the place where I can work on this full time and kind of see this growing and going forwards in the way that I would like it to. And so the business decision has to be like, how do I get this thing to a place where it it can essentially generate my, my living, like my income at the bare minimum, like what I'll eat soup and, and spaghetti, you know, like every day for, I don't care.

01:24:12.21
Chris Morrell
Thank you.

01:24:14.44
Simon Hamp
just like, what can I, what can I cut down on? What can I get to that's going to make me get to full time on this thing? Um, and the reality is there's kind of only two ways of doing it You either, you build a product that's sort of adjacent to it in some way, and it might not have anything to do with it, but just the for the fact that you're building it.

01:24:34.36
Simon Hamp
So you own it and therefore any revenue that you make from it comes to you, hopefully profit. Um, i the other thing is that you, you actively sell the thing that you built and yeah,

01:24:52.41
Simon Hamp
just like putting it to brass tacks, that was not going to happen with sponsorships ah anytime soon, you know, not without lots and lots of effort and distraction on my part to get there.

01:24:57.67
Chris Morrell
Yeah. Yeah.

01:25:04.35
Simon Hamp
And so i just decided, well, you know, I've spent months and months building this thing now that is, I believe is going to be attractive to a lot of businesses, you know, they're going to be able to make money off of this, um because they're going to be able to move faster because they're going to be able to use the technology they've already invested in rather than like hiring, uh, other developers or, you know, going and training existing staff up for thousands of dollars.

01:25:34.83
Simon Hamp
So,

01:25:36.48
Simon Hamp
I think I'm like within my rights to say, like, just, just pay me a little bit of money and then you can have access to this thing. Um, and so, yeah, that was it.

01:25:50.15
Simon Hamp
Although I'll say it was hard to kind of come to that conclusion. That's because I kind of feel like I'm not used to charging people money for stuff aside of my own consultancy time, you know?

01:26:02.02
Chris Morrell
Mm-hmm.

01:26:02.54
Simon Hamp
Um, so it's definitely like a leap to get there. But I think it was the right one. And it in the end, it was an easy decision because like financially, it's the one that makes the most sense.

01:26:16.18
Simon Hamp
um i There's discussions over what price do you set and like how do you differentiate all of those things, which is probably for another discussion. But it's ah it's been a ride and um it's doing really well.

01:26:31.64
Simon Hamp
The fact is that like hundreds and hundreds of people are paying to have this thing that ah to the comments of quite a few other people, you know, you can get this for free over here, you know, as react native or flutter or whatever.

01:26:44.30
Simon Hamp
um So I'm, I'm honestly surprised every single day at the moment at the, the kinds and and amounts of people that are, are paying to have access to this kind of tool.

01:26:49.94
Chris Morrell
this

01:26:58.52
Simon Hamp
But to the earlier conversation, you know, in the spirit of what I truly believe, i I don't think it makes sense to have it be a paid tool for very long.

01:27:09.67
Simon Hamp
um

01:27:09.79
Chris Morrell
Yeah.

01:27:11.28
Simon Hamp
ah do want it to be ah a piece for the community to benefit from and for other people to build on and and it not be like encumbered by licensing issues and whatever. um So yeah, at some point we will open source parts of it at least you know like i don't know what the shape of that's going to be yet but um the the goal in the immediate term is to make it into a sustainable business and kind of to do that um yeah without being able to go to sort of getting funding from lots of other sources and kind of deal with the pressure and and and whatever of that is uh is to build up your own little war chest and i kind of feel like that's what we're doing right now

01:27:56.73
Simon Hamp
Um, and then with that build an adjacent product that makes sense for that community to use and pay for, and they'll go, oh yeah, well that makes sense. And I can see the value in paying for that. So i I'll pay you for that, but then get this for free.

01:28:09.43
Simon Hamp
And it's like, yeah, that all works now because it's sort of offset.

01:28:12.17
Chris Morrell
Yeah.

01:28:13.77
Simon Hamp
Um, but yeah, just couldn't, if, if I'd had maybe another 12 months, um, could have maybe built the product that lives adjacent to this thing,

01:28:26.23
Simon Hamp
ah but I wanted to work a little bit sooner than that. I wanted to bring this out to everybody a little bit sooner.

01:28:32.24
Chris Morrell
Yeah. Yeah, I'm curious. So, I mean, I'm going to say, i feel like there's like a very obvious ah commercial like ah play for native PHP. And I think this is something that you're already working on.

01:28:48.32
Chris Morrell
And I think that like Expo is a great, um you know, is is a great template to follow because it's it's just sort of such a no brainer.

01:28:55.31
Simon Hamp
yeah

01:28:57.52
Chris Morrell
The ah build process for these products, ah even if you can make it relatively easy, it's slow, you've got cross platform concerns, you know, it's fiddly, you

01:28:59.44
Simon Hamp
Yeah. Mm-hmm.

01:29:09.76
Simon Hamp
yeah

01:29:12.02
Chris Morrell
You know, what C compiler do you have installed? What libraries? Like, you know, it's it's always going to be a bit of a pain, right?

01:29:23.29
Chris Morrell
um And so there's there's that piece of it. And if you can just, like, offload the build um the build side ah to something that's simple, like, that's always going to be, it feels to me like an obvious piece of this puzzle.

01:29:35.15
Simon Hamp
Yeah. Yep.

01:29:41.55
Chris Morrell
um some sort of paid build service, right? And then there's like a there's probably a services model on top of that of like, um okay, you're building mobile apps, you need some way to do push notifications.

01:29:53.91
Chris Morrell
Well, we can just extract push notifications away into nice PHP package that you install that just like works with the API key and you don't have to think about it.

01:30:03.94
Chris Morrell
Or yeah, sync services.

01:30:05.25
Simon Hamp
Mm-hmm.

01:30:06.22
Chris Morrell
And like, I think that all of those things are, Problems that not each individual developer needs to solve, right?

01:30:17.77
Chris Morrell
One tool can solve it and just subtract those problems away. um and if you're building an application that you're actually, you know, earning revenue from, some fee to use third-party tool that just makes a bunch of like the the pain go away feels like a no-brainer, right?

01:30:35.70
Simon Hamp
Yeah.

01:30:37.70
Chris Morrell
And then there's there's the other things that are kind of like,

01:30:38.84
Simon Hamp
Absolutely.

01:30:40.91
Chris Morrell
around this type of tool in terms of like some sort of, um, you know, certified consultants directory or job board or, um or like first party support, um, support contracts.

01:30:51.70
Simon Hamp
Yeah.

01:30:57.30
Chris Morrell
You know, I think that there are, ah there's like an established playbook for a product of this category.

01:30:57.49
Simon Hamp
Yep.

01:31:04.85
Chris Morrell
And it seems pretty straightforward to me.

01:31:05.26
Simon Hamp
Sure.

01:31:07.22
Chris Morrell
i don't know if that if it feels as straightforward to you, because I can just say that and then walk away. i don't actually have to like ah that bet my mind bet my house on it, right?

01:31:17.11
Simon Hamp
Chris come back.

01:31:20.64
Simon Hamp
Yeah. No. Yeah. yeah I mean, it's, they're all like things that I've, I'll say I've thought about that. That's also easy to say. I mean, the, The exact shape of them and and how I would go about doing them, I haven't thought about in any great detail, but yeah, fact there's there's nothing kind of new there.

01:31:40.98
Simon Hamp
um And I think some of them will make sense for native PHP. I think some less so because I i think so the fact that it builds on top of Laravel, like technologies that people are somewhat familiar with already should lessen some of the burden, you know, and make some of that whole easier but there are still going to be pinch points where people go you know i'll just pay somebody to have uh have this taken away from me um and so it's it's about finding those and kind of again seeing the opportunity taking the opportunity kind of connecting the wires together as the lightning bolt comes down and that kind of thing but um

01:32:07.48
Chris Morrell
yeah

01:32:19.48
Simon Hamp
I yeah it it's tricky to say for certain right now what those things are going to be I mean I feel like I've already made a bit of a bet on this with the Zephyr service which is something else that i kind of released at the same time and the goal with that is to just like there is one pain point that I've personally experienced with certainly building the desktop apps and I think this will become true ultimately of the the mobile apps as well ah in the

01:32:25.27
Chris Morrell
Yeah.

01:32:32.22
Chris Morrell
Mm-hmm.

01:32:50.27
Simon Hamp
The PHP code that is shipped with them is not like packaged up in any kind of way. um And that has raised questions from people who are switched on and kind of know what they're doing around the security. And the fact is, you know if you bundle up a native PHP app today with just your Laravel code in there without doing anything special,

01:33:14.22
Simon Hamp
um you're going to ship a bunch of essentially read, write PHP scripts in a folder somewhere, you know, that's going to get installed on somebody's machine and the engine in order to operate them.

01:33:26.02
Simon Hamp
So, you basically just created a backdoor and everybody is like, I don't want to say it that way. That's actually really bad, but it is the truth.

01:33:33.27
Chris Morrell
but

01:33:34.60
Simon Hamp
You know, like you've just like, if you don't do something to harden that um code, then it's definitely not safe.

01:33:41.68
Chris Morrell
Thank you.

01:33:43.82
Simon Hamp
I'm not going to say how I think you can exploit that because that's not right. But the the point is it it is. And we make that clear to people when they do, when they run the build is like, this is insecure.

01:33:54.88
Simon Hamp
You know, like you shouldn't ship this to people. Um, and, and part of that then is to like, how do we, how do we make this secure? How do we make PHP so secure when we're doing this? And there there are a few tools that have existed before.

01:34:09.45
Simon Hamp
Um, and some of them work and some of them don't work really. I don't, have you ever done on-prem software stuff for, for people?

01:34:14.06
Chris Morrell
since

01:34:17.74
Chris Morrell
I mean, I've used, oh God, what is IonCube or what?

01:34:23.04
Simon Hamp
Ion key. Yeah.

01:34:23.86
Chris Morrell
Yeah. Yeah, we've we've we've run some software that's, you know, protected with those extensions, but oh i I have avoided it it as much as I could.

01:34:32.41
Simon Hamp
Yeah.

01:34:36.96
Simon Hamp
Yeah. i mean, my experience with them has only been pain um and, and largely because they don't sort of,

01:34:40.98
Chris Morrell
Yeah, for sure.

01:34:45.56
Simon Hamp
keep up to date very quickly with the...

01:34:48.30
Chris Morrell
yes

01:34:49.77
Simon Hamp
and And I think that's a function of the fact that there's not enough people really doing that in the PHP ecosystem to warrant it. And I think native PHP could change that for those organizations, honestly, you know, because I think essentially they could work and whether they do right now or not is a question that still needs to be answered.

01:34:57.11
Chris Morrell
yeah sure

01:35:09.88
Simon Hamp
But, um and you know, there's going to hopefully be more people in PHP and Laravel shipping desktop and mobile apps and, um, that's a almost perfect solution to a really important pain point that everyone doing that is going to have.

01:35:27.18
Simon Hamp
Um, so like part of it is, do we compete against that?

01:35:27.36
Chris Morrell
Mm-hmm.

01:35:32.70
Simon Hamp
You know, like, and and I've said, well, yes, I think we should, I think we needed like a first party solution. That's like the official way to distribute apps safely.

01:35:45.84
Simon Hamp
Um, and I think there are some natural, uh outcrops from that you know one of the things that i get asked quite a bit now is can can we do like what you can do with expo where you can you don't have to go through like app store review to get your app updated and whilst we don't have the tooling yet to do that what we're building with zephyr will enable you to do that so i think that'll be a piece that makes perfect sense within that product to have um

01:36:03.82
Chris Morrell
yeah

01:36:11.20
Chris Morrell
Mm-hmm.

01:36:19.88
Simon Hamp
But yeah, there's like things ah around that space, like the services space adjacent to native PHP um feel like they make the most sense to try and buy it off. um But the the problem with them is they're all dependent upon adoption.

01:36:42.23
Chris Morrell
Yeah.

01:36:42.61
Simon Hamp
And so then you get into this, but like...

01:36:44.56
Chris Morrell
It's a chicken and egg.

01:36:45.65
Simon Hamp
Exactly. which Which side of the seesaw do I put my effort onto right now? Do I put it onto building products and services that serve a non-existent community, or do I do some behavior that makes this community swell, ah such that they're at a point where they need those products and services?

01:37:05.41
Simon Hamp
and And the fact is, if you've got like a small team, you know like one, two, there's there's a handful of us now kind of contributing to this stuff but if you've got a small team how do you how do you work on more than one thing at a time and and then it's not it's not even a you know a software problem it's not a php problem or a laravel community problem it's it's the the good old business like how do we do multiple things at once you know without lots and lots of money already in the bank um

01:37:20.18
Chris Morrell
Yeah.

01:37:37.68
Simon Hamp
And frankly, you know, that is just very hard to, to resolve unless you've got a ah sort of a golden goose and ah I'm having to build my own golden goose. That's basically where I'm at.

01:37:52.90
Chris Morrell
Yeah, I mean, I think like the the solution is either figure out how to grow sort of slowly and sustainably or find funding, right?

01:38:04.99
Simon Hamp
Yeah.

01:38:06.56
Chris Morrell
I mean, because certainly and just looked it up, Expo, the reason that they were able to release the the the the way that they did, right?

01:38:07.94
Simon Hamp
Yeah.

01:38:17.64
Chris Morrell
Build and a project that is free for everyone for years. before introducing a product is they had millions of dollars of funding, you know, like that's, that's the other path, but that's, uh, you know, it's not a,

01:38:22.84
Simon Hamp
Yeah.

01:38:28.56
Simon Hamp
Thanks for having

01:38:35.30
Simon Hamp
that That's a decision that you've got to make. you know it's like ah

01:38:38.72
Chris Morrell
yeah.

01:38:39.30
Simon Hamp
i don't think, I mean, maybe, I don't know, so I can't i shouldn't really speak to this, but ah something tells me deep within my soul that the person who decided to start that organization didn't go I really enjoy open source and I want to do open source for the rest of my life.

01:38:56.32
Simon Hamp
You know, they they probably started with a the way to create a good business here is to open source a tool so that adoption is very high.

01:39:07.77
Chris Morrell
Yep.

01:39:07.77
Simon Hamp
the way to be able to do that well and quickly is to go and get a load of money. So we go and get a load of money. We go and build a team. We build the thing, release it for free, evolve it for a bit. And then we throw like services on top that people have to pay for.

01:39:22.65
Simon Hamp
And now they're in our ecosystem. So they have to, you know, like if they really, really want it, they're probably going to buy it from us rather than go and build it themselves.

01:39:29.57
Chris Morrell
yep

01:39:31.24
Simon Hamp
Um, and that's a completely valid and and perfectly fine business strategy, but that is a decision. You know, somebody said, this is the kind of business that I want to run.

01:39:37.60
Chris Morrell
yeah

01:39:41.12
Simon Hamp
Um, and, and, or hopefully they did anyway and they've got what they wanted. Um, but yeah, I mean, like ah Just being frank, that's not the kind of business that I want to run.

01:39:53.23
Simon Hamp
You know, i don't want to go and get tons of investment.

01:39:54.34
Chris Morrell
yeah

01:39:56.06
Simon Hamp
I do. I've been like the back on Twitter in, you know, 10 years ago, there was the whole like, um,

01:40:04.57
Simon Hamp
self what's the word self-funding you know bootstrapped is the word I'm looking for bootstrap business you know we're not going to be ah laced up to any particular investors you know and and have all of these tricky uh terms splattered all over our our products and and our business um we want to have the freedom to sort of run by ourselves in the way that we would like and you know we'll sort of live or die

01:40:09.59
Chris Morrell
he

01:40:34.45
Simon Hamp
on this hill of figuring out ourselves and and i still i kind of still have that dream you know if one day doing it that way so yeah we'll see

01:40:44.70
Chris Morrell
Yeah. um Well, i'm I'm looking up and I see we're at an hour and 40 minutes. I i have like more things that I want to talk about, but I also want to ah yeah respect your time.

01:40:58.63
Chris Morrell
So if you want to if you want to close things down, we can. If you want to keep on going for a little while, I'm game. Give you the option.

01:41:04.98
Simon Hamp
I mean, like if you really want to let you hit me. The only thing I've got to do is eat food and drink water.

01:41:10.26
Chris Morrell
right.

01:41:12.66
Simon Hamp
Those things I haven't done for a few hours.

01:41:13.30
Chris Morrell
Okay.

01:41:15.98
Simon Hamp
ah Probably going to need to do that at some point soon.

01:41:18.84
Chris Morrell
okay All right. Let me, let me, let's, let's go just a little bit longer. Cause I have two, um, two things that I've been meaning to get to, and we just keep on going on other interesting topics.

01:41:29.90
Chris Morrell
But one is I would love to know a little bit about the like technical implementation of the mobile side of things. Like, is this um,

01:41:37.82
Simon Hamp
Cool. Mm-hmm.

01:41:40.39
Chris Morrell
um you know, fully custom like Swift ah application that like you built all of the the hooks into a PHP or are you building on top of an existing like mobile framework?

01:41:57.12
Chris Morrell
I know the Tori has a mobile ah mobile option now and, ah you know, there's React Native like i React Native doesn't make sense here, maybe Ionic, but like,

01:42:07.79
Simon Hamp
yeah

01:42:08.93
Chris Morrell
ah what path you decide to go down there.

01:42:13.28
Simon Hamp
um So I looked into a couple. ah Tori was the first one because you know I'd kind of started my whole native PHP journey with exploring Tori.

01:42:22.55
Chris Morrell
Yeah.

01:42:23.85
Simon Hamp
And um my first thought was I don't want to figure out how to do the the mobile stuff. Like if I can just interface with the thing that does much like we've done with Electron, you know, on the desktop, then great. You know, I'll just have that thing speak to PHP, have PHP, give it whatever it needs. And, you know, ipso facto, the thing will work hopefully.

01:42:46.78
Simon Hamp
Um, and, and I tried doing that with Tori and, and I kind of got so far down the path and then, um I hit the the really fundamental roadblock, which is I can't ship a PHP binary to an iOS device and just have it run because iOS does not let you ship like third party binaries as part of an application and just execute them at will.

01:43:03.86
Chris Morrell
Mm-hmm.

01:43:12.52
Chris Morrell
All right.

01:43:12.63
Simon Hamp
um So you have to, um so I couldn't even do that in Tori, right? So even though Tori can compile down into essentially, you know, an iPhone application,

01:43:24.91
Simon Hamp
um I couldn't just throw PHP in there and have it work. There it was still this fundamental piece of like, I need to squeeze PHP in into this in a different way. Like it must be done properly.

01:43:38.26
Simon Hamp
some way that I've never been able to do it before ah figure it out or out even knew about. And it turns out that you can actually compile PHP down to its own like shared library essentially.

01:43:53.51
Simon Hamp
So rather than it be a a standalone executable that can be shipped off from one device to another. It can just be a library that you inject into another application. So it's a C library.

01:44:08.78
Simon Hamp
I didn't even know PHP could do that, honestly. I was just like totally oblivious here just doing web development for 20 years, you know, like, yeah, PHP is great.

01:44:11.84
Chris Morrell
This is...

01:44:17.47
Simon Hamp
I love this language. i don't know how to do anything with it really. but And then I sort of, you know, chat GPT, I think it was, said, well why don't you just compile PHP down to a C library?

01:44:28.74
Simon Hamp
And I was like, you what now?

01:44:33.21
Simon Hamp
So, but you know, you start down the path of like, how the heck do I do that? um And like writing all these scripts, hacky scripts to to try and figure out how to compile this stuff and try like compiling over and over again and finding out that it doesn't work.

01:44:50.34
Simon Hamp
And, you know, at this point, you've got ah you've got to do the piece of like testing it on a device.

01:44:54.78
Chris Morrell
yes

01:44:56.48
Simon Hamp
You've got to get this thing onto the actual platform that you want it to run on.

01:44:56.94
Chris Morrell
Yeah.

01:44:59.93
Chris Morrell
Yeah.

01:45:01.75
Simon Hamp
And that's not, I can't emulate that really on my computer. I can run it in a simulator, you know, the iPhone simulator, but essentially that's like running on an iPhone. So I've got to get something onto the device.

01:45:14.03
Chris Morrell
yeah

01:45:14.29
Simon Hamp
Um, and And in order to do that, you you need a Swift application. ah The bare bones version of that is like, I just need a ah screen with a web view because I'm expecting to output some web something.

01:45:19.21
Chris Morrell
yeah

01:45:29.36
Simon Hamp
Even if it's just text, like it'll render in a web view and it's going to be fine. actually didn't end up starting with a web view as it happens. But the what i I needed was just like, i can...

01:45:40.67
Simon Hamp
call this PHP library and it's going to do something and it's going to return some text. And I just need to render that text into a component into this app and just like see if it's then working or not.

01:45:54.21
Simon Hamp
And I, the amount of times that I ran this thing and it just crashed out because it just wasn't built properly. It's like, I must've run it thousands and thousands of times. Um, and wasted a lot of my life.

01:46:07.81
Simon Hamp
But no, it wasn't a waste. It was worth it. the What it ended up then with was like, well, I've kind of got this shell of an application now that doesn't use Tori at all.

01:46:20.53
Simon Hamp
And this PHP C version is working now. you know That was like the eureka moment again. you know This isn't the static um PHP binary that I can ship to every machine.

01:46:30.14
Chris Morrell
Yeah.

01:46:34.05
Simon Hamp
This is just for an iPhone and it's not really ah It's not really a standalone binary. It's this embeddable thing. So it needs to live inside this Swift application.

01:46:45.20
Simon Hamp
But the fact that I've got it all hooked up and working together and I haven't had to use any intermediary stuff like this is like in the the almost truest sense as as true as it can possibly be for PHP native PHP.

01:46:51.92
Chris Morrell
Yeah.

01:46:59.25
Simon Hamp
Now, like I'm running it like right on the the metal

01:47:00.52
Chris Morrell
yeah

01:47:04.22
Simon Hamp
Uh, pretty much like via swift and, uh, and, and then that just like cracked open the door, like super wide of like, okay, now, now what can I do?

01:47:15.10
Simon Hamp
Um, so yeah, it's different and it doesn't rely on, on any intermediary stuff.

01:47:15.21
Chris Morrell
yeah

01:47:22.36
Simon Hamp
And it is, uh, it's like a combination of some custom C stuff and custom swift stuff, but the swift stuff is fairly basic.

01:47:33.02
Chris Morrell
So is it is it still interacting with the like server API? Like you're translating? Are you intercepting WebView requests and then translating those into requests that you pass into PHP

01:47:49.01
Simon Hamp
Yeah. At the moment it's piggybacking off of the the kind of general functionality of a web view, which operates in the same way, right?

01:47:55.99
Chris Morrell
Yeah.

01:47:57.17
Simon Hamp
It's the request response cycle, forming headers, forming bodies, like mushing all of that together and passing it around.

01:47:59.79
Chris Morrell
Yeah.

01:48:05.53
Simon Hamp
and But instead of it going between a client and server or like HTTP requests in the true sense over like a TCP socket, like it does in native PHP for desktop.

01:48:17.49
Simon Hamp
it's now just all like in memory inside of this one Swift application on different threads.

01:48:23.60
Chris Morrell
yeah

01:48:24.75
Simon Hamp
So there's a thread that runs PHP when it's needed and like shuts down, but it passes all of the information from the web view that it needs in order to like inflate PHP's universe with the right stuff that looks like it's come from a web client Um, cause it kind of has, but it just hasn't gone over the web.

01:48:42.53
Chris Morrell
Yeah.

01:48:45.24
Simon Hamp
You know, it hasn't even gone over It's just there.

01:48:46.01
Chris Morrell
Right.

01:48:51.03
Chris Morrell
And is that something that you think you'll explore for the desktop as well eventually? Yeah.

01:48:55.20
Simon Hamp
Yeah, that's what I was alluding to earlier. I think like it makes so much sense in both contexts to have it then working in a very similar way. Um, the only thing with it is.

01:49:03.78
Chris Morrell
Yeah.

01:49:07.50
Simon Hamp
but What we're used to in PHP now in the server world the... the You know, we have FPM, which is a process management, which kind of keeps PHP spun up.

01:49:15.31
Chris Morrell
Yeah.

01:49:22.05
Simon Hamp
Like if not your application hot, like at least PHP is kind of hot and ready to go. And so getting started with a new request is generally very quick.

01:49:28.03
Chris Morrell
Yeah.

01:49:34.26
Simon Hamp
PHP is really good at that anyway, but it's even better when it's all kind of the engines turned on and it's it's ready to go.

01:49:34.62
Chris Morrell
yeah

01:49:41.68
Simon Hamp
On Swift, we we don't have that yet. So um because there's no server, there's no forked processes waiting around.

01:49:44.79
Chris Morrell
Mm hmm.

01:49:52.57
Simon Hamp
It's literally like as it needs to, it'll spin it up and then it'll shut it down completely. um It does have to like start literally everything from scratch.

01:50:03.62
Chris Morrell
Mm hmm.

01:50:03.73
Simon Hamp
um But... I say all of that because I think it's relevant context and it will have some people thinking, well, that means it's going to be slow. And the reality is no, it's not because the network's not involved.

01:50:16.77
Chris Morrell
right

01:50:17.33
Simon Hamp
So the problem we have with that kind of scenario in a traditional like server to client is you've got the overhead of the client HTTP requests, the network, and then unpacking all of that before it even hits PHP.

01:50:26.43
Chris Morrell
jason

01:50:34.65
Simon Hamp
Um, which depending on where you are in the world and like how quick the network points are, it could be hundreds of milliseconds before that gets over. And it could be hundreds of milliseconds before your response gets back.

01:50:47.39
Simon Hamp
So when you add all of that into then PHP taking, you know, maybe a hundred milliseconds to do all of this work, it it might get close to a second that of delay.

01:50:58.04
Simon Hamp
So you want to like make that as quick as possible when it's running on a server. But in this environment where there's no network, you kind of don't have to think about it so i mean, I do want to, we definitely want to make it even faster, but it's so fast.

01:51:14.17
Simon Hamp
Like the PHP is so fast all by itself.

01:51:16.90
Chris Morrell
Thank you.

01:51:18.34
Simon Hamp
And I feel like, I feel like we've unlocked something by doing this.

01:51:24.94
Simon Hamp
the The idea, you know, the concept that PHP is actually viable for a lot of this stuff. um I hope we have anyway, but yeah, it's ah it's going to be interesting to see what happens in the next 12 months or so as we start like really digging into like, how can we make this even better?

01:51:45.93
Simon Hamp
ah Can we bring this to the desktop?

01:51:46.04
Chris Morrell
Yeah.

01:51:47.68
Simon Hamp
We definitely will be doing that.

01:51:48.07
Chris Morrell
Yeah. And it seems like the polling problem is something that you could you can solve, right? Like it feels like in that dynamic library type scenario, there's a world where you can just always have a like PHP thread ready and waiting for the next request, right?

01:51:55.96
Simon Hamp
Yeah.

01:52:08.88
Simon Hamp
Yeah, yeah. It's just a case of solving those specific problems. And like, I haven't had time to even like dig into that side.

01:52:12.82
Chris Morrell
Yeah.

01:52:15.61
Chris Morrell
Yeah. Yeah. Oh, right.

01:52:17.70
Simon Hamp
Like there's so many other pieces that kind of I want to get right. And that now that people are also paying to have this and they're sort of saying like, we want this and we want that.

01:52:22.12
Chris Morrell
Yeah. yeah

01:52:27.56
Simon Hamp
And it's like, that's great. So I want to service those requirements. And then eventually I expect the requirement will be We want this to perform a little bit better.

01:52:36.98
Chris Morrell
right

01:52:37.11
Simon Hamp
And then we'll go, cool. Yeah, okay. We can do that. And we'll dig into it at that point.

01:52:39.96
Chris Morrell
yeah

01:52:42.79
Chris Morrell
All right, so my last my the last thing that i I've been curious about, and you and i talked about this a little bit. I can't remember when, but um it feels to me like the um

01:52:58.84
Chris Morrell
natural end result of this project is that at some point, you're essentially going to have to re-implement React Native as a bleed implementation.

01:53:14.30
Simon Hamp
Yeah.

01:53:14.78
Chris Morrell
um

01:53:16.27
Chris Morrell
What do you think?

01:53:18.57
Simon Hamp
I am down. with that 100%. they It was one of the first thoughts that I had um as like, what are the some of the crazy, you know, like you just go, well, maybe you don't do this, but I do this. It's like, what's what's that's the craziest thing that you can think of? My imagination really poor. So like, one of the craziest things I could think of is like, what if you could write blade templates and it rendered native components?

01:53:47.38
Simon Hamp
And Yeah, I mean, i I haven't really started exploring that yet, but fundamentally there's nothing to stop that from being a thing.

01:53:59.38
Simon Hamp
So ah ah exactly how it would operate, I don't know, but essentially you're looking at something like ah ah a set of view entry point, you know, where it would receive a kind of a request.

01:54:16.88
Simon Hamp
um and And it's going to run PHP code, you know blade compiled down into PHP, which is going to run a bunch of native functions. And just the way that you've laid out the, the hate it's essentially HTML file, right. But the way that you've laid out that file of blade components would then be reflected in, in the layout of the, um, the view on the Swift, you know, like Swift UI or whatever the equivalent is on Android.

01:54:45.71
Simon Hamp
Um, and and have it kind of do that for you. So ah yeah, i mean that's at least the fundamental piece of that in making it work in theory works in my head.

01:54:59.28
Simon Hamp
um There's a lot of other stuff to come off the back of that though. Like how do you make those components actually reactive? And I was looking at how React Native does that and it is crazy complicated.

01:55:11.97
Simon Hamp
um thats That's going to be quite interesting and a fun project, but it's that's definitely something I would love to get into. you know I think that's also part of the why I think it's important that this project gets that funding support in one way or another, you know, so that somebody, it doesn't have to be me even, you know, but somebody can like have the time to dig into this stuff because I think it's going to be freaking cool when PHP developers can do all of that as well.

01:55:29.73
Chris Morrell
yeah

01:55:42.60
Simon Hamp
um So yeah, i'm I'm very excited for the the future of that kind of stuff in this ecosystem.

01:55:50.40
Chris Morrell
Yeah, I mean, it feels like kind of coming back to to a much earlier part of our conversation, like it feels like there's ah there's like a a back of giant ah here.

01:56:03.79
Simon Hamp
Yeah. Mm-hmm.

01:56:04.65
Chris Morrell
Like there's somebody needs to, i don't know. This is something that I think about a lot. I feel like there's so many great tools right now for, know,

01:56:20.91
Chris Morrell
for like bridging the gap between back end and the front end in Laravel. um But I still personally feel like they're they all feel like a stepping stone to something else.

01:56:38.33
Chris Morrell
I don't know what the something else is yet, um but it still feels like there is

01:56:41.11
Simon Hamp
Yeah.

01:56:47.09
Chris Morrell
um there's an opportunity to blur the line further. um And that like, when someone figures that out, it may unlock a lot of really interesting things. This maybe is one of them.

01:57:02.13
Chris Morrell
You know what mean?

01:57:03.27
Simon Hamp
yeah

01:57:03.44
Chris Morrell
Like, ah because fundamentally, I don't know. And and this is something, this is a I think this is a relatively controversial opinion, but like, I think that JSX, maybe not React,

01:57:16.71
Chris Morrell
um but sort of a XML ah style ah UI language um that sort of blends the functional and the display together in like, ah I think, a pretty elegant way.

01:57:36.09
Chris Morrell
think that that is one of the best ways to build a reactive ui

01:57:41.23
Simon Hamp
Mm-hmm. Mm-hmm.

01:57:41.56
Chris Morrell
um And I think that There's a world where Blade has more of that. um And that could unlock a lot.

01:57:53.90
Chris Morrell
But it's like there are so many hard problems to solve to get from point A to point B. And I think that Livewire is solving a lot of them in in one way. And I think that Inertia is solving them in another way. and

01:58:12.54
Chris Morrell
There's a lot of really so smart ah intention put behind this problem. um

01:58:18.61
Simon Hamp
Yeah.

01:58:20.14
Chris Morrell
But I think there's something more that we can eventually, that we'll eventually have something that is more. And I think that that whatever that is maybe unlocks um a whole new world of things for native PHP as well, potentially.

01:58:30.94
Simon Hamp
Yeah.

01:58:35.06
Chris Morrell
don't know.

01:58:37.06
Simon Hamp
I completely agree with you. i And just to maybe even touch on some of what those things are. I mean, I think fundamentally where we're at right now with some of the technologies you mentioned, like Livewire and Inertia is that they're very focused on the the paradigm that we're so familiar with, you know, the the divide between the back end and the front end. And the famous Aaron Francis has done these incredible videos all about this, you know, kind of like how how we're bridging that gap. and um ah bring those things closer together. But I think fundamentally when we, we step away from like the, I'll say the web as the application layer,

01:59:20.46
Simon Hamp
um

01:59:23.02
Simon Hamp
you start to see that the back and the front end, they're already like So cohesively, you have to think of them as one application. Even if you have a team that works on the front end team and the team that works on the back end team, they are coupled.

01:59:36.24
Chris Morrell
Yeah. yeah

01:59:38.02
Simon Hamp
Like people like to throw this around like we decouple our front end and our back end and we have this API layer in between or whatever, you know, and we've got microservices up the wazoo and blah, blah, blah. But at some level,

01:59:51.68
Simon Hamp
Those two things are fundamentally coupled in a way that is inextricable. They are one application.

02:00:00.60
Chris Morrell
Yep. They're decoupled until you need to add something that a button on the front end does that needs to call something on the back end.

02:00:01.84
Simon Hamp
So,

02:00:06.84
Simon Hamp
yeah it Exactly. Exactly. Which is basically all of interaction. And so when you step away from that, you start to see, oh like that application actually looks exactly like this application over here, but they are built with completely different paradigms.

02:00:25.53
Simon Hamp
Like this has a UI library and tooling around that that's evolved from decades of building UI libraries in applications that don't use or have to think about splitting their UI and their backend over a network.

02:00:42.02
Simon Hamp
And so like, you've got all of these affordances because they haven't had to deal with this problem.

02:00:48.98
Chris Morrell
Yeah.

02:00:49.20
Simon Hamp
But now if we like just, I can see that they're, if I squint my eyes a little bit and make it all a bit fuzzy, they're kind of the same. And so when we get to that place in code,

02:01:01.88
Simon Hamp
I think that that's going to be one step where we've kind of gone, ah, you know, and I think libraries have tried to do this in the past. um I can't remember the name of it now, but there was a one that looked like it was a, it was like objective J somebody had come up with this like new JavaScript language and they built a whole library on top of it, which had a very fancy logo and website and all of this stuff, but and ended up not really going anywhere, but people built some applications with it.

02:01:18.68
Chris Morrell
Hmm.

02:01:29.38
Simon Hamp
And, know, You know, it was like, oh, this is cool because it smooths over all these cracks and it operates in the way we think about when we think of if we've come from objective C and like building applications for and a phone or a Mac or whatever.

02:01:43.88
Simon Hamp
And it's like, i don't think it even necessarily comes to like a technical solution, but it's so almost like if you can make these tools feel familiar enough to build people coming from the other side of this equation, then it, then you kind of doing it, you know, like you it might feel like you're a bit fake and you're not you like you were saying earlier, I shouldn't be allowed to do this, but you know, it's like the end result is going to be the same. So that's one thing for me is like, when we start to see these things is that they're basically the same thing.

02:02:14.06
Simon Hamp
But the the other piece is that, um, and I think Taylor's spoken to this as well, particularly about blade is that the blade isn't really ah a language, you know, it's not really a templating engine at all.

02:02:27.34
Simon Hamp
It's like, um, regex replacement on steroids.

02:02:30.88
Chris Morrell
Yeah.

02:02:32.02
Simon Hamp
Um, and I think if we're going to use blade for this, or you know some something like Blade in in the PHP world, it needs to be ah the the next evolutionary cycle to what Blade is right now. I don't think Blade can do this at the kind of performance um and flexibility that's needed with the way that it currently operates.

02:03:00.15
Chris Morrell
yeah

02:03:00.28
Simon Hamp
And ah I think actually there's but one person that i know of that at least is sort of pushing the boundaries on that. Um, a guy that I got in touch with through the statamick community.

02:03:15.72
Chris Morrell
John Koster?

02:03:16.10
Simon Hamp
Um, yeah, exactly.

02:03:17.98
Chris Morrell
Yeah.

02:03:19.08
Simon Hamp
And he's been doing stuff on essentially blade things. I mean, it was, he was doing stuff, uh, uh, on antlers. I think it's antlers that they call the inside statamick.

02:03:29.98
Chris Morrell
Mm-hmm.

02:03:30.91
Simon Hamp
Um, which is essentially a kind of port of blade, you know, with some variations, but and that's maybe doing somebody a disservice.

02:03:43.72
Simon Hamp
Uh, but there's, yeah, he was doing a lot there and then he sort of shifted his focus onto blade. And I think he might be, he might be the person who's sort of closest to cracking that nut right now.

02:03:54.98
Chris Morrell
For sure. Yeah.

02:03:56.30
Simon Hamp
Um,

02:03:56.64
Chris Morrell
His stuff is really interesting. Have you seen dagger the, the project?

02:03:58.58
Simon Hamp
yeah. Yeah, i was watching him con come together with that.

02:04:02.56
Chris Morrell
Yeah.

02:04:02.99
Simon Hamp
was great.

02:04:03.95
Chris Morrell
Yeah. I mean, you know, at the very least he's, he's taken blade from a set of very complicated regular expression patterns to a proper, you know, ah Lexer and and parser and like, you know, it actually,

02:04:15.52
Simon Hamp
Yeah.

02:04:19.16
Simon Hamp
Exactly.

02:04:21.46
Chris Morrell
um he's built the tooling that lets it be a more sophisticated language, you know, whether that ever gets a first party adoption.

02:04:28.16
Simon Hamp
Yep.

02:04:31.98
Chris Morrell
I think that unfortunately, know, dagger is neat, but it's like, it's hard to, ah it's hard to like go third party for like, uh, something as central as like the view engine of an MBC,

02:04:50.90
Simon Hamp
Yeah.

02:04:51.02
Chris Morrell
like, framework, you know? um

02:04:53.23
Simon Hamp
Yeah.

02:04:55.21
Chris Morrell
And so, i you know, i hope that at some point some of that work can move into Laravel core um to the point where they're you know where Blade is like a full-blown language that's that's like fully extensible and parsable and, you know, can be manipulated in more sophisticated ways. Because I do think that unlocks a lot of really interesting things down the road.

02:05:22.11
Simon Hamp
Yeah. oh Whether that's applicable for the stuff that we've just been talking about, I don't, it's not like above my pay grade, but the fact that John is, you know, a person who's prepared to get his hands dirty with this kind of stuff and kind of be playing in that sandbox suggests that he's, he's probably at least close to something there um that would be relevant for what we're talking about.

02:05:29.52
Chris Morrell
Who knows, yeah.

02:05:38.36
Chris Morrell
Yeah.

02:05:49.64
Simon Hamp
But the,

02:05:50.48
Chris Morrell
Yeah.

02:05:51.02
Simon Hamp
you you know I think it's it is really interesting because all of these things, and know people are putting effort into all of this stuff. Again, going back to the open source conversation, like a lot of it for free without any expectation of you know, any payment or ah compensation and in in any real way.

02:06:09.07
Simon Hamp
um and And I think that's to be massively applauded over and over and over again, regardless of how like ultimately used and or useful it becomes because it's just a lot of work and yeah.

02:06:26.86
Simon Hamp
Yeah. but I don't know what else to say, but it's just like, uh, show, show them some thanks at least for like all the work that they're putting into the stuff that they're, they're doing.

02:06:37.93
Simon Hamp
Um, and ah maybe, ah give it a go, try stuff out yeah and you never know, like you might bump into solving one of these problems yourself. I think that's kind of,

02:06:52.27
Simon Hamp
For me, that's been a ah big lesson of open source is like and when I've picked into some of this stuff that other people are doing and I've gone like you did, what if I put this with that? And then you sort of figure out, oh, this is really easy or I've i've created a new solution to a problem I didn't know I had.

02:07:11.10
Simon Hamp
ah It's just like, it's very fun and cool. um It's really just, if I can stretch a little bit further, but somebody, I have this podcast called The Bucket, which I've been doing with a couple of guys, Stephen and Shane.

02:07:29.20
Simon Hamp
And ah we've been doing it for a few months. And they' they've always been kind of interested in what's been going on in native PHP, but they've not been very involved in native PHP.

02:07:41.36
Simon Hamp
But Shane, of the last few weeks, you might have seen some of his tweets because I've retweeted him quite a lot of the last few weeks. but um Or you're a more blue sky, aren't you now?

02:07:51.88
Simon Hamp
the Yeah, anyway.

02:07:53.34
Chris Morrell
I am i'm i'm not on Twitter at all anymore.

02:07:53.30
Simon Hamp
ah

02:07:56.34
Simon Hamp
oh I'll share some stuff over on blue sky as well at some point. But the ah basically, he kind of took it upon himself to figure out how to do all of this stuff that I've been doing on iOS for Android.

02:08:08.34
Chris Morrell
Mm-hmm. Mm-hmm.

02:08:10.70
Simon Hamp
So I've been on the receiving end of his like ah fully like emotional rollercoaster ride of like, it's never going to work.

02:08:22.22
Simon Hamp
I don't know what I'm doing with my life to the, Oh my God, it freaking works. You know, like the elation of like plugging these things together and and figuring it out.

02:08:27.78
Chris Morrell
uh

02:08:31.62
Simon Hamp
And I just like, he's a little bit older than me, but the sort of giddy joy of like putting these things together and figuring stuff out when you even maybe more importantly than not knowing that there's going to be any real outcome, but because you're not sure if there's going to be any real like value at the end and you're just doing it for the hell of it is just so, so much fun.

02:08:59.75
Chris Morrell
Yeah, for sure.

02:08:59.93
Simon Hamp
um ah that's the kind, I think that's probably what it is when I say like, I want to do open source full time. It's like, I'm just addicted to the the high of when that happens.

02:09:10.41
Simon Hamp
and I just want to do that all the time.

02:09:10.86
Chris Morrell
Oh my God. It's so satisfying, right?

02:09:14.13
Simon Hamp
Yeah.

02:09:14.29
Chris Morrell
When you like pull a thread and you pull a thread and pull a thread and you just keep on going and ultimately you like get there.

02:09:20.22
Simon Hamp
Yeah.

02:09:20.43
Chris Morrell
Oh, that's the best.

02:09:21.50
Simon Hamp
And then you can go to bed finally. Yeah.

02:09:23.87
Chris Morrell
ah Finally. Yeah.

02:09:25.01
Simon Hamp
Yeah.

02:09:25.87
Chris Morrell
Yeah.

02:09:26.66
Simon Hamp
Yeah.

02:09:26.81
Chris Morrell
Oh, that's funny. Yeah, I met i met Shane and Steven at the Upstate PHP meetup while ago now.

02:09:33.59
Simon Hamp
Oh yeah.

02:09:36.96
Simon Hamp
Right. I think there's one of those coming up and next week.

02:09:40.38
Chris Morrell
Yeah, i think so. It's a good one. Yeah. Oh, speaking of which, before we stop, I think we should we should close up, but um you've been you've been help sponsoring PHP meetups.

02:09:51.49
Chris Morrell
How's that going?

02:09:51.48
Simon Hamp
Hell yeah. It's going really well.

02:09:54.68
Chris Morrell
Yeah?

02:09:54.69
Simon Hamp
I mean like PHP meetups, would you believe they love being sponsored?

02:10:00.01
Chris Morrell
Crazy. Yeah. crazy ah

02:10:03.39
Simon Hamp
Wild. um No, it's good. i mean, there's ah obviously quite a lot of them have been reaching out to me sort of receptive to the idea of having some money. Yeah.

02:10:13.91
Chris Morrell
yeah

02:10:15.24
Simon Hamp
But it's been, again, great to like get in touch with more of the people who are organizing these things for the community and getting to know what they're interested in. and ah yeah Obviously, I want to go to them with a, like I've got a thing that I'm trying to get you to shill for me. This is native PHP that I'm selling.

02:10:34.47
Chris Morrell
Yeah.

02:10:34.39
Simon Hamp
um So there's a quid pro quo with with money involved um but it's it's been yeah it's but it's been really good i think one of the things though that i will say the a lot of meetup organizers don't seem to have a clue about how what what is sponsorship like how do i get some sponsors um i think they need some help i think they need some help chris can you help me out

02:10:54.68
Chris Morrell
Yeah. yeah

02:10:57.51
Chris Morrell
Yeah.

02:11:00.28
Chris Morrell
yeah No, that's something that that's something that I'm working on in all my free time. ah

02:11:07.26
Simon Hamp
right

02:11:08.90
Chris Morrell
But, you know, so we've we've got got PHPX, ah a bunch of PHPX meetups running now. And, you know, i've put together some resources, ah but I have a lot of hope that someday I'll be able to put together more.

02:11:18.74
Simon Hamp
That's

02:11:27.14
Chris Morrell
And that's a big one is just like, um You know, there's the there's the first steps of just getting that that core of people together who are actually going to show up every month or every other month or every quarter or whatever it is.

02:11:39.72
Simon Hamp
amazing. Yeah.

02:11:40.38
Chris Morrell
ah But at a certain point, you know, you can do that. I like to tell everyone, you know, our first PHP Philly was in a pizza shop with two other people. um It doesn't have to have any expenses whatsoever.

02:11:52.90
Simon Hamp
Yeah.

02:11:54.44
Chris Morrell
But a certain point, you know, it's nice to be able to bring bring pizza to a venue, bring some drinks, you know, maybe even do a giveaway from time to time, stuff like that.

02:12:04.67
Simon Hamp
Yeah.

02:12:06.15
Chris Morrell
and And helping these meetups get to that point is definitely something that I want to put some energy into. So, you know, I'm still waiting on your PR. your' your the, the PHP world, uh, repo is, is open source.

02:12:19.12
Simon Hamp
Oh, damn.

02:12:21.73
Simon Hamp
Yeah.

02:12:21.95
Chris Morrell
You can just PR yourself right through it. No, I'm just, I'm just teasing. But, um,

02:12:25.77
Simon Hamp
No, I, yeah, I'm i'm so bad at remembering to do things. Let me just write this down. um Yeah. So one of the, we used to do this meetup when I was back in the UK many years ago when I started my dev career and I lived in a town called Birmingham.

02:12:44.52
Simon Hamp
And um it's called the multi-pack. And it was basically just like bunch of... I mean, it was blokes, unfortunately, mostly at that time. ah But bunch of blokes go to a pub...

02:12:56.52
Simon Hamp
order some food, have some drinks and have a chat. That is literally how it started.

02:12:59.30
Chris Morrell
Yep. Yep.

02:13:01.22
Simon Hamp
And, and through that, I met people in that, that I know to this day, some that I've worked with, you know, some that I'm working with right now.

02:13:06.62
Chris Morrell
Yeah. Yep.

02:13:10.64
Simon Hamp
Um, I gave my first talks that when we had those meetups in and venues, when it moved from the pub to a proper venue, you know, it's like, It's an incredible time to get involved in meetups at that early stage.

02:13:25.33
Simon Hamp
And especially after we've had all of COVID and everything as well now, it's like, get back out there and make some friends, ah have a few drinks and, you know, soft drinks or not so soft drinks and pizzas and stuff, whatever tickles your fancy, just make it happen.

02:13:25.95
Chris Morrell
Absolutely.

02:13:29.31
Chris Morrell
Absolutely. Yeah. Yeah.

02:13:39.11
Chris Morrell
Yeah. It has been a blast. and And there, i mean, there clearly is a lot of, that there's so much energy around ah getting back together right now.

02:13:48.14
Simon Hamp
Yeah.

02:13:50.63
Chris Morrell
and mean, you see it in Laracon for sure.

02:13:50.77
Simon Hamp
Yeah.

02:13:52.99
Chris Morrell
that i mean, the incredible surge of people who are interested in going to these big events. but also you see it in in these smaller events. um

02:14:02.76
Simon Hamp
Definitely.

02:14:03.84
Chris Morrell
And it's just so nice. It's just so nice to get a chance to sit down with people who do the same thing that you do or interested in the same like geeky things as you are and and get a chance to to chat.

02:14:12.69
Simon Hamp
Yeah.

02:14:15.58
Chris Morrell
And I mean, you know, ultimately that ah i also going back to something that we we started out talking about, like ultimately that has been um some of the most rewarding part of being um in the Laravel and open source communities is, you know, all of the um relationships that ve I've got to, you know, really rely on um through COVID and and, you know, now we'll get to to just have a, have be a ah central part of my life now, you know, it's it's really fantastic.

02:14:39.16
Simon Hamp
Yeah, exactly.

02:14:44.97
Simon Hamp
Yeah.

02:14:50.90
Simon Hamp
Yeah.

02:14:52.14
Chris Morrell
So, yeah. go to if If you're listening, go find the closest PHP meetup and and look look at their next ah and next um event because it's great.

02:15:04.54
Chris Morrell
It's a great time to be doing them.

02:15:06.53
Simon Hamp
it is great. I think there's a lot of people who struggle with the the larger events, you know, maybe like socially they find it difficult, whatever.

02:15:12.01
Chris Morrell
it

02:15:15.38
Chris Morrell
Intimidating for sure.

02:15:16.01
Simon Hamp
and yeah Um, and, there are an expense, you know, like tickets are expensive.

02:15:21.88
Chris Morrell
yeah, yeah for sure.

02:15:23.51
Simon Hamp
If you've got to travel and stay, it's expensive.

02:15:25.29
Chris Morrell
Yeah.

02:15:25.95
Simon Hamp
If you've, If you're doing that, and like I'm freelance, if I do that, I give up paid work. So it costs double, you know, like it's even worse.

02:15:33.46
Chris Morrell
All right, great, yeah.

02:15:35.04
Simon Hamp
So if you're doing that, you know, it's like, but the, the sort of, I mean, you do get a massive reward from it. Don't get me wrong.

02:15:42.39
Chris Morrell
yes

02:15:42.42
Simon Hamp
Like the events being there in person, a Laracon is great ah when you make, make the best of it.

02:15:46.54
Chris Morrell
yeah

02:15:48.42
Simon Hamp
But um yeah, I mean, you can get a flavor of that with the local meetups for sure. And yeah,

02:15:54.81
Chris Morrell
Yeah.

02:15:55.03
Simon Hamp
It might be a little bit lower stakes.

02:15:59.20
Chris Morrell
It's a good place to start, at least.

02:15:59.42
Simon Hamp
Low stakes, high reward. Yeah.

02:16:01.69
Chris Morrell
I mean, we have ah two or three people who I met through PHP Philly who are now planning to go to the the Denver LairCon.

02:16:14.13
Chris Morrell
um

02:16:14.24
Simon Hamp
Yeah, that's cool.

02:16:15.19
Chris Morrell
And I think, yeah, I think that like starting to get involved in the local meetup was like that stepping stone for at least one of them. And...

02:16:23.14
Simon Hamp
Yeah.

02:16:24.26
Chris Morrell
Yeah, that's cool. At least I think so.

02:16:25.63
Simon Hamp
now I know somebody there.

02:16:26.06
Chris Morrell
I don't know.

02:16:27.19
Simon Hamp
Yeah. i mean, at the very least it's like, I know one other person who's going to be there and I can like hunt them down.

02:16:28.09
Chris Morrell
Yeah.

02:16:31.99
Chris Morrell
Yes.

02:16:33.98
Simon Hamp
Cause I can see the massive white quiff from like a mile away.

02:16:37.07
Chris Morrell
um

02:16:37.83
Simon Hamp
and

02:16:40.99
Chris Morrell
Oh, man.

02:16:42.51
Simon Hamp
Yeah.

02:16:42.93
Chris Morrell
All right. This has been a blast. At ah two hours and 17 minutes, I think i I need to go get some lunch.

02:16:44.89
Simon Hamp
Yeah. um

02:16:49.22
Chris Morrell
um But thank you so so much. I feel like I'm really excited to see where you know wherere native PHP ends in the next ah next six to 12 months and and where it's going from there.

02:16:53.72
Simon Hamp
Thank you.

02:17:04.12
Simon Hamp
Yeah. The only way is up, baby.

02:17:07.16
Chris Morrell
Yeah. I mean, we we kind of already talked about it, but like ah do you have any specific call to action or or place that you want to send people to to end the show?

02:17:19.37
Simon Hamp
Just, yeah, um check out nativephp.com. Obviously, that's the the main website for the whole set of libraries. If you're interested in mobile, specifically, we have got nativephp.com slash mobile, um where you can go and buy a license. If you get them now, well, there's an early access program. They're quite heavily discounted compared to what they will be.

02:17:41.51
Simon Hamp
And we've got iOS support today. and I'm really, really happy to say that Android support is coming. within the next two weeks from this moment.

02:17:52.57
Simon Hamp
I can't say specifically when, but it is coming.

02:17:53.29
Chris Morrell
Ooh, that's exciting.

02:17:56.34
Simon Hamp
It is very exciting. We're wrapping up the final pieces of it right now. So some big updates coming. ah And if you're not quite ready, that's fine. Just sign up to the newsletter.

02:18:07.14
Simon Hamp
Newsletter is completely free. um And I don't spam people from that. So only occasional messages. ah so yeah, it would be great to have you join us in the community.

02:18:19.91
Chris Morrell
Awesome, and I'll put all that in the shit notes. um Thanks again Simon, it's been so much fun.

02:18:25.65
Simon Hamp
Thank you very much, Mr. Chris.

02:18:28.07
Chris Morrell
Until next time.

Creators and Guests

Chris Morrell
Host
Chris Morrell
Father of two. CEO/CTO at InterNACHI. Host of Over Engineered.
Simon
Guest
Simon
Creator of NativePHP, Laradevs.com and Building ReelFlow.com. 1/3rd of The Bucket podcast.
Native PHP w/ Simon Hamp
Broadcast by