17: Progress updates and some of the tools we use

Mario: Alright.

How's it going?

Alan: Hey, how's it going?

I'm good.

Mario: Good.

Good.

Alan: How's things over there.

Okay.

Mario: yeah.

Yeah.

It's just wrapping up
my work day and trying

Alan: getting started on mine.

It's still, I never understand
what's going on with the time zones.

It's like, I've been doing it
for, I dunno, like 12, 13 years.

I've been dealing with multiple timezones
and I swear I'll never get used to

Mario: Yeah,

Alan: people are online and they
either answer me or they don't and

they'll get back to me when they do

Mario: yeah.

Right.

Alan: it's.

I mean, I kind of like ever
embraced the asynchronous, working

to a, an extreme extent, I guess.

Mario: Yeah.

Alan: like my the previous company,
I did a lot of rework remote work for

they're based in the most people were
in the U S but there was some in Europe.

And I would occasionally.

Come over to Japan for like,
you know, a month or two.

And I swear one of the, you know,
I always try and give them a

heads up that like, oh, I'm going
to be on a different time zone.

But I started one of the times people are
messaging me and I'm like, oh, I like,

I'll get back to you in the morning.

They're like, hold on.

What, where the hell are you?

I'm like, I'm in Japan.

And they're like, okay.

I was not aware.

It's like, okay.

Yeah, we can just, you know, that's,
that's the beauty of remote and

asynchronous flexible working.

Right.

Mario: Yup.

It can be a pain, but

Alan: Oh, I know.

I noticed a new feature or I don't
know if that's intentional or not,

but it says recording audio only.

Mario: Yes.

new thing that I added a new label
that lets you know, whether you're

recording just audio or audio and video
because video recording is optional.

So,

Alan: Yeah.

And it's also both storage and storage
heavy and I guess bandwidth heavy as well.

If you're recording everything,

Mario: exactly, that's one of the
reasons why, I introduced that switch

so that video recording can be optional.

That way, if you don't really need
to capture video, then why, you

know, why use up resources and

Alan: right.

Like, again.

This kind of comes back to our discussion
last last time about storage costs, right?

Video isn't cheap.

Mario: yeah, And not to mention, you
know, just putting more burden on the

whole process, you know, capturing

Alan: got to upload it and you've got to
like capture it, upload it and process it.

Right.

Mario: yeah.

Do all that stuff.

And if, if you don't need it, then why,
why bother some, a lot of podcasters

don't are not interested in video.

They, they just want to record audio.

So.

Alan: I think from what I've this
is, I guess, somewhat anecdotal,

both from what I've seen.

And I had a discussion last
week with somebody about

doing some like podcast stuff.

And I think there's this idea, especially
around like corporate podcasts or

like ones that are more, I don't
want to say professional, but dumb

by businesses instead of by people.

I think this idea of being able to
repurpose you know, stuff as like

YouTube clips or you know, like it's a
tweet with some video, things like that.

I think that seems stronger in
that for those kinds of creators.

Whereas I guess just straight
forward podcasters are like, yeah.

I don't care.

Mario: Yeah.

Yeah,

Alan: And plus it's, I mean, it's nice.

It makes the recording process
easier when you can see each other.

Just cause, you know, it's
easier to communicate when you

can see somebody, but yeah.

For the actual end result.

Yeah.

Mario: Yeah, yeah.

So I guess I'll share my update.

Since we're talking about this stuff
So this week I've I'm supposed to

be doing some marketing related
stuff, but I haven't, because I've

been trying to squash some bugs that
have come up, some people using the

product have reported some issues.

a couple of them were kind
of major because it kept

them from using the product.

Alan: Kind of major

Mario: yeah.

so I kind of got concerned about that
because I hadn't seen that before.

And Luckily, one of them, at least
it turned out to be an easy fix.

And it had to do with cameras
capturing really high resolution,

like, you know, 4k or,

Alan: Oh, Right.

Yeah.

Mario: which generates a lot of data,
just an incredible amount of data.

And I've found that Fusioncast wasn't
handling that much data properly.

So it was breaking, you know,
basically after a few minutes.

Well the first person who reported it,
it was breaking up for a few seconds into

recording and it was not working at all.

Alan: I guess that's something.

Yeah.

You got to consider is like
for, casual podcasters like us.

Yeah.

You're just using the, in computer,
like web camera, which is probably low

bandwidth kind of, it was obviously
crappy quality, but yeah, if there's

semi pro or, or they know what they're
doing, they're likely to have a big

4k SLR sat behind the computer, right.

Mario: Yeah.

Some people have a pretty advanced setup.

And and, and that's why, I guess it
hadn't come up before because most people

are using just regular cameras and not
super advanced stuff like that, but Yeah.

I was able to fix that.

Luckily it wasn't too bad.

I mean it took a couple
of days of debugging and,

Alan: Can you basically ask for
a smaller version Of the video.

How do you deal with it?

Mario: Yeah.

So, so basically I would like to allow
or provide for capturing 4k video.

But at this point it's not, you know,
it's beyond the scope of what Fusioncast

Alan: seriously.

Yeah.

Yeah.

Yeah.

I mean, he renamed his scope
at first, at least anyway.

Mario: yeah.

Yeah.

So it technically could handle it,
but the problem is you really need

first of all, you can, I guess you
can add a, let's say you add an

external 4k camera to your computer.

So just because the camera is
4k doesn't necessarily mean

your computer can handle it.

Right?

Cause if you don't have a powerful
enough computer with a really good

network connection, then it'll lag
and it'll, become a bottleneck And it

becomes a problem for Fusioncast to

Alan: things get out of
sync and stuff as well.

Mario: things get out of, sync So
technically it could handle it given

that it's a good enough computer with a
good enough network connection, but, you

know, I don't have control over that.

So it's really hard to handle, at
least for me, you know, solo developer

Alan: again, a way out of scope for this

Mario: Yeah.

exactly.

It's it's way out of scope because
everyone has different kinds of setups

and even for myself, I have a 4k
camera, but it's an external camera.

My laptop is kind of old now.

So it, kind of handles it.

But for.

Uploading and, you know, continuously
uploading the stream with my wifi

connection, which is, not the
greatest in this part of the house.

You know, it, has some, some issues.

So what I, what I'm doing is
I'm dropping the resolution.

Even if it's a 4k camera, it'll
drop it to full HD, which is,

you know, it's still really Good.

quality, but it's, you know,

Alan: It's manageable.

Mario: it.

Yeah.

It's more

Alan: I mean, it's a fraction
of the data bandwidth, right?

Mario: Yeah.

It's, it's crazy.

The, the amount of data that 4k generates
it's a huge jump from full HD to

Alan: I mean, I guess maybe to do
with my age as well, but I really find

it difficult to see the difference.

Mario: Right.

It's, it's very unnoticeable,

Alan: It really is.

I mean, again, unless I'm, you know, pixel
peeping on I'm right up to it, I really

find it difficult to see the difference.

I mean, I mean, there's certain
content which you, you might

kind of go, oh, that looks sharp.

But for general stuff,
I mean really like, no,

Mario: Yeah.

And yeah, exactly.

And and the other thing is a
lot of places that you upload,

these videos that you may capture

Alan: Compress the hell out
of the room anyway, right?

Mario: Yeah.

They're going to compress it anyways.

So especially When we're
talking about the web, you know

it's going to get compressed.

Yeah,

Alan: YouTube is like, yeah, that's, it's
got better, but it's still not great.

Mario: yeah, yeah.

Alan: the YouTube, you know, postage
stamp kind of like tiny first flash clips.

Mario: A little videos.

yeah,

Alan: it's come on a
little bit since then.

Mario: Yeah.

So that's the way I'm handling it.

dropping The resolution to full HD.

Basically the way it, the way
it handles any video now is it

attempts to set it at full HD.

And if the camera can handle
it and it'll, do that.

And if it doesn't, then it'll drop it
to the next best available resolution

that the current camera can handle.

But then another, issue that was reported
had to do with interruption of recording

like sudden interruption of recording
like for example, someone changing

their wifi connection in the middle
of recording or, the connection just

dropping, you know, for whatever reason.

Someone reported having an issue with that
where they couldn't get back to recording

after something like that happened where
the, the network of the guest dropped.

So that one has become a
little more challenging to fix.

Just because dealing with sudden
interruption of recording is, a big

deal in the Fusioncast environment

Alan: system, right?

Yeah.

I mean, it relies on data being
there to upload and getting

acknowledgements and everything
can then suddenly everything stops.

It's like, whoa.

Mario: Yeah.

exactly.

And, and.

If you keep in mind that it's continuously
uploading, and buffering data and

dealing with a lot of moving parts.

So all of a sudden stopping
like that, where the network has

gone, it's like a freight train.

That's full speed ahead.

And, and, you know, all of a sudden
it just has to come to a stop.

and what do you do with all that energy
that's, being pushed and all of a

sudden it doesn't have anywhere to go.

Right.

you know, all this data is flowing,
it's going, and it's a lot of moving

parts are happening and all of a
sudden, bam, you know, network.

Alan: Yeah.

That's it's I mean, it basically
just kills everything, right?

Yeah.

You're, there's no way
for you to go with that.

Mario: yeah, exactly.

But now if you think about.

Let's say there's a session going on
where there's two or three people.

participating in one of them has a
problem and their network breaks.

They're out of the, session they're
out of the picture at that point, but

everybody else can continue recording
everybody else is still in the session.

So if you think it has to handle
that scenario where, things have to

continue for the ones that can, but
the one that that was dropped it has

to deal with that as well and bring

Alan: good point.

Mario: you know, bring them back
into the session in a graceful way.

And what I found is that Fusioncast
wasn't handling that gracefully before.

Right, now I'm in the
middle of, improving that.

But Basically, there
was not much guidance.

It was just, it dropped.

So the user had to figure out what to do,
how to come back and rejoin the session.

and even if they were able to do that I
guess there were some issues where getting

them back into the session where everybody
else is already they're still recording.

right.

So they have to come back in and pick that
up and, and automatically start recording.

So,

Alan: tricky.

Mario: yeah, it's kinda tricky.

So so I'm doing some work to
improve that and how that whole

thing is handled more gracefully.

Alan: You think you can manage
the coming back into it?

It's the, it's the coming rejoining.

That sounds like the the nightmare, but in
there, I mean, dropping one of the streams

and truncating that fail seems doable.

But trying to pick up an extra stream
where it, that sounds not easy.

Mario: yeah, exactly.

Alan: mean, is that enough
to not deal with that?

Is that something that you, you,
you think you could just like

Mario: thankfully, because I had this
auto recording feature already kind of

in place like the auto recording when
you joined I kind of tapped into that

functionality to, you know, help get
that participant back into the session

and start recording automatically.

But before that can happen.

it seemed like I needed to
add a little more guidance.

a screen that comes up when they
lose connection to the network

lets them know, rather than saying
that the network connection is

gone just by, showing a, an alert.

I basically take them to a completely
different screen that just deals

with that instead of keeping them
in the studio because at that point,

it's pointless to stay in the studio
because they're not, they're really.

Alan: you're not, you're not
part of that session at all.

Mario: Exactly so I take them to a
different screen, completely that guides

them and tells them what's going on.

And it waits for the network
connection to be reestablished.

And once it's reestablished,
then they can see, Okay.

it's back.

And now I have this button
to request to join again.

right.

So there's a little more visual cues
of what's going on and more guidance.

And when they click on that
button, then they're taken back

into the, the waiting room and you
know, back to the first step as,

Alan: So, so does that

Mario: to join the session.

Alan: their recording effectively, you
end up with just an extra recording,

which happens to start not at the
beginning, but like wherever they rejoin.

So it's up to the editor
to deal with that.

Not your problem.

Right.

But at least it lets you recover in some
graceful, as graceful as possible way.

Right.

Mario: Yes.

Exactly.

yeah.

So,

Alan: pull it off.

Mario: yeah.

Yeah.

So

Alan: I have confidence in you.

Don't worry.

Cause especially like, I'm just thinking
of the scenarios that would be useful.

And, and, you know, especially if
there's three of you doing some kind of

recording, you know, you can deal with
one person falling off and then them

rejoining and just it, you might be able
to, you know, as if you're interviewing

someone else, you might be able to
pull that off better than everybody

just getting kicked out or something.

Right.

Yeah, if you can pull it off in that
way, then that'd be, that'd be Nice.

Mario: Yeah.

And that's the way it's shaping up to be.

I'm still working on, that
stuff, but it's looking good.

But there are still some, loose ends
that I still need to tie down and

In the process of working on that, I
discovered a few little tangentially

related bugs little things that werent'
working the way they were supposed to.

And, so I'm cleaning
that up as well as I go.

Alan: So, how has your, you said these
reports were reported by users as well.

So have you added any, any more to
it or is this still your current news

Mario: I added I think a couple
of people since we last spoke

Unfortunately I haven't been
able to do marketing stuff that

I was supposed to do this week,
but yeah, that's the way it goes.

This.

Alan: it is.

Yeah.

Mario: Yeah, this is higher priority
at this point because I don't want

issues where user is not able to use the
product, you know, that's really bad.

Alan: Yeah.

That's I mean, I, I I'm not going to
give you a hard time about, I feel

like I should, I feel like it's my
responsibility to say no, that's, that's

a post launch fix, but I also know
the frustration when you can see that.

I mean, so I had, you know, a few of
these with, with DotPlan that like, you

know, I'm like, I can't release with
this unless, you know, does it, I know

there's a bug under these circumstances.

I know this doesn't deal
with this condition.

And then literally nobody has
come up against this at all.

And yeah, but I fixed it, but
I know I probably shouldn't

have it's I could have left it.

And so I know the, the The feeling of
being compelled to like, prioritize this.

So I can't really give you a hard
time, even though I feel like,

because I, here the same thing,
but I mean, I I'm, so yeah.

So what's been helpful with that plan.

So the the big thing here is so that the,
the customer, which I affectively signed

up like the, this Japanese customer.

So they've got a kind of it's not as,
not even as a soft deadline, so I've

agreed to add a feature for them.

And it's one of those things that I
knew I should have done when I built it.

But I did just, I actually did convince
myself that I'm going to need that.

That's not important.

Well, it turns out it is.

And that's the, so, because we've
added this time card thing in,

you know, like check-ins checkouts
and that, that all my current.

Plan, especially with regards
to selling to Japanese.

So I can't remember if we talked about
this, but I spoken to a few, again, a

few kind of mentors and people locally
in Japan about selling it in Japan.

So the big push back or the big feedback,
which all of these, you know, both VCs

and mentors has given me is that like
eats as it's not impossible, but don't try

selling to bigger customers now is just
really not worth your time going that in.

If, if things work out, then
they'll know about you anyway, but

really just don't don't bother.

They're going to give you so
much hassle and requests and

there's there's this definite.

Mario: Compliance and all

Alan: Yeah.

So one of the more.

The things.

I see a lot with regards
to bigger customers.

And I saw this quite a lot at the startup
that I was out here previously, is that

Japanese bigger customers don't see that
there's a lot of partnerships happen here.

Like, you know, small, a bigger
customer with, you know, like

enterprise type customer with a lot of
smaller customers that they sell to.

They sell all those existing
products and they want to add

you as one of their products.

So they offer this, oh,
we do a partnership.

You know, there's some kind of you
know, revenue share and, you know, we

will basically sell your application
as you know, a long with ours and.

It sounds great.

But there seems to be this, and again,
speaking to other companies this

seems happen a lot, is that, that
means they think they own your roadmap

Mario: Yeah,

Alan: it doesn't become your
product becomes what they decided

they, your product is going to be.

And I don't know how common this
partnership thing is outside of Japan.

It just seems incredibly common here for
smaller startups startups in general,

that they seem to have this, this path to
market of becoming, or getting a partner.

That's a bigger company that
can effectively resell for you.

But that means you effectively become
beholden to every single urgent request.

And there, you know

Mario: Yeah.

and multiply that times.

However, many of those types of customers
you have, and each one is pulling you

in a different direction because they
would think the product should do this.

And the other one thinks
the product should do

Alan: Right.

It would completely irrespective
of what your product is.

They just have come up with a, an idea
of what it should be, and they'll sell

that and then tell you that, well, it's
got to do this by next week because

we've sold this and it's not even,
you know, within your company or you

don't even know who's being sold to.

So it's, it's less than optimal.

So the big feedback is
here is sell to startups.

I mean, there's this huge push.

I can't remember if I mentioned this last
time, there's a huge push here in Japan

for the government, trying to encourage
graduates our younger people to, to start

their own companies because you know,
Japan is way behind in this regard, as far

as younger people being entrepreneurial
and starting software companies.

So the big feedback here is like sell
to them that, that you understand them.

You know, I kind of are on
the same wavelength anyway.

They have got no problem.

Putting in a credit card and
paying, you know, $50 for something.

Whereas again, trying to get a
big company to pay anything is

like, well, there's a process and
there's a department that will,

Mario: Yeah.

Yeah.

Alan: so the big thing is
just sell to small startups.

And again, that you understand
what they're trying to do.

You understand their problems,
you can communicate with them.

They're more likely to understand
English as well, because again,

university students or graduates who
are starting a company there'll be

more exposed and be better at English.

Anyway, whereas a bigger company
is like less likely to have some

English knowledge, which just
helps me communicate outside of the

Japanese route, which I'm also taking.

So so along those lines is like,
okay, the big thing here is

that for compliance reasons, you
have to keep time cards, right?

Mario: right?

Alan: For everybody, unless
you're a director level.

I think there's a limit of 10 million yen
a year, which is like a hundred K dollars.

If you're below that you have
to keep timecards of when you

start work, when you stop work.

Supposedly too, the reason being is to
stop overwork that it's debatable whether

that has whether it works, but that's
the theory behind it anyway, because

Mario: that's the reasoning behind it.

Alan: yes, I mean, overwork is a
massive problem here and you know,

there's been a number of deaths
through, you know, people doing like

a hundred hour weeks and things for

like months at a time.

And so like trying to keep
companies in check is, is a big.

So even if a company doesn't, they
should be doing and they probably know

that they should be doing so if we
can make that easy and part of their

normal communication and it's a win.

So that's one of the the core messages
that I'm going to try to communicate

with the sales process for selling
to Japanese companies is like simply,

you know, a very simple way of keeping
track of your, your working hours,

you know, for compliance reasons.

As well as the, the more the core
idea of, you know, being a, you

know, communication and empathy, and
being able to share your day as well.

So try to mix those two together, you
know, give them as a, there's a good

reason why you should be doing it for, you
know, logistical and compliance reasons.

And then there's the added
benefit of this as well.

So we had time codes and the.

It's the easiest thing to do when viewing
timecards is show them by month, right?

Because all I have to do is put, show
them current month, then you go forwards

and back you can select a month.

Well, that's not, of course
not how companies work is it?

Japanese companies tend to pay
around the 20th to the 25th.

25th, 26th is the start of the next month.

All your bills tend to go
out on the 25th or 26th.

It is generally around there.

So people get paid between the 20th
and 25th, depending on the company.

And that's when they expect
time cards to be recorded from.

So your payslip is calculated from
around the 20th to the 19th ish.

So of course they're like,
yeah, well we need it from the

20th to the 19th every month.

And it's like, of course you do.

So I kinda like, it's fine.

We were just doing this with
Excel, you know, we just opened

the previous month and we cut
and we paste and yeah, it's fine.

We can do it.

And I'm like, I, I can't let you
just do that every time you do it.

It's like a grain of sand in your shoe.

Right.

It it's every single time
they do this, they're going to

be like, oh, bloody DotPlan.

Right.

And so it's like this.

Mario: yeah.

Alan: Reasonably easy thing for
me to change to improve upon.

And it just, you know, it gives that,
well, you know, I'm listening to the,

the needs of the customers and, you know,
it's just, it's bugging me that they have

to work around this every single month.

Right.

So I'm like, okay, I've got
to, I've got to do this.

I've just got to have a time date
range for viewing time codes.

And and it's one of those,
just add a date range, right.

It's amazing.

How many small.

Niggly things that come up with this.

Right.

So the obvious one is okay.

So I I just started to date picker things.

Again, date pickers are stupidly a
pain in the bum that they're not like,

how is this not completely and utterly
solved in, on a web browser now?

I it's.

So there's, there's a pretty decent one.

It's like vanilla date picker
or something like this.

And it, it does the job and there's
a version that does tailwind.

That's in tailwind, but it's,
it's, it's not quite right.

And it kind of forces other preset
formatting on it was so it's like way too

long trying to fiddle around with that.

And it's like, I just want a date and
a date range picker, and it's fine.

So it's kind of got that looking
more or less as I want it to which

is way more work than it should be.

So then you go, okay,
well you've picked a date.

So what happens if they
press the previous month?

Well, under normal circumstances,
that makes sense, right?

Because if you've gone the 20th to
the 19th, press previous, you still

want to see the 20th to the 19th,
but of the previous date range.

Right.

But when someone is looking at the
current month, say they show from

the 1st of February to the 28th of
February, what happens when they

press previous month, then what you
want to see from the 1st of January

to the 31st 31 days in January, know

Mario: Yeah,

Alan: you want to see the month, right?

Not until the 28th of January.

So how, how do I know that they wanted to
look at a month instead of a date range,

then it's like, oh, that's different.

Mario: Yeah.

Alan: And then what happens if they
select, you know, that the 1st of

January, 2020, and they're looking
at the 31st of February, 2022 that's.

Show them two years with a beta.

So then I've got about pagination.

I didn't have pagination on that.

Or do I just restrict the time,
the date range to maximum three?

And there's all these like
stupid little cases when I'm

like viewing a month was easy.

This, it I'll just start a date range.

Right?

Mario: Yeah.

Yeah.

Oh man.

Dealing with dates is always a pain.

Alan: the other thing is the other
fun thing as well is time zone,

very dependent on time zones, right?

Because you're doing check-ins, you're
doing clock in clock out, you know,

work, start work, stop it, stop it.

Stop.

And of course they're
doing it here in Japan.

Of course I store everything
in UTC because that's.

Necessary which means
you select a date range?

Well, if you're in Japan has selected the
date range, which means this time, date

range in UTC right, which means everything
has to be converted through time zones

for literally every single query and
keeping track of that is it's an effort.

Mario: Yeah.

Alan: So that's been my week.

It, again, it's such a
trivial little thing.

So the, one of the the fixes I'm going
to try and do to make this less flaky are

less susceptible to use input problems
is to add an option for an organization

to say, when does your mother.

So rather than the date
range will be there.

And it will kind of work, but there's
going to be places where it's not going

to be optimal because I'm not taking care
of necessarily every single edge case

all these but I still want to provide
them the option of being able to say,

show me, you know, from the last week.

But given that this company is always
starts on the 20th of the month, let

them set a start date for their month.

And default to that, that means the
back in the fold will work because

they know that there's, it, it will
set to the 20th to the 19th going back.

We'll show them the
previous 20th and 19th.

And it's unlikely that they're
really going to use the

range selector that often.

It, that's going to be a, a niche
case rather than the standard case.

If every time, they went to the page.

They have to select last month.

And then this month, this date,
the chance of error is high.

Right.

Because they'll get the wrong month.

I mean, I do it used to like start
date and you, oh, I've got to go back

a month and then you click it again
and you just get the wrong month.

You've always got to be kind
of on top of making sure that

you'd enter in the right thing.

Mario: Yeah.

Yeah.

Alan: So if I can default to what
they expect, then I'll get it right.

95% of the time.

Right.

And then if they do need a specific date
range, let's say, yes, they do need from

September 1st until August the 19th.

Other way round, then they can
still do that, but that's only

going to be a niche request.

And so, yeah, just, just to just start
date ranges, it can't be difficult, right?

Yeah.

I opened like, oh, this is a
nice can of worms what's in here.

Mario: Yeah.

Oh yeah.

Alan: all over my desk.

Mario: Dealing with dates is
such a pain and, time zones man I

Alan: combo there.

Mario: I don't envy you at all.

Alan: So that's yeah, it as I am,
I'm 80% of the way through this.

So I'm kind of like, I've,
I've, I've got it all working.

I just need to make it not as brittle now.

And just add some validation stuff to
some guards to make sure they can't

go crazy and do stupid stuff with it.

You know so that's, I've broken it back.

It's just got to get this done and
yeah, that's my, my week a good one.

Mario: Yeah.

The fun never ends.

Right.

Alan: Yeah.

And so doing this as well, I I'll
just get Phoenix up to date as well.

Which to be honest, Phoenix is
I think this is an offshoot of

Elixir being unfinished for this
matter, being very unmatched sick.

I mean, does what it provides.

You feels like magic as an end-user
just like I wrote this code and it

makes me do all this live and it's to
my page and it it's fantastic, but it's

very explicit about what you're doing.

You know, but rails has this, I
think somewhat justified like myth

of it being magical and oh, lucky,
you know, it's all, there's all this

stuff happening under the surface.

And you've got like this abstract way of
doing it once, you know, rails quite well.

It doesn't, you don't feel like that.

It's just, it's, it's
quite a common meme, right?

That rails is magic.

Phoenix never feels like this.

It's everything you do is very ex it
feels a lot like rails and you know,

when you first create a project and
you start like working on it, it's

like, oh, I know this there's models
here, there's views there there's, it

all kind of feels very familiar, but.

Everything is much more explicit.

You never hit a point where you're like,
I don't know where that's getting set.

It's like, no, there's this pipeline.

There's all these plugs.

And it goes through here that does that.

And then it does that.

It's like a very easily followable
path to where you are right now.

And that makes it when you do an up
date, the updates tend to be, well, this

has changed in this part of the path.

So therefore I just need to change this.

It never feels like I, now nothing works.

It never feels like that.

It feels like a very
straightforward upgrade path.

And there've been, you know, the
documentation is, is fantastic.

So it was I was kind of dreading it
and then, oh, I spent a few evenings

doing it and I'm on the latest Phoenix.

So I'm glad I, I did that.

I was less successful with the
JavaScript dependencies updating,

but we'll not talk about.

Mario: Oh man.

So are you, yeah, so
you've been busy with,

Alan: Yes.

So yeah, my, my

Mario: low level.

Alan: of of doing some you know, this
landing page, complete redesigns and

everything have also been like put
on the shelf for another week or two,

just because it's like, I get this.

So this customer, again, that they're kind
of getting preferential treatment, just

because of how much they've helped me with
the, you know, they were the most vocally

helpful with, through the beach process.

Just like, you know, we're,
they're really relying on it.

And they've just been really
helpful with all of that feedback.

gone into that office a number of times
and they just sat with us and it's like,

this is, this is what we need it to do.

And this is what, where we're
feeling that it is not right.

So they're just been so helpful.

Yeah, of course they're getting, you
know preferential treatment, but.

Mario: Yeah.

Alan: they're kind of going live with the
whole company using this in very soon.

So it's like, okay, let's get
these, these things sorted for them.

So they they go into
it with a good feeling.

Right.

Mario: Yeah.

Yeah.

Yeah Nice.

Alan: it's a, it's a, you know,
it's super important to keep these

early customers, you know, close.

Right.

Just cause they've been,
they've been so good.

And I, you know, I'm
treating them as that.

I'd like to be treated.

Mario: Yeah, exactly.

they're giving you a.

vote of trust and confidence, you
know, even though they know the

product is in its early stages

Alan: Right.

Exactly.

Mario: They're patient with any issues
that come up and, that's invaluable.

That's amazing to have that kind of
support and product and customers that,

that are willing to give you a chance,
you know at this early stage that's

always, I'm so grateful for that too.

I have a couple of users who have been
very supportive and very vocal about it

and, recommending it and, to other people.

And even though it has its issues
and it's not quite there yet,

but really grateful for, for

Alan: I mean, I think this comes back
to, you know, we've we talked about

this before, but you know, trying to
be an authentic creator, you're not a

faceless corporation, it's you, and you
know, you're doing your best and you

want to make the right thing for people.

Right.

So it's and it it's you know, my.

Feeling for, especially when you,
you come across quite a, an obviously

well-financed startup, that's trying
to do something versus, and you know,

an indie maker or something that you
you're aware of the person or the

handful of people are built at your,
your tolerance and your the amount you,

just, how you feel about it in general.

It's so different, right?

You're, you're much more
willing to to give feedback.

You're much more willing to just give
things a chance and not overlook, but

be supportive of it rather than just
be like, well, this sucks, which is

very easy to do for something that you
think is just like a well-funded team.

Mario: Yeah, exactly.

Yeah.

There's because you feel like
there's no excuse, right.

At that point he felt like,
well, I mean, how many engineers

do they have working there?

And this is what they do.

Alan: Seriously?

Mario: Like that

Alan: Well, yeah, exactly.

That's a very common thought
process is like, you mean use,

it costs you and you can't.

Okay.

Speaking of interesting little
product, so this is, this is

something that I, I found this week.

It's an app called Tango.

So one of the requests, which I have
had again from Japanese customers,

more so than non-Japanese is a manual.

I know the same script, but
basically some kind of a help system.

So I started off a knowledge based
thing, which I'm using what's it called?

Eager?.

Is it yeah, I can't remember, but
and that's quite nice for putting

together a knowledge based thing,
but for that also that It's a

pain to write these things, right.

Because it's really difficult
to say, and then click on

this, go and take a screenshot.

And then, you know, and then
do this and fill in this here.

And it's just a very boring process to
make any form of help documentation.

Right.

Mario: yeah, yeah, yeah.

Totally.

It's not fun at all, but

Alan: at all.

So, oh, go ahead.

Mario: No, I was, I was going to say maybe
video is like we talk, I know we've talked

about that before where, you know, maybe
video is a better way to go about it,

Alan: Right.

So that, that was my feeling too.

But of course, then I've got all okay.

Japanese customers.

I have to then recall Japanese
videos, which is you know, they might

realize, okay, this guy really needs
to start this Japanese up, or I get

pay somebody to record it for me.

But so this is an interesting one,
Tango, what it lets you do is it

it's a Chrome extension thing.

You, activate it.

You say record a new flow of something.

I think he calls it flow
account workflow or something.

You then do the.

And in your browser and
then you click finish.

It takes screenshots of that part of the
screen with the thing highlighted that

you clicked and it's, and it will auto
fill it in using like alt tags and tie

and button names and things like that.

So for instance, creating a new user, I
think adding a new user to your system,

you know, you go to settings, you know,
workspace, settings members, click

add user typing, their email address.

And that's that's it,
but that would take me.

It's just, I really don't want to do that.

It's such a painfully
process to go through.

So this, you, you hit record, you
effectively go and do those things.

It gives you a series of screenshots
and texts click on this click

on that click on the other.

The buttons are highlighted on your
screenshots and you can just export it

or you can link to it on their platform.

And it's like, okay, I could rattle
through this in half an hour, produce

like 20, how to guides for things like,
you know, change, making someone an admin

or you know, like editing your timecard,
things like that, which are like, it's

obvious you just click on this button,
but still it's obvious to me, it's not

necessarily obvious to an end user.

So I'm going to give this a go
and just try and get using this

just because it's, again, it is.

Every single time with Japanese customer,
like need a manual or at least a help

system of some kind that is I don't know.

It's just, it's really difficult
to talk myself into that.

I know how to know what I need to
do, and I know that I need to, it's

Mario: Yeah.

Alan: to actually
convince myself to start.

So hopefully this will will, again,
it'll get me 70% to 80% of the way there.

So it's like, okay, well
it's kind of done now.

I just need to finish it off.

So

Mario: Yeah.

It sounds, like it's a pretty
useful tool and it'll be helpful.

Alan: I will report in how it goes

Mario: All right.

Is it a paid service

Alan: do there is, but there's
also quite a good prebuilt.

I'm trying to remember Tango.us.

I think it is tango dot us Yup
create step by step documentation

with screenshots in seconds.

Here we go.

So yeah, unlimited workflows.

It's got logos on it.

It's got watermarks on the things.

If you pay $12 a month, you can blur
sensitive information, things like that.

You can do with more people.

So freebies looks good enough for me
to start off with, and then, you know,

I'm all for the freebie accounts.

Mario: Nice.

Yeah,

Alan: Although speaking of which, I just
got a mixed panel telling me that my

free account is now going to be $300.

I was like, cancel.

They have like, it's one of these,
what seems to be common in big

Silicon valley well-funded startup
type things is like, oh, we're

giving you $50,000 worth of credits.

And you're like, of course
it expires in a year.

Right.

And you've used $300 worth of it.

Mario: yeah,

Alan: So yeah.

I'm like,

Mario: are you going to go for
it or are you going to cancel it?

Alan: Oh canceled.

I immediately.

Mario: $300 a month.

Alan: no, no.

Yeah.

I think that,

Mario: a, year.

Alan: yeah, I think it was
a year for the lowest plan.

I'm like, yeah,

Mario: Yeah.

It's still it's quite a bit.

Alan: I mean, it's interesting.

I think there's a free.

I think it goes down to a free plan,
which is, you know, well, within my

budget of clicks or if not, then I'll
just remove some clicks and if going to

stop it, I mean, it's interesting from
a an analytics, not it just an, I, it

gives me a general idea of, you know, how
people are using it on what times, and you

know, like, so I know when to break it.

Mario: Yeah, hopefully you didn't
have a lot of integration code

Alan: Now I, I mean, the nice
thing about it is it's literally

like just dropping a bunch of,
you know, like track, track track.

So, you know, in your, it looks goji,
you can just put like a Mixpanel dot

track event and it'll just be, does it.

So yes, just like find comment,

Mario: Cool.

Yeah, I'm looking at their
website here at tango.

Alan: No Tango is say, it's it.

I'm going to give it a go
and see how it works out.

But I did just a test.

We'd like two things which you
know, took 30 seconds each to do.

And it got me much further than I have got
on any other help documentation so far.

So I'm like, okay, I can do that.

I've just got to make a list
of, things that I need to do.

And then yeah.

Do that.

Mario: nice, nice find.

Alan: And then I'll get
to the landing page.

No really need to do that.

Mario: cool, nice looking website too.

Alan: interesting.

Yeah, it's kind of, it

Mario: nice.

and clean.

Really good looking site.

Alan: Hmm.

Mario: Very cool.

It's gonna bookmark it in my tools here,

Alan: what's the other main tools
you cause you're using as was,

was the landing page, Statamic.

Mario: yeah.

Yeah.

I'm using Statamic

Statamic for the marketing site.

Yeah.

I'm using that with a Tailwind and Yeah.

still, I love Statamic.

It's super flexible, but still it's, it's
a tool for developers really, you know?

So it requires that you wire everything
up together and some level of maintenance

is required, you know keeping it up
to date and, and if you want to do

any custom stuff, you have to go in.

Back and, code some stuff here
and there mostly it's markup

and templating, language

Alan: what's the meat for
something like a landing page?

What's the, it's a static
site generator, right?

So if you've got like a blog, it'd
be great because it could just

generate all of your pages and stuff.

Mario: can

Alan: a landing page, what do you
get from just like writing html?

So say I just made an HTML
page with tailwind and hosted

it on Netlify or something.

Is that, what does it give me over that?

I assume it's for, if you're
building like a series of pages,

Mario: Yeah.

With Statamic, you mean?

Alan: Yeah, yeah.

Mario: Yeah.

I mean, you can, you can build

that's the thing it's it's really
well, so you can build anything from

like a single page, site to like a
full-blown, super complex website.

and also you can use it as a static
site generator, or you could use

it as a kind of like a dynamic
website, but it uses static files.

That's why it's called static because it,
it can do kind of like both, it's kind of

like both worlds static sites, but it can
be dynamic in the way that it behaves, or

you can export all your pages as static
files, which is what I'm doing, but Yeah.

you can build anything really
with it, but there's still.

A little bit of complexity in terms
of, you know, it's not just like

one of these services where you
can just go online, log in and make

your changes and you're done, right.

You still have to because you make
your changes and, push your, code

up to the re repo and then do the
deployment and that kind of stuff.

there's still a little bit of a few steps
involved in, maintaining your site and

Alan: Yeah.

Cause I'm using Umso, Umso.com

Mario: Oh yeah.

You mentioned that the other day.

Alan: Yeah.

And it's again, I don't
have to do anything, so

Mario: Yeah,

Alan: Is it literally a, you know,
like select your blocks kind of,

you know, filling a tax sense.

So I know if I went for a custom
page, which again, it, it would be

nice to do, but I know I'd spend a
million times more fiddling with the

layout than actually the content.

So using this as kind of forcing me
to like, just focus on what you're

actually putting on the page, not
how it you know, how it's laid out

in code, not necessarily the content.

Right.

So.

Mario: Yeah.

Yeah.

And that's sometimes that's
something I miss, you know, just

being able to just, drag and drop.

And then, you know, just something simple
at this stage is probably ideal to, have

a set up like what you have with Umso
because, you don't have, like you said,

Alan: mean, to be honest, I think
this is the thing which costs me

the most in all of the tools I
use and that's like $30 a month.

So but at the same time, the thought
of actually going to something that

is that I have to do myself is just
like, I'll pay the $30 just it's.

It's, it's crazy.

That, that the thing that I pay the
most for is hosting a static page.

Mario: Yeah,

Alan: It's like, like servers
running all database and things.

It's like I'm on the freebee though
is, but keeping a landing page

study landing the page up, it's
like, well, I'll pay for that.

Mario: yeah.

Yeah.

Well, I mean, you're

Alan: may be weird.

Mario: well, you're paying for
the convenience and you don't have

to, it saves you a lot of time.

I'm sure.

Cause you don't have to waste time
fiddling with, all your custom build

template and all the custom stuff.

And it's just trying to figure
out coming up with a design

and all that it takes forever.

Alan: Well, again, yeah, it's kind of,
I know I'd spend more time thinking

about that then again, the content,
if I went to custom routes, so

Mario: Yeah.

Alan: it's kind of forcing my me down
a particular course of action is like,

no, you've got to think of the content
because the design is out of your hands.

So maybe that's good,

Mario: yeah.

That's why I kind of settle for
a really simple design for now.

And I'm still using Statamic, cause it
gives me that flexibility, but cause

you know, in a way it's also nice to
be able to add things your own way.

Like for example, I wanted
to have that change log.

So I just, you know, did it, in
Statamic is really easy to do that.

As long as you don't spend a lot of
time fiddling with the design and

stuff, you can just create simple
pages and that all, all of that is, you

know, it's, it's really simple to do.

but yeah, it takes a little more time

Alan: Oh, so that, that's what I'm using
Eager, eager.app for a help desk like

knowledge base and they have changed
log and a pop-up thing for what's new.

So again, it's a one person
indie maker project and yes, I've

started putting these things into
that just because it's it's nice.

it's, it's got like a help desk
email thing, so you can get like, you

know, people send you help request.

It basically has keep keeps it
all and then you can link to

your knowledge base from it.

So it's, it seems pretty nice.

Mario: Cool.

I started playing with what is it called?

Crisp.

Alan: All Right.

Mario: Crisp is another
solution kind of like

Alan: kind of thing.

Right.

So yeah, this is I think, you know,
this is, this is, it was nice cause

it's an indie maker and and it was
a whole lot cheaper than Intercom

put she's terrified, expects it.

Mario: Yeah.

I was curious about crisp because I know
some, people who are using it and, I

create an account just to check it out
and it looks really good, but if I can

help support an indie maker, I would
rather go with something like that.

As long as it's, you know priced,

Alan: Exactly.

Mario: And yeah, send me the
link if you, if you don't mind.

Alan: I'll put it in the shoulder.

Mario: Oh, there you go.

Perfect.

Alan: Yeah.

Eager dot up.

But yes, I'll, I'll send you th

Mario: Cool.

Alan: and so w what are
you using for analytics?

I'm curious now we, should, we
still hold things talking about what

tools we we have in our back pocket.

Mario: Oh yeah, that
would be a cool episode.

So actually for analytics,
I haven't done anything yet.

I don't want to use Google analytics.

Are those are the types of
analytics you were referring to

Alan: That's what I was curious about.

Yes.

Yes.

Mario: Yeah, I, in the past
I've used Google analytics, but

I'm trying to stay away from As
much as I can from Google stuff.

So my plan is to use fathom analytics at
some point, but I haven't done that yet.

Alan: So I'm using a plausible which
again, similar idea to for them.

It's two guys I think in the UK
I think I've mentioned it before,

because it's written in Elixir as well.

So it's actually that
they open sourced the app.

And so it's an interesting.

open-source you can, if you want to host
it yourself, you can, do you want to

host your own little analytics service?

No, so you pay them.

It's not expensive and
it's just really good.

And so there seemed to be doing really
well and yeah, it's super simple, but

it's, it does everything I need it to.

So I like it.

It's good.

Mario: Nice, nice.

Yeah.

That's a great idea.

We should do an episode with just that

Alan: What we use and why we like
it and what we don't like about it.

Mario: yeah, once we have once we've
established some of these tools, a

little better, cause some of these
we're still playing around and trying

to figure out which one to use.

Right.

Cool.

All right.

Well anything else we want to talk about?

Alan: I think that's good.

Mario: we should wrap it up here

All right, Alan, I'll let you go then.

Have a great rest of your day.

You're just getting
started, and mine is ending.

Alan: Enjoy your week

Mario: Yeah.

Thank you.

Cheers man.

Take care.

17: Progress updates and some of the tools we use
Broadcast by