Sales Safari for Torchlight.dev & Wanting to Give Up

April 8, 2021

Sean and Aaron attempt a "Sales Safari" for Torchlight.dev. It gets a little painful because there aren't many results, and Aaron kind of feels like giving up. 

Transcript

Aaron
00:00:00 – 00:00:29
Hey. This is Aaron coming to you from the future. What you're about to hear, we recorded yesterday, but I wanted to give you a little bit of context. We are trying to figure out, or I guess I'm trying to figure out how to write a landing page for torchlight dot dev, and Sean is walking me through, how he would do it. And so we spend a lot of time, like, searching online for people talking about syntax highlighting that sort of thing.
Aaron
00:00:29 – 00:00:55
I've cut out a lot of the dead air, but this is, I mean, this probably took us an hour and a half and I've cut it down to just about an hour. At the very end, my power went out for some reason, and so I've spliced together, what I could, but it does. You may hear that my microphone, changes there at the very end, but it's still fine, and it's just a short part. So,
Sean
00:00:59 – 00:01:23
enjoy. Okay. So, Aaron, you and I are gonna go through your torchlight.dev website. So Torchlight is your code highlighting service that you threw together for our documentation Mhmm. And you're bundling it into a separate product that we can sell.
Aaron
00:01:23 – 00:01:29
Correct. And you are gonna teach me how to write better, landing pages.
Sean
00:01:31 – 00:01:31
Theoretically.
Aaron
00:01:32 – 00:01:36
Theoretically. So tell me about this PDF framework real fast.
Sean
00:01:38 – 00:01:50
Right. Pain, dream, fix. So it's just a formula for how you structure your copy. Sort of a loose formula. I don't stick to it strictly, but it's a it's a good one.
Sean
00:01:51 – 00:02:10
There are other ways to write a landing page, but this one works works pretty well. So you start with describing the pain that your customers feel, what it would look like if that pain was solved to the dream. And then and then you go into the details about your product, how you fix it, etcetera.
Aaron
00:02:12 – 00:02:15
Okay. So is this like a long form copy kinda thing?
Sean
00:02:15 – 00:02:30
It can be. Can it tends to be longer form copy. And then, like, long form is like, what's your definition of that? Right? Like, lots of people have different takes on what that looks like.
Sean
00:02:30 – 00:02:53
I think, you know, my landing pages that I did for, like, my book and for the for all my other stuff, like newsletter, podcast, etcetera, etcetera, they all follow the PDF formula, and some of them are longer than others, and none of them, I think, would equal, like, what traditionally people would call, like, the long form landing page. Like, those are those landing pages that you hit and you just keep reading and reading
Aaron
00:02:53 – 00:02:54
and reading. Forever.
Sean
00:02:54 – 00:03:12
And if they're done really well, they're great. Like, if you're you get sucked into it and you just read this thing, by the time you're done reading it, you're ready to throw the money. So but, yeah, mine are mine are not like that. Mine are a lot lighter. There's some there's more reading than on a lot of website and a lot of landing pages.
Sean
00:03:12 – 00:03:19
But Okay. I think the main thing is that it needs to be research driven.
Aaron
00:03:19 – 00:03:36
Okay. Well, I have a bunch of, so I have a couple of things that I've researched. So I will Slack this to you, and then we'll talk about it here. So this was the first place. This is a blog post by Miguel.
Aaron
00:03:38 – 00:04:02
Sorry. Pia Defita, the guy in the Laravel community. So this is a blog post about his journey with syntax highlighting. The very first line says, when it comes to highlighting code blocks, it may seem like there aren't many options available. 90% of websites use either prism or highlight.
Aaron
00:04:03 – 00:04:38
They often miss the mark on correctly highlighting things to the point where some users opt to highlight code manually. And then he links out to a tweet where the guy is saying, says in this guy on Twitter says, nope. I manage my code highlights manually because every highlighting library makes mistakes, and I want them to be perfect. So there's some pain in getting it right, it sounds like. Some frustration that it doesn't get the syntax right.
Aaron
00:04:42 – 00:05:25
And then this blog post goes on in great detail to talk about how to, install this JavaScript package that has to be run-in Node. It can't be run-in the browser, and so how to make a build step and a build process to read all your files, highlight all the code, write them all back out. And this is what I went through. This is what I went through for our docs was, like, I had to, you know, get a node build step that we didn't have before just so that I could build our docs, just so that our code highlighting would work properly. And it was a
Sean
00:05:26 – 00:05:36
pain. Yeah. So right. So I would rate this as middling research material for a landing page. K.
Sean
00:05:36 – 00:05:45
So what we're looking for so there's there's definitely stuff in here. Right? Like, there's implied pain. We can sort of, like, read between the lines
Aaron
00:05:45 – 00:05:46
Okay.
Sean
00:05:46 – 00:06:06
And see that. The guy saying that he wants the syntax highlighting to be perfect. Mhmm. I don't that's not really a pain. I mean, I I guess, like, if you're a perfectionist and you want your code to be perfect, then that's a that's painful to you.
Sean
00:06:06 – 00:06:31
But a pain would be more like like, why does why does he want it to be perfect? What's the problem there? Right? So then if he told us why, like, if there's a reason behind it, which there may very well be, that's what we really would want. Like, so we would really want I have tried I have over the years used since here's my pain.
Sean
00:06:31 – 00:06:44
I have over the years used syntax highlighters for my blog posts that I write for my technical blog posts, and, like, they seem to work for about a year, and then they stop working,
Aaron
00:06:44 – 00:06:45
and then
Sean
00:06:45 – 00:07:03
they're incredibly fiddly. It's really annoying to set them up. So you've either got that or you've got, like, CodePen, which is probably bulletproof, but then it's huge. Like, it's way more than what you're you just really wanna highlight some code in the middle of a post. Like, you don't want a code pen in the middle of a post.
Sean
00:07:04 – 00:07:26
So, like, that's a pain. Right? I'm like, I the pain is it is super annoying to fiddle with these things, and they go out of date, like, they stop working really quickly for for whatever reason. And that that is, I think, not that is like a shared pain that I I'm pretty sure Andrew had too. So what tell me more about what Andrew was saying.
Sean
00:07:26 – 00:07:28
Like, why Andrew was all, like, jumping on this. Why?
Aaron
00:07:28 – 00:07:42
Yeah. So I showed this to Andrew, and explained the process to him. And I was like, here's the deal. All of these JavaScript libraries suck, and they're more than that. They're just a pain to get right.
Aaron
00:07:42 – 00:08:04
Like, they're a pain to get implemented. And he said he said that he had put he's got a contractor. He put a contractor on the code highlighting stuff for a while. They couldn't get it figured out, and they didn't like, like, they didn't like how it was going. Like, they got some stuff figured out, and they didn't like it, and it didn't look good.
Aaron
00:08:04 – 00:08:48
But he said the whole process of, like, getting it all installed and run through their, I guess, webpack or webpack or whatever he's using. He said it was just a nightmare, and he gave up. So that sounds to me like a common like, that's how I have felt before, except this time I kinda had to stick with it because we want our products to look, you know, extremely good. So he was excited because he doesn't wanna think about it. He just wants to be able to, have something basically in like, read his markdown and do it all for him without having to install any JavaScript or CSS or anything.
Sean
00:08:51 – 00:09:07
Mhmm. Right. So, like, he's got a pretty complicated build process. He's got his own custom setup for how he's grading his code, trying to, like, add it's basically just adding more complexity to an already complicated process, and it didn't go well, and it also didn't look as good. Okay.
Aaron
00:09:07 – 00:09:08
Mhmm. Exactly.
Sean
00:09:10 – 00:09:20
Alright. So while you're talking, I'm googling around checking stuff. So I'm, like, in Hacker News. I Googled around for, like, syntax highlighting. Mhmm.
Sean
00:09:20 – 00:09:38
Hacker News is funny because it's a bunch of, like, posts, like, syntax highlighting is childish. It's like training wheels. I'm not kidding. Like, it was can turn off syntax highlighting, syntax highlighting shortcomings, etcetera. So they're talking about visual, like, you know, code editors.
Sean
00:09:38 – 00:09:58
So that's a different a different thing. But I did find right off the bat syntax highlighting in a web page without JavaScript posted 13 days ago. So and a lot of comments. So I was just about to, like, cruise through those. So, like, alright.
Sean
00:09:58 – 00:10:12
So first comment, hacker news is like, I'm so smart. Look. I knew that things could be done on the server. Like, the trend to render everything client side is troubling to me. It's such a waste of resources.
Sean
00:10:12 – 00:10:32
Okay. So that's gonna collapse that comment thread. What's so special about this is the way websites have been doing syntax highlighting before people started using JavaScript libraries, blah blah blah, RackView, Angular. People don't know how to do this stuff. K.
Sean
00:10:32 – 00:10:47
Nothing there. By running the same JavaScript on the server, we're in a build step. Okay. Smart key comment. So, you know, accuracy is always useful.
Sean
00:10:48 – 00:11:13
I did I did, like, jump over to the Reddit where the guy linked over to the Reddit conversation too. There's no comments there. Reddit conversations are actually a lot better for this most of the time. I was thinking the next step would be going to, like, Reddit, like, the the web design or web developer subreddit. Looking for code highlighters and seeing
Aaron
00:11:13 – 00:11:13
if we can
Sean
00:11:13 – 00:11:22
find Okay. Articles about that, like code hiding code highlighting articles or blogs or something like that.
Aaron
00:11:22 – 00:11:54
So this is interesting. This Hacker News one is interesting to me because it also requires a build step. And maybe, like, maybe that's something that maybe that's something that speaks more to me and potentially Andrew is I'm primarily a Laravel developer. Like, obviously, I can do JavaScript because I've built this thing, but we don't we don't really have, like, build steps. Like, we're not, I mean, not to build the site.
Aaron
00:11:54 – 00:12:04
Right? So having a syntax highlighter that doesn't require a build step is a pretty nice thing for me.
Sean
00:12:05 – 00:12:25
Yeah. And you know what? Like, that's yeah. It seems like maybe we should look in the Reddit, just the Laravel subreddit, because I don't have as much aversion to the build step. Right?
Sean
00:12:25 – 00:12:37
So that's probably because just different worldview, different culture. So what's a culture that shares your world worldview? So we would wanna look. So I'm in the Laravel subreddit. So I'm gonna see here.
Sean
00:12:38 – 00:12:42
Go highlighting. See what we can get.
Aaron
00:12:43 – 00:12:45
Oh, another thing that Andrew
Sean
00:12:45 – 00:12:47
media posts. Yeah. Go ahead.
Aaron
00:12:47 – 00:13:27
Another thing that Andrew really cared about was I showed him the ability, like, how Torchlight supports, line highlighting and get diffing and line focusing, all all of that kind of stuff. So you can, like, you can you can control a lot of the style just by adding code comments without having to, you know, do any, JavaScript. So you can blur stuff out. You can show ads and deletes. You can do collapsible code blocks, all of that stuff.
Aaron
00:13:27 – 00:13:34
And he was he was really keen on that because that was something that he wanted. Line numbers is another one that you don't usually get.
Sean
00:13:37 – 00:13:46
Right. Okay. So all that stuff in the Pain Dream Fix context is gonna go in the fix section, but it's all good. But
Aaron
00:13:46 – 00:13:47
We're still looking for pain?
Sean
00:13:48 – 00:13:53
Yeah. So far, not getting really very crispy.
Aaron
00:13:54 – 00:13:55
Very painful pains.
Sean
00:13:57 – 00:14:14
Like, I wanna see other people other than me. I mean, this exists for sure, but it helps to get, like, a lot of different people talking about the problem, and then you can it really helps shape your copy. So let's see here. It's a plug in for so I'm in Laravel. I was looking for syntax highlighting.
Sean
00:14:15 – 00:14:27
Just trying to find just trying to find stuff. It's kinda tough. I don't know if you got some ideas or how I could, like, as I'm researching tease out the the difference between, like, syntax highlighting in an editor versus
Aaron
00:14:28 – 00:14:31
You you could look specifically for, like, prism
Sean
00:14:32 – 00:14:43
or Oh, that's great. That's a great idea because we could see what people hate about prism, which which would be perfect. This is the wrong Reddit. Let's see here.
Aaron
00:14:45 – 00:14:48
You drying a a thing full of nickels back there?
Sean
00:14:50 – 00:14:55
Yeah. I don't know. Okay. What I did. This is Beth Beth is a 100% in charge of laundry.
Sean
00:14:56 – 00:15:12
That's her that's her chore. I do dishes and cooking and all that stuff, but she had to leave me with some laundry to do today, which probably did it wrong. She has a lot of rules about how to do that.
Aaron
00:15:12 – 00:15:16
I'm That'll teach teach her to put you in charge again.
Sean
00:15:21 – 00:15:23
Okay. Let's see here. Web development.
Aaron
00:15:25 – 00:15:37
Yeah. I'm not finding much in the Laravel subreddit for highlighting or prism or anything. K. So how bad is it if no one's talking about it? Is that pretty bad?
Sean
00:15:39 – 00:15:50
That doesn't mean that nobody's talking about it. We just haven't it takes some time to find a to find a good source of pain. I wouldn't say that this means anything yet.
Aaron
00:15:50 – 00:15:51
Okay.
Sean
00:15:52 – 00:16:07
But, like, I'm looking, you know, like, I'm thinking of different approaches now. I'm thinking, like, alright. So we're not finding anything, like, specifically about, like, why they hate highlight or prism. That doesn't mean that people don't hate it. It just means nobody bothered to write about it.
Sean
00:16:07 – 00:16:14
Like, I have that. I didn't write about it. It's not like a, you know, a thing. You could go try searching on Twitter, by the way. That might be a good Yeah.
Aaron
00:16:14 – 00:16:15
That's where I'm going now.
Sean
00:16:15 – 00:16:33
Place to look for complaints. The the other thought is, like, okay. So the there are syntax highlighting libraries. So, like, what are the problems that people are trying to solve there? So I'm kinda, like, thinking thinking it through that way to see if I can find something, if that's an angle.
Sean
00:16:33 – 00:16:44
Right? Because, like, okay, you you're basically launching a competitor to highlight or Prism. Is it a big Prism? Yeah. There's pigment or something too.
Sean
00:16:44 – 00:16:44
Right?
Aaron
00:16:45 – 00:16:46
Maybe. I don't know.
Sean
00:16:47 – 00:16:54
But anyway, so what's their pitch? And could we kinda go down that path?
Aaron
00:16:54 – 00:17:01
Prisms is dead simple, light as a feather, extensible, intuitive, blazing fast, and easy styling.
Sean
00:17:03 – 00:17:12
So 2015 highlight JS launches the Hacker News rant about, like, why isn't it done on the server? It's such a waste of energy. That's not a business. Right? Like, I don't know.
Aaron
00:17:12 – 00:17:12
It's just,
Sean
00:17:12 – 00:17:25
like, nerds nerding out. So but it is a it is, at this point, a pattern that I noticed. Yeah. So, like, highlight JS, they're like, oh, it supports line numbers. Sweet.
Sean
00:17:25 – 00:17:37
Like, this would be, I mean, the highlight JS does not at least in 2015, probably does now. Somebody's like, oh, I really like it to have line numbers. I might actually fork this entire library.
Aaron
00:17:38 – 00:17:39
Right.
Sean
00:17:39 – 00:17:43
Supporting callouts. Alright. So that's something Andrew said. Right?
Aaron
00:17:43 – 00:17:43
Mhmm. I wanna
Sean
00:17:43 – 00:17:55
be able to annotate groups of 1 or more lines. I was never really a big fan of highlight JS. Seemed too heavy. I've been using rainbow. Probably, I wrote rainbow.
Sean
00:17:57 – 00:18:15
Like, probably the guy leaving the comment wrote rainbow. What's the recommended way of using something like this? Is it possible when I could click all checkbox for other languages? I don't know what that means. Example code at elixir is out of date syntax.
Aaron
00:18:16 – 00:18:31
See, that's a big one. And this the one that the one that we use uses Versus codes engine, so it's gonna get the weird stuff right. Yeah. Rainbow detection. Rainbow looks untouched.
Sean
00:18:33 – 00:18:48
Yeah. I'm looking at an article from 2015, so I'm really doing some sleuthing right now. Favorite syntax highlighting library. Best feature returns a continuation of the code, which means you can highlight code that's being streamed to you line by line. Why is that?
Sean
00:18:48 – 00:19:07
Why why do you care about it? Let's see. Dead easy to implement so I didn't forget it. Linked to my thing that I probably built on the side. So pigments is like the server side thing, which is probably why because I haven't looked at this stuff in so long.
Sean
00:19:07 – 00:19:15
I probably like why I remember that. Let me see here. Pigments. Okay.
Aaron
00:19:16 – 00:19:18
Python syntax highlighter.
Sean
00:19:26 – 00:19:33
My syntax. Alright. I got some new so, okay, here's the thing I did. So I'm basically doing Sales Safari, which is the thing that Amy Hoy and Alex Selman teach in their class. Mhmm.
Sean
00:19:33 – 00:19:50
30 by 500. Gotta call that out because that's where this all comes from for me. The, I should have said that at the beginning. The thing that I just did now was as I was going through that old Hacker News thing, I noticed that they were using different words to describe the thing that I was looking for.
Aaron
00:19:50 – 00:19:51
Mhmm.
Sean
00:19:51 – 00:20:09
So I just copy pasted syntax highlighting library into a search of Y Combinator, so, like, Hacker News. So I'm searching Hacker News for syntax highlighting library, and I already got obviously more useful results. So that's an improvement over where we are now.
Aaron
00:20:09 – 00:20:12
Are you using the Algolia h n search thing?
Sean
00:20:13 – 00:20:14
Oh, just go to Google.
Aaron
00:20:14 – 00:20:15
Or just doing Google?
Sean
00:20:15 – 00:20:30
The URL bar. I say site news.ygotycombinator.com, and then search for the thing. So then alright. Shameless plug. I see very little difference to pigments.
Sean
00:20:31 – 00:20:40
K. Blah blah blah. I'm interested in your package. But as a Go programmer, I spend my holidays writing a colorizer package in Go. Okay.
Sean
00:20:40 – 00:20:53
See, this is like every other hacker news comment ever on every article. It's like, I wrote this thing already. Looking at some line text 3, blah blah blah. One thing I love about this language is the downloaded stuff compiles. I don't care about that.
Sean
00:20:55 – 00:21:00
Some guy complaining about him saying shameless plug. Yeah.
Aaron
00:21:00 – 00:21:01
That's useless. Complaining.
Sean
00:21:04 – 00:21:08
Prefer code highlighting without requiring visitors to run JavaScript. Man, acronyms is so useless. Alright.
Aaron
00:21:08 – 00:21:11
So I'm gonna take syntax
Sean
00:21:11 – 00:21:20
We do that. Library Totally counts as well. To web development, Reddit. Give this a try.
Aaron
00:21:20 – 00:21:29
K. As absurd as it is, we can we can trade on the no JavaScript thing because we don't require it.
Sean
00:21:31 – 00:21:35
Oh, web dev. That's what I need, not web development/webdev. Much better. Okay.
Aaron
00:21:37 – 00:21:43
Reddit.com/r/webdev. And you're doing syntax highlighting.
Sean
00:21:43 – 00:21:51
Here we go. Alright. We're gonna get more stuff now. Decent server side syntax highlighting library and go. Let's see here.
Sean
00:21:51 – 00:21:57
I need to look up Oh, there's a very there's just very few hits on this at all.
Aaron
00:22:00 – 00:22:11
Yeah. This one's 4 years ago. The other one's 8 years ago. Accurate and powerful, 8 years ago. Yeah.
Aaron
00:22:11 – 00:22:13
Last commit was 7 years ago.
Sean
00:22:17 – 00:22:27
Let's see. Where else could I look? It's another good so the different sites, like, places that you might look, call those Amy and Alex call those watering holes.
Aaron
00:22:27 – 00:22:29
Mhmm. So it's
Sean
00:22:29 – 00:22:53
where just people go to hang out. So I'm just trying to think of other watering holes. Syntax highlighter. How if I just Google, like, Laravel syntax highlighter? I know it's not Laravel, but, like, if you did it in you know, like, I think people seem to be thinking about it that way or maybe, like, PHP syntax highlighter.
Aaron
00:22:53 – 00:22:57
How to highlight code on the server side with PHP and Laravel?
Sean
00:22:59 – 00:23:00
Yeah. Read that.
Aaron
00:23:01 – 00:23:02
4 years ago
Sean
00:23:03 – 00:23:05
It could still be useful. Mhmm.
Aaron
00:23:07 – 00:23:31
Okay. So they use highlight dot PHP, which is a JavaScript port of highlight dot JS. That's what this article is talking about. And, like, that's fine. You still you still run into all the same problems that you have with highlight JS.
Aaron
00:23:31 – 00:23:31
But
Sean
00:23:33 – 00:23:40
So I like this. I found a Stack Overflow PHP syntax highlighting. It's from, oh god, 12 years ago. Alright. Never mind.
Sean
00:23:40 – 00:23:51
I'm not even gonna read this, but he did he did experience a lot of pain and then hilariously wrote his own library, which is like, how many times are we gonna see that? That's that's just cracking me.
Aaron
00:23:51 – 00:23:54
That's that's why we're here because I did that.
Sean
00:23:56 – 00:24:04
So Geshi is another thing I'm I'm finding. G e s h I.
Aaron
00:24:04 – 00:24:11
G e s h I. Never heard of that. Somewhat active. Last commit was June of last year, so that's something.
Sean
00:24:12 – 00:24:15
I'd imagine these things are relatively stable.
Aaron
00:24:16 – 00:24:16
Yeah.
Sean
00:24:18 – 00:24:34
Just trying to load a dev 2 article about how to highlight add syntax highlighting to your code, and bombs out on the syntax highlighter, which is alright. I got it to load. Prism. Alright. So it's a prism.
Sean
00:24:34 – 00:24:51
Let's see if there are any comments. No comments. So that's that's a bad sign. Right? Like, in June of 2020, you get a dev 2 article about adding syntax highlighting with 0 comments and, like, almost no likes or anything.
Sean
00:24:51 – 00:25:21
So that tells me not a lot of people care about this. Like that's one that's one data point that starts pointing to that. And also, like, okay, we're just not finding anything that's really, like, rocketing to the forefront of any of these searches that we're doing. Could still be that we're not searching for the right thing, could still be we're not looking in the right place. But the more and more we look at the common places that you and I know about for dev articles and find nothing, then the more it's like, okay.
Sean
00:25:21 – 00:25:25
Well, it's just not a thing that anybody's thinking about. A little like not very many people.
Aaron
00:25:26 – 00:25:27
Okay. So then what?
Sean
00:25:28 – 00:25:44
It could still be a pain and it still is, obviously. It's not like a big pain. So then I don't know. I think it's like for me, we barely spent, like, 30 minutes here. I'd probably spend a couple more hours
Aaron
00:25:45 – 00:25:45
Mhmm.
Sean
00:25:45 – 00:25:53
Doing this very thing. Keep going, going, going, going down this rabbit hole. Like, okay. I learned people call it this. I learned about Geshe.
Sean
00:25:53 – 00:26:06
I learned about this, this, this. There's this different site I could search through, etcetera. You keep doing that for a few hours, come up with a different idea of, like well, alright. So who else is doing code highlighting? It's also, like, writers.
Sean
00:26:06 – 00:26:21
So maybe you're we're looking at the wrong spots. Maybe it's more like documentation maintainers that care about it. So, like, syntax filing for documentation. Do you get that out of the box with documentation libraries? I don't know.
Sean
00:26:23 – 00:26:28
Like, I don't we we clearly didn't. So Right. We ended up with our own.
Aaron
00:26:32 – 00:26:43
So what do you think I should do next? Spend a couple hours continuing to research or start reaching out to people using Laravel and CommonMark?
Sean
00:26:44 – 00:26:46
I have Keith doing research.
Aaron
00:26:46 – 00:26:46
Okay.
Sean
00:26:48 – 00:27:13
Like, I wouldn't I would research until you know what the answer is, and the answer could be like, okay. This is nothing. And I think you'll you know, that's several hours of of work at least, like, digging and digging and digging. I don't know. I I don't know what the right amount of time would be, but the thing is, like, as you keep digging and digging, you'll eventually know.
Sean
00:27:13 – 00:27:22
You'll be like, okay. I see this pattern over and over again. I see the same thing over and over again. Like, what we were. We were kinda seeing the same thing over and over again.
Sean
00:27:22 – 00:27:45
Mhmm. So starting to get a feel for, like, how people are thinking about this, you know, and what they how they talk about it, words they use to talk about it. It doesn't seem to be, like, a really big problem. Probably people just get it to, like, sort of work once on their article, and then, yeah, my article is out of date, like mine. Mine's just sitting there.
Sean
00:27:45 – 00:27:47
It's all broken. Like, if I load any of my
Aaron
00:27:47 – 00:27:48
Mhmm.
Sean
00:27:48 – 00:28:01
Any of my blog posts now, like, my my syntax highlighting is totally totally garbage. Oh, yeah. It's just like one single line. All of my code is just all mushed together into one single line right now.
Aaron
00:28:01 – 00:28:05
Yeah. Fantastic. Right. Okay. But I
Sean
00:28:05 – 00:28:20
don't really care because I'm not. And if I did care, I would just have to go back through and probably use the same, like, prism or whatever. I don't even remember what I used. You know, I just gotta fix it. There's probably some dependency that's out of date or I don't know what it is.
Sean
00:28:20 – 00:28:22
I just have to update it, spend a little time there.
Aaron
00:28:27 – 00:28:27
So
Sean
00:28:28 – 00:28:46
so, you know, the thing is we talked about getting this in Heroku. Mhmm. That makes sense. Because, like, it is a problem, and, like, if I was in the middle of doing something, you know, like, I'm setting up a Heroku instance for our documentation or something
Aaron
00:28:46 – 00:28:48
Exactly. Which
Sean
00:28:48 – 00:29:14
you could do that, And then you see that there's an add on for syntax highlighting that, like, will just work and work server side and, you know, because you you care about that, because apparently, lots of developers care about that. And then, you know, like, it kinda ticks all the ticks all the boxes, and you you can just click a checkbox and throw it in there, and it'll stay up to date. Yeah. Maybe maybe that would work. That's kind of that.
Sean
00:29:14 – 00:29:22
It's like the I don't know. You gotta do more research, but, like, the because I feel like I'm jumping to conclusions off of 30 minutes of digging around.
Aaron
00:29:22 – 00:29:23
Right.
Sean
00:29:23 – 00:29:51
It's probably a mistake. But, like, based on this data, it's like, oh, this really feels like nobody really cares that much. There's not that much interest in it, but it is a problem. People are trying to, like, solve it every now and then, and it's spinning their wheels, and it is annoying. And so if there was, like, a, you know, easy, quick solution that I could spend, like, a little bit like, if I I personally, as you know, I have business mindset, so I wouldn't mind spending whatever.
Sean
00:29:51 – 00:29:57
I don't know where you're gonna price it at, like, $10 a month or something. I'd do I'd do something like that in a heartbeat.
Aaron
00:29:59 – 00:30:08
Okay. What what's the downside to writing the landing page from my own pain instead of doing all the research?
Sean
00:30:13 – 00:30:24
Well, the same downside as as what I've been saying, which is that I feel uncomfortable well, not uncomfortable. I feel like it's a mistake to make a these conclusions
Aaron
00:30:24 – 00:30:25
Mhmm.
Sean
00:30:25 – 00:30:35
About how people think and feel about syntax highlighting based on the one, you know, 45 minutes of research that we just did. So
Aaron
00:30:35 – 00:30:50
Well, it would be less on that and more about the things that I went through that were frustrating to me. So I can write from my own experience and just kind of pretend it is a universal experience and see if it resonates. I know that that's like
Sean
00:30:51 – 00:30:53
Well, it's just a wild ass guess.
Aaron
00:30:53 – 00:30:56
Right. It's less than ideal.
Sean
00:30:56 – 00:31:00
Well, it's not it's just a wild ass guess. It's based on nothing. That's all it is.
Aaron
00:31:00 – 00:31:07
It's not based on nothing. It's based on my experience. Right? That's something.
Sean
00:31:07 – 00:31:09
That's actually nothing.
Aaron
00:31:09 – 00:31:10
Not a lot, but it's something.
Sean
00:31:11 – 00:31:27
Yeah. Okay. It's a it's a something. But it's like it's like when you're playing Battleship and, you know, I tell you, like, b 4 misses, well, you got something for your next guess. You know what I mean?
Sean
00:31:27 – 00:31:48
Like, that's about as much information as you have right now. It's like yeah. It's you're slightly more likely to hit it on the next one. You have a little more information than that because, you know, like, Andrew and I have this pain, so that's a little bit more. But, yeah, I would say right now, you just don't know enough to know, like, is this even worth worth doing?
Sean
00:31:51 – 00:31:59
I mean, at this point, maybe it's I mean, there's no no harm in, like it's opportunity cost at this point. What else could you be doing instead?
Aaron
00:31:59 – 00:32:02
Right. Okay. Well
Sean
00:32:04 – 00:32:20
But if I were if it was me at this point, I would spend several more hours doing research, like, way more research until I was like, okay. It's not a thing. And then just bail on it or open source it or do something like that?
Aaron
00:32:20 – 00:32:30
Yeah. See, I feel like I feel like there are there are people that want to use it, and it would be better to reach out to them before bailing on it.
Sean
00:32:31 – 00:32:32
Feel like Andrew?
Aaron
00:32:33 – 00:32:40
Yeah. Andrew and maybe 1 or 2 people that tweeted back at me online when I was going through building it.
Sean
00:32:40 – 00:32:51
Oh, that's data. What did they show me send me the tweet. Let me see that. Did they just say I'm interested, or did they say, like, oh my god. I have this problem blah blah blah, and this would be awesome.
Sean
00:32:52 – 00:32:54
Like, what what kind of pattern was it?
Aaron
00:32:54 – 00:33:10
Let let let me see. One said, this looks great. How do I find out more and use it? Okay. This one says, this is awesome.
Aaron
00:33:10 – 00:33:18
Looking forward to following this. I'm currently working with mode mirror code mirror, which certainly has its quirks. So that's not super strong.
Sean
00:33:20 – 00:33:26
Code mirror has its quirks. Yeah. Quirks. And what's code mirror? We haven't looked at that at all.
Aaron
00:33:26 – 00:33:35
Yeah. Code mirror looks I think I looked at that. It was like a it was like a interactive text editor.
Sean
00:33:37 – 00:33:49
Ah, gotcha. It's like, oh, that's interesting. CodePen sponsors them. What if they use them?
Aaron
00:33:51 – 00:33:58
Travis Northcutt responded and said, I don't get it. What is it? This is months ago or a month ago.
Sean
00:34:01 – 00:34:09
I didn't understand what it was either. I think that just was a Yeah. Just a simple, like, problem with the copy on the existing landing page.
Aaron
00:34:09 – 00:34:13
Yeah. I think so, which is what I'm trying to fix here.
Sean
00:34:15 – 00:34:45
Yeah. Like, every time I find these, list of goals, you know, of, like, here's the top 5 best Coke syntax highlighters, which is good. Like, it's always that's always a data point. You know, you hit those, and if you go like, I don't actually I've looped in smashing Magazine. Sometimes that's a good place for this, but, you could sort of start to get a feel for, like, what's something that is more popular than other articles.
Sean
00:34:45 – 00:34:52
Those are getting, like, nothing. I mean, we have some of this problem with the query builder too.
Aaron
00:34:52 – 00:34:53
Mhmm.
Sean
00:34:55 – 00:35:02
That's more of like a there's just not much data. Right. It's not gonna be flake.
Aaron
00:35:03 – 00:35:03
Yeah. You would think
Sean
00:35:04 – 00:35:05
something that lots of people do
Aaron
00:35:06 – 00:35:06
Yeah.
Sean
00:35:06 – 00:35:08
And we're getting very little data.
Aaron
00:35:09 – 00:35:21
Yeah. That's, that's kinda how I'm feeling. Like everyone, everyone does uses code highlighting on their you know, if their blog has code snippets, they use something.
Sean
00:35:23 – 00:35:35
Yeah. And to me, do you know, honestly, I would still probably just use highlight JS or whatever because I could just drop in the little script snippet thing and then put my pre tag or whatever in there, and
Aaron
00:35:35 – 00:35:36
then it
Sean
00:35:36 – 00:35:46
just does it. I don't like, what are the are there some extra steps with this? That's, like, my initial thoughts. I'm like, I know the highlight jest thing. I just drop in the script tag, and then they highlight.
Sean
00:35:47 – 00:35:48
Mhmm.
Aaron
00:35:48 – 00:35:49
Well,
Sean
00:35:52 – 00:36:37
I mean, there is you could you could take a guess at the maintaining stale, highlighting, like, maintaining over a long time syntax highlighting could be one of those things that it's like you could sell it individually to places that clearly do a lot of syntax highlighting. Mhmm. So direct outreach kind of thing. You could try the Heroku thing. I mean, I would imagine there's no way that somebody that has a whole catalog of developer oriented content doesn't hate the syntax highlighting.
Aaron
00:36:37 – 00:36:38
Right.
Sean
00:36:38 – 00:36:57
Or has written their own or something. Yeah. So And if you wanted to do, like, a conversation with somebody about that to kinda get started, that might be worth it. Find somebody with a lot of content like that. Like, what's Joel do for all this syntax highlighting?
Sean
00:37:00 – 00:37:06
I think probably he hired Pete to do it for him. Probably. What's Dave do?
Aaron
00:37:07 – 00:37:09
Dave wrote Dave wrote his own.
Sean
00:37:12 – 00:37:15
He wrote his own based on the same engine that we're we're using. That's how
Aaron
00:37:15 – 00:37:17
I first found heard about this engine.
Sean
00:37:20 – 00:37:33
So that's that's data to me. Like, Dave cares a lot about this, writes a lot of code like that, didn't find anything in Road to Zone. Yeah. Probably if you found your thing, you would have used it. Yeah.
Sean
00:37:34 – 00:37:57
So that's good. Yeah. Who else who else? I mean, honestly, now that I know, like, it uses the visuals, Visual Studio syntax highlighter, like, it's really appealing to me if I do more content in the future, because it's like, oh, well, that's gonna actually work.
Aaron
00:37:57 – 00:38:01
Mhmm. And you get to use all all other themes too.
Sean
00:38:02 – 00:38:14
Yeah. Yeah. That sounds like that would be way better than whatever janky thing I I did originally. Yeah. So maybe find 4 more peep few more people that write blog posts like that, find out what they're doing for the syntax highlighter.
Sean
00:38:15 – 00:38:46
That'd be some research, and then you could get you could probably get some really good pain from conversations with them, which then you could mine for the copy on your landing page. And then based on research that we just did now, this is super tiny product, for sure. Super, super tiny. But, like, I think word-of-mouth would help win this one a lot. So the people that, you know, care about this stuff Mhmm.
Sean
00:38:47 – 00:38:53
Will, like, find the tool that works for them. What were you gonna charge for it?
Aaron
00:38:54 – 00:39:07
I have plans set up. I think it's 9 and base it's based on number of requests. Maybe it's 91949 or something.
Sean
00:39:08 – 00:39:11
I would have way to do, like, a WordPress plugin? Absolutely.
Aaron
00:39:11 – 00:39:11
Yeah.
Sean
00:39:13 – 00:39:16
Okay. So here's what I think. Forget the pain dream fix thing.
Aaron
00:39:16 – 00:39:17
K.
Sean
00:39:20 – 00:39:31
Focus on the landing page being really clear what it is. Really, really clear. It's not clear right now. It's too fancy. Like, it's not it just needs to be really direct and straightforward.
Sean
00:39:31 – 00:39:56
Like, use the Visual Studio Code syntax highlighter in your blog posts at with one line in your work with your word this WordPress plugin or whatever, and then focus on a platform. I think WordPress probably is the best. Well, I don't know. Maybe there's something most developers are not on WordPress. Maybe there's, like, a, Netlify marketplace now.
Sean
00:39:56 – 00:40:00
I don't know if there is or Gatsby. Isn't that the thing?
Aaron
00:40:00 – 00:40:01
Gatsby's a thing.
Sean
00:40:02 – 00:40:26
So maybe there's a Gatsby marketplace, something like that. Be like add code add syntax highlighting to your Gatsby blog with one one line, and then list the benefits, and then show examples. That would be that'd probably work. Like, if there's anybody out there at all, which I think there is, and then you find the right place.
Aaron
00:40:26 – 00:40:32
Okay. Well, I can start I can start there, but with Laravel because all of that is already built.
Sean
00:40:33 – 00:40:36
Oh, okay. You got a Laravel marketplace you could jump into?
Aaron
00:40:36 – 00:40:48
No. I'm sorry. I've got a I've got the Laravel extension. I've got, like, everything needed technically to make it work in Laravel is already built. And it's it's a it's like a one line installation thing.
Aaron
00:40:49 – 00:40:56
I could just start by writing the home page that way. Barry's working on the Ruby markdown thing for Andrew.
Sean
00:40:58 – 00:41:12
You know what? Yeah. I mean, just see just try it. See how far it gets with, like, a really clear plain landing page that just straight up says exactly what it is, exactly why it's better. Do fewer iterations on that.
Sean
00:41:12 – 00:41:18
And so and, like, show it to people until people are like, oh, like, instead of being like, what is it? I don't get it.
Aaron
00:41:19 – 00:41:19
And as
Sean
00:41:19 – 00:41:25
soon as you start getting like, oh, I get it, then then you could roll with it.
Aaron
00:41:27 – 00:41:35
Okay. Well, not exactly a home run, but I at least know where to go next.
Sean
00:41:36 – 00:41:51
But I would do I mean, still do the research for sure because it would still help with the landing page. But, like, if you can't find anything, which I kinda think maybe you won't, then that would be a possible path.
Aaron
00:41:51 – 00:41:52
Yeah. And so
Sean
00:41:52 – 00:42:15
give it a try. Because, like, okay, if we're talking about opportunity cost, well, it's not that much more work to do something where you could make a simple landing page and get it into a marketplace, you know, where people might discover it. Right. Like, a really big marketplace, like a WordPress thing, a WordPress plugin, or somehow get it into Gatsby. I don't know if that's possible.
Sean
00:42:15 – 00:42:22
You know, something like that would and then the amount of time you'd have to spend to do that is probably pretty minimal.
Aaron
00:42:22 – 00:42:36
So this is the point. This is the point where I normally give up. Right. I've got something that's technically extremely cool and totally works and is ready to go. And then at this point, I'm like, this is stupid.
Aaron
00:42:36 – 00:42:50
Nobody wants this. And then 6 months later, I look online and people are doing either the exact same thing or something way simpler. And they're just like, they have no shame whatsoever. And they're like, look at this awesome thing I did. And it's totally working.
Aaron
00:42:50 – 00:43:08
And now it's at 3 ks MRR. And so I'm just frustrated. Like, I don't want to do that again. Like we're here, we've got the API, we've got the back end where you can issue tokens. We've got the whole thing, like, working, and it works great, and it's wonderful.
Aaron
00:43:08 – 00:43:19
And now I'm just like, should I just give it give up and move on to something else? And that feels frustrating. Like, I've been there, and it's frustrating. You know?
Sean
00:43:21 – 00:43:34
Well, I feel like that is a a process problem, not a you problem. Like, that's why the Amy and Alex have the whole sales of our thing, and that's where you start.
Aaron
00:43:34 – 00:43:58
Right. You're supposed to do that before. But there's gotta be something to, like like, I am a I am a smart person who has experienced a lot of these pains, and I can fix them. Right? Like, not every not every product is created from wandering around watering holes.
Aaron
00:43:58 – 00:44:02
Right? Some are just like, man, this process sucks. I'm gonna fix it.
Sean
00:44:05 – 00:44:32
Right. And I think this process does suck, and you came up with a better solution for it. It's just hard to backwards engineer, get your way back to, like, the marketing copy and the marketing plan. Because, like, you currently have a market of 1 or, like, I don't know, 3 because Andrew's interested in some other guy. So you have a market of 3.
Sean
00:44:32 – 00:44:51
Mhmm. And that's the only thing you know. So it'd be different if it was like you've been on you've been doing client projects for 10 years on an everyone. You end up writing the stupid syntax highlighter thing, and everybody always wants it, and they've been paying you to do it, you know, over and over again. Right?
Sean
00:44:51 – 00:45:11
Like, that's a different Yeah. For sure. Versus I just did, you know, this one site, and I did this documentation thing was a pain. I mean, I'm not saying, like, there's there's information here. I I am feeling like it's a real problem that I think some people would pay money for.
Sean
00:45:12 – 00:45:48
I think it's probably more of, like, an open source project, though it can't be right because it's gotta run. Well, I don't know. I guess it could be it could be open source, and they could run it on their own servers, and have to, like, install it and do all that crap. Yeah. I think, I think that the brilliant part about doing the research first is that you have these low points when you're doing a product, and I did too for every single one of mine even, you know, sketching a CSS that made, you know, almost $200,000 or whatever.
Sean
00:45:49 – 00:46:12
So I was like, I I would feel these low points too exactly like you are now, but then I could reassure myself by looking at the data. Mhmm. But if you don't have the data to do that, you're still sort of like, it's a guess. Should I be spending the time? And then you're then these, like, insecurities and doubts that everybody has caused you to stop.
Sean
00:46:12 – 00:46:41
So it's kind of a brilliant thing to have the data first and then and then go forward. But then also, people fall into so many traps of making something that nobody cares about or wants because they think that they're really smart and they came up with this solution that everybody wants. Like, that is obviously a better solution than what everybody else is doing. And instead, it's like, it's not related to, like, a pain that people had. It's like, I came up with this much more clever solution.
Sean
00:46:41 – 00:46:56
It's more like me oriented than them oriented. It's more it's it's not focused on the somebody else having a pain. So that's the problem I think with the, like, solve your own problem approach. That's what Colleen did, and it's working out for her. Right?
Sean
00:46:56 – 00:47:00
So it's not like to say that that approach is totally useless.
Aaron
00:47:00 – 00:47:01
Right.
Sean
00:47:02 – 00:47:40
But you get so much more out of the, like, research approach first. But yeah. I mean, I would say right now, you you ignore this feeling because it's not really what are you gonna do about it? You can't like, you have a couple choices in front of you, you have drop it or and spend my time on something else, Or you could spend what do you think? Like, you need a couple hours to do, like, a proper launch to the Laravel community?
Aaron
00:47:40 – 00:47:41
Yeah. I think so.
Sean
00:47:41 – 00:47:53
Like because you gotta just have a clear landing page. That's the main problem right now. Yep. That's it. So you could try a proper launch to the Laravel community, and I would say it's worth it to try and wrap it up as a WordPress login.
Sean
00:47:53 – 00:48:12
I I totally agree. Or whatever. Something up some other thing. Like, Gatsby has more traction, you know, so maybe you do if that's a thing, you could do that. And then if nothing's if you're not getting nothing from that, then at that point, it's like I would give up.
Sean
00:48:12 – 00:48:36
Oh, and also do the research. Like, there's still I I still feel like I would probably spend, like, another half a day or a day, like, just digging and digging and digging and trying to really understand how people think about their syntax highlighters, when they're used to using it, when are they using it, why are they why are they such a pain. You know? Mhmm. Like, I know and then I would definitely talk with Dave, talk with other people that do that, like, have individual calls.
Sean
00:48:36 – 00:49:01
The problem with those, those are really tricky though to do, like, individual customer calls like that when you're doing customer research. It's very, very hard to get people to be honest about, like, yeah, if they would buy it or not, you know, or if it's really a pain for them or not. It's really tricky to get there. Yeah. So but, I mean, Dave did his own entire solution.
Sean
00:49:01 – 00:49:04
That is, like, a pretty good data point.
Aaron
00:49:04 – 00:49:05
Yeah. For sure.
Sean
00:49:06 – 00:49:21
If a lot of people are doing that, that's a really good data point. So that's not nothing. So I mean, you're not crazy, by the way. Like, I think this is an actual thing. It's just, we didn't happen to find very much data in a quick, like, 45 minutes of googling.
Aaron
00:49:21 – 00:49:27
Yeah. Doesn't make me feel awesome. Okay. Well
Sean
00:49:27 – 00:49:28
not finding any data? Yep.
Aaron
00:49:28 – 00:49:29
Yeah. No.
Sean
00:49:29 – 00:49:34
It doesn't feel awesome. You're like, oh, shit. Then I just spend all this time on the thing that nobody's gonna care about.
Aaron
00:49:35 – 00:49:37
Yeah. I don't think
Sean
00:49:37 – 00:49:44
you know that yet is what I'm saying. I think I was saying that earlier, and I'm still saying that. Like, you don't know that yet. There's not enough data. Like, you can't know that.
Sean
00:49:44 – 00:50:02
You also can't know that that you, you know, should've spent the time on it based off of it was a problem that I had. Like, that was a mistake, probably. Although, I don't know. There's so many people that say would say that that's not a mistake. That that's how you should do it.
Sean
00:50:02 – 00:50:11
You should, like, you solve your own problems. Right. Yeah. I personally don't don't love that. Like, I don't have a query builder problem.
Sean
00:50:11 – 00:50:21
I've definitely seen, like I actually, I guess yes. I have. Like, I've built a little filter thing for quite a few clients over and over again.
Aaron
00:50:21 – 00:50:21
Yeah.
Sean
00:50:21 – 00:50:41
Where it's like, yeah, could could've just dropped the query builder in there and then problem solved. It's really tough. It's really tough because there's such a vacuum of information. So the more data you have, the better. But, yeah, that feeling is even when you do have information, I think that's the same I get this I would have the same feeling.
Sean
00:50:42 – 00:50:46
Yeah. It's always like you feel like it's not gonna work.
Aaron
00:50:46 – 00:50:48
Oh, yeah. For sure. Like, I just If you
Sean
00:50:48 – 00:50:51
combine that with no data, it's like
Aaron
00:50:53 – 00:51:19
Yeah. And to to see people that I feel like have like much simpler things and have no shame, like not shame, but like, no, like they're not self conscious about it. They're just like, look, I built this really awesome thing. And I'm like, wait, I I already do that. Like, I do that myself.
Aaron
00:51:19 – 00:51:39
I've never needed like a third party service for it. And then their 3rd party service just takes off and I'm like, wait, like that seems super easy to me. Why do people care about this? And so that's just, I'm just, so I can't give up on it now because I feel like I've done that several times before.
Sean
00:51:40 – 00:52:00
Yeah. That would that would probably be a mistake because it doesn't you you have, like, not a lot of data. You have some data, some positive data, maybe a few glimpses of, like, negative data. Not much, but a little. But mostly, the data that you have says, yeah, there's something there's something here, prop maybe.
Sean
00:52:01 – 00:52:15
And then you have, like, not that much work to put it out there and see if there's a thing. So then the question just was gonna become, like, how much time should I spend on it? It's really tough.
Aaron
00:52:16 – 00:52:16
Yeah. But you
Sean
00:52:16 – 00:52:28
should not give up. And then what do I wanna know some examples of, like, these little things that people do. And, like, how do you know that they're successful? And then how do you know that they didn't feel self conscious or self doubting while they were doing it?
Aaron
00:52:29 – 00:52:45
I don't know the last one. It just seems like they're when they're posting things, they're just not afraid. Like, they're not afraid to just share everything. And I meanwhile, I'm thinking, like, is this good enough? Oh, people, like, people aren't gonna use this.
Aaron
00:52:45 – 00:52:53
It's stupid. And I'm seeing them post, like, look at this amazing thing I did. And I look at it and I'm like, hey. Yeah. It's good.
Aaron
00:52:53 – 00:53:02
But it's not amazing, but it doesn't matter because everyone else is like, Hey, this was great. I'll sign up for it. Here's my money. So frustrating.
Sean
00:53:05 – 00:53:15
Have you ever seen anybody in our group of in our little community of entrepreneurs do a thing and not have doubts about it? Do a thing and
Aaron
00:53:15 – 00:53:28
not have doubts about it. Ever. No, I think everyone has. I mean, I think everyone has doubts about the things that they're they're launching. Mhmm.
Sean
00:53:28 – 00:53:36
Yeah. And then you're looking at them and you're like, you know, Buckbee is, you know, doing some 1,000 of dollars of MRR. It's like, this is never gonna work.
Aaron
00:53:37 – 00:53:38
Yeah. I know.
Sean
00:53:39 – 00:53:41
And it's like the chart is going up into the right
Aaron
00:53:41 – 00:53:43
for years. Yeah. It's never
Sean
00:53:43 – 00:54:09
gonna work. I know. I don't know anybody that doesn't struggle with that stuff and struggle with, like, that I think that is the every everybody has that feeling. That's universal. Like, at some point, I feel like I bet it goes away over time.
Sean
00:54:09 – 00:54:12
Maybe. I don't know. Maybe. I haven't actually seen it. Everybody that I know is still
Aaron
00:54:12 – 00:54:13
Still has it. Yeah.
Sean
00:54:13 – 00:54:32
Worries about it. I felt less I felt more confident with my second product. But, again, each one of those, I had quite a bit of data, and I wasn't, like, a what else guess. And I was also, like, had resources to lean on, like, a list and an audience of people I knew were interested in this topic and this thing. And Right.
Sean
00:54:32 – 00:55:05
So, like, you know, I so that's helps because with those kinds of products, you have to spend quite a bit of time, like, working on it before you can even get to the point where you're comfortable preselling it before it exists. You know? So you're meanwhile, you're like, well, okay. I did this research, and now it's time for me to spend 3 weeks, 4 weeks of my life, you know, if I'm full time on it or potentially months if I'm part time on it, like, all of my spare time on this thing, and then I won't know if it works until I actually try. And I don't know if there's a way to not feel nervous about that.
Sean
00:55:05 – 00:55:15
Who wouldn't? Like, that's I I wonder that I wonder if, like, with Hey. Right? Like, how long did they work on that? How much money did they spend on that Yeah.
Sean
00:55:16 – 00:55:30
To feel comp and, like, did they feel confident that they were gonna get an ROI? I mean, it seems obvious in retrospect that you could do a better email client, and and it would work. Like, if you had the capability to do it, but Yeah. There's no surely they had some doubts.
Aaron
00:55:30 – 00:55:31
Oh, I'm sure they did.
Sean
00:55:33 – 00:55:34
They had some flops too.
Aaron
00:55:34 – 00:55:58
They did have some flaps. Yeah. Just getting over my own doubts is quite difficult. I think, I think the, I think the answer is maybe do more research and then just kind of go for it. Just write a very specific Laravel for now landing page.
Aaron
00:55:59 – 00:56:22
And then, Barry said he can get the Ruby thing done for Andrew in about 4 or 5 hours. So then get Andrew using it. And at that point, if we have Laravel and Ruby, we maybe get some people and put it in the Heroku marketplace. And I feel like there's just money slashing around there.
Sean
00:56:24 – 00:56:38
I feel like maybe a plug in or something like the different marketplace might make more sense for this. Because, like, especially, like, it's an authoring context that I'm like, I'm writing this now. How am I gonna do syntax highlighting? Google Gatsby. Actually, I should just do that.
Sean
00:56:38 – 00:56:47
Gatsby syntax highlighting. Code syntax highlighting. Auto completing already. Nice. Gatsby or mark Prism JS.
Sean
00:56:47 – 00:57:00
So there's, like, a Prism, you know, package for this. Yeah. Oh, they got plugins. So Gatsby JS has a plugins library. Add stylish cards and syntax highlighting code.
Aaron
00:57:00 – 00:57:14
I think remark is markdown thing. So this is a plugin for Gatsby's remark. Oh, it's an official plugin. So this is a Gatsby. Gatsby maintained one.
Sean
00:57:14 – 00:57:16
Gatsby Remark highlight code?
Aaron
00:57:16 – 00:57:19
Gatsby Remark. Yeah. Gatsby Remark Prism is official.
Sean
00:57:20 – 00:57:33
It is a 177,000 downloads. That's way more than, your guess, remember, Mark Prism? Yeah. 177,000. The unofficial ones, significantly less.
Sean
00:57:35 – 00:57:41
So is it so if it's official, that means it's maintained by the company behind Gatsby
Aaron
00:57:42 – 00:58:00
GS. Yeah. Yeah. So this looks this looks to me like an adapter between Remark and Prism, and Gatsby maintains it. So they rely on Prism, and then they use it for Remark, which is probably a markdown parser that they use.
Aaron
00:58:02 – 00:58:08
So it takes all your markdown files, turns it into HTML, and this plug in bridges the gap over to Prism.
Sean
00:58:13 – 00:58:21
So then this is like, okay. Well, why why don't so help actually, this is an actual question. Why don't I want to use Prism?
Aaron
00:58:24 – 00:58:50
Couple of things. 1, Prism gets a lot of stuff wrong in terms of its language parsing. 2, you don't have I'm trying to look for, yeah, you have to use one of the Prism themes, which is probably fine. They have some good themes. Some people really care about, their theme.
Aaron
00:58:52 – 00:59:44
So with us, you could use any Versus code theme anywhere. And then 3 is the, it looks like Prism has line numbering, but then the stuff like code block collapsing, line highlighting, line focusing, get, you know, get add and remove that kind of stuff. It's, you know, it's really geared for, like, documentation and blog posts so you can help like, you can, draw attention to certain parts of the code as you're going. And that's a lot of what that's a lot of what Dave does. If you've ever looked at Dave's react confirmation modal state machine by Dave Ceddia, You can see here I'll Slack this too.
Aaron
00:59:44 – 01:00:13
You can see on Dave's on Dave's blog, as he goes, you can tell, like, he's kinda building up an example, and he's highlighting the lines that you need to pay attention to. I don't think he has focus and blur. He does. He has focus and blur. So most likely this screenshot.
Aaron
01:00:13 – 01:00:41
Like, the the line he wants you the line that he's talking about is focused and the other lines are blurred out. And then if you hover over it, it the whole thing comes into focus. And so doing something like this in Prism is without writing a whole bunch of your own JavaScript is not possible. Okay.
Sean
01:00:41 – 01:00:44
So I get a few more features. It's a little bit nicer.
Aaron
01:00:44 – 01:00:45
Yeah.
Sean
01:00:45 – 01:00:48
It's a little less buggy and I get more themes.
Aaron
01:00:50 – 01:01:15
And I'll show you, one other example. I just pulled this one off of a Laravel guy. I just pulled this off his blog. So look at the one on the left, that's his and about halfway down, do you see where it says listeners and then it opens an array and it has a worker starting class? Do you see
Sean
01:01:15 – 01:01:21
that? Alright. So loading Dave's post here.
Aaron
01:01:21 – 01:01:23
Oh, no. I just select you a new screenshot.
Sean
01:01:24 – 01:01:26
Did oh, screenshot. Here we go. Yep.
Aaron
01:01:26 – 01:01:32
Very, very bottom. Yep. So the bottom half of his screenshot, all the text is white. Do you see that? Yep.
Aaron
01:01:32 – 01:01:42
And then I did a comparison with our engine on the right. The bottom half, it's highlighted like it's actual PHP. Like highlighted like it should be.
Sean
01:01:42 – 01:01:44
Oh, yep. Yep.
Aaron
01:01:44 – 01:02:21
And so his is using, I think his is using HL JS, which is highlight. And then, like, it it tries really hard, but it's not, like, it's not catching the whole language because it's not doing, like, tokenization. It's just kind of looking at syntax. And so on the left, you see it getting it wrong, and on the right, you see it getting it right. And so that that's another reason why these front end these front end libraries just don't have as much horsepower and they're not using the Versus code engine.
Aaron
01:02:21 – 01:02:23
So it's it's just worse.
Sean
01:02:26 – 01:02:30
Okay. So this is not, like, a lot better, but it's definitely better.
Aaron
01:02:30 – 01:02:37
It's definitely better. And depending on, like, if you're, like, if you're Dave, you care about that. Right?
Sean
01:02:38 – 01:02:57
Yeah. For sure. Well, I mean, maybe the pitch is like syntax highlighting that actually works, and then, like, use any theme, highlight call out code. What's another
Aaron
01:02:58 – 01:03:00
chat. JavaScript free.
Sean
01:03:01 – 01:03:03
Nobody care well, I don't know. I guess people care
Aaron
01:03:03 – 01:03:09
about it. Build step is I mean, for me, and I think for a lot of Laravel people, that's a big one.
Sean
01:03:10 – 01:03:19
What's kinda there's no build set, but I still have to, like, call it in my template and then make sure that it's cached. So that way, I'm not, like, calling it over and over again. I have to figure that out.
Aaron
01:03:19 – 01:03:23
No. You just add the markdown extension, and it does all that for you.
Sean
01:03:24 – 01:03:28
Okay. Like, for whatever framework you're using?
Aaron
01:03:28 – 01:03:42
Yeah. So you would just you would just go to your markdown in Laravel and add the Torchlight markdown extension, and it would handle caching and handle, calling the API and it handles all that for you.
Sean
01:03:42 – 01:03:46
Okay. And if you did it in some other system, you would figure out how to do all that.
Aaron
01:03:46 – 01:04:06
Exactly. So what Barry is writing is he's writing a common marker, which is the Ruby version, the common marker extension so that Andrew doesn't have to change anything. He just adds one line that says, you know, torchlight extension. And now his code is gonna be shipped off to the API, brought back, and put into the HTML.
Sean
01:04:07 – 01:04:09
Mhmm. Yeah. Super cool.
Aaron
01:04:11 – 01:04:11
Oh, yeah.
Sean
01:04:11 – 01:04:11
I mean,
Aaron
01:04:11 – 01:04:14
that sounds so
Sean
01:04:15 – 01:04:33
no, it's really nice. I was definitely I think I switch over my stuff to use it for sure. Just trying to think. Yeah. I mean, if the pain here is so we're just guessing.
Sean
01:04:33 – 01:04:48
Right? But Yeah. The pain, it seems to be your syntax highlighting doesn't work all the time. And, that's really it. Right?
Sean
01:04:48 – 01:04:50
That's the only real pain here?
Aaron
01:04:51 – 01:04:58
It depends on who you are. Another big pain is getting all of if you're to use one of the front end libraries, it's to get a
Sean
01:04:58 – 01:05:16
Oh, yeah. And you build stuff Yeah. Is complicated. I mean, it's not really. Like, all I do is, like, yarn install yarn add, you know, highlight JS and then drop it in my application dot JS thing, and then it just works on any pretag.
Sean
01:05:16 – 01:05:18
I'm guessing that's how it works.
Aaron
01:05:18 – 01:05:49
Yeah. That's how it works. But if you wanted to use, like, if you wanted to use the one like, if you wanted to get the syntax right, you would have to have a build step like Miguel was talking about. So either you're comfortable getting the syntax all wrong or sometimes wrong and not having like the highlight call out features, or you have to kind of roll your own build step to do it yourself. And even then you don't get the call out features because those are custom to us.
Sean
01:05:50 – 01:06:03
So, again, though, it's really the pain is syntax highlighting is busted sometimes Yeah. In the other solutions. Yeah. And that's why you did all this work instead of just using a one liner, like, highlight JS or prism thing.
Aaron
01:06:03 – 01:06:04
Right. Because it was because
Sean
01:06:04 – 01:06:07
the syntax highlighting was broken often enough that it sucked.
Aaron
01:06:07 – 01:06:28
Yeah. And it was it was broken often enough, and I couldn't focus, especially in documentation. I couldn't focus on the parts of the code I was talking about. So it'd just be like a giant code block instead of, like, you know, the code block from above, but with a couple of line new lines highlighted, if that makes sense.
Sean
01:06:28 – 01:07:01
Okay. I think I have an idea for what a a good pain, dream, fix, formula could be for the landing page if you wanted to try that formula. And I think it would also make it clearer what it is. So, essentially, the only pain that we could really come up with based on what we know, based on, like, if we're going even just off of, like, why did you do it? And if we're just going off of, like, you, solving your own pain, the pain is it wasn't highlighting your code properly, like, in a really bad and broken way.
Sean
01:07:01 – 01:07:10
Right? That's right. Yeah. So and then that was also the same problem. Few other people mentioned on Twitter.
Sean
01:07:11 – 01:07:46
Probably the same problem Dave was having. So let's roll with that. So you could be like don't, you know, like, use better copy than this, but, essentially, it would be like syntax highlighting that actually works. And then the I said don't do that. This you could say, you know, highlight JS and Prism JS, often fail to highlight your code the right way.
Sean
01:07:46 – 01:08:20
Right? So something better that essentially, like, point out, like and then here's what Prism JS gives you, screenshot of code like you showed me in the slash with a arrow to the unhighlighted code. And then and then you could be like, if you use Torchlight, we use, you know, the Visual Studio blah blah blah thing, which will always get your syntax highlighting right. Picture of the same code, but with, like, torch light. Tada.
Sean
01:08:22 – 01:08:37
Yeah. Really simple. Like, so you got your pain, dream, fix, and then the fix will just be because it's for developers, you could just be like, here's the install steps, and then here's the buy button, and and then done. And I would have a free tier personally
Aaron
01:08:38 – 01:08:39
Yeah. I think we will.
Sean
01:08:39 – 01:08:47
To, like, a I don't know. Some small, like, maybe or maybe, like, a trial, 30 days or something like that, and then, yeah, no more than $10 a month.
Aaron
01:08:50 – 01:08:52
Okay. Alright.
Sean
01:08:52 – 01:08:54
Well, I'll give it
Aaron
01:08:54 – 01:08:56
a shot. We'll see what happens. But what
Sean
01:08:56 – 01:09:04
are you gonna do? I mean, you said you do the land first of all, just do the landing page until people understand it because that's problem 1 because nobody understood it. Yeah. I think I think that
Aaron
01:09:04 – 01:09:41
I think that's the case. I'm gonna do landing page till people understand it. I'm gonna scope it down right now to just primarily Laravel just because all of that is finished and it's very easy to easy to demonstrate, because I can do, like, actual install commands because it's installable. And then I'm gonna start going on Twitter and asking, you know, who's using Jigsaw, which is a static site generator in Laravel that this would plug nicely into. Who's using jibs Jigsaw?
Aaron
01:09:42 – 01:10:06
Anybody, you know, using there's another package that is anybody using this? You wanna try something else? And then I've written a blog post on my personal site, about how I do all of this and it's got links out to Torchlight. And then, yeah, I guess that's that's probably it. Submit it to Laravel News.
Aaron
01:10:07 – 01:10:15
I think the first step is just write the blog or write the landing page for Laravel until it is crystal clear.
Sean
01:10:18 – 01:10:20
Yeah. I think that makes sense. Really good.
Aaron
01:10:23 – 01:10:31
Okay. Well, I shall try that. We'll see where that goes. Alright, man. Well, thanks thanks for all the help.
Sean
01:10:32 – 01:10:36
Yeah. There's no problem. I wish that we'd found more data.
Aaron
01:10:37 – 01:10:38
Yeah. That's okay.
Me

Thanks for reading! My name is Aaron and I write, make videos , and generally try really hard .

If you ever have any questions or want to chat, I'm always on Twitter.

You can find me on YouTube on my personal channel or the Try Hard Studios channel.

If you love podcasts, I got you covered. You can listen to me on Mostly Technical .