Mario: Alan.
Alan: Hello?
Mario: Hello?
Hello?
Good.
How are you doing?
Alan: Ham.
Okay.
Hello.
It is confused as well as you.
Mario: I know, that change threw me off.
Alan: Yeah.
Yeah, exactly.
It's that extra week that I was like,
Mario: Yeah, I
Alan: like, they look popped up on like, Hey, I'm like, oh yeah, that hold on.
That was just recovered the thing out yet.
Mario: yeah, I thought we were going to record do the, do the
onboarding tomorrow and then that we were going to meet to record
Alan: right, exactly.
I mean, we can do that if you prefer.
I don't mind
Mario: no, no, no.
Alan: a quickie and then.
Mario: No, that's fine.
That's funny.
We can, we can do this.
Alan: I say it, it might, might be worth also recording the onboarding tomorrow as
well, just as a reference point for you.
Like it's cause I saw our software social also did a a
customer interview kind of thing.
So they basically posted like the, the role rodeo of
the, of a customer interview.
And it was kind of interested in hearing that as a, like an, a bonus
kind of content kind of thing.
So,
Mario: Ah, cool.
Yeah.
Yeah, that sounds good.
Let's do it.
So did you notice it's already recording?
Alan: oh, it is.
Oh, nice one.
Cool.
Ah, sneaky.
I didn't.
I was like, well, should I start recording?
Oh, cool.
Mario: Yeah.
Yeah.
So I, I got that feature going where it's auto starts recording automatically
locally, as soon as you log in.
Alan: Cool.
Mario: Yeah.
But perhaps I need to make it more obvious so that the person knows that they're
being recorded because you didn't know.
Alan: know,
Mario: So even though it says at the top, but it's not, I
guess it's not obvious enough,
Alan: maybe some kind of notification thing that just kind of pops up
and just says yeah, maybe some kind of banner that just says recording
has been
Mario: recording local recording in progress or something like that.
Alan: Yeah,
Mario: Okay.
Yeah, yeah, yeah,
Alan: Nice
Mario: yeah.
Okay, cool.
Yeah, I'll do that.
So have you been,
Alan: Good.
It's like, I know it's weird because like, as we talked last rate, right.
But I don't know what the hell does the time go?
No things are good to things.
Good.
I think also we were away for the weekend, so I w mother-in-law
mother-in-law's for the weekend.
So I kind of like add last two days.
Hiking,
Mario: Yeah.
Alan: know,
Mario: Yeah.
Alan: kind of like, what did I do other than it's, it's a bad habit to kind of
do this development of the weekends, but it's sometimes unfortunately the only
time you can get stuff done when you're juggling full-time stuff during the week
and things, and then like the kid often, you know, disappears for the weekend
days to go out and play with the trends.
So it's like, oh, I've got like two hours to squeeze in an extra bit of bonus work.
So a bad
Mario: when you get it, get some, some, sometimes some, a solid block
of hours to, to work on things.
Alan: exactly.
And I don't know about you, but I'm really bad.
I kind of.
It's evenings.
I find it much easier to get into the zone then daytime.
So I have this terrible habit of like, you know, oh, it's 10 o'clock.
I'll just do a, you know, an hour before bed, like one o'clock in the morning.
And I'm like, but I've just got to finish these things off.
Like, I can't do that during the day.
It's like, you know, my trying to get like a continuous block of just like, I
can do this and then you get distracted, but evenings are so easy to get focused.
It's yeah,
Mario: Yeah.
I've done that so many times.
Yeah, totally.
Alan: and then unfortunately my son has to leave for school, like seven 30 ish.
So yeah, that doesn't, it's not compatible,
Mario: Oh yeah, yeah,
Alan: it's a habit and it happens, but yeah, probably shouldn't.
Mario: I've done that so many times.
It's tough.
Yeah.
I've brought my laptop to bed sometimes just to, okay.
I'm just gonna do a little bit just before I go to bed and then yeah,
sure enough, you know, one o'clock rolls around and I'm still at it.
If my wife is like,
Alan: I've just got to finish this.
This is really important.
Mario: Yeah.
And my wife wakes up later and then she's like, you're still awake.
Yeah.
Alan: Yeah.
Bad habit.
Mario: Yeah.
And I good.
Alan: So you've been a, he got any anybody else onboarded?
Mario: No, no, not yet.
No,
Alan: I'm the next run, right?
I'm the next
Mario: You you're next?
Alan: pig.
Mario: Yeah.
You're next.
So, no, I haven't onboarded anybody else.
But I've been busy making changes.
Applying changes based on that feedback.
You might notice, it looks a little bit different, not by much, but
the screens are separated now that there's a little bit of a split
before there were all together.
Alan: Right now, I was just thinking, it looks kind of it's it's funny how, you
know, again, I'm not a great designer.
I'm not a designer,
Mario: Same here.
Alan: when you kind of make small differences and you're like, I
think this is, this is better.
I'm I'm not sure.
And then you come back to it like a few days later and you accidentally load
like the previous version or something.
You're like, oh my God, like this, this is terrible.
Like, it's amazing how things do improve and you put, you're not
actually sure about it at the time.
So I, like, I kind of changed some of the like the border and the shadow
on some of the boxes on my thing.
And at the time I'm like, I can't tell which is better.
They look kind of similar, just different.
But then, yeah, I hadn't deployed the new version and I went to the
deployed version production version.
Oh, who's broken the site.
It looks terrible and say, I made that change to know.
So it's
Mario: That's
Alan: that's good.
Yeah,
Mario: That's validation.
Alan: This is the, again, one of the downs, I don't know if this does that a
bonus of, of it not being my full-time.
I'm not concentrating on this all the time.
Right?
You, you, you are working on other things most of the time.
And then when you come back to it, you're like, well, I'm not
sure who made that decision, but
Mario: Yeah.
Alan: you can be reasonably objective about the decisions because it's
like, I don't remember him making that decision so I can be critical
of it because I'm not sure it was me.
Mario: yeah, totally.
And that goes with code too, and not just the visual aspects, but with code I've,
I've come back to my own codes sometimes.
And then I look at it, I'm like, huh, what was I thinking when I, when I coded this
Alan: Yep.
No, I mean, absolutely the best, one of the best refactoring God debugging
techniques is to just like walk away.
And I do this all the time and I walk away from it for like three or four days at
a time and coming back to it and then be like, wow, that was a really bad decision.
Mario: Yeah.
Alan: You could, you know, like I'd fire that person.
That was terrible.
But yeah, you can be pretty objective about it when yeah.
You can distance yourself from your code.
Mario: Yeah.
And, and there you go start refactoring again and
Alan: Especially for me.
Cause I'm so I'm developing DotPlan in Elixir and Phoenix.
And this is my first Elixir Phoenix production app.
Which I think I mentioned, I, it wasn't intentional.
I was like, oh, I should try this out.
See how, you know, see how I like it.
And then I'm like, oh, I built a thing.
Mario: yeah,
Alan: So you just kind of, so I'm very much learning as I go with it
in terms of, you know, I'm applying all of the things I've known in
developing rails apps, but 10 years.
But there's a lot of, I don't want to say subtle as could
some quite huge differences.
I mean, the, the concept and the structure and things is very similar,
but there's a lot of unique, functional programming things in Elixir that
I'm just not very practiced at.
So there's definitely this constant reevaluating, how I've done things.
And then it's like, okay, I can rewrite to this now because I've learned
a better technique of doing this.
So it it's definitely.
A big learning experience as well.
It's it's yeah.
Normally if it was just rails, I wouldn't really think too much about that, but this
is definitely a different experience to be learning a building at the same time.
Probably not the most efficient, but
Mario: Yeah, no, but that's good.
I mean, you're learning and you're learning with a real, you know, a real
life application, that, that puts a lot of things to the test, things that,
Alan: Right.
I mean, I, there was a, there's a discussion on one of the select seven.
I think yesterday I'm like, you know, how should I learn a new language?
And I think we mentioned this before, you know, I'm, I can't learn a language
by building what the suggestions were like, you know, build a parser or build a
Mario: Yeah,
Alan: like that has zero.
Like I'm not gonna learn anything.
I'm just gonna learn syntax.
And, you know, I've learned some stuff and then forget it the next day, because
it's completely impractical to me.
And so by building a real thing and, and actually solving problems that I would
be solving in a novel process of building an application is the only way for
Mario: exactly.
Alan: me.
Right.
Mario: Yup.
Yup.
Alan: So all the things I'm kind of trying to learn from.
It looks from Phoenix.
I thinks it's like, okay, I don't know how to do this, but I need to make it work.
So it's like, okay, applying what I know from, you know,
rails and Ruby, but like the, the concepts that are quite different.
So it's like the, there's definitely a whole process that you need to go through.
Like, but then it sticks because you've had to go through that.
Right.
It's not, you know, next time that comes up.
You're like, I know this.
Whereas if I was writing a parser, like
Mario: yeah,
Alan: going to go in one ear and out the other road,
Mario: Yeah.
I find myself in a similar situation with the fact that I'm building this app, that
I've never built anything like it before with audio, video and recording and all
through the browser and never built that.
I've been a developer for a long time and built a lot of different
kinds of systems, but I've never worked on something like this.
So it it's a lot of firsts for me.
And I don't sometimes, you know, it's the same thing.
I don't know how to do this, so it has to work.
I
have to figure it out.
So, you know,
Alan: So have you released a production app that is entirely yours before?
Or have you only worked on stuff as part of teams that has
been released to the public?
Mario: Mostly just as part of the teams.
Yeah.
That it's entirely mine.
Some of my side projects.
Yeah.
I've launched, you know, before.
Yeah.
Like three or four of them before Fusioncast, but none of them.
You know, anywhere close to what fishing cast is.
But yeah
Alan: in terms of complexity or completeness.
Mario: in terms of complexity, cause I've, I have launched let's see, two, two or
three other projects were products that I worked on that were pretty complete.
I mean, I could have iterated more on them and, you know, continue making them
better, but I did launch them, you know?
So they were pretty complete at least good enough for other people to use.
But yeah, not, not anywhere as near as Fusioncast in terms of complexity.
Yeah, yeah.
Completely different types of projects.
Alan: Cool.
Okay.
So this is, yeah, it's, it's, it is a big deal launching this one.
It's, it's, it's much more of a step up in terms of yeah.
Does this work?
And
Mario: Yeah,
Alan: as I said, yeah, you know, I think yours is especially there's
a lot of moving parts and it's all got to work perfectly for
it, for the product to work at.
All right.
One piece of that breaks down that you don't really have
a working product, right?
Mario: Yeah.
Yeah.
So far the biggest, the biggest challenge that I had was when a recording wasn't
working and you remember our first recording didn't work very well at all.
And that was kind of scary cause I was like, it's the core piece of the product.
And you know, like what's the problem where, you know, where's the bug.
And we already talked about that in the, in a previous session, how
the problem was in multiple places.
And it was, you know, logical errors and, you know, I had bugs and,
and stuff that I needed to rework.
And it was, it was one of those where like it has to work and I have to make it work
because it's the core part of the product.
And it took me a couple of weeks to figure it out and it was
like, man, it was, it was tough.
But.
Yeah.
Once I figured it out, it was a big
Alan: that's the core of everything.
Right.
But I mean, it's, this is also something that is very much on my mind am
releasing this in having been written in Elixir and Phoenix says I'd not
used to debugging this in production because you know, like a rails app,
I know the pop-ins to expect in terms of, you know, what, what happens to an
application when it's been a bunch of users, all the same particular problems.
Mario: yeah,
Alan: The biggest unknown for me in this is like, I don't know how a an
Elixir up performs in production and what to you know, what the problems mean
Mario: yeah.
Alan: you get a particular type of problem.
It's like, what does that mean?
Mario: Yeah.
Alan: like it looks or has a lot of tools for going in and kind of debugging a live
system, but I've never used them in anger.
You know, I, again, I've played them, played around with them, but never
to solve a live production problem.
So that will be an interesting learning curve.
Mario: Yeah, definitely.
Do you write tests with your
Alan: I, it depends on the day I'm I should write more.
So rails, both rails on Phoenix have a very strong, like baked
in testing culture and systems.
My testing habits are not as good as they should be.
So I tend to.
I wrote these days, I write much more higher level integration system tests.
I kind of got out of the habit of writing as many unit tests as I used to.
Just I find them less and less useful as time goes on and much
more of a headache to maintain.
So if I, the tests I right now are generally much higher level
system tests, integration tests.
So, but yeah, th that's also one of the problems of developing a thing
that you're not sure what it's going to be when you start is it's like, okay,
do I write all these tests and then realize I'm building the wrong thing?
Or do you get further on and then say, okay, this is now a thing.
How do I test this?
So it's it's an ongoing challenge.
Mario: Yeah.
I totally get it.
I feel the same way.
I, I don't to be honest, I, I haven't written any tests for Fusioncast, and
part of it is that, you know, the fact that it's started as a side project
and as all my side projects, I don't know if they're going to go anywhere.
I don't know.
So I don't want to be wasting time writing tests.
So.
I don't, I don't do that.
And and the another part is with Fusioncast specifically, it's a really
difficult app to, to write tests
Alan: Again yet,
you're almost right, right.
Yet that there's individual things in terms of like, you know, merging your
files and making sure things happen.
But yet the end to end, I mean, I guess that's where, you know, like integration
tests are going to be the, the main thing for you because it's like, it's got to
be an end to end process of actually recording multiple things and making
sure that joined and everything right.
Mario: Yeah, exactly.
So but yeah, a lot of parts of, of an app, like this are really difficult
to test because of just the nature of it, you know, the video connection
and and you know, multi-part uploading and all that, all that stuff.
It's kind of kind of hard, but, but I, I see if it gets anywhere at some
point I need to, you know, So-called back around and and then to some, some
integration testing and you had a higher level, but yeah, I feel, I feel the
same as you in terms of unit testing.
Cause when I, when I'm, when I'm coding and you know, as I'm coding, I'm
testing all the time, I'm testing it.
Yeah.
It takes a little longer to manually test, but I want to see this thing work.
I there's, to me, there's nothing more obvious and more what's the word
I'm looking for reassuring, right?
To see it actually work and to actually feel it and see it.
So as I'm coding, I'm always testing everything as I go.
So I feel the same way about unit
Alan: It's yeah.
I mean, it's, it's they're important and there's certain things that are
worth unit testing, but I've also been I've, I've come into many projects
that claim to have, you know, amazingly complete tests specs and you know,
like we've got like every line of code, you know, like 90 something percent
Mario: 99%
Alan: Yeah, exactly.
And then you look at the test and 90% of the tests, the test
in the framework, it's theirs.
It's like, yeah.
Okay.
Well rails does that, if you stating a thing in your car,
so it's like, okay, does.
You're making sure that you've done a thing, but by writing the thing in the
first place, you've already done that.
So it's well worth testing, certain things that you do and making sure that the
outputs are expected to be the inputs.
But again, that, that, doesn't just because you have a high test
coverage number doesn't necessarily mean that your tests are worthwhile
or you're testing the right thing.
So again, that's, it's difficult sometimes to to understand that while
you're writing the code, because you're in that world of like, well, I'm doing
this, therefore I need to test that and I'm doing this and this test that.
So my very first job out of.
second, third, third job out of college was I was doing QA stuff, so
I was actually doing automated test.
It was, you know, the company actually had separate QA department.
So we had this system, you know, like literally code
to get thrown over the wall.
We'd write automated tests, test it.
And then we'd file bug reports.
And it seems ridiculous now that there was this wall in not literal wall, but
yeah, a virtual wall that code went over.
We didn't really speak very often to the developers.
It was more of like, you know what?
We've got this thing, how do we test it?
And it seems like crazy that that's how it worked, but that's how it did work.
And so , I'm reasonably used to trying to figure out what needs to be testing
or what the edge cases might be.
You know, but said, that's not what I see from a lot of tests that are not a lot of
applications that I've come into as a, you know, as a developer, it's like existing
products and it's like, yeah, this is just taking a lot of time to run your test.
It doesn't actually prove anything.
Mario: Right, right.
Yeah,
Alan: it's a topic.
Mario: yeah, yeah,
Alan: So yes, but I need more is the answer,
Mario: Same here.
I get it.
Yeah, I feel the same way,
Alan: that's
Mario: but at some point, at some point, Come back around
and we'll both come back around
Alan: For sure.
I mean, I think, well, yeah, I mean, we're both in this period where it's
okay, we've gone through initial validation of like, yes, this is a
useful thing, but there's a, there's still a gap between, is this actually
a, a revenue producing product third.
I want to continue investing in and research, maintaining and supporting
for an ongoing period of time.
And it's like, well, how much do you need to?
Yeah, but there's a balance that right.
When it's a project like that, it's not, you know, a paid-for gig that you have
to deliver on spec and to a particular quality is like the quality is to
your customers not to specification.
Right.
Mario: Right, exactly.
Yep.
Alan: It's a tricky one.
Mario: Yeah.
Yeah,
Alan: what's new in your app anyway.
What have you done apart from
automation?
Mario: see what else?
Oh, by the way, if you see that a little.
Little circle thing on the top,
Alan: I was going to ask what's XL,
Mario: that's, that's
Alan: that a break points for a
Mario: yeah.
It's, it's a break point for four screens that I forgot to remove
it and I pushed to production.
So it's there.
It's not supposed to be there.
Alan: It was
Mario: need to
Alan: how XL was immediately like, oh, that's a tailwind break point.
Mario: Yeah, yeah, exactly.
So I have this little, little widget thing that I, that I created.
I actually saw it somewhere.
Someone had something similar on a blog post, and so I created my own using
tailwind and and then it's pretty handy.
It's pretty useful.
When you, when you're developing a, you need to know where you're at, you
know, resizing, the screen and stuff.
Yeah.
And it's it helps you figure out code and debugging and that kind of thing.
So I need to put her under a flag, so it doesn't show up in production.
I didn't do that.
So it's just there.
So ignore that one.
So I don't know if there's anything else actually that made it to production.
That's new.
Actually let me let me try something real quick.
Let me share a screen and then let me know what you see.
Cause I don't know if I made that into, if that made it into production.
See, where are my screens here?
Trying to find something.
Okay here, some some code.
Did it show up as a larger
Alan: pick one and I've been moved to the corner.
Yeah.
Very nice.
Mario: Okay.
Okay.
So you can see that.
But you can't see me, right?
Alan: I can see you as well
Mario: Oh, you can see me.
Okay.
Alan: Yep.
Mario: So it's both of us in the corner and then the screen.
Yeah.
So, okay.
So that made it into production.
Alan: Yeah.
Very nice.
Mario: So I'm working on that.
So that way we can still, everyone can still see each
other while sharing the screen.
And the screen is more visible because it's, it becomes larger, as suppose,
to before, where if you shared a screen, it was like a little tiny
window, just like another participant.
Alan: Right.
And you could either Fullscreen it or not.
Right.
So you could either see the full picture or like.
Mario: Or not.
Yeah.
So you can choose to do that.
So
Alan: So this also as you mentioned, this records, the original stream
of both your, the screen, your sharing and your video as well.
Right.
Mario: It does in the cloud, it does record everything.
That's everything that's added into the room, including the screen-share,
it gets recorded in the cloud.
Now in terms of local recording at the moment, it's not recording the
screen because it's, it's recording the participant's video cams
Alan: right, right, right.
Mario: So I would have to add an additional track that records
the screen at that point.
So that's, and I think we might've talked about that.
So I, I would, I would add that in the future.
Alan: right.
Yeah.
I remember you talking about that now.
Yeah.
Yep.
Mario: So right now, what I'm working on is refining that a little bit.
You might've noticed that I dunno, in your case, but in my case,
the screens kind of shifted, so
Alan: bit of a flicker when it moves it.
Yeah,
Mario: yeah, but also the position.
So my screen used to be on the left and now after turning off screen sharing,
I'm on the right and you're on the
Alan: no, that's the same.
Mario: Okay.
So it changed for me.
So, so I'm working on handling the screenshare functionality a little better
now that I, I got some of it going it kind of basically now I'm working on
better handling of the layout when you know screen-sharing is on and when it
comes off and the screens should stay in the same position and not shift.
So basically your own screen should always be on the top left and everyone
else should be, you know, after.
Alan: Yup.
Yup.
Mario: Yeah.
And so another thing that I I'm working on is changing the number of total
participants supported from four to six.
So now it's going to be six, but with that comes the challenge of layout.
So because now I have to support more screens and they have to fit
and they have to all resize properly.
So I'm refining that a little bit.
I think some of that made it into production.
When I did the screen-share resizing, but it needs to be polished a little more.
And now that I'm supporting six participants total I'm working on
that, so that'll be the next update.
Alan: Very
Mario: And let's see, what else did I push oh, the older
recording, like you saw it now.
It starts recording automatically and oh, and the other nice little features
I'm working on are status updates on the screen so that you can see who's muted.
Who's cameras turned off and who's recording locally and who's not.
So you'll see a little icons right below your name, where
you can see statuses basically.
Alan: is looking really good.
It's all really coming together.
Yeah, you definitely need customers now.
Mario: Yeah,
Alan: You're ready.
You're ready.
I don't like this.
There's no excuse
Mario: I know it's getting there.
Alan: No seriously, this is a, I mean, I think you're in the territory of,
you know, like this is beyond a th that MVP level of being able to, you
know, have meaningful users, all of these are just, you know, very nice
improvements, but yeah, I think you'll, you're way beyond that point now of it
being like you know, pre pre production.
Mario: Awesome.
Thank you.
I, yeah, I'm trying to trick my brain into thinking that way,
Alan: Yeah.
I mean,
Mario: for me, for, for me, it's like a like, oh I'm still, you know, in very
much beta MVP, it's still not ready.
You know, in my mind, my mind goes there, you
Alan: Of course.
Yeah.
Mario: not ready.
And then, you know,
Alan: No.
I mean, I've, I've, I mean, exactly the same point now.
So I'm definitely, so my goal was to get some people on board last week and and
I didn't especially since the, for the weekend was I knew that I was, had to
leave on Friday afternoon, so I'm like, okay, this is probably not the best time.
Bye.
Have fun.
Yeah, exactly.
So I'm like, alright.
And then, so I was, you know, looking at it fresh you know Sunday night
when we got back and I'm like, Hey, what, what do I absolutely need
to finish in order to get it out?
And then suddenly you're like, I really need that.
I need this and I need to hold on it.
This is, this is not the point, right?
This is that they know that it's pre-release, they know
that it's early access, beta, whatever you want to call it.
And they, they are understanding people.
So I'm like, but I really just need to finish at these things before it's
suitable and it's so yeah, I'm going through that very much right now.
And so there's no excuse, really.
I can think of now to not give them access like tomorrow or Friday.
So it's, I'm, I'm kind of, I've reached that point where I'm
really running out of excuses.
I mean, as you, as, you know, th there's a million things, which I'm like,
this is completely unsuitable, this is nowhere near finished, that this isn't
ready really needs to do these things.
But I'm reaching the point now where I'm like, hold on to
that, that could go on forever.
And I really just need to accept that and let people try and.
Mario: yeah, yeah.
You should.
You should definitely.
Alan: It's the harder it is.
Literally it's I think is probably the hardest point of this entire process
is just like getting over that hurdle.
Right?
Mario: yeah.
Alan: Like, of course there's ongoing improvements, you know, starting
the thing is it's not difficult.
You just start writing code.
Right.
You, once you find that, the thing you're looking for talking to potential customers
is not that difficult because people seem to be interested and want to try it out.
It's just, it's literally that point of going all right.
They go
Mario: Yeah.
Alan: The hardest part of this process.
Mario: Yeah.
One of the, the.
The last person that I onboarded, actually, he made a nice comment about
it and he said, you know it, wow.
He's like, it looks, it looks so complete.
It looks so polished already.
Like it's nowhere when I launched my product, he's like, it didn't
look anywhere near what this looks
Alan: I'm telling you, it looks, looks fantastic.
It looks really
Mario: And thank you.
And and then he's like, yeah, just, just let me know.
As soon as you're ready, he's like, I'll be your first customer.
And like, oh, wow.
You know, thank you.
But yeah, in my mind, I'm thinking, you know, it's just yeah, it's not ready yet,
Alan: no,
Mario: but
Alan: every single day I'm going through this.
And it's like, I can't, but it doesn't do this.
And then I look at some of the similar products that are not even similar,
but you know, vaguely related.
And I'm like, yeah, they only do like half of what I was
still like, no, it's not ready.
It's not ready.
It's like people seem to be using that as and paying for it.
So whole gate, what am I doing here?
Mario: Yeah.
Yeah.
So let's see, what else so I'm working on those statuses.
That'll be in pretty soon.
I'm pretty much done with that.
And also hoping to also include one more change to, to the next deployment
is remote controlled recording in, in the sense that, you know, the, but I
want to make it a flag driven feature so that if you choose to, to use
it that way the record button won't be available to other participants
Alan: Only to the controller.
Right, right.
Mario: Yes.
Only to the host who controls everything.
And so when they click record and automatically starts recording
for everyone in the session.
And so I pretty much got that working.
I, I still need to tie a few loose ends, but it's pretty much working
where, you know, I can do that.
Just pretty, pretty much.
Alan: as I said, these are all nice to have, but not say not not essential,
but th if there are any things that you need to do that is that will
have a fundamental change to the way somebody uses it and not an incremental
improvement, like, for example.
So one of the things that I desperately wanted to get in to mind before led
anybody on it was is, so you basically have like, be able to check ins
people, respond, comment, whatever.
I wanted to be able to show.
It's like the latest activity, kind of like an activity feed on your check-in.
So like somebody commented, you know, view it.
And so in order to support that, I needed to make some database changes
to make sure that it was populated.
So the feature is, is simple right now, but it's there.
And even there's things that aren't exposed, but are being recorded
and logged in the database.
So I do desperately wanted to get that in before I like started to let people
on, even though the feature isn't finished, that the changes needed to
be in there to be able to track it.
So is there anything like that that's effectively need to be done?
Like underlying architecture wise or is it like literally just
features that are stacking up now,
Mario: huh?
Well, in terms of, Hmm, in terms of architecture, it's more.
More in the infrastructure layer that I need to make some improvements.
Like I
Alan: So you've, you've got the managing of files that have been like temporary
files you know, west of three saved and cleaned up and all the rest.
So it feels, it feels to me like that's probably the bigger barrier to you.
Longboarding 20 customers than having a feature that does something for them.
Right.
Mario: yes, you're right.
You're right about that.
Because yes, the, these are, these are features that came about from the
feedback that I got, you know, with onboarding some, some, some of the people.
And and so I'm trying to push those because they're, they're really, really
nice features that they pointed out that would be really useful to them.
So, but, but yeah, they're, they're not must haves at this point, but in terms of.
Of changes that, that are preventing me from opening this up to more people,
I would say it's more infrastructure changes that I need to apply.
You know, bring in a load balancer and have at least two servers behind
a load balancer for redundancy and you know, little improvements to maybe
caching and more, more redundancy at the database level as well.
You know, right now I just have one database.
There's no replication.
There's none of that.
So, so I need to make that stronger before I can feel comfortable
bringing in more people.
So that w I think that that would be it in terms of roadblocking, you know,
things, but in terms of features, I think, I think you're right.
It's pretty much.
Ready.
And these other things are more just enhancements.
Alan: Right.
Exactly.
Yeah.
So I, I think that if I was in your shoes, that would probably be my priority list.
Like the order in terms of like, get those, those fundamental changes
in, then there's nothing effectively stopping you saying, okay, like an icon
on board, 10 extra people, I reckon, you know, like start to work through,
whoever wants to go on it on cost, then you actually have to build them.
So that, that would be my
Mario: Yeah.
Yeah.
I agree.
Yeah.
No, thanks for pointing that out.
That's
Alan: I, again, I it's easy for me to say that it's much
Mario: totally appreciate that.
Alan: it's much easier to critique somebody else than it is yourself.
Right?
Mario: Right, right.
No, but that's totally true.
And no, I really appreciate it.
Cause.
It.
Yeah.
And I think I need to really buckle down and and, and work towards that
and make those changes instead.
And and kind of postponed these other enhancements for later.
Alan: That would, it would definitely, but the thing is about them as well.
There, I mean, I went through something similar, you know, a few weeks ago when
I set up all the AWS stuff, you know, and I know, again, I was similar to you.
I was running on.
You know, mini stuff like that, you know, the free database layer and you
know, like all the freebies to, to just turn development, work and market.
Like, if I let somebody on, I can't do this.
So it's ripping off the band-aid is just like, I've got to go through
Saturday of setting up infrastructure.
And during that, so I did that and, you know, again, I made some, some changes
to the deployments that the database, all of the DNS stuff and everything.
So now it's that set up how I wanted to, and now it's like, oh,
I've done that I can just deploy.
And I can, it does remove one barrier.
That is it always feels like, wow, but I can't do that because of these things.
And yes, I I'm just trying to work through all of those mentally, but what's
to stop me just giving out a, a code.
So
Mario: Removing those excuses,
Alan: yeah, literally it's it really is, is just working
through those in your mind.
Crossing them off one by one.
So I'm going to get to the point where I'm like, I've got no
excuses anymore, which is, yeah.
Mario: yeah,
Alan: that's not an easy, not an easy thing to accept, but
Mario: yeah,
Alan: I mean, it's, it's exciting, but terrifying I say is the hardest
and the most I think it's, you know, we're all terrified of external input.
Right?
We need that, but it's terrifying.
Mario: it's hard to get over that, but yeah, I think in terms of
changes, I think that's it for now.
That's, that's what I have.
That's what I'm working on.
Yeah.
How about you?
What about DotPlan?
Alan: Yeah.
So I, I kinda, I did a whole once I'd got those cha say I wanted to get this
like activity tracking and things and just to make that feasible, because
again, I'd hacked in a very very early way, just actually just hitting a
database just for like, manually like the brute force way of calculating that.
And it's like that isn't going to scale it's, it's fine.
Just to, to see how it looks and to see how it feels.
And to, for me to understand what I need to show and as, okay.
I need to actually make this something that will, that will
work, you know, performance wise.
Long-term so I did those changes last week.
And now that's in, yeah, it's just a case of like, okay.
I started to run through it as a new user and, you know, came up with another list
of 20 things that are like, ah, okay.
Like to address those.
So there's, most of those are now addressed this, the biggest.
I think which is not code related, but is, is very I'm trying to figure
out the what to do about it is as far as the onboarding process goes, it's,
it's, it's pretty straightforward.
You know, it's just SaaS, you sign up, you can add team members
if you want, or at that later.
And then it says we haven't made any plans, click here to, to make some plans.
And it's literally that explaining that, you know, there's a little bit,
little bit of text above each one saying what you should do, but it's the fact
that I need like some, I, I always, I never really liked that whole thing
with the, you know, like the tool tip thing that moves around and says, you
should do this, and this does that.
And it's like, just go away.
I'll figure.
But I almost feel like I kind of need something like that now.
So the, the idea is, you know, you can fill in your to-do list and then
you can literally check them off.
It looking at it fresh as a a first user, it's not obvious that.
You can click a like the empty check mark to make it checked,
to move it, to make it done.
So the moving things around on the page doesn't feel obvious.
And again, it's something that I've been too close to to be able to see it.
And I think just going through the, the first user the, the fresh user
experience, it doesn't feel obvious to me.
So I'm trying to figure out whether I should do some kind of a tool tip
thing that hovers over it and says, you can do this and then click that.
Or whether I should do like a video or some text description.
And I don't feel, I have a clear answer there.
And so regarding the onboarding thing So I've got like three
people, like, absolutely.
I know I'm going to use these people first.
And I know one of them is like, just send me the email, I'll figure it out.
Like, I don't need to walk through it.
Just, just send me the email and, you know, I'll figure it out.
And I'm like, so I, I, it would be easier just to talk them through
it, but they're like, no, no, no, just, just let, let me figure it out.
And I'm like, okay.
So how do I make it so that it's obvious to them, without them coming back to
me and saying, well, what do I do?
Because I really don't.
Don't want that.
So I dunno if you have any suggestions I'm all ears
Mario: Oh man.
Okay.
Let's see.
So they just want to do it on their own
Alan: right?
The main three ways I I'm considering.
Literally doing like a, a mini in the corner video, which says like, you know,
how to how to use the planning page in you know, it could be literally 20 second
video that could probably cover it all.
Just embedded in the corner, close it to make it go away.
Or like a tool tip type thing, or have more of a like a, like a banner that
says, you know, kind of an instructional banner that you can just dismiss entirely.
So those are the three things that I'm considering.
And I maybe do all three.
I don't know.
Mario: Well, I think you should not do all three because that would take longer.
So, okay.
So it's just to one of those.
And I would think if you, so if you, if you do the video, if you go the
video route, do you have a good place in your UI where you can place that?
Would it, would it mess with your
Alan: right?
The bottom right of the screen.
If they're looking on desktop on mobile, then all bets are off.
On desktop, the bottom right of the culinary is kind of unused.
It's, there's a big blank space in the bottom, right?
So that, that is a perfect spot to put a you know, an eight size video
of that's just like click here and I'll explain how to use this page.
So that's one of the reasons the video is kind of tempting because
it's like it would, it would also give, make a use for that blank space.
It gives it something to do kind of balances the page out on the.
Mario: yeah, I think you should go with the video route because it's, it's,
you know a picture's worth a thousand words and a video is like even more
so and if you just, you know, it would be relatively simple to create, right.
Alan: Yeah.
Oh, completely.
Yeah.
Yep.
Mario: you know, the, the, the steps and
Alan: I'll put
like, you
know, Burton, captions on it and stuff as well as, so it's clear.
Yeah.
Mario: and that's something that you, you can, that that
would be useful going forward.
You know it's not just for this one person or, you know, it's not just for this phase
of the product, but you could just make it a permanent feature of the product
have having these little screencast explainers built, baked into the product.
Alan: Okay.
Mario: The only challenge with that is that if the product changes later
on, then you kind of have to rerecord the screencast because the UI changes
or the way the feature works changes.
But but I think it's the clearest, you know, most straight away to,
to explain and show someone how it
Alan: of, yeah, I was kind of li I was hoping, you'd say simply
because it feels to me like the most personal version, right.
It's again, I think I've said before a big part of, one of the things I want to
do with this is make it a more like kind of homely personal product, not just a.
Corporation.
So that kind of plays to that advantage.
Right?
It's it's me explaining how to use it and if you have any
feedback, then they can subscribe.
So it's, and it also, yeah, as you said, show is better than tell.
Right?
So it's, and if they really aren't interested, then just dismiss it and
it's gone and they can figure it out.
Mario: yeah.
I think that's the way to go.
Alan: I, yeah, I was kind of, as I said, I don't really like those, those hover boxes
that move around, I'm just like, go away.
I'm like, let me figure this out.
So I know that if it creates that and a video of like, I don't care
about if it's there, I can watch it.
If I don't want to watch it, I don't have to.
So it feels less intrusive even.
It takes up more screen real estate it's it it's louder.
Potentially.
So yeah, I guess even though it, it feels heavier way of doing it.
It feels to me like it might be the right way, so I'm glad you
Mario: yeah, And it's, yeah, I feel the same way about those little those hover
boxes or whatever that move around the UI.
I don't really like them.
And it's even worse when they don't give you a way out
Alan: right.
Exactly.
Like just go away.
Mario: through each, each one of them, you have to, you know, keep going.
You can't bail out of those.
So yeah, I'm not a big fan of those either.
Alan: Yep.
I couldn't understand why.
I mean, there's a lot of, it's interesting going through this process.
You know, it's a long time since I launched my own product
as I've done it before, but it was, you know, a long time ago.
So there's a lot of things now in the current state of web applications that I
felt more like aah that I hate this trend.
I don't like what, you know, what certain new aspects, whether it's almost like, you
know, the flat humans in terms of landing page stuff, whether it's these hover
states, things, all this kind of stuff.
And it's funny going through the process of now having to do all of these
things myself, So many of them, I now know why they made those decisions.
I don't know.
Probably I, I'm not not saying I like them either, but you almost
end up at the same end point, right?
You're like, well, you know, I don't, I don't want to put photos on my
page because that's very, it's very, like, people have different reactions
to different things and you know, you have to, there's a lot more to
consider if you go in the photo route.
Right.
And then you're like, yeah, but I don't want to do like, cartoons feels a little
not right yet until I have more confidence in my branding and all the rest.
So, and you're willing to stand up at this point while you're like, wait,
it's a purple, flat picture of a pure Mohnish kind of thing that'll do.
And it's like, ah, I've, I've fallen into the same trap as everybody else.
And the same thing with these, these hover things as well.
I don't want to be heavy handed.
I don't want text on the screen, but I need to tell
them that they should do this.
How do I do that?
Well, if I just did that and I'm like, no, no, no, what am I doing?
So, yeah, I'm kind of, it's, it's revealing.
But I also don't want to fall into the same trap as anybody else.
Not, not trap.
I don't want to default to what everybody else doing without
understanding why I'm doing it.
Right.
Mario: yeah, yeah.
That's exactly it.
But yeah, dude, I think if you go the screencast route
that would know what else.
Alan: and I can always change it.
Right.
I can, I can always say be the AB test these things in the future,
but for this initial pass, it feels like a, an obvious route, right?
Well, if you don't want to spend half an hour on a call with
me, watch this video instead,
Mario: Yeah.
Alan: and it's only 20 seconds long and it'll tell you what you need to know.
So it, it feels like a nice way of doing it to me.
Mario: yeah,
Alan: Thank you for
Mario: yeah, definitely.
Alan: affirmation of my, my feelings,
Mario: yeah.
There's a part of Fusioncast where I need to do something similar to that because
of the nature of of the problem which is when you first go into a Fusioncast URL
and, you know, you're trying to connect or whatever, or basically any, any part
of the app where it needs access to the camera and the microphone, a browser
has to allow the app access to those
Alan: of course.
Mario: devices.
Right.
So, and then for privacy reasons, the user has to sort of see
that and, and allow access.
And so, but if there is if the user selects decline or I mean, if they
say like block to block access, right.
At some point if they select to block, it goes into a mode where
it won't show you that anymore.
It'll just,
Alan: you can't re get it right?
Mario: Like you can't regret it.
So like the browser is already blocking it and that's it.
And so you can't see that prompt anymore, but the way I did it with
Fusioncast, it detects the fact that it's gotten into that mode and
it, and it brings up a dialog box that says your browser is blocking.
Like, there's nothing I can do about it.
Basically.
You need to unblock it.
And so the way to unblock that it's different for different browsers.
So
Alan: You have to go into
Mario: have a, like a.
Yeah, but there's a way to access it on the, on the bar, on the address
bar, that little icon right next to it.
You can click on that.
But if, you've blocked it completely, then in some browsers that doesn't even
work, you have to go to a little icon that's to the right of the address bar
where it shows like a little camera or whatever, or a little microphone,
and then you have to go in there.
So it depends on the browser and it might even depend on the platform.
I need to do more research on that, but right now I just have
a sort of a temporary, you know, instructions at that point telling
people how to get out of that mode.
Alan: That's not a block of a lunch, you know, that you
can't use that as an excuse.
Mario: Yeah, no, no, no, no, not at all.
You're right.
No, no, I'm, I'm not gonna, I'm not gonna hold back because of that, but,
but I that's an area where a screencast would be perfect to just show the person
based on the browser they're using.
Alan: yeah, it's probably easier for you to make as well.
Right.
Because trying to explain where to click is a nightmare, but one of the
reasons that this is, this is quite a nice solution for mine as well, because
it's like go to here and click here.
Mario: yeah,
Alan: it's
Mario: yeah, much better.
Alan: Nice
Mario: So yeah.
What else?
What else do you have?
What else have you been working on?
Alan: again, lots of small things, but as I say, the big thing is just like
what I've got, I've got to get this out.
So it's anything that's stopping me from giving a link to somebody,
making sure all of the email invitations are working for it.
So when you invite teammates to it, do you know making sure that signup process is
fine, which again, this is not something.
Hit very often because it's, I don't do that.
Right.
So that's one of the parts which I'm like okay.
I tried it again and I'm like, I need to look at this.
Just improve it a little bit.
So there's and again, setting up, I had to set up move to
AWS email service from mine.
I had to get approved by them.
So you have to explain to them why you're going to send lots of
emails, hopefully lots of emails.
So it, it, all of those things take time.
Right.
And it's a say it, those are legitimate blockers.
It's like, well, I don't want to be on a temporary free email service that
doesn't work outside of my own domain, so I need, need to make that happen.
And so those things are all done now.
So yeah, it's literally when I run out of excuses in terms
of application development.
So yeah, so I, I'm literally just going through and trying
to make sure all of that.
The, the first run stuff is working, which is how I hit this.
Because everything else, as far as daily use, it's all fine.
Of course there's a million things, which I don't like about it and want
to improve, but none of them are good enough excuses to not release.
Mario: Yeah.
Alan: So, yeah, it's, it's just finishing off this, this onboarding stuff really now
is the thing which I want to get finished.
So
Mario: okay.
Alan: for, for this tonight and tomorrow is, is okay.
That's it?
Those are, those are good enough.
Mario: So any onboarding this week, any plans to onboard?
Alan: hopefully if I can get this by making a video, then I've got zero.
Excuse, cause I don't have to schedule anything.
Right.
Mario: Yeah.
Alan: So if, if I can do that, then yeah.
I'm going to send out a couple to the people that I've that I know don't
want to schedule an interview so I can definitely get them on board.
And if it seems okay with them, I might even be feel brave enough to send out
to a few of those that I wasn't going to onboard yet, just because it's over,
you know, in, for penny and for pound.
Right.
Mario: Yeah.
Yeah.
Well, I say you do it as long as you don't have any braking,
braking features anywhere.
Alan: That's that part of, yeah.
I mean, one of the nice things about this, because I've avoided all real
external dependencies, even to the point of late, I didn't allow a photo uploading.
The obvious one is, you know, you want a photo for your avatar, but I even
punted on that for now, just cause I'm like, I, I won't know, external uploading
is always a pain and yeah, yours is entirely uploading, which is like crazy.
So I even punted on that lumpy, I'll do that later.
There's nothing that doesn't stop you from using it.
It doesn't stop.
So I use the email address now to generate a hex CSS color you know, like a
pastel color based on the email address.
So everybody gets a unique color that stays with them.
But a, you can't upload your own photo yet.
And I'm like, just like, ah, that can wait.
That's not, not blocking.
So you know, one of the nice things about this is there's no external APIs
that it hits there's no apart from the obvious, like email and things.
So yeah, that's, that's quite nice.
So there's nothing breaking, everything works.
It's literally just like, is it clear?
What they need to do is, is, is there nothing that they're going to the
obvious first things they're going to do, they all are obvious, right?
Yeah.
As I said, it's getting to the point where I'm like, I can't can't delay
this any longer now if nothing else, because my wife keeps asking me every
day you got any did anybody yet, I just
Mario: When are you going to launch?
When are you going to launch?
Alan: Exactly.
And so I'm like, if nothing else, then I've got to say yes to that.
Like it's done.
Mario: Yeah.
All right.
Well, good luck with that.
Alan: So that's the plan for this week anyway.
So that's hopefully fingers crossed.
Cool.
Nice.
All
Mario: All right.
I think
Alan: Should I wrap it up?
And
Mario: don't have anything else, we can wrap it up here.
Alan: cool.