The death of IO domains? Long live Prism!

Chris Gmyr (00:00)
Hey, welcome back to the Slightly Caffeinated Podcast. I'm Chris Gmyr

TJ Miller (00:03)
I'm TJ Miller.

Chris Gmyr (00:04)
Hey TJ, so what's going on in your world?

TJ Miller (00:07)
Ooh, my world, man. it's been pretty chill. Like my son just had his big field trip and his big sixth grader, trip to like a day camp for the day. And I very fondly remember like my childhood one, also in sixth, I was just like a, I've been born and raised here. So it was, it must just be like a Southeast Michigan thing. Cause I mean, we did it when I was in sixth grade, we had our big.

big day out. so he had that yesterday and it was a blast. Like, I remember when we were kids, was like, canoes and we did model rockets and like crafts and like a nature hike. And, it was super fun, but now they've got like high rope courses and zip lines and all sorts of stuff. And I'm like, geez, like maybe I should have chaperoned and

gotten to do like a zip line or something, you know? Sounds like a ton of fun. Yeah. Outside of that, man, just, launched Prism. We can talk about that a little bit later. And then I've just been like, you know, trying to keep up with pull requests and issues and just kind of like keeping busy between that and work. So not a whole lot, but definitely a bit. How about you, man? What's new in your world?

Chris Gmyr (01:02)
Yeah, that sounds really awesome.

Yeah, just have a lot going on in October. Having a lot of family in town visiting and we're doing some traveling and got some things going on. So my cousin and some of her kids were here a couple days ago going to a concert in town. So they stayed overnight with us and hung out for a little while. Had like a day in between. And then my mom came down from New York to visit us for four or five days.

So she'll be here over an extended long weekend and just hanging out with her. And my son has the day off on Monday, so it'd be a nice time to all hang out together and do some fun things and follow things and maybe go to one of the farms around here that do kind of follow like pumpkin Halloween festival type things. And yeah, just have a good time with that.

TJ Miller (02:26)
Yeah, do you do like pick your own pumpkin and hay rides and stuff?

Chris Gmyr (02:31)
Yep, exactly. And they have a bunch of different activities that you can do and games. And they have horses there that you can buy tickets to ride and big jump houses. these, instead of sand pits or play sand areas, they just have corn in there. kids jump in and play with just boatloads of corn. And they have corn mazes and stuff like that, too.

TJ Miller (02:33)
Heck yeah.

yeah.

Chris Gmyr (02:58)
Yeah, it's just a good time of just like random ball fun.

TJ Miller (03:02)
Yeah, I just ran out of my apples from the last time we were at the orchard. So I feel like I've got another trip coming up and I'm out of donuts, I'm out of cider. Got to go restock.

Chris Gmyr (03:11)
Yeah.

Those are terrible things to be out of. Gotta go.

TJ Miller (03:17)
I know, especially when it's been like the weather's shifted hard here. don't know how about for you, but we've, we're getting into the low forties at night and like mid, mid sixties during the day and the leaves are taking a hard turn. So we're, we're fully in fall over here.

Chris Gmyr (03:35)
Yeah, we're not quite there yet. It was still 80s last week. Today was actually the chilliest day. The high is 68, low of 51. So it'll still be a good while before it dips down much lower than that. it's nice to finally have a little bit of a chill.

TJ Miller (03:54)
Yeah, I'm big on sweatshirt weather, so I'm loving it.

Chris Gmyr (03:59)
Yeah, same here. The sweatshirts.

TJ Miller (04:01)
Cool, dude. I see one of the topics that you wanted to talk about a little bit. I'm super interested by this and I hadn't heard anything yet. Weird on the street is the IO domain is like retiring or we've just had enough of neat domains so we're getting rid of it. what's the story behind this?

Chris Gmyr (04:21)
Yeah.

Yeah, I saw an article come through one of my mechanisms that I have set up and just for like news and a couple of like interesting tidbits and stuff like that about the IO domain possibly going away. I think it's still very early with this, but basically there's an article and I'll have this in the show notes, but it goes a little bit more in depth on this.

But basically the British government gave up sovereignty of this like small tropical atoll, small set of islands in the Indian Ocean. And it was known as the British Indian Ocean Territory. And this is now getting handed off to a different island country of or something like that.

I'm not really sure of the pronunciation. basically, it was this, domain attached to this territory or country, like, and then the territory or country, is no more like disbanded or, know, someone else took it over or, you know, something happened to it. it basically.

TJ Miller (05:18)
Yeah, there's no way I'm gonna pronounce this.

Chris Gmyr (05:41)
has this other government agency of the IANA. It's dot org. But basically the Internet Assigned Numbers Authority, which basically handles all of the top level domains across the world and kind of having these like governing rules and things like that. So basically they have a rule when the territory or country goes away, then you have like

up to five years to either find some successor for it or it could basically get turned off. However, in the past, because there's a couple other examples in the article two, with the USSR and also Yugoslavia, they had top level domains back in the day and had a bunch of political drama with that. And they're still around or

A few of them are still around, but you can't actively buy new domains with them. So it's a little unknown because a lot of companies have jumped on this IO domain, which it's basically like a abbreviation for input output, right? And very code-based and a lot of companies have picked it up like Big Tech and also like crypto has bought into this IO domain. It's small, it's catchy, it's nice. It's very tech-based.

So it's gonna be interesting to see what happens with this. And if like Big Tech or crypto are gonna come in and say like, hey, we want to buy this or somehow sway the IANA org over to some new ruling on this, or it just gonna basically be forced to be extinct. And all of these companies are gonna have to go into a different top level domain.

So it's very new. This came out a day or two ago. So it's a little unknown what's going to happen now. I don't think there's been any official release or statement from the IANA. see what happens with it in the future. I think, yeah, yeah, it's super crazy. I think it's interesting that it's this.

TJ Miller (07:48)
Yeah, that's crazy.

Chris Gmyr (07:54)
kind of bridge across like our very technical and digital world and kind of the true world and some of these back ends are actual countries and country codes. So even though they might mesh well to our like digital and tech based world, it still has to be backed by something kind of like just how money is right too. So once that goes away or shifts or changes,

TJ Miller (08:17)
Mm-hmm.

Chris Gmyr (08:22)
And these ripple effects now into tech and some of the even, you know, this has a lot to do with the worldwide web and networking and things like that too, like how these physical changes in ownership or name changes have basically trickle effect to the tech worlds that were so.

So used to and being able to buy these domains like very easily without, you know, too much, you know, worried about how to get them, if they're going to last, like usually we're more worried about the business going to last, like compared to the domain. Cause I don't remember like any domains really going away. We just added a ton more over the last, handful of years. So it was just really interesting to kind of think about like what could happen if like some of these things.

TJ Miller (09:09)
Yeah.

Chris Gmyr (09:15)
go away over time as these countries or territories shift.

TJ Miller (09:19)
Yeah, like we had a, I want to say this was nine, maybe close to 10 years ago when the IO domain like really popped off and it was super popular. Like everyone was buying them up. Like I have, I have one, I only have one left, but I had, I remember picking up like several of them and it was just like, it was the hot, hot tech domain at the time.

And that was like before we had the big wave of all the new TLDs we have now, because I think those are...

I mean, that can't be more than like six or seven years ago, I think we had that, like that big wave of all the new TLDs. So yeah, this was, this was a big, a big hot one for a minute. And I remember something happened. Like they're so like, believe how this works and I'm probably wrong and somebody definitely correct me. but I'm pretty sure there's like the IANA, right? And they're kind of the like.

record holder for like who owns what, but they're like, they don't control the actual domains. There's like other entities that like control that domain and how that domain's routed and registered. And I remember with the IO domain, something happened and it like all IO domains went down. I don't know if you remember this, like it was definitely nine ish years ago or something like that.

And I remember like it went down, the company I was working for, we, at the time our like new product was on an IO domain and there was nothing we could do because it was like the core routing for that domain like went down. And so like every IO domain was inaccessible for some amount of time. Like, I feel like it was, like half a day or maybe a day where it just like, yep.

None of these domains work anymore. just, that's wild, man. Like, yeah, I think when you purchase a domain, figure it's going to be yours and around for forever. I, I, I'm sure it's happened, but like, I don't remember any TLDs going away. feel like, yeah, we've just yeeted more onto the list and all, all sorts of them now, but.

Chris Gmyr (11:37)
Yeah, lot of them. It's a little overwhelming how many we have now, but yeah.

TJ Miller (11:40)
Yeah, yeah. I appreciate it now because like, I mean, but I still think the like the gold standard is dot com. Like if you've got the dot com, that's pretty great. I haven't gotten into any of the newer, more exotic TLDs at all, but I think I've always wanted to make a couple of joke like LOL ones or, you know, odds and ends. But yeah, it's.

Chris Gmyr (12:09)
Yeah, most of mine are like .com. And I have a couple .devs, a couple .apps. And then I have a few random ones that I was working on an idea for. I have one .family. It's for a family type site or app that I was going to build that I haven't gotten to yet. But a couple of those specialized domains, I'd say a lot of them are kind of lower key, not any of the.

TJ Miller (12:30)
Yeah

Chris Gmyr (12:37)
the crazy ones like the lols or anything like that.

TJ Miller (12:40)
Yeah, the worst. man, I'll tell you the worst is having, and I made this mistake with our latest like family email. So like I bought a, I bought themillers.co. So I got that cause like, couldn't get any of the family ones or anything, but what I wanted to do is like have a nice TLD and like a domain to put to our like Google workspace. that like, cause I've got a Google workspace account for.

Chris Gmyr (13:05)
Mm-hmm.

TJ Miller (13:08)
myself, my wife, my son. And so I've got that all set up. And so I wanted us to have like nice TLDs and like, maybe let my sister join and like have like professional emails for everybody. So I went to like set that up and I forgot why I don't do CO domains for emails because everybody typos and puts it as a .com. And so I miss emails all the time because even though I tell them like CO

Everybody just puts the on the end because it's just like muscle memory. So the worst, like I've, I've made that mistake a handful of times and I was so bummed that I like made it again, but you know, it is what it is, but yeah, that's, that's the bummer about the CO domain in an email, like a hundred percent happy. mean, I, I'd say it's probably like.

60 40 success rate, like 40 % of the time someone's going to make it.com. So I've got to be like extra sure like it's.co not.com.co. I always got to like, like make sure I like spell it out. You know, I don't know. It's frustrating, but it's a, it's a decent domain. Yeah.

Chris Gmyr (14:21)
Yeah, you got to have an attack card for everyone so they can put it in there. Because even if you hear it, just .co, it's very likely that you're going to put the in there, just from muscle memory anyways.

TJ Miller (14:37)
Yeah, it's a pain and I didn't realize it until we had already like sort of established it. And then because I've got a super common last name, like all the domains for everything are always taken. So,

no, it's just a lot of correcting people on it, but no, it's crazy. Like, we'll see. I guess what happens, I might have to like, I don't know, maybe I should just retire my eye out to the same time, you know, just let it go.

Chris Gmyr (15:03)
Yeah, maybe. I think, I remember they're kind of expensive too, aren't they? Like 50 bucks, annual or something like that for...

TJ Miller (15:10)
Yeah, I don't know. haven't, like, I don't know. I haven't had to renew mine, but I think it may have come down in price. Like, I do remember it being pretty pricey off the bat. I can't remember the last time I've renewed it. I think I just try to, like, hide and forget my shame of paying for all the domains that I own, so.

Chris Gmyr (15:32)
Yeah, totally. I've cut back significantly over the years. I think I had, I don't know, probably a few hundred at one point. And just I'm like, I got to get rid of some of these because a couple of them, like I got pretty early on with some of the new TLDs back in the day with like good app ideas or side businesses or ventures or just whatever sort of projects. I'm like,

TJ Miller (15:40)
Wow.

Chris Gmyr (15:59)
These are too expensive to keep on hanging on to for eternity when I basically know that I'm not going to do anything with it. So just to get, take a hit on the ego and just give it up and, know, push it out back to the pool of domains.

TJ Miller (16:15)
Yeah, I think, I think I'm down to like 30 or 40, but I think at peak I was only maybe at like 60. So I don't know. kept, I kept it fairly, fairly good. Like, I don't know. You got a good idea. Like you got a, for me, the, the name's just got to hit right, you know? So if I've got, if I can't get the domain, I'm probably not going to name the thing that. So it's like.

You get that app idea, you get the name for that app idea, and that almost all hinges on whether you can get a domain for it. And it's like, well, maybe I don't even bother, you know?

Chris Gmyr (16:52)
Yeah. not retiring or expiring, Prism launch.

TJ Miller (16:57)
Yeah, dude. The Prism launch this weekend was, I guess it was, so I launched on Monday this week, so a few days ago, and that was a crazy experience. Like, I still can't believe it went as loud as it did. Like, there's a certain level of it all that just is like...

Yeah, it's just like a code base to kind of like scratch my own itch a little bit. Like, and maybe someone will find this useful. Turns out a whole bunch of people, I think, are interested in might find it useful. yeah, we can like, I think it might be interesting to talk some numbers. Like I've, I've never, I've never ever had a tweet like go so big before. think.

Chris Gmyr (17:37)
Yeah.

TJ Miller (17:49)
Right now it's sitting at like 42,000 views, which is wild to me. Like I can't, I don't even know what to say. That's, that's nuts.

Chris Gmyr (17:59)
Yeah, that's a lot. I don't even think all my tweets put together have that many views. I'd be very surprised.

TJ Miller (18:03)
I, same, same. I, I can't believe it. I know it got the, like, it got the Taylor bump and that was, that was pretty significant and much appreciated. You know, I think there's a good amount of it too, that was inspired by what like Taylor had said to me about it. So he, kind of served as the inspiration for it. So I definitely appreciate the, the, the bump there and.

got picked up by, I submitted it to Laravel news. I don't know if y'all know, but you can submit links to different things on Laravel news. And, you know, I had a late thought. remember like, yeah, you can do that. I'm like, might as well go and do that too. And, ended up getting like a little article on there. And so that, that was a nice little bump and, it was crazy watching the stars on GitHub grow too.

Like every, I think every time I refreshed it was up another like 10 or 20 stars. I just, I'm sitting there speechless, just watching, watching these numbers grow every time I refresh and very humbling. and I can't believe it. Like we've already, I think we're like, we're sitting at like almost 400 stars now.

Chris Gmyr (19:17)
Yeah, that's a lot after only a few days. So that's some good interest there.

TJ Miller (19:20)
Yeah

Yeah. And I'm, I can't believe it, but like there's, there's people jumping in to help. I tossed out a couple issues of things that I think would be like good for first time contributors, things like adding, like Maestro support. They're another provider. and they have an open AI, open AI. Every time I say open AI, I almost always say open API because years of talking open API specs.

Chris Gmyr (19:44)
If you

TJ Miller (19:47)
Yeah, they have an OpenAI compatible API. really, you can use the OpenAI driver. So it's just got to get the configuration in there. Somebody's already contributed a pull request for Gemini support. That required a whole new driver. So I've got that to review. I couldn't believe the like.

the size of the launch and then we've already got like people contributing stuff and I'm beside myself. Like I couldn't have ever imagined it would be, I can't imagine like, I could never imagine people would be interested in it, you know?

It's crazy.

Chris Gmyr (20:26)
Yeah, it's been really awesome. And I think the public work that you've done with it before, when I was Sparkle and doing the streaming and talking about it on here too and just all the tweets that you put out and different things that you've been sharing have definitely helped gain awareness and then building that excitement for the launch. then now that it's here, I think.

and then getting the additional support from like Taylor and, we're able to use and a few others. I think it's just been huge getting out there and you know, people won't like and start and keep on sharing it if it wasn't good. So congrats on the launch.

TJ Miller (21:06)
Yeah, yeah. Yeah, it's it makes me a little.

I'm a little nervous to keep working on it now. There's a certain aspect of it that's like, man, I got to make sure I step my game up and write good code and keep the docs going. I think I read through the docs four or five times before I hit the send on that tweet.

I didn't write all the docs. like, let, I let Claude loose on, on a lot of it. which I think would be something interesting to talk about too, like how, how that happened. But I had like Claude write most of the first draft and then I just went through and kind of edited stuff. But yeah, I'm, I can't, yeah, I'm just blown away that like people are willing to contribute and do some of the heavy lifting and keep, keep the ball rolling.

I don't know, it still feels like super surreal. I'm just, I'm stoked. And it's crazy because I put like months of work into Sparkle and that never saw the light of day. And I put like weeks of effort into this. And this is like, I mean, it's a million times better than, than Sparkle was. I, I mean,

Yes, everything I did with Sparkle was applied, like all the learnings from that code base and all the different things were applied knowledge into this.

I know. It's, yeah, I'm still just like blown away by the level of community support and interest in it. Like it wouldn't have been successful without, you know, a lot of people pitching in to help and sharing it. And I'm deeply grateful for all of that.

Chris Gmyr (22:58)
Yeah, totally. And hopefully all the excitement from the launch continues to give you the energy and bandwidth to continue and keep on pushing it forward, know, week to week, month to month and getting it to, you know, the eventual like beta and, you know, full production able to launch. So I think that's going to be like really exciting to see when that all comes together.

TJ Miller (23:24)
Yeah, like the loose game plan right now is I'm kind of trying to let things just like simmer for a little bit and let people like kick the tires and find bugs and help refine like what's there. Cause right now it's like base level text generation functionality with tool support. And so that's like maybe

I don't know. I can't even quantify it because there's all sorts of other features I want to build in, like object support, text streaming, support for generating embeddings, and a couple other things. So this is very base level functionality for the library. But I want to make sure before I keep on building on top of that, that that foundation's really super solid. So I'm of just giving it a beat, letting people

kick the tires on it, help me find the bugs. And while that's happening, work on different provider support. So talk to Maestro, talk to Gemini, make sure those get put together. There's Grok I want to also support. So just spending some time getting all that stuff situated, and then move on to start building some of the new features. You'll hopefully have a little bit firmer foundation.

Chris Gmyr (24:44)
Yeah, totally. There's plenty to work on in the meantime.

TJ Miller (24:47)
Yeah. Yeah. And I, I, I had just such a, I don't know if I, guess I want to, I want to, I feel like I want to say like a really humbling moment, but it was just this really cool moment that happened the other day. Like someone submitted an issue kind of asking for support on, like, Hey, would you support like doing, I think it was like object stuff. so.

OpenAI, Anthropic, and a handful of others have functionality so that you can send a text message and it will return back a JSON object. And there's all sorts of really cool stuff you can do with that. Imagine being able to send a document to OpenAI and ask for it to like,

give you back a JSON object that you could then map to an eloquent model. So you can essentially like, hey, take this document, make this eloquent model, or make these eloquent models out of whatever you're sending. So it can do text extraction, fill all that out. That's wild. I cannot wait to support that. But that's like whole, it's like a.

Chris Gmyr (26:06)
Yeah, that's really cool.

TJ Miller (26:08)
pretty big feature to like go in and support, especially at the level that I want to support it. So like someone had asked that and by the time I went to go like respond to it, just saying like, Hey, it's on the roadmap. Here's a link to the roadmap. somebody else had already like chimed in and like answered the question. I'm like, what? Like not only are people like filling things out, but they're also like answering their own questions. This is crazy. Like.

I don't even know what to say right now. And I really hope to like continue building a community around this. that's one thing that I'm really looking forward to and something that I've really admired about like what Caleb's done with LiveWire. And that's definitely a playbook that I'm keeping my eye on in like a direction that I'd love to head is to like be able to establish like a super rich community around it. I definitely want to set up.

Like, I guess I forgot what they're calling it.

not like preferred members, but like,

I don't know. Like Laravel's got it too. Yeah. Like a core, like a member group where it's like, yeah, you can like, I'll sit in, like we can all like join a channel together. Like, and you'll get like priority support and I'll be like there in the channel. So you can like directly ask me questions about different things. yeah, I forgot what it's called, but I'd love to set something up like that. So I don't know. I'm trying to figure out. Like I don't like discord. I don't want to do a Slack.

Chris Gmyr (27:12)
like a core member.

TJ Miller (27:38)
But Aaron Francis had recently talked about doing with all his database courses was like going back to like old school forums. And that sounds interesting.

Chris Gmyr (27:50)
Yeah. Yeah, totally. And even like Laracast obviously has a huge forum and that's been. I don't know for me a lot better with searchability when trying to, you know, fix an issue or come up with something because discord, you know, unless you're in the discord and can search it like it's not going to be that helpful. Same thing with slack. So having something publicly accessible.

or even like half and half of like, you you have your supporting members, right? That might have, you know, private threads in there or different boards, but like generally the rest of it is public. I don't know. That's going to be like a lot more helpful than a closed off Slack or Discord server, I think.

TJ Miller (28:40)
Yeah, and that's the thing, like the forums are so much more of a searchable medium. And I think you get, you know, like an SEO boost out of all of it. There's like a whole bunch of reasons, I think. But yeah, I definitely want to establish like over the next few weeks, some sort of community level and kind of get the ball rolling on those things too. So lots, lots in store. I'm more.

I'm more energized than ever about it. I'm I'm chomping at the bit to like get into some of the next feature sets, but I definitely want to like move slow and in the right direction and not try to like, especially while we're at an alpha state, like I don't want to turn the API super hard and, you know, throw off anybody's work. So I might, I've been even considering, and I'd be interested for your thoughts on this. I've been thinking about like once.

we've solidified the core text generation support. I've thought about 1.0-ing with just that feature and just saying, hey, at least this feature is out of alpha. It's going to be super stable. And still offering dev releases of newer functionality that may be in alpha state. So we cut it at 1.0.

with text generation support, then I start working on the object mapping stuff, right? And so we can have the 1.0 branch so we can easily ship stuff to 1.0 bug fixes, little features, things like that. But then maybe the next release with that feature is in like a

you know, that's on like the main branch, right? So like main branch is always like latest and greatest, like alpha state, but like your tags are where you really like live for like stable support. I don't know, what do you think about that, man?

Chris Gmyr (30:49)
Yeah, I like that. That's similar to how Laravel does releases in new feature sets anyways, but I like. The fact that you would. Pin a V1 to it and say like this is ready for production and actual use, and I think I've seen a lot of packages out there that either take forever to get to a one.

Dotto release, or that just never really do it. And it makes me very leery to put those into a production application, especially with any sort of business or higher scale and things like that. It just makes me really worried. Even if the code is solid, it works well. does what it was built to do. But just knowing that it's not a full 1.0,

X release doesn't make me feel good. So if you can tag it when running and say, this is the line in the sand for me of these are the features that I'm going to commit to and get out the door for this first release. And yes, public, come and use it and be OK with it being in any sort of application.

We're not done yet, and that's where future releases will come back in. And I think. Rolling into the the road map of everything that you'll either have planned out right now or in the future, like you can say like hey, this. 2.0 release is going to have X, Y and Z features in it, and that date is going to be this and then you can you know road map out, you know like that. So you're always going to have future releases and improvements and things like that.

TJ Miller (32:12)
Yeah, so then like

Chris Gmyr (32:38)
and not say this is our only production release for it. So I think that will give everyone a little bit more peace of mind of the flow and the focus of the package too.

TJ Miller (32:45)
Yeah

Yeah, part of it is I just want people to feel confident that the API that they're using is going to be stable, right? So being in the alpha state that it's in now, I was even going back and forth about changing one or two method names. I'm like, gosh, as much as I'd like to do that or maybe do that, at the same time, I don't want to break any

thing that people are like, even if you're just like experimenting with stuff or like building, you know, like a little CLI for your yourself to like mess around with. Like, I don't want to break that if I don't have to, you know? And so I'd love to just get to that state of just like, yep, here's like, this is going to be stable, you know, like I'll bug fix it, no problem. but then the question for me always was like, all right, now I've got object support. that like.

If we're talking semver, is that 2.0 then? Or is that like 1 dot whatever, including that object feature? And then.

If I do that, how do I? Because like I want to do like the object feature, but I want to offer that as like a.

I guess the way that I want to do it, would be a 2.0 release then. Cause like that way I can do it like a 2.0 alpha release, 2.0 beta release, like including that feature, like object mapping. And so I can do that as a like alpha beta release on like 2.0 and then give people an opportunity to like kick the tires on it again. Make sure that like, cause like I'm really concerned about the ergonomics of this. Like I really care about.

how you're using it. So I want to make sure that it makes sense the way it's used. So.

Chris Gmyr (34:43)
Yeah. And I think the major release is probably a safer bet anyways, because you don't really know, maybe like right now, how that could affect the API that you either have today or in the future too. So if using objects in the future need to change for ideally the better, the text generation or the way that they interact together.

TJ Miller (34:57)
That's very true.

Chris Gmyr (35:13)
That might have to be a 2.0 release regardless. So I think if you aim for that, I think that's totally fine. The other thing that popped into my head for even alpha changes or anything in the future is the upgrade path and keeping that as simple and straightforward as possible.

TJ Miller (35:19)
It's very true.

Chris Gmyr (35:39)
So the Laravel docs, I think, do a really good job with this. And other packages that I've seen, it's like, we renamed this method to that method. And very explicit, very easy to follow. But then we also have tools available to us like Rector. So I wonder if being the CLI and tooling person that you are, either building something into the package that could maybe be just temporary for the alpha and beta releases as

some of those APIs switch is having some sort of little CLI option to automatically map those to latest method names or signature changes or anything else like that, either using maybe like Rector. That's also one plus version out now, or just doing something.

small with like, yeah, searching a place or set or something like that, like built into the package that you can just do your own like, you know, prism shift to get up to the latest version of whatever you change. So that would then take away your hesitancy from getting your good vibes, you know, right? Like if you're working on this right now and you get like much better vibes with

like renaming this method or maybe breaking it into two methods or introducing DTOs over strings or something like that. You can then build maybe some of the tooling around making that easier for people to jump on board, like day one of that new alpha release or version.

TJ Miller (37:23)
That's a super cool idea, man. I really like that. Being able to maybe publish some rectors between versions to just make the upgrade path super duper easy.

Plus I've been loving it. Like I've been dying to dig into Rector more, you know, and then kind of see what different things I can do with that. That'd be, that's like a really cool idea, man. I really like that. and that's the kind of like polished experience that I'm hoping to provide. And with the upgrade guides, I'm definitely gonna try to like let, follow in Laravel's footsteps with a lot of things. Like I really like their release cycle. I didn't mean even before they went more.

strict on semver, like I understood how they were doing their like versioning before. And I liked that also, but I think that was a big thing that I was like trying to figure out is I want to, I don't want to like wait to cut 1.0 until I'm done with all these features. Cause that realistically could take a minute and I want to move purposefully a little slow to just make sure that

we're getting everything right and that things are dialed in and everything feels good. So, and of course, like I want to make sure like functionalities is hard and as stable as it can possibly be before, you know, tagging a version. So I think that's maybe what I'll do then is get like text generation really dialed in. There's a few features that I want to update and a couple of things I want to add. And then I'll probably end up cutting a 1.0 with like just

text generation based level functionality. then I'll probably target object generation next and maybe cut that as a 2.0. And if there are no breaking changes for the upgrade path, whatever. That's not that big of a deal to go and update your Composer file to target a 2.0 and no breaking changes. So I think that's fine too.

Chris Gmyr (39:30)
Yeah, and I think that's a good.

TJ Miller (39:30)
I don't feel like I'm gonna make the world burn with improper semver, you know?

Chris Gmyr (39:35)
Yeah, and I think like the major version is like a good, just a way to notify people of like, Hey, this new big chunk got added kind of regardless of there's breaking changes. know that's very like some barish to like only do breaking changes, but I kind of like, in, you touched on kind of older days of Laravel releases is like, it was only a release if there was like enough big new things to go into it to flag that it's a new

version that you need to change your ComposerJSON file to. So that could be like a good signal to people of like, hey, there's actually a bunch of new stuff in here for you to play with. It might not negatively affect anything that you have in your app already. So yeah, I like that too.

TJ Miller (40:22)
Yeah, this feels like, this feels like maybe smells like a blog post and throw that out in the wild to you and kind of get a feel for like what the community thinks. Cause that's, I don't know if this is a strategy that I've ever seen anywhere, but I've definitely come across what you said to earlier of just, there's lots of packages out there that never hit 1.0 or like it takes a really long time to hit 1.0 and, I'd like to like,

offer stability wherever I can for people who are using it. And so I think if I can like lock things in at 1.0 and then, you know, I definitely have that escape hatch then for a 2.0 with like new features. If things have to change, things have to change, but hopefully, you know, by moving purposefully a little bit slower, we can avoid some of that stuff and like move, move thoughtfully and slowly. So I don't know, man. Appreciate that.

Chris Gmyr (41:18)
Yeah, no problem. I think it's a good plan. looking forward to if you do a blog post about that and dive into that a little bit more, I think it'd be great to share as well. So yeah, keep us posted with that.

TJ Miller (41:32)
Yeah, man. I think on that note, we can probably wrap it up.

Chris Gmyr (41:36)
Yeah, let's wrap it up. So thanks for listening to the slightly caffeinated podcast. Show notes and mentioned links are available at slightly caffeinated.fm. Reach out to us on Twitter or X at slightly calf pod if you have any feedback or suggestions for topics in the future. And also feel free to email us those instead at hey at slightly caffeinated.fm. So until next time, we'll catch you next week.

TJ Miller (42:03)
Yep, we'll see you.

Creators and Guests

Chris Gmyr
Host
Chris Gmyr
Husband, dad, & grilling aficionado. Loves Laravel & coffee
TJ Miller
Host
TJ Miller
Dreamer. Proud ADHD advocate. Laravel astronaut. Building an amazing Gen AI package for Laravel called Sparkle.
The death of IO domains? Long live Prism!
Broadcast by