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.