7: Obfuscation Investigations & Time Picker Pickles

In this episode, Mario discusses his JavaScript debugging nightmares and Alan complains about cultural differences in dealing with time and laments about web time & date pickers.

Alan: Cool.

All right, we're

hear what's

what's

new.

Mario: So what's new.

Let's see, let me look at my notes

here.

So the issue with remote
controlled recording was resolved

Alan: the big one, right?

Yeah.

Mario: Yeah.

Well, recording was never broken itself.

Alan: wasn't

auto starting.

Right.

Mario: Yeah.

So it wasn't really working properly with
some of the changes that I introduced.

The reason I was asking you earlier,
if you could see the record button

is because there's an new setting
now at the podcast level where

the host has full control of
recording for everyone in the session.

So if, if you turn that feature on, then
only the host has the record button.

When the host clicks record, then everyone

starts recording automatically locally.

Alan: So yeah, effectively you can
buy that being the the controller

of the podcast, you have the
recording, you're like, okay,

we're going to start recording now.

It, and that's it.

And no one has to,

then that's nice.

Mario: yeah,

Alan: That that's probably better than the

auto recording

idea.

Right.

So rather than it being like

dropping everybody into auto
recording, it's actually

just controlled and you can effectively
introduce it and make sure everybody's

happy And then

kick it off.

Right.

Mario: Yeah.

exactly.

And the option to auto start
recording is still there.

It's just in case someone wants that.

So, so that that's still there,
but it's, you know, you can

turn it on and you turn it off.

if you don't like it at the podcast level.

what happened was when I
introduced that new feature

with a remote control recording
all of a sudden the actual remote

controlled recording wasn't

working the,

it seemed like the message wasn't getting
across, you know, to the other browsers

Alan: wasn't getting the message
to, to start recording, right?

Yeah.

Mario: Yeah.

And so the, we, our thing
was that it was working.

On my development environment, and it

was working on the staging environment,

Alan: And who was working on that.

So you set it up and staging
was just working and you're

like, what the hell?

Mario: yeah, So but wasn't working
in production, which is when I

inadvertently broke remote recording in
effect because it was working locally.

It was fine.

So I didn't know I was pushing
something that was not going to work

in production, so I didn't have a
staging environment at the time.

So this kind of forced me to
set up a staging environment.

That's, you know, identically replicates
the production environment And I pushed it

to staging and it worked to there as well.

And I was like, man, what
the heck is going on?

So long story short, I did a lot of
debugging and logging and troubleshooting.

And it took forever, but finally narrowed
it down to something in the bill.

So the fact that it was working in,
in my local environment and staging

and not in production, it kind
of pointed to the build process

because the only difference

between those three environments was that
the code for production gets minified

and mangled, you know,
JavaScript gets mangled.

So something in that built
process for production

was affecting my code somehow.

so.

Alan: of it was working like the
rest of the interface was working.

It was just that

part.

Right.

Mario: It was just that one,

Alan: It's like, if your UI
doesn't work at all, you're

like, all right, we've got a

JavaScript problem.

right.

But just that

little

bit, right.

Mario: Yeah.

Yeah.

so after a lot of debugging I
finally found the part of the

code that was causing the problem.

So interestingly enough, I had
a, method that was relying.

It was attempting to determine the name
of the class of a JavaScript object.

And in doing that, it was
relying On a statement that does

object.constructor.name, basically.

So it pulls the name of
the constructor, which

is theoretically the name of the class.

And it works in.

And when, well, it gets mangled.

So

Alan: Right.

Yeah, yeah, yeah,

Mario: gated.

yeah.

It gets office gated.

And so it changes the name
arbitrarily every time it builds for

production, it was, mangling that.

and so it was changing to like a single
letter, you know, T or F or whatever,

Alan: yep.

Yeah, of

course.

Mario: every time.

So, the lesson here is not to rely

on constructor dot name.

And subsequently I

found all these warnings,
people have posted on stack

overflow.

Don't do this because
it'll, you know, it'll,

It'll change it arbitrarily when your

code gets office gated.

a little too late for me yet for spending

so much time.

But that was the

reason

Alan: won't make that
mistake again though.

That's For

shit.

You've learned it the hard way.

Mario: For sure.

Yeah, but it made sense after the

fact why it wasn't working in

production and it was
working everywhere else.

Because it was only for production
that it was getting obfuscated,

therefore changing the name

Alan: that

w wouldn't even like,

It wouldn't even cause like
a JavaScript error because

it's still valid.

JavaScript is just the wrong
method or the wrong object.

It's trying to call it.

Right.

So

Mario: Exactly.

And

Alan: It's not just like invalidated

mode.

It's just not there.

So it's

like, oh,

Mario: it is just not there.

There's no error.

And that's

why I never got any error because the
real problem was I had a conditional

statement that said, if this

object equals this class

name right, then do this.

And so it was never that class
name because it was obfuscated.

Alan: that's

Mario: So.

Alan: It's just getting
silently eaten because it's not

an error.

It's just not there.

Mario: an error.

Yeah.

when I finally fixed it, I was

it felt great.

so that was that, and that

was the

Alan: massive relief.

Mario: Yeah.

So now, now this feature
works really well.

Now the host can

control everyone's recording status.

And everyone gets a
message though, you know?

So when the host initiates recording,
everyone gets a little message that pops

up and lets them know what's going on.

Let's see.

Then the next thing that.

I

worked.

Yeah, let's see.

The other thing I did
was scheduled sessions.

Now show info if the link
is accessed too early.

And I think that was your suggestion.

A while back you suggested,
well, if the session is scheduled

and they followed the link.

There was nothing telling them
anything about the session.

It was just, you know, acting
normally showing you the button to

join and enter your name and join.

So now a scheduled

session when they access it early,
it basically says, this session is

scheduled for such and such date and time.

And then

it has a little explanation there that

says it all happened automatically,
so no need to refresh the page.

Alan: Nice.

and so because, and That the URL is like
obvious skated anyway, using hashtag.

So it's not like any old
stumble across it so, Yeah.

Nice, cool.

That's a

good

Mario: Yeah.

Yeah.

So thank you for that suggestion,

Alan: Oh yeah.

That was my idea.

So it was a great idea that

Mario: that

was great.

Yeah,

yeah.

Yeah.

So that's, that's in now.

You

probably didn't see it this time

because the scheduled time was like a

minute later

or

Alan: Yeah.

Yeah.

Right, right.

So do you, does that kick in
like five minutes, 10 minutes,

some period before or at the

Mario: Oh yes, yes.

Sorry.

I forgot to mention that.

So let's say a schedule is

scheduled for 3:00 PM or 1500 Then it
will enable the ability to request to

join five minutes before.

So at 2 55 or, you know what is that?

1,455.

Alan: Yeah.

Don't start with that yeah.

I've been having

time zones fun myself.

So I also have the things
so like, yeah, I mean, I'm

so used to, I guess 2,400
clock in Japan uses,

Solely like 24 hour clock, even
weirdly Japan uses 30 hour clock.

In most cases for like retail and for
times that you see a time they use

the 30 hour clock, which is, is an

interesting one.

Basically it ends, it ends at
6:00 AM the next day, which

means that if like a bar is

open or a shop or something, it , it
closes at 1:00 AM it closed at 2,500.

And so by default, that ends at 6:00 AM.

So that will then

roll roll over, you know,
because you, you don't close at

seven o'clock in the morning.

If you're going to close
overnight, it'll be like

three, four o'clock or whatever.

So for T train times for shops,
for bars, restaurants, that kind

of thing, they always use 30
hour clock, which is it's weird.

The first time you see
it, like that's wrong.

That's ridiculous.

It should just say one.

And then once you get used to it, you're
like this that's such a good idea.

It's so clear when something says it's
open from, you know, 2000 till 24, 26, 27.

You're

like, all right.

Yeah,

that

makes sense.

Mario: this is like the next day.

So.

you get used to the idea
that it's the next day.

Alan: Yeah,

Mario: Huh?

Interesting.

Hmm.

Alan: and it's it's one of those that

the first reaction is
just like, you're like no

wrong.

This is that's just incorrect.

But yeah, when you get used to

it, you actually

prefer it is just,

yeah.

Mario: Oh, that's cool.

That's cool.

I didn't, I didn't know
that I never heard of that.

Alan: So, yeah.

So I'm

dealing with the clients during
the U S and my default of course,

is to use 2,400, a 24 hour

clock because it's unambiguous.

It's clear.

It's what I'm used to.

And there are like, we can't

think like that.

Can you just put name that?

Like it's maths every
time I have to put it in a

time, can you please change it?

And I'm like, well, yeah, no.

Yeah.

I

Mario: Yeah.

Alan: it's something
I discovered this way.

I didn't even know it existed because
I use Safari primarily as my browser.

And apparently there's a, an input type
equals time, which works on pretty much

everything apart from Safari, which
will give you a time picker just like

a scrolling of, and that is apparently
based on the setting of your Mac as to

whether your machine PC as to whether
it's set to 2,400 hours or 12 hour clock.

And it will give you an am PM.

And I didn't even know that input
existed, but finding out that it

doesn't, isn't supported in safari
makes it might as well not exist anyway.

So like one of those.

Yay.

Mario: Nice.

Nice.

Alan: anyway,

Mario: Yeah.

Yeah, so

no none, No worries

Alan: I actually, that's a good question.

When you shed your all in
your own, your schedule or a,

A podcast recording a session.

Yeah.

What do you use for timepicker there?

Do you just have a using like
flat picker or I can't, I

can't actually

remember.

Mario: yeah, I'm using what is it called?

let me look

here.

I'm using popular library for
that, that I found online.

So I created a view component, a

custom view component, but on
top of a open source library

that I found online it's called

V calendar, vcalendar.io.

So if you need to check it out, go to
vcalendar.io, I can put the link here.

Alan: Oh, no.

Cause I

I ended up, well, I, need the same
thing as well, and I originally

just

had, okay, so just taking a look.

So it has a, has a time
picker in it as well, right?

Or is it just a calendar,
Oh, it does have like a

little time.

Oh, that's quite

nice.

All

Mario: it's pretty robust

and it's very flexible.

It has a lot of options that you can,

that you can play with deals.

It can deal

with date ranges and things like that.

Markers All kinds of stuff.

It's,

it's pretty extensive.

So I really liked

it because it it, provides
a lot and it seems

to be popular

and a well-supported and you know,

Pretty well developed and

the

Alan: So yeah,

Mario: really good.

So

Alan: always

nice.

It's not a, it doesn't relate.

Does it relay on for you or is it

it's

actually

agnostic.

Mario: I think it's I think
it's framework agnostic or maybe

it supports different ones.

Let's see.

View three.

Yeah,

take a look.

I think

Does it

let me see introduction.

It's been a while since I set it up.

Alan: JS.

It says that right in the

title.

So yeah, users view.

Okay.

But I might have a look at

that.

See how it

works is there, so I'm not using view.

But,

Definitely there might be.

Good for an influence.

So

it's, it's, shocking how not so that
the default, or at least the, one

of the most popular seems to be flat

picker, which seems to do a lot
of things, but it's, doesn't

seem very elegant in any of them.

And so I'm using that as a, just
a like, oh, well, it's, it's

working until I have a chance to
re go back and, and improve it.

But yeah, just a, a good solid
timepicker that doesn't rely on

any framework doesn't seem to be as
available as, as I would have liked

it, I would have kind of expected to
be like, oh, that is 10 great examples.

And it's like, no, there's, there's
one and it's not that great.

It's like, oh, okay.

So I think yeah, I just need
to go back and do it properly.

So yeah, it's, it's surprising
how it's such a common thing

and there isn't like a.

At least not that I found that there
was a default, yet everybody uses this.

This is the one and

a lot of libraries.

You tend to

find that way.

So

Mario: yeah, yeah.

Alan: it's just me being lazy and
not, not wanting to write my own

because why out of all the things I could
be spending my time on writing a time,

picker is not what

Mario: yeah.

exactly.

I mean, it's, it's a lot of, it's a lot of

work to create a time picker or a

date picker, all the, you know, all

the, all the nuances with,

Dates and time zones and all that.

It's crazy.

Alan: So I had this fun one.

So I have a reminder
thing in, in dot plan.

So you can say, oh, you know, five
30 every day, send me a reminder.

And I, I inadvertently screwed that up.

So so I'm using AWS SES
for sending the emails.

And

that's fine.

That just there's a, there's a bit of a
validation thing you have to go through.

You know, I have to jump through some
hoops to get AWS, to one turn it on

and then two allow you to send emails
to non test addresses, because you

got to say, why are you going to do
it and what it's for and all the rest.

So once you said out a
lot of it, it's fine.

And I don't know why I am assuming it
was my logic rather than their logic,

but one of the mails got delayed.

And it was only by a few minutes and
I'm assuming it was my scheduler.

Didn't kick off at the right time or
something, which I don't understand

why, but I have to kind of have a
look at some time and that caused.

Kind of a knock on effect for my logic,
for when to send a reminder, it won't send

you, it wouldn't send you a reminder if
it was, if that one been sent within the

last 24 hours of the same reminder type.

So you could actually set one
for 5:00 PM and one for 6:00

PM at is, as it is right now.

And it would send you one at 5:00
PM and the 6:00 PM one wouldn't send

because it was like, well, I've already
sent you one within the last 24 hours.

Oh no.

Sorry.

It would because they're separate
reminders, but by one of them being

delayed, that reminded then kept being
delayed even further because it's

like, oh, I haven't sent, I've already
sent you one within the last 24 hours.

I'll send you one a little bit later.

Had this thing where each day
they were getting like five

minutes later and I'm like,

okay.

Mario: Yeah,

Alan: But it got to the end of the week.

And I'm like, okay, I
really need to fix this.

Now.

It's like, you know,

half an hour out of

sync.

So

Mario: yeah,

Alan: I hate times

with a

passion times.

Mario: It's always a
pain dealing with that

Alan: And, and and at the end of
the day it was a time zone thing.

It was just me trying

to shift things around time zones.

And by doing that ad the calculation was

incorrect and it was going,

so, Yeah.

Mario: yeah,

Oh man.

Alan: sorry to

interrupt.

Mario: No, no, not at all.

No worries.

Let's see.

A couple more

things to report here.

I scheduled

a hangout on one of my communities.

Alan: I saw

Mario: Yeah

Alan: how did that go,
How many you turned up?

Did anybody up?

Mario: it didn't get,
it didn't go very well.

So I think I made a mistake of
scheduling it for a Friday and

not giving people enough notice.

I thought maybe Friday was going to be a
good day because it's, you know, it's the

end of the week.

Alan: of the week.

Mario: people, people
would, you know, hang out.

But I,

think what happened was hopefully
that what happened was that

people were not very

active

in the

community at that time and not
many people found out about it.

And and also, you know, there's time
zone issues, you know, with people

Alan: I, I didn't actually see your

message until after it.

had happened.

So yeah.

That's kind of an example
of that, especially since I

don't check as frequently, I'll
see that, you know, when I've

got some downtime and I'll, I'll

go and have a look, see if there's
any messages and it's not, whereas,

you know, work is kind of like

on and open and notifications, whereas
other channels are like, ah, you

know, it's, it's not so important.

So yeah, maybe she had you on a
couple of days, like on Friday

Mario: yeah, yeah, yeah.

Ahead of time.

So only one person showed up.

And

Alan: made a new friend.

Mario: she she showed up because
I had, I had mentioned to her

that I was planning to do that.

And at some point, and she
asked me to let her know.

And so I dropped a quick
message directly to her

you know it's this Friday.

And so hopefully you can make it.

And she showed up and
she was the only one.

So.

Alan: Yeah.

Mario: So I'm, I'm, I'm thinking
to schedule another one for one

of these days, but I'll give
people more time, more in advance

Alan: On the subject of like

communities and things.

So I think I mentioned to you over DM.

So I joined founders

circle and it was a

I think like a paid
community, but the guys made

it free, basically.

Just message him and tell him why you
want to be in and they'll let you in.

And so he's covering basically
all it is using circle app as

like a like community board thing.

And it's, it's really nice, I
think because it's smaller and

he's trying to establish it.

He's been very proactive in In, in
trying to grow the community and trying

to get other people to be active too.

So it feels a little bit more like he's
you know, I think, whereas MegaMaker

is quite established now it, for the
most part, you know, just in kind of

like, we'll poke it occasionally, but
it's not like his full-time like, okay,

I've got to get everybody to do things.

Whereas this feels still a little bit
more like it's trying to get to establish.

So it's, it's nice and everybody's
very sensory helpful and there's some

really interesting people on there.

I didn't realize the you know, I
mentioned copy.ai a few weeks ago which

is like the AI copy rewriting thing.

So he's actually on that as well.

And there's some other interesting
folks doing some interesting stuff,

so, but they also mentioned in, they
do like a weekly like a weekly check-in

kind of idea in one of the channels
and Oh, there is no chat either.

It's all just by posts.

So it feels a little more asynchronous
than something like MegaMaker, which

seems to have gone more towards
the slack than the board right now.

And so he mentioned that he's, they've
been testing podcast, recording tools

with the co-founder of the board
to find one, to record a podcast

with, and I'm like, come on Mario.

So you could be the, the, the tool of
choice there because they seemed very

supportive in their own in real product.

So I would recommend Colin and
saying, introducing what you're doing.

Cause I think that'd be very
willing to, give it a go and

it gives some good feedback.

So it's interesting.

So the, the founder of it did a
like a loom walkthrough of dot

plan for me as like a freebie, you
know, like I'd like to help out.

And there's another guy that is a
UX designer from London that is,

he said, he's going to do it too.

He I noticed that I don't know
if he's created an account.

Somebody creates an account like
yesterday and I'm like, okay,

I'm what I wasn't expecting
anybody else to create an account.

So I assume it was him.

I haven't so he said he's gonna do similar
kind of thing just to walk through.

So they're actually
starting to share those.

There's a directory of them so
effectively to help each other out.

They really we'll do walkthroughs
of each other's product.

Like the onboarding, like,
oh, well, what does this mean?

Like, you know, talk through,
talk out loud through the

thought process of the product.

And that's been really helpful.

So so, so once off our own,
somebody else is doing it.

And and because of that, other
people are watching it And then

sent, oh, that looks really cool.

I I'll like to give it a try as okay.

If I sign up, please sign up.

So hopefully it's a nice little way
of getting people to, to know about

it and to see it as well, because
people are interested in learning

from other people's UX examples.

Anyway.

So that, that actually I'll I guess I'll
you, you're kind of finished, right?

Just to check,

Mario: Almost.

Yeah.

Almost yeah, no, no, no worries.

No,

and

Alan: want to start rambling on about,

My things first.

Mario: no, and on that note,
I did get your invite link the

other day for, for that community.

And I, I did join already, but I
haven't had a chance to introduce myself

or, or, you know or do much in there.

I

need, I still need, to explore and

introduce myself.

So I

I should be doing that.

Alan: Yes.

Mario: Yeah.

Yeah.

it looks

like a really cool

community though.

It looks it's funny as you're
mentioning that it's just getting

started, but it looks like there's
quite a bit of participation going on

Alan: right.

So I think what happened is, so Gene, the

founder, just I'm kind of
reading between the lines.

So it

looks like so he's based
surprisingly very close to me.

He's in, on the same island, but in
the south and it was like, oh, okay.

Yeah, that's weird.

like

it's a really small world,

right.

Sometimes.

And so I think so he's selling an
info product and so people who were

buying it, he was inviting them to it.

And so I think it's been slowly,
he's been building it out to

know he's getting more people

involved.

So it

was kind

of interesting.

Mario: Nice.

Alan: Yeah, so I, it seems
like a, quite a nice community.

So I definitely I'd recommend

introducing

yourself.

And

Mario: Yeah, I'm looking forward to it.

I

Alan: that.

Mario: yeah, I'm looking forward to it and

I'll, I'll be doing that

pretty soon because one of
the, one of the things that.

I want to share too, which kind

of is a good segway to it is that I

that I decided to freeze any new
features at this point just for now.

And I think

Alan: I need somebody
to tell me to do that.

Mario: you can do it online.

You can do it,

Alan: It's

impossible.

Mario: it, right now.

No, I think Fusioncast is at a point where
it's good enough that it can be used.

I have someone who's, who's been using

it

Already.

And I think, I think
it's at that point where,

Yeah, it still, needs more features.

It's still, it's still needs
quite a bit of work to be polished

here and there, but for the most part

it's usable, You know?

Alan: I absolutely 100% agree
with you that this is, yeah.

I mean, yeah, there's, there's lots
of things that you want to do, but

there's absolutely nothing that it
can't do right now that you would

need to make a podcast for somebody.

Right.

You know, and it looks

great.

And there's, you know, walking
through the the admin interface

and as a guest as well, both it's

I think having that remote control, I
mean, it, it sounds like a small thing,

but that, I think that's like the final
not must have, but really nice to have.

But then anybody can there's
no, excuse, absolutely.

You've got zero

excuses now.

Mario: yeah, yeah.

So, yeah, you're right,

So I decided to freeze.

New features and a focus
on marketing for awhile.

I need to update my marketing site.

You know, the landing page
is good and all right.

now, but it it's it's it was like the
first attempt at putting something out

there and I need to update it with more
relevant information and something that

reflects what the product is becoming
now, you know, the copy that I have

on the marketing site is kind
of a reflection of the early

ideas and the early stage of the product.

And now it's, you know,
it's, becoming more defined.

So I need

to update that

Alan: I would highly recommend
playing with copy.ai when you're

doing that, just because it's really.

Mario: Cool.

Yeah.

I'll try to do

that.

Yeah.

And I'll

I need to send some email updates to the
people that I've onboarded with the latest

changes put into the product and

also do more onboarding.

I

need to invite some, people

Alan: you say you, you, cause you've
got outset are already set up.

Right?

So there's but you don't
have any restrictions with

the billing plans, right?

Is that

Mario: right.

I have an account with them and I'm using
some of their features, but I haven't

integrated any part of the billing yet.

So billing is not, I don't have

anything set up for that yet.

So I think at this point,

And I'm still in private
beta and I'm going to be

onboarding some people, I think
I can still get away with,

without the billing integration.

Alan: I think you can for at least
another month or so until you

kind of reached the point where
you get, you want people to pay.

Right.

Mario: yeah, exactly.

so I'm just going to be
focusing on that for the next

few weeks is marketing emails.

I want to establish some kind of strategy
for social media, mainly Twitter.

That's the only social media that I'm,

Alan: I think

Mario: that I care about really.

Alan: I think that's

absolutely the right

decision where you are.

I mean, it's, there's the, one of
the nice things that you have that

is maybe, you know,

I guess different to

my product is

somebody either

wants to make a podcast or knows
they should, or they don't.

And people know what a podcast is and
it's you, what you have to do is convince

them that your product is worth trying.

Not that they need your product, right.

Mario: right.

right.

Alan: I mean, I guess there's advantages.

You can talk about the benefits
of podcasting, but it's not

like, this is a like, wow,
podcasting, never heard of that.

Right.

You know, the, the, the hard part
of that is already done for you.

You just now need to convince them
that your product is worth their time

and attention.

Mario: Yeah.

Alan: at least, you
know, worth evaluating.

So we, yeah, with DotPlan, I guess
I have this, this thing where

some people aren't sure if they
even need it or even what it's for.

So I have to convince them a little, some
people absolutely get it immediately, this

most maker type people already get it.

Or a lot of software

people will get it.

If you put it, it frame it
in the context of a stand-up.

So if you say, well, it's like your
stand-up, but just less formalized

and they go, okay, I've got it.

Whereas people who aren't
working in software are like,

huh, I've got to do what?

So it's, it's slightly
more of an alien concept.

And I don't, I'm trying to avoid
using the word standup because I don't

want to target software developers.

That's not my I mean, I'm very
happy for them to use it and it

hopefully works well for that,
but that isn't my primary target.

So it's, I'm trying to avoid using
the term stand up for that reason.

And that's actually affected a few things,
so watching people walk through it.

So I've, yeah, I've got two recordings
of people walking through it now that

have given me some very useful ideas
or at least realizations of things that

I could improve or maybe change with
regards to wording and copy on the page.

So the first one is I use the word
organization quite a lot as in, so right

now, if you create an account, you join an
organization and that is starting to feel

off with everybody who I'm using it with.

People don't necessarily it seems,
it feels like on for business

type B2B, SaaS apps workspaces
becoming the go-to word for that.

And I think

people are

less there's less

Mario: Did you say workspace.

Alan: Yes.

Yeah.

Yeah, it does.

It seems to be less

Say

it's a less loaded term.

Whereas the word
organization is very loaded.

People immediately think, oh,
well, I'm in a big company.

I've got to, you know, I work for Toyota.

Or if I create this, I got
to create a Toyota account.

You know?

It's

like,

no,

Mario: yeah.

Yeah.

Alan: so it could just be your group.

This is fine.

So the word organization
has got to go two things.

I'm happy about that because
it always felt a little bit,

Slightly out of place, but
it felt necessary to have, I

mean, we need that, that group.

But the word never, I was never
completely convinced by it.

And the other thing as well is I
spell it with an S and American spell

it with Zed and I O and I come and
it's, it's both ways in my code.

Some of the things I've not been
very consistent with my code, I use S

throughout my code, and then I'm trying
to change it, to use Zed in the UI.

And then I forget, and I put S and then I
do a search and replace, and it's like, oh

God, this is

just

Mario: Oh man.

Alan: coming here as workspace.

So I I'm going to bite the
bullet and change everything to

workspace.

And I think that will yeah,
watching people go through it

is like, oh yeah.

Th that that's almost feels
like a barrier to people.

They hit that, like create
or join an organization.

They're like, oh, but I can't do

that.

And you're like, why not?

So that's, that was a

big, yeah.

I need to change that.

So I'm

actually

having.

Mario: yeah, That, that's awesome though.

That's

I wouldn't have thought of that,
but now that you're explaining

it, it totally makes sense.

The term

organization it's just
sounds too enterprisey

too, you know, huge corporation or a huge

organization and yeah, workspace
it's, it's so much more

friendly, like, oh, workspace.

It's my workspace, you know, it doesn't,
it doesn't imply a huge enterprise entity.

Alan: right.

Exactly.

I mean, it might just be, you know,
you, and, you know, w w we could

effectively create a Fusioncast workspace.

Right.

And that was still valid.

It's not, we're not an

organization, but we could
have a workspace and we

could share check-ins there.

And also that

also, so I've been

quite careful about.

Obviously the privacy aspect
for our companies is kind

of major with this, right.

You know, they're putting data in this,
that, and, and also personal profile

of who I am within that business
that can not be leaky in any way.

But at the same time, people do
exist in multiple workspaces.

So the whereas organizations, again,
it has this, this low determined

that if you're in one, then

you can't be in another.

Right.

Mario: Yeah.

Alan: So workspaces does feel like there,
there is a possibility of switching

between workspaces that I've got to
be very safe, very careful about that.

I think because you want to make sure
that people are aware of where they

are and there's good landmarking to
like, you know, I'm, I'm currently in

this workspace, you have to be very
clear about, you know, the who you're

publishing to and what context you're in.

But at least it feels possible.

Whereas workspace felt in my mind,
not a feasible thing to add from

a UI perspective it's kind of just
cleared things up in my mind once,

once I've realized that it's like, oh,
okay, that, that makes things better.

So, and along a very similar lines
I have teams as a top front and

center concept within DotPlan.

So I think I don't know if you remember,
but you've got like check-ins and

teams and people, so I can see people
within my organization and teams.

So my concept around this was teams
are a, loosely defined group that

you want to keep in touch with.

That might be you know, if, if we're
working on a, in a, in a workspace and

we're working on making a new landing
page or, you know, it's our job,

there's, there's a designer, there's a
developer and there's someone from sales.

And so we, you know, our project
is to improve our landing page.

That is, was kind of my idea of a
team, but people aren't reading it

as that people are reading it as
sales or development or marketing

or a front-end or back-end.

And it's, I think this is maybe a
problem of me not working in a large

company for a very, very, very long time.

But my idea of what a team is
apparently is out of whack with what

other people's idea of what team is.

So I'm actually going to demote teams.

I'm going to keep it there as
but move it within the people

Page category.

So you can still, yeah, yeah.

Right.

And I'm going to add the concept
of projects as a top level

thing, which is basically we work in
the same way of teams, but I'm going to

call it

projects.

And also that's

Mario: I see.

Alan: Yeah, so this way,
I'm going to add some

copy to make it clear of what
it is, but the idea is that

projects can then come and go.

Like we might be on a project
together for the next month.

And then we effectively close archive that

project, our check-ins for that
project are still kept together.

They're visible and viewable as a, as a

collection, but that project can
effectively be archived and, you

know, we've got it there for if
we need to go back and look at

it, but it's not an active thing.

So I think making projects more of a
front and center feature rather than

trying to do it ad hoc via teams and
me not communicating that very well.

It made it very clear when people
started to try and use it as like people

aren't that we're not on the same way.

So I've tried the wording and talk
through this with people the people who

did that and they're like, oh, okay.

That, that makes sense.

Now.

So I think that's, it's not a
major change on my end, but I think

it's it's, it's a slightly more
work than the workspace change.

But I think it,

get it, it kind of gets across my
intention better than the teams,

which I, my idea is to kind of make it

I guess human hackable, right?

That that's my intention is
to not like force people down

a particular way of using it.

But what I'm finding is that people
are rather than doing that, people are

reading into something and then making
assumptions about how it should be used.

I guess this is, I think I've
talked about this before.

I like this idea of giving people
some tool sets and then going

figure out, make this work for you.

What I'm realizing is
people aren't doing that.

People are making an assumption
about what I want them to do, and

then say assuming that that's what
they have to do and that's it.

So I think I'm going to have
to lead people by the hand a

little bit more than I was doing.

So rather than having this ad
hoc teams that you can use it in

whatever way suits you, then now I'm
going to say you've got projects.

You know what a project is, make a project
and then we'll archive the project.

You finished it, close the
project and archive it.

Okay.

I get that.

It opens, it closes.

It's done.

I think the, I, I was being a little
bit too hippie they're thinking, giving

people that just here's your tools,
you know, you should figure it out.

Yeah.

Maybe that's not what I

should be doing,

Mario: yeah, I think you're on
the right path here with changing

your, thinking about this because
the like you were saying earlier,

the product it requires a little bit of

education, right?

It a little bit of
positioning and education.

And

I think making these changes will make it
You're making the product more assertive

as to what, what it is that it does
and this is how you do it, and this is

it, you know, instead of leaving it up

to the user to use it.

however they,

Alan: Yeah.

And that's not 10 tends to

be my nature, but I'm
realizing that I kind of have

to be a little bit more if I want

people to understand what, you know,
how to get the most out of it, Right.

Mario: yeah, yeah.

yeah.

I

think that's that's the

right call.

Yeah, for sure.

I was going to ask you since
we're talking about the

UI and, and stuff, when you do a check-in

is there any way

to edit what you wrote?

Cause I, I don't think

Alan: don't see it because I
removed that feature at the last

minute because they wanted to

Change.

I wasn't happy with how it was working,

so yeah, the delete are unpublished.

So yeah, what it was
right now was an edit.

So you could just go in and change things.

I wanted to change it
to be an unpublished.

So if I did something wrong at

unpublished, this, move it back into your
plan page, fix it, and then republish.

And I'm thinking I might just
temporarily actually, just until I've

got that working because that that's,
there's a few complications with that.

Just the way it manages how
plans get moved around and

checked off and checked in.

So I think in the meantime, I'm
just going to have an edit or

delete just as a short term tool.

But until I can get the unpublished
finished yeah, you're the first person

that's bringing it up, actually.

That's

Mario: I see.

Okay.

Alan: it, yeah.

But I was waiting, it was one of
those things where I know it wasn't

working and I'm like, has anybody
noticed yet nobody's done this,

I'm

glad you.

Mario: The other day I, posted,

something and I wanted to change it.

I want to edit it and

I, couldn't find a way.

And

I was like, huh, I'm going to ask Alan

.
Alan: So

Yeah.

I've held off on inviting any

more

people because I kind of want to

implement these and then get

the right kind of feedback.

right

So I get the feeling now, if, if I entered

use anybody else I

wanted to get some more
people invited last

weekend or before last
like sometime last week.

And then when I kind of made these
realizations, I'm like, I do, I

have to get people on board and then
tell them how it's going to change.

And I'm like, that's, that's not cool.

So I'd rather get, at least some of
these changes made and then be like,

okay, now we've got some more valid,
you know, better feedback because it's.

The better version.

Right.

So yeah, those, those changes
are currently being done.

So hopefully, and I'm gonna try
and get them finished this weekend.

And then hopefully next week I
can introduce some, also invite

some more people on board.

So it's, yeah, it's frustrating.

Cause I I'm now like, ah, I kind
of just want more people, but I'm

also like, okay, don't waste this.

Now as I've made some good new
understandings, don't waste

those people on old learnings.

Right.

So,

Mario: exactly.

No, that's good.

That's a good call.

Cool.

Alan: quite fun.

Mario: It's looking, really good.

Alan: Thank you.

I so my wife has just gone

through my get text file
and translated everything.

So we've got a first

pass of Japanese in there as well,
which will be I haven't merged in

yet, but it's quite exciting to have

like, oh, we've got like the
whole UI in Japanese now.

So,

which is interesting.

Cause I've got a

a It's a, it'll be fun.

So I've got a talked about the

startup hub in Fukuoka
that I'm a member of.

So obviously because of

COVID w I haven't been as
active there as I would like

to be, but one thing they do is

we have like a six monthly,
like, meeting with them.

So I've got a meeting

next week with people from FGN, the
actual It is a co-working space,

but it's more than that, you know,
it's this like startup that they're

trying to, you know, support and grow
startups in the city rather than just

being like, yeah, you can have a desk.

So I've got a meeting next week with
people from FGN and also apparently people

from the city and I'm like, Ooh, okay.

I don't know what, but they kind of
want to, you know, know how it's going.

Just talk about like, what, what I need.

So they're like, what can we
do to help grow the company?

So having a working Japanese version will
be kind of cool to be able to go look, you

please use it.

Mario: That's That's awesome

Alan: So, yeah, they're always looking
at ways to, to let the, you know, to try

and get the city or companies within.

That kind of network to to
support startups and to help.

So if there's something that they can
say, all right, you know, like we know a

team within our department or in a company
that will help you test this in Japan.

So I'm hoping that.

I can get something from that.

So it's, as I said, that they
seem very proactive in trying

to get things, you know, try and
get startups working and better.

So that's been fun.

And what are the fun things of, I
had this an interesting one as well.

I've I haven't published it
yet, but you know, we've got

the, how you're feeling aspect.

You know, you've got the
emoji mood check in, right.

I had somebody request one for being.

And I'm like, oh, that's obvious.

Like, especially in this
day, in these times.

Right.

So if I did there, that little sick
guy, emoji with his thermometer as, and

it's, it's kind of one of those you're
like, oh yeah, I never thought of that,

but it's like, you might not be, you're
still working and checking in, but

I'm feeling a bit under the weather.

I'm like, oh yeah, that that's actually
quite cool, but I'm not sad and I'm not

happy, but I'm just feeling a bit off.

So

I've added my intention is to make
that completely flexible to have

that customizable either by the user
or by the the workspace manager.

But for now I want to
try and keep it concise

to just like, you know, five or six.

So I've added that as a via request.

So that's

fun.

Mario: Oh, I see that.

And yeah, that's awesome.

Alan: I did, actually

Mario: The little guy with the

Alan: yeah,

Mario: it's The guy with the

the emoji with the thermometer.

Right.

Alan: that's.

Mario: Yeah, yeah, yeah.

It's here.

I see it.

That's cool.

Alan: did.

I did

publish that.

Cool.

So that's

actually,

the, the project thing also

helps with The you know, how you

have this organization,

your

teams following teams, again, that kind of

makes that something I

can I can play with a lot more

because this idea of like, which
projects you're on, I can bring

projects a little bit more in
focus as to how you use the app.

So it, it actually, it's
funny how just a word change.

I actually did toy with the idea of
actually just renaming teams and I'm like,

no, it actually deserves more than that.

Actually.

I think there's more I can do with it.

Once you've changed the wording for
something in your mind, it almost changes

how I think of that feature, even though
I had, it's very similar intentions,

the change of wording actually.

Made me realize things I
could be doing with it that I

haven't really thought about.

So it's, it's crazy how
important copy is, right.

Just like naming things.

Is

Mario: Yeah.

Alan: it almost like frame some
thinking in your mind that it closed?

I may have even mentioned this before,
but they just, by calling it one thing,

you almost like build up barriers
that it can't be something else.

And I think by just renaming those things,
workspace and projects, it, it reframes

them different and they, they take on a
different life or new life because they're

less closeted or less like closed in as
to what that thing thinker feature is.

So it's actually quite, quite exciting.

It's like, ah, yeah, this actually
gives me a whole new set of ideas and

that the trick now is not doing that,
but just starting down that path,

you know, like you know, trying to.

Scope those changes to the fact that,
okay, right now you've got projects.

Just add to that move teams,
change workspace, and then, okay.

That step is done.

Don't try to

get

onto this whole,

well, I

Mario: Do the whole

Alan: until yeah, exactly.

So but at least it then frames
in other people's mind that

there are other possibilities.

I think by having teams, people

assumed it has a limit, right?

Oh, because teams are this and that's it.

Whereas I think by having projects,
it kind of is suggests that the

feature will be taken further.

Right.

Because there's, you know, there's the
possibility of interaction with other

tools while you might have you know,
you might want to import your projects

from your PM tool or things like that.

So there's.

Yeah, it's really hammered home.

Just how important getting these
this naming stuff is writers.

So,

Mario: Yeah.

Alan: I feel I'm on the right path anyway.

Mario: I, yeah, I think so.

And, and you're right.

Naming things is one is really

difficult, but it's,

difficult, I think, because of

the ramifications of naming
something and, like you

said, it kind of

puts you in a mindset and it
frames what that thing is, and

it boxes you in.

Right.

so it's pretty critical

naming things is,

Alan: yeah, you've got
shows, sessions recordings.

And

after the, after you figured it out,
it all makes, it seems obvious, right?

It's like, well, of course
it's a, this or that.

Right.

But getting there is not
as easy as it sounds.

Mario: yeah.

And oh man, I've changed it so many times.

I, I, if I don't know, I don't even
remember how many times I changed

the structure of the organization
of, things within Fusioncast.

Cause,

Yeah, I thought of one way and
then it didn't work very well.

And then at some point I

had,

Sessions all mixed into,

into one place and I didn't have
the concept of scheduled sessions

and unscheduled sessions, which then
later I renamed to any time sessions.

Yeah.

So many, so many

Alan: But again, that idea of like
an unscheduled session versus an

anytime session is actually like,

again, it changes how I
even think about what that

might be used for.

Right.

If I have like an,

any

time session.

Oh yeah.

Well, I'm just dropping it on the call.

It makes sense.

And unscheduled

it's like, was I supposed
to show you a late,

it almost suggests that I'm doing

something wrong by doing that.

It's like, well, it's unscheduled.

It might be, it should be
scheduled, but I'm doing it wrong.

Right.

So it's

Mario: yeah, yeah, I'm happy to hear your

going down this path of renaming
certain things and reorganizing things.

I think that's gonna make the product
more intuitive and position it better

and make it easier for the user.

just to understand what
the tool does, you know?

Alan: Yeah.

I

mean, my goal is To minimize

the amount of additional

explanation I need to do.

I mean, I envisioned I'm

going to have to have some
amount of, you know, onscreen,

you know, prompts and copy and things,

but the, the hope is that yeah.

People's What people understand when

they see a particular page or
phrase that they'll understand

through the context of the name.

And what's presented on the page rather
than me having to have explainers and

pointers and question marks all over the
place, you know, I'd rather not do that.

So

Mario: Yeah, yeah.

Cool.

Well, anything else?

you

want to

Alan: for

now.

Mario: That's it

Alan: it for this week, it's

been a been a busy one,
but it feels like progress.

Yeah.

It's

it does feel like things
are constantly improving, so

that's good.

It's a long journey.

This is not an overnight.

It's not an overnight

project.

Is it either of

Mario: It is not making
software is not easy.

I saw a tweet by Ian Landsman.

I don't know if you're familiar with him.

He's

been around for awhile.

He's started his SaaS some, I don't
know, 20 years ago or however long.

It is a long time ago.

He so his company builds

Help desk software,

Alan: Okay.

Mario: I think.

UserScape is the name of the
company, I can't remember now, but

he's big in the Laravel community.

He's he was actually one of the people who
discovered Laravel in the early stages.

And he hired Taylor Outwell
who's the creator of Laravel.

And so he's pretty well
known in the community.

he posted something on Twitter that
said something like programmers,

credo, we do these

things.

Not because

they're easy, but because
we thought they were

going to be easy,

Alan: That's exactly.

Mario: I thought it was pretty funny.

Yeah.

Alan: Exactly.

I know.

You think well, it's
how difficult can it be?

You know, famous last words,

Mario: yeah.

Alan: I think that's what makes it
fun though, is knowing that yeah.

easy, you would probably wouldn't
want to do it in the first place.

Mario: Yeah,

exactly.

that's kinda how I feel about Fusioncast.

if I had known it was going
to be so challenging, I

probably wouldn't have started.

So it's a good thing that
I didn't think about that.

And didn't know that because
otherwise I wouldn't have started it

Alan: Yep.

Mario: yeah, I just, just,
got to keep going forward.

Alan: Absolutely.

Mario: Cool.

Awesome.

All right, Allen, this is probably a good.

time to wrap it up.

Have a great.

rest of the week and I'll
see You in a couple of weeks.

Alan: catch you next time.

Cheers man.

7: Obfuscation Investigations & Time Picker Pickles
Broadcast by