Maybe you don't need to write code this time

Joel Clermont (00:00):
Welcome to No Compromises, a peek into the mind of two old web devs who have seen some things. This is Joel.

Aaron Saray (00:07):
And this is Aaron.
For our podcast topics, we keep a document. It was like a Google Drive document. Like the word version of it, what's that called? The Google Drive Word.

Joel Clermont (00:28):
I don't know, Doc. I think it's just Docs or something.

Aaron Saray (00:31):
Docs. I couldn't think of the word Docs, okay. Anyway, yeah, Google Docs. We used to keep this long list of them and we would put our topics in there and line-strike them out when we went through them. I started thinking about, one day I'm just like, I want to add more topics but sometimes I'm lazy on the couch. Or I can't seem to find that document and how am I going to add a topic that would be a good idea that we could talk about? And one of the things I had thought about was using Alfred. I use Alfred for a lot of things, it's a launcher and you can program it. I was thinking, "Maybe I should use Alfred to make a workflow that I can type in a topic and send it over." And now I need to understand Google Drive API and I'm going to have to do an OAuth thing.

Joel Clermont (01:14):
Oh boy.

Aaron Saray (01:14):
And maybe I should use that as a tool for other people who want to keep this and then it's hard to modify a document. And all these different things-

Joel Clermont (01:23):
Oh. And then you can publish that as a package and write some docs. And you need a logo for this project.

Aaron Saray (01:29):
Right, exactly. All I really want to do is add something onto the document. My developer brain was just kicking off. It was just like, "I'm going to do many things."

Joel Clermont (01:40):
Mine's going right now.

Aaron Saray (01:41):
Instead of actually doing the real work I needed to do. Because there's nothing that feels better than being a developer and procrastinating on something for yourself versus doing client work.

Joel Clermont (01:53):
I wouldn't know anything about that, Aaron, personally.

Aaron Saray (01:56):
But then something came to my mind. I was like, "First of all, we're using sort of like tabular data in a way." Meaning that we're having topics and then we cross them out or move them to the 'Done' column, you know.

Joel Clermont (02:11):
Yeah, it's pretty structured.

Aaron Saray (02:12):
Yeah. Why aren't we using the spreadsheet version of Google Docs?

Joel Clermont (02:16):
What's that called? Sheets? I'm sorry.

Aaron Saray (02:19):
I don't know. Sheet, yeah. I was like, "Well, we can do that and maybe that makes it easier to add onto it." But I was still kind of stuck because I'm like, "I want Joel to be able to use this workflow too." And I know he does use Alfred but then I have to package it up and then tell him how to use it. You know, he doesn't-

Joel Clermont (02:40):
And I'm on one of those M2 Macs and it's not going to work because you're on an Intel Mac.

Aaron Saray (02:44):
Yep. Which, you know, you just told a little bit of our status here. You got a brand new M2 and I'm still-

Joel Clermont (02:51):
Oh boy.

Aaron Saray (02:52):
So, listen in for that call to action at the end of this podcast to help me fix that.

Joel Clermont (02:56):
That's right.

Aaron Saray (02:59):
I started thinking what are other ways to do this? And then it came to my mind, a long time ago, which is probably months, I remember hearing that Slack came up with this workflow sort of builder tool that they have as well. And at the time that I looked at it it just seemed to be like something that you could program to, I don't know, like greet people who just joined Slack. That made sense when I worked at a larger company because we had a lot of people, we were onboarding all the time. You would add them to a channel and then they would get a customized message that told them what this channel's for, where they can find documentation, or other stuff. Like, they joined a team channel, it was all automated. Like, here's a big old barf of things that you need to know.
I never really thought that it could do more than that, but I checked it out, and turns out it has a Google Drive integration and you can sort of pick where you want things to go and what to do with them. You can ask questions, it's like a quiz. And basically, the short version of this story is instead of building something in Alfred and Slack, I just kind of use their toolset builder that's already authenticated and connected with Google Drive and all those different things. They ask a question, which is like, "What's the topic that you want to work on?" And then we type it in and then it would send it over to the bottom of the spreadsheet in Google Drive and then we're good to go.

Joel Clermont (04:18):
Right. I worked with you on this, I remember this experience vividly. We did not write a single line of code, right? Those Slack workflows, you could, I think... I assume you can publish your own and do this, but as you were mentioning, we use like off-the-shelf integrations that Slack provided. I do recall some frustration. I mean, Slack is particularly bad with this. Where they'll change something, like it was a post and now it's a canvas. And like workflows were actually... there was like classic workflows and new workflows. We were like, "How do we do that?" Because you'd go to the docs and it would talk about something, and then you'd go into Slack and that thing wasn't there, and it's because it was like an old version or something. But while that was a little frustrating, I'm confident it still took us less time to do that, even with the dead ends and old docs and old versions of things than it would have to do that original Alfred workflow or some other code-first type of solution.

Aaron Saray (05:15):
It was actually a little eye-opening because I've worked with a lot of different people, a lot of marketers, and things like that. You see them using tools and getting so frustrated. You can basically be like, if you're a techie or programmer, which you probably are when listening to this, you can figure this stuff out. We were frustrated but it may have took an hour or two, nothing crazy. Because even when people don't do stuff the "right way" you've seen this before so you can kind of figure it out. It started making me think a little bit differently of all those different marketers and salespeople and all those different things that they're trying to do.
You know, you've seen them try to use like a Google Docs sort of thing, and they're like, "I could never get this to work." And you're like, "Oh, just do it," you know? Like, "What's your problem?" And then I realized that actually, oh, this is what they must be experiencing. It's just that we have experienced this so many times as developers that now it's just frustration. And you're like, "Well, I know I'll get it but I just don't know when." Whereas if you don't experience it all the time, you're like, "Am I even going to get this?"

Joel Clermont (06:16):
Yeah. And we've sort of learned how to read between the lines. Like, oh, this documentation was last updated in 2018. Like, oh, maybe this isn't current any... You know what I'm saying?

Aaron Saray (06:29):
Right.

Joel Clermont (06:29):
Like, there's things we do or we figured out just from bumping into it so many times. But yeah, I agree with your point. Empathy for the "normal" user dealing with software products is a good thing to have as a software developer. There was another part of this process that I think maybe is interesting to talk about, which is... Everything you described works great, right? You hit a button in Slack, it pops up a form, you fill out two things, you hit submit, and now you have a new row at the bottom of this Google sheet. Like, before we start recording today, we pull that up and pick an idea off of it. But then there's the second part of that flow, which is we've recorded that topic, we want to move it. So, we have a second sheet that said completed topics.
And your idea, which I thought was good, was why not have a button that you just click next to it and it moves it to that Sheet? That was another one, seems so simple. You're literally copy and pasting or cutting and pasting. And I don't think we spent a ton of time on it but I think after about 20 minutes we're like, "Why don't we just cut and paste this ourselves from sheet to sheet?" And we decided not to try to create the fancy button.

Aaron Saray (07:42):
Yeah, I feel like it was even less than that.

Joel Clermont (07:43):
Yeah, I think you're right.

Aaron Saray (07:43):
Where it was like you looked at it and it was like, you know, there's some sort of Google Docs version of macros that we have to Google script or whatever program. And I'm just like, "I don't need to learn this. The amount of time it takes me to learn this we could have copied and pasted, you know, 200 topics."

Joel Clermont (08:02):
Right, a year's worth of podcasts at least. I brought it up because I think it's a good lesson too, because even with a no-code solution, don't build something you don't actually need. Right?

Aaron Saray (08:13):
Mm-hmm (affirmative).

Joel Clermont (08:13):
We encounter this all the time writing code but it applies just as much to these tools and other sort of workflow assisters.

Aaron Saray (08:20):
I think that's a good point. There's not a clear-cut rule, I know you'd like rules. But there's not a clear-cut rule on whether you should build something, whether you should use no-code tools, or whether you should just deal with the pain. I think it's one of those things where you should just kind of look at it each individual because as developers, we tend to run towards what we're good at or what we've trained, which is making stuff. Then if you're not familiar with any of the tools that there are out there, you might then just kind of stick with the painful and not actually look at any of the intermediate tools. Then you have these systems that are completely built on hooking different tools together with Zapier or whatever it is. There's a place for all of those different things. And I can see for years I've kind of looked down my nose at things that were put together with just no-code tools. Now you just got to start to say, "Well, you know what? If they're solving a problem, it's good." But it doesn't mean that every problem needs to be solved that way.

Joel Clermont (09:16):
Yeah, for sure. Since we're problem, already so far behind the scenes on the podcast talking about how we make the podcast, there's one more example I thought of that I think is relevant here. Which has to do with tracking podcast statistics. Like, we host this on Transistor and they have great analytics, but I like a dashboard. I like to have other things on it where we can kind of see like the health of our marketing efforts, this being one of them. I had been manually capturing that data like once a week, pasting it into a Google sheet. And it takes me like three minutes but I think you suggested something called Retool. And there's another one, I forget the name of, that I looked at, I didn't like as much.

Aaron Saray (10:01):
T-Pain. I think it was called T-Pain. No that's a rapper, never mind.

Joel Clermont (10:06):
But anyway, in Retool I was able to... They didn't have an integration specifically for Transistor but they had a REST API integration. It took me maybe going from setting up an account to building this, maybe like an hour and a half. And it was pretty powerful, I was impressed by it. This tool in particular, I imagine a lot of these low-code or no-code tools, it had an escape hatch. You could write a JavaScript function or something if you needed to, which I in fact did need to do to transform some data. But it was another experience kind of like the Slack workflow where it's like wow. I might've in the past just said, "Well, I'm going to create like a little Laravel command-line app and it'll run on a schedule every week and it'll pull this data in.
And I know how to make a dashboard in Laravel, we do it all the time. But just that little nudge to try this other tool and I'm like, "This actually was pretty useful." And for sure it took me less time, which I think is the goal of this. It's not to avoid writing code. We like writing code, it's what we do, but is that the best use of our time? If I can spin something up in an hour versus maybe like putzing on an application off and on for a week or two, what's a better use of my time? In this case, it was just get the dashboard up there and don't spend a lot of time on it.

Aaron Saray (11:27):
So, this weekend I went with a friend... By the way, we're adults. I went with this friend to this event which I didn't really know much about. We're adults and I thought you could, as adults, go to this event. Just two adults.

Joel Clermont (11:43):
I want to hear why you keep saying adults, but let-

Aaron Saray (11:48):
Well, a place called Medieval Times.

Joel Clermont (11:50):
Oh, okay.

Aaron Saray (11:51):
Oh, and turns out it's not really for adults. I mean, it's fine but it's definitely, definitely silly. If you ever wanted to know if you're old or not, go to Medieval Times and determine if you have a headache by the time you left from all the children screaming.

Joel Clermont (12:09):
Well, now I wonder if it depends... Like, is this a thing that's only on the weekends?

Aaron Saray (12:14):
I know it's on Fridays and Saturdays, I think. I'm not sure.

Joel Clermont (12:18):
Okay. I've never been but I'm just wondering if that factors in. Like a certain time of day or day of week is more prone to have the school groups versus the other people.

Aaron Saray (12:27):
Yeah. It was funny though because there was like jousting and things like that. Sometimes they would miss with the jousting, like just completely miss the other person. But it's obviously scripted so the guy would be like, he realized he got missed and then he would just jump off his horse and fall over and be like, "Oh," and all the kids are like, "Yeah." And I'm just like, "What? He just fell, he didn't get hit."

Joel Clermont (12:56):
A little bit like a poorly choreographed WWE wrestling match. Where you know it's fake but they didn't really sell it. When you mentioned a place realizing it was definitely for kids, what jumped into my mind is Chuck E. Cheese. Have you ever gone there as an adult without kids?

Aaron Saray (13:16):
No.

Joel Clermont (13:18):
It's also very weird.

Aaron Saray (13:19):
Well, I'm not married like you are. So, if I went there, I would just be a 40-year-old hairy, bald guy among a bunch of children walking around looking a little morose. I don't think that's the thing I'd ever do.

Joel Clermont (13:34):
I could be up there whipping some skee-ball like these little kids. But, yeah. Also, there's a weird in-between. Like, you can't go as a teenager. At least when I was a teenager, we got kicked out because you had to be 21 to enter or with a parent. So, it's like you either have to be a kid with a parent or an adult. That in-between spot was no good.

Aaron Saray (13:55):
Yeah. Well, I did notice though at Medieval Times that really, really hammered home how old I am for two reasons. One is I put my head in the stocks for a picture-

Joel Clermont (14:09):
Do we have a picture of this?

Aaron Saray (14:11):
I have a picture of this, you don't have a picture of this.

Joel Clermont (14:14):
I mean, the show notes. It would be perfect, right?

Aaron Saray (14:17):
Then I stood up and walked away with it around my neck. That was the first one. And the second one was, there's a lot of dialogue happening during the show and there's people yelling and then speaking in accents that are not real. And halfway through I looked over to my friend and I said to her, I was like, "Can you actually hear? I mean, I can hear everything but can you hear anything?" And she's like... Okay, good. She's like, "Because I know he's talking but I can't actually hear the words he's saying, it's just so loud." Have you ever had that?

Joel Clermont (14:49):
Oh, yeah, I've had that experience. Can we turn on the closed captioning here?

Aaron Saray (14:54):
So old.

Joel Clermont (14:55):
Yeah.

Aaron Saray (14:59):
If you want to help Aaron, get his new M2 Mac, you can head over to our GoFundMe page and start with as little as $100.

Joel Clermont (15:07):
I don't know about that, but you can work with us. So, head to nocompromises.io and book a call to see how we can help you be more efficient in your code.

No Compromises, LLC