An inside look at the making of Mozilla Thunderbird, and community-driven conversations with our friends in the open-source software space.
Mike:
It's the equivalent in my mind anyways of
like if you've got a whole bunch of people
living in a house or like an apartment
building and it's on the edge of an eroding
cliff and you the work that's underway is
moving that entire apartment complex to a
better place, replacing the foundation,
replacing the plumbing, because it's all like
lead pipes, replacing all the electrical
because it's knob and tube and doing it while
people are still living in the building and
they don't even really know it's happening.
Jason:
Hello Thunderbird family and welcome to
episode two of the Thunder Cast.
Before we jump into into the show, I just I
wanted to thank everybody out there for all
of your largely very positive feedback about
the first episode and the format, and we
really appreciate your support there.
So thank you so much for listening and thank
you for sharing it and thank you for all of
your encouragement.
This episode is a special one because it it
marks our first special guest.
This time, we are joined by Mike Conley,
principal software engineer at Mozilla.
Do I have that right? That is correct.
And of course.
Ryan Sipes Good to.
Ryan:
Have the second episode.
Jason:
Uh, Alex could not be with us tonight, but
that is because he is doing excellent work
polishing up Supernova Thunderbird 115
tonight.
So we had to, we had to grudgingly let him,
let him keep working tonight.
So Mike, before you tell us what you do for
Mozilla with Firefox, I wanted to hear your
origin story if you have one.
If you remember, I do like, like your tech
origin story or what made you fall in love
with computers or made you fall in love with
technology?
Mike:
Yeah, I can do that. I can do that.
Um, that's a great question.
So, like, I, I grew up in the 90 seconds.
I was born in the late 80 seconds, but I
was, I grew up in the 90 seconds, and my
parents got us a computer when I was a kid.
I think my mom worked in an office and they
were like throwing out a bunch of old
computers. And she was like, I'll snag this
one.
And she brought it home.
And so I had this old computer like running
dos.
Ms.. Dos There was no hard drive.
It was like those two, five and A was it
five and a quarter floppy drive bays And I'm
booting DOS off a disk to play like Reader
rabbit like that was that was a lot of my
childhood and I got really into the Quest
games from Sierra.
Like I had my uncle brought a bunch of disks
and it's got like Space Quest and King's
Quest. I got really into like the the old
Sierra text parser adventure games.
And then like I wanted to learn how to make
those sorts of games.
And I my uncle and my aunt, my uncle, both
computer scientists, and they got me a book
on basic. I learned how to write very simple
games in basic GW Basic is what I started
with and it was like I learned how to make a
three shell game based on this like book from
the 80 seconds that my uncle gave me that
listed out like Gosub this now do that like
input dollar sign, like all that stuff.
Like I was, I.
Jason:
Remember writing that code I did.
I didn't understand it, but I was just
copying it out.
Exactly. And stuff.
Yeah, exactly.
Mike:
Just copying stuff out and then changing some
of the strings to make it like, say, my name
and like, I'm so proud that it's like
putting my name in there.
Like it asks my name and it says hello to me
and it ends.
And that was like the greatest thing ever as
like a ten year old or something.
I don't remember how old I was.
I was pretty young. All right, fast forward
a little bit.
We get a more advanced computer.
I think it ran like the first Windows 95,
like we had Windows 95.
And it was like a revolution in the
household.
Like suddenly we had a mouse.
Like that was a big deal.
And and at some point we got access to the
Internet and I was able to play more games on
the computer. I played a game called like
Simon the Sorcerer and Monkey Island and like
all of these more graphical, mouse oriented
point and click adventure games that I was
also really interested in wanting to build.
And I got hooked into this like online
community that built stuff in a variant of
basic called Qbasic or Quickbasic.
I think it was in particular Quickbasic 4.5,
and there was this whole subculture on the
internet and forums of of people passing
around basic programs and like here, download
this file and run it and it's a game.
Or like I've compiled my game into an
executable and you can run it and it's got
graphics and like keyboard input and it was
and there were people doing wild stuff in
there. Like there was a fellow I don't
remember his name, but like he built a
library that you could import into your
programs that used Assembler to do really
efficient graphics operations.
It was called Direct Cube, and that was like
a really big deal because up until then, like
the games that you could make in Qbasic were
you were limited by the performance of the
runtime compiler and the the actual compiler
to the executable was not it didn't do like a
whole lot of optimization.
So this thing changed everything.
Suddenly your qbasic games could blit at 60
frames per second you could do like animation
and it didn't look like garbage.
It was a revolution.
And so I got to kind of like ride the
coattails of all these people doing like
cutting edge stuff in Qbasic in the early to
mid 90 seconds.
And then I stopped.
I stopped for a while. I didn't program for
a while.
I made like a web page for my band.
I play music. I know both of you are
musicians or like and.
Jason:
And so is Alex.
So like, I'm going to insist at some point
we get together.
We we turn on like, I don't know, we
somehow, like, collaborate online for a theme
song or something. I don't know.
Just something we have to make a piece of
music together.
Yeah.
Mike:
It seems like there's a pattern here like
this.
This podcast could quickly pivot into like a
musician podcast.
It's totally possible.
So fast forward a little bit.
I make a website for my band and I'm like
learning a little bit of simple JavaScript
and markup and stuff, but that's about as
much programming as I did.
I was more of a theater kid in high school.
Like I wasn't I didn't go straight into
computer programming or anything.
I was like a theater student and like a
guidance counselor in my final year of high
school was like, That's a really hard way to
make a living.
You might want to pivot into something like
engineering because we need engineers and
that's you have more, more possibility of
making like a career out of it as opposed to
like trying to scrape by as an artist or
something.
Jason:
I guess that really resonated with you then,
right?
Well, I.
Mike:
Mean, it certainly I was I was pragmatic
enough to sort of recognize like, yes, that
is a true fact. Like I will eventually move
out and need to like put food on the table.
And like, I recognize that it's difficult
for an artist to, like, put food on the table
all the time unless they're teaching.
And so what I did was I my guidance
counselor was like, your math skills are
pretty good. Why don't you go into
electrical and computer engineering?
And I was like, Oh, that sounds great for
the electrical part because I want to build
guitar amplifiers.
I want to like learn how to build guitar
amplifiers because I've been like messing
around with my amp and like blowing it up
constantly.
I didn't know what I was doing.
I was just like, I want to make it louder.
I want to modify it and I want to.
I wanted to learn what I was actually doing
and how I had like miraculously not blown
myself up by messing around with my guitar
amplifier.
I wanted to, like, understand the the theory
behind it.
And so I went to school.
I somehow got into electrical computer
engineering and found out that I was
absolutely garbage at the electrical part.
Like I. I basically failed out of that
entire program.
But I was good enough at the programming
parts because, you know, I at least
recognized some of it like had been a while,
but I was like, Oh, loops, this feels
somewhat familiar. Oh, variables.
Okay. And so I had some degree of comfort
with it.
So I pivoted over to computer science and got
my degree in computer science.
The economy collapsed in 2008.
I decided to do grad school because, like
the job market had collapsed and like things
were bad. So I was like, Oh, grad school.
And my grad supervisor connected me towards
the end of that degree with the CEO of the
time of Mozilla messaging.
So up until that point, I had not been doing
a whole lot of open source development like
I'd done some like that stuff in Qbasic is
arguably is all open source, like people are
posting the source code and whatnot.
But I hadn't been like a dabbler in the open
source community.
I wasn't like contributing to the kernel or
anything like that.
Like I didn't know the moves of being an
open source.
But as soon as I got connected with Mozilla
messaging and I got hired as a contractor for
six months, then I was like, Oh, there's
this world of IRC, which I kind of we had
that with the Qbasic community as well, but
this was a lot more professional and this was
like full of people with like it was huge.
Like there were so many people in the mail
dev channel, IRC channel and I was learning
so much on about a code base that I knew
nothing about, but I was basically hired at
the time on my contract was to get
Thunderbird to be the default email client on
Ubuntu. That was like my primary task for
that.
Whoa, whoa.
Jason:
Whoa, whoa, whoa. What year was this?
This was.
Mike:
2011. 2010, something like that.
So Evolution was the default.
Jason:
What a great what a neat connection.
Yeah.
Ryan:
Mozilla messaging, you know, is the precursor
for what we what we are now.
Mike:
Yeah. I was there. I was there.
That's so awesome towards like the latter
half of the existence of Mozilla messaging.
So I fulfilled my duty like in that I, I
worked with people at Canonical.
I figured out what they wanted out of a
default email client.
We were able to like get the stuff that they
needed built out so that they they switched
to using Thunderbird as the default email
client.
And I think it still the case that we're the
default email client and the default browser.
It is on Ubuntu, which is great.
Yeah. And then Mozilla messaging got
absorbed by the corporation and I got
absorbed with it. My at that point they were
like we're going to convert you from a
contractor to a full timer if you're
interested.
And I was like, heck yeah I'm interested,
I've been here ever since.
And that was like back in 2011.
So I've been here since basically the end of
school and that's my story.
Jason:
I've never I've never held a job that long.
I've never held a relationship that long.
There's that's, that's really impressive.
Ryan:
There are quite a lot of Mozillans like that.
I've, I've noticed.
Mike:
There are a lot of old timers.
Part of it is the mission resonates like I
think again, like my dad the number of data
points I. Have to work with is very small
and at a point of one or a dataset of one.
But for myself, I can say that the the
ability to wake up in the morning and not
have to like worry about pushing the stock
price or like, Oh, no, the shareholder
meeting is coming up and we got to do a
thing like I get to wake up and think about
how we can best fulfill the mission.
I am one of those lucky people who doesn't
have to drag themselves into work.
I get to go like, okay, well what is the
cool thing I'm going to learn about today?
Jason:
I just think that is that is truly living the
dream.
Mike:
It super is and I.
Jason:
I as someone who who has had a career with
AMD at one point and then a career as a
YouTuber especially, you know, especially
being a YouTuber, I mean, I don't envy anyone
who is a YouTuber full time anymore.
That is a strenuous, stressful, mentally
exhausting job.
You can you can put hours and days and weeks
into a video and if it doesn't pop, if it
doesn't find favor with the YouTube
algorithm, man, you're just you're just out
of luck.
Mike:
And they make it look so easy.
You know, like a YouTube video will be so
effortless that you don't even realize how
much how much effort went actually into it,
how many days and weeks and all the expertise
and the editing and the cropping and the
lighting and all this stuff.
Yeah.
Jason:
Okay. But none of your origin story explains
to me why your mastodon profile describes you
as a pre-internet phenomenon.
Oh, can you can you talk about that?
Mike:
I you know what? I wish I had something more
interesting to say.
I think I heard someone say that in a
sentence or maybe like maybe it was someone
on the Internet. I heard that phrase
pre-Internet phenomenon.
I'm like, I kind of fit into that category
and that I was pre-Internet.
Like, I remember the phase in my life where
the Internet suddenly became a thing.
Like I'm a millennial and like, that's one
of the defining characteristics I think of a
millennial is like, we remember the before
times of before the Internet was in the
house. Pre-internet phenomenon makes me
sound like also I can dunk or something or
like I was in Space Jam, but like I that is
not the case.
It's just it was a phrase, a turn of phrase
that I enjoyed.
So I threw it into my mastodon profile.
Ryan:
Can we talk about that a little bit?
Because I've been thinking about that a lot
lately.
The before times, you know, the Internet was
around.
I'm 33, so the Internet existed as early as
I can remember.
I mean, I, I remember being very small.
I don't know how young.
And my dad taking me to the computer and
clicking the button and connecting to the
Internet. And I may have even said this in
the last podcast, I remember being he's like,
Where do you want to go on the Internet?
And I remember being like, Hotwheels.com.
Like, I know that's where I want to go.
But to your point, it was years and years
until the Internet permeated any part of.
You know, life in a real, meaningful way.
Think it was probably like for me, it was
probably like six or seventh grade, like
being on AIM and MSN Messenger and beginning
to chat with people.
Jason:
Does anyone miss Trillian?
Did anyone use Trillian?
Mike:
Oh, that's. That's a throwback.
Jason:
Do you remember that?
I loved that. I was like, no matter what
instant messenger I have, they're all in this
same application.
What a dream that would be today, right?
Mike:
Was that powered by Libpurple?
Ryan:
Yeah, I think it was.
I think it was. I only know that because
people bring this up constantly when we talk
about Thunderbird.
Mike:
What you were saying before.
Ryan I remember there's a, there's kind of
like a change that occurred in like the early
2000 where the Internet for me as a child
was a place that I went to.
Like after dinner, you know, I'd log into
the dial up Internet and I would go to the
Internet, and then I would end my time on
the Internet because my sister needs to use
the phone or something.
And then now the Internet is not a place
that I go to.
The Internet is where I am all the time,
like the Internet.
I am embedded in the Internet, and at some
point I'm going to guess it was right around
when the phones, the phones happened.
But like the Internet is now the ether
around us as opposed to a place I go to in a
box on a desk.
Ryan:
And I kind of I miss going to the Internet
and it being like kind of a production.
Yeah.
Jason:
Intentionally going and absorbing something
and then walking away and thinking about it
and just enjoying it.
Yeah, yeah.
Ryan:
Think about that all the time.
I could easily.
There's easily a Ryan that is like I use
Internet like the early 2000 and I only come
and sit down at the computer and use the
internet and then I leave and don't have a
smartphone. Think about that all the time.
Jason:
Actually, I wonder if we could just sort of
partition the Internet and like make it if
you go to this this protocol or this this
portion of the Internet, it's only like
Angelfire style pages, right?
Yeah. I don't know, just some kind of retro
version of the Internet that we can.
Mike:
That sounds familiar.
There's a couple of things that that, that
sound like that.
So first of all, dial up Internet is still
offered.
Like there are people who are still using it
that way, which I find fascinating.
And for some I would have.
Jason:
Presumed using it ironically.
Or are they using it out of necessity?
Mike:
I'm going to presume the latter.
Ryan:
I have some insight here because it's it's a
little older, but I worked for a rural
telecom company whenever I started my my
career in tech.
And we had quite a lot of, um, dial up
users.
Now most of them are still rural enough in
the middle of nowhere that they connect via
the ubiquity. Like, I don't know if you guys
are familiar with this, but the long range
radios many of them still use dial up simply
because.
Of a number of reasons.
Usually they're older people and they they
don't see the reason to update because
they're probably using like, you know,
Windows Mail or Thunderbird on an old
computer and they just like click the
button, pull down the emails and that's.
Jason:
Thank God you can use Thunderbird offline,
right?
Yeah.
Ryan:
But also out of necessity, just because of
where they live.
And it's hard to get affordable internet
there.
There's still parts of America that are that
way.
Jason:
Honest question, like, what is it?
What would it how long would it take to load
up any modern web page?
How long would it take to load up the verge
or Facebook Mozilla.org or Facebook on a dial
up connection these days?
Mike:
There is a dev tool in the Firefox dev tools
in the network panel you can simulate.
Let's see here, you can throttle down to
DSL, 4G, 3G, 2G, regular 2G, GBS.
Jason:
Keep going.
Mike:
That's about as good as as low as as she
goes.
256 K No, it doesn't go down.
256 K Yeah.
Ryan:
I never even got 56 K So I, I didn't have,
um, I didn't have until I went to college.
So in 2009, I finally got on the real
internet and before then I lived on a farm
and it was 28.8.
Mike:
Yeah, I grew up in rural Ontario and that's
what I had.
I was jealous of the people who had the 56 K
modems.
Yeah. What, like you can you can do what
now?
You can actually play games on the Internet.
Like, that's.
Ryan:
Crazy. I'm sure people love me because I
played Final Fantasy 11 and I know that when
I was in a party, first off, it took me like
weeks to download the updates.
But like when I was in a party with someone
I know, I slowed the whole party down.
Anyway, that that's good.
Look back at that fondly, even though it was
kind of a terrible time.
Jason:
I am one of those people who actually played
Phantasy Star online on the Dreamcast with a
dial up modem. Oh, nice.
With three other people around the world.
Like that was possible back then and it
worked.
Mike:
And was magical.
It's still kind of magical, you know, Like
that.
Yeah, that all kind of works.
I took a networks course in school and like,
in some layers it's almost like spit and duct
tape, but like, it works.
Um, the other thing that I was reminded of
about this whole, like, retro making retro
web is there is neocities.
I'm not sure if you've heard of Neocities.
I had a website on Geocities back in the
late 90 seconds.
Jason:
Oh, I've heard of I've heard of Geocities.
Yeah.
Mike:
Neocities is basically let's do that again.
Create a free website. And you've got like a
culture here that's, you know, kind of got
this retro vibe of like the early 2000
Internet, which I think is pretty cool.
Jason:
I'm going to have to check that out. I'll put
it in the show notes, too, if anybody wants
to check it out. The last thing I'll say is
neocities.
The last thing I'll.
Ryan:
Say is Geocities.
You know, I remember creating a website on
there and it was, I would love to have a
picture of that website because it had like.
Jason:
We were, we were thinking about the future
back then, but we just weren't.
Ryan:
Internet Archive.
It was so tacky though.
It was like I replaced your cursor, you
know, I think with like the Pokemon Mewtwo
and like had an eyeball that watched, you
know, the.
Jason:
The watch where your cursor went on the page.
Yeah.
Mike:
Were you like replacing the text of the
status bar with like with.
I remember doing that you could set window
status to a string and was like oh wow.
Ryan:
I don't think that did that but I, but I
just, but you know like that the internet
then was and then we can get off of this but
the internet then was just like so
surprising. Like you never knew what you
were going to get out of a website and like,
remember falling into like the conspiracy
part of, like, you know, of Geocities and
being like, just so shocked at like, things
I'd never been exposed to before, that
suddenly, like, the Internet was like, you
know, like the Rothschilds owned everything
and like, yeah, but, but just being shocked
by that now, it's like not shocking at all to
come across content like that.
But it's just it.
Jason:
Was the discovery. I think it was the
discovery, right?
It was the discovery element that made that
era of the Internet so magical.
Anyway, ladies and gentlemen, thank you for
tuning into the Retro Internet podcast.
We could do a whole we could do a whole
episode about this easily.
That much is clear.
Okay, Mike, let's get into what you do.
Sure.
Mike:
So as a principal engineer working on Firefox
desktop, primarily, my job is to these days
I'm handed a very sort of fuzzy or
under-defined problem and asked to hammer it
into focus and produce a series of potential
and practical solutions.
Users are.
Have we noticed that users are having this
problem?
What are things we can do?
And it's like a one person R&D lab sometimes
and producing a lot of like proposal
documents and planning documents and
architectural documents and then working with
teams of, of developers and designers and
testers and product managers to sort of like
operationalize some of those things that
seem to pass muster.
So that's like the sort of the high level
job description.
And at a practical level, I can I still
write patches, you know, I, I live hack on
Wednesdays and people still see me working
on patches.
I'll, I'll pick up a bug and try and push on
it.
Jason:
Is that joy of coding?
Mike:
That's the joy of coding. Yeah.
Jason:
Yeah, that's me. And you might as well just
give a shout out for that.
Mike:
Oh thanks for the, the opportunity for the,
the free plug.
So the joy of coding is you get to watch me
on most Wednesdays.
Not this Wednesday because, because I'm
doing this pleasurably but like on most
Wednesdays at 1 p.m.
Eastern I am live hacking on Firefox and you
can find out more about how to watch that by
either following me on Mastodon or the
Fediverse.
Or you can go to MikeConley.ca/joc and
that's where the the streams all kind of go.
I'm available I multicast to YouTube and
twitch and air Mozilla and diode.zone.
Jason:
I wanted to ask you Mike what Firefox
feature.
Do you think that most people don't know
about?
And they should?
Speaker4:
I've got I've.
Mike:
Got two off of the top of my head.
The first one is picture and picture, which
I'm going to I'm very kind of proud of
because I worked on the first version of it.
These days I don't work on it too much, but
I helped get the first version of it out the
door and what it allows you to do if you're
not familiar with it, is it allows you to
take a video that's playing in your browser
and to pop it out into an always on top
window so that you could like switch tabs,
move that video player window off to a
different display or, you know, resize it to
however you'd like and, and watch that video
while you do other stuff in the foreground.
And one of the things that I'm really
excited about is that in Firefox 113, which
goes out the door next week we are going to
turn on by default a whole new set of
controls for it. So up until now you can do
very simple things like play pause, mute,
unmute, and then close the window and that's
it.
And next week, for most sites, you'll be
able to get like a play head scrubber so you
can like track around fast forward Rewind,
there's like a forward by some number of
seconds for wine, by some number of seconds.
Basically a full fledged set of player
controls are going to be available.
And that was an interesting challenge, by
the way.
And I'm speaking for a team of people who
worked on it.
I did not really work on this, but I'm very
pleased with this team who was working on it,
that they they had to overcome a challenge
where websites will create their own video
player mechanisms.
Netflix, for example, isn't just a video
element, it's like a whole API on top of a
video element. And they're doing all this
like Emmy decryption, like content decoding
stuff. And so seeking around on a Netflix
video isn't as simple as like setting the
like playhead on the video element.
You actually have to call into a Netflix
player like client API to make that work.
And so what we had to build out was this set
of adapters for all sorts of different sites
to make this stuff work and subtitles.
We got subtitles to work.
Jason:
Wow. Really? Yeah.
Yeah, yeah.
Mike:
It like, opened the floodgates for all of
this capability.
Actually, we started with subtitles.
We started by we wanted subtitles support,
and we got that working on like, I think it
was like Vimeo and Netflix and Amazon Prime
and Disney+ and all these things.
And then from there on that foundation we
built up the greater set of controls.
So I'm very pleased with that, that feature
and I almost out of habit now, will open up a
picture in picture player window whenever
I'm watching a video just so like I can do
other things with it. It's not just I want
it on top to do other things.
I also want to be able to fullscreen it or
resize it or move it to another display.
And you can do multiple picture and picture.
This is unique to Firefox is that you can
have multiple, which is very helpful during
like something like March Madness where
maybe you're watching like three basketball
games at once.
Jason:
You can like do you know, let me tell you,
when I finally understood the the beauty of
of Firefox picture in picture was World Cup
2022.
There you go. Yeah. And oh my gosh, it was a
godsend.
It was so nice to have that.
As someone living in Croatia, if.
Mike:
You've ever seen one of those like films
where there's a character sitting in front of
a whole bank of TVs, they're all showing
something different.
It's usually a villain, but like, but like,
that's.
Jason:
Usually a spy thriller or something, right?
Yeah, like, yeah, yeah, yeah.
Mike:
You can create that experience for yourself.
Like you can just sort of like pop out all
the videos that you want, arrange them
however you'd like. Like we do our best to
lay them out properly for you, but like you
can resize them and position them and then
you can watch like, yeah, three games of
soccer at the same time.
Jason:
Okay. Totally, totally geeky question here,
but have you guys ever tried to really push
the limits of how many videos you can pop
out until your system just crashes?
Does that even happen? That's a.
Mike:
Good question. I would imagine it eventually
like I think the the stress will be on the
decoding and the rendering.
The actual like player windows themselves
are very lightweight and don't do much.
But what we're having to do is we're we're
telling the the gecko engine, hey, continue
to decode these videos for tabs that are in
the background, because normally whenever a
tab is in the background, we stop decoding
to save resources.
And here we're saying, well, this is a
special case.
We need to keep decoding this so we can
still create the video frames and like render
those frames at 60 frames per second.
And so if you do that by however many videos
like you're going to, you're going to start
taxing the media layer, the more and more
videos you're doing this for.
And so I don't actually know what the limits
are, but I'd be curious to hear if people
make those.
Jason:
I'm going to try. I'm going to try it for
Linux for everyone.
It sounds like a blast. It sounds like
torture, but also a blast.
Ryan:
I would love to say that picture in picture
is like the most used feature that that I use
in Firefox period.
Like it's it's ever since ever since it came
out, I've just been a power user of it and
there's always a picture and picture window
present.
Somewhere on my screen.
It's it's a it's a feature that I, I
absolutely love and correct me if I'm wrong,
but Firefox was one of the first if not the
first major browser to roll this out.
Like, I don't remember seeing it elsewhere
beforehand.
Mike:
I think the story goes like this.
I think WebKit actually introduced a picture
in picture first, a feature first like they
actually had a web API so that they could I
think in like have the safari browser, inject
a button onto YouTube to like open up a top
level.
Gotcha. Always on top player.
I do remember.
Ryan:
Seeing it in Epiphany.
So I think that that that checks out.
Mike:
I think opera also had it earlier but I will
say I'm going to flex a little bit.
We are certainly best in class in terms of
the functionality like we just offer more
than what the others can do.
We allow the user, for example, to open up
most videos in picture, in picture and to
have multiple player windows and to size
them however they want to fullscreen them.
Yeah, I think we've kind of leapfrogged the
competition there, which is nice.
One thing we don't do is that we don't
expose the web API for sites to open, videos
in picture in picture, and at the time it's
possible we will revisit that decision.
But at the time, the the idea was, well, we
don't want sites to necessarily dictate what
videos a user can pop out.
We want the user to choose.
So we offer the toggle on as many videos as
we can to give them that capability for the
user to choose.
And so that's kind of like there's that
philosophical difference I'd say, between us
and the other major browsers.
Ryan:
Yeah, that makes sense.
I've I've been super impressed by all of the
videos that can pop out like even video
players where I'm like, No, this isn't going
to work.
And then it's like, Oh yeah, okay, well it,
it does.
So that's, that's super impressive.
And I'm very interested in the controls that
are coming, the, the added controls because
scrubbing has been something that that right
now, you know, you pull up the tab and you
kind of control it in the original tab and
you know, having the ability to do more
there.
Mike:
I think that's one of the other advantages of
Pip2 is that sometimes video player sites are
full of a bunch of noise that you don't
really care about.
What you really care about is the video
content.
And in a way, I've sort of thought of Pip as
kind of like a reader mode for video where
it's like, okay, just pull out the thing I
care about so that I can like consume that
part.
Jason:
I'm guessing that reader mode is your other
one.
Mike:
It's one of the other ones.
Jason:
Yeah.
Mike:
Was that the second one? Yeah.
Yeah. The other one I'll say is reader mode.
Jason:
So do you do you have any.
I'm not and I apologize.
I'm not familiar with the kind of telemetry
that Firefox uses or doesn't use, but do you,
do you have any insight into how many people
or what percentage of the user base uses a
feature like Reader?
Mike:
I think we might have some measurement of
like user interaction on the, on like the
click event or like having the user like
invoke the button, like we will, we, I think
we might record that with telemetry, but we
know that people use it.
I think we don't think enough people know
that it exists.
That's a hard thing to kind of measure.
Jason:
Which is probably why it's.
Yeah, probably why it's on your list.
Yeah. Well, then talk about it.
By all means, talk about it. There's a I
love it.
Mike:
There's a balance to be struck here too.
Like we used to have this little panel that
would come out to tell users whenever the
item, what we call a charm, would appear in
the URL bar to enter reader mode, like that's
your main entry point.
And we used to have this panel that would
come out for the very first time to say like,
Hey, did you know that this thing exists?
And that drove some traffic.
But at the same time you you are getting in
a user's way and you know, that panel is
appearing in front of the user that they
have to like do something with, either
dismiss it or like follow its directions or
whatever.
But they suddenly you're like throwing
something at them when really what they
wanted to do was visit a web page.
Jason:
Yeah, they, I mean, they want to visit a web
page, but really they, they don't want to.
Right? They want to read the article.
We think. Yeah, yeah. They want, they want
to view the content.
They don't want to view the web page.
Yeah.
Mike:
And all of the associated surroundings.
Yeah.
Jason:
I mean that must be, that must be for me it
was a total aha light bulb moment when I
first used reader.
When it works.
Mike:
It works brilliantly.
Jason:
Yeah, it does.
And especially I can. So I'm one of those
weirdos who uses the sepia sepia sepia color
tone like because it just reminds me of like
an old fashioned book, you know?
But yeah, I love that.
It just, it just puts the content front and
center and you can adjust it and it's just
it's very, very, very user friendly.
But I'm curious about the, the impact or the
potential backlash Maybe when a browser
decides to effectively block ads on a
website, which is what reader does, right?
So I'm wondering, has there ever been any
backlash from major websites or major content
producers about a feature like that?
Mike:
Not that I'm aware of.
I will say that what's happening here is
that the user is invoking it.
The user has made an intentional choice,
like, I want to read this content, I want to
read the article, I want some assistance in
doing that.
And so what the site wants is at that point
kind of not a factor.
It's the user is choosing.
And so where a user agent, right, we're not
the website agent and you can sort of see
that philosophy with picture and picture
like we are, we are obeying the user, their
choice to invoke picture and picture as
opposed to a website's choice to to invoke it
for the user. And so there's that philosophy
at play again of being the user agent.
And there's like a balance to be struck
there, but we generally try to weigh on the
side of, okay, well what did the user want
to do?
Let's let them do it.
Jason:
But I guess I guess when you think about it,
at least, at least the way that I use reader,
I mean, when I, I land on a website, the ad
has been served.
The ads have been served.
To me, the view has been counted.
And then I click the reader icon, right?
So, so the advertiser is still getting their
views.
So it's kind of a win win.
Mike:
Perhaps. I'm not super familiar with how like
impressions and ad clicks and all that stuff
work.
Jason:
I'm always I'm always thinking about that
from like a content producer brain Yeah.
Mike:
And to be clear, like we, we all consume a
bunch of free stuff on the internet and it
seems like it's free, but like someone's
paying the bills to get this stuff on the
Internet. I mean, some people are paying out
of pocket, but oftentimes it's it's ad
supported and that's an ecosystem that we
have to kind of like care about a little bit.
Like, yes, I understand that.
You know, personally, I'm not the biggest
fan of of a website being plastered with ads.
I think there's a way of doing advertising
that's tasteful and like user-centric and
privacy preserving.
I think it can be done.
I realized that like people have businesses
to run, you know, I get that.
And that's why like people are showing up
and people want free stuff.
But at the same time, also other people have
to put food on the table and have the time to
put that stuff up that is being consumed.
So, again, a balance to be struck.
Jason:
Well, Ryan, same question to you, but about
Thunderbird, what is a feature or what are
features that you think are really valuable
in Thunderbird that most people don't know
about?
Ryan:
Honestly, the one I've been thinking about a
lot is the editing.
So PDF JS is the actual like library that's
used to do this, but you know it exists in
both Thunderbird and Firefox.
When you open up a PDF, you have the ability
to edit it right there.
And I think that's just like especially last
week, you know, somebody just sent me an
email with a bunch of PDFs that needed like
signatures.
You know, the Adobe app is like a terrible
piece of software, like the Adobe Reader app
and like.
It's not simple and it's expensive to
actually be able to sign things.
And and so like just being able to do that
and in Thunderbird and, and send those back
was amazing.
What I would love to see is more this is
more like a Thunderbird project than a
Firefox project. But like the ability to
right now you can sign it, then you have to
save it and then you have to attach it.
You know, it'd be great if you could just
somehow take that saving, step out and
reattach it back to like a reply right
there.
Anyway, that's that's a feature that most
people don't know about and it's and it's
fairly new, the ability to sign and fill out
those forms.
But it's something I've been trying to tell
everybody about.
Mike:
It may have been one of you over like
Mastodon.
That kind of drew my attention to this, but
I found out that you can install a ublock
origin in Thunderbird.
Jason:
That was me. Was that.
Mike:
You? That was me.
Jason:
What a what a revelation.
I wrote a I wrote an RSS feature.
Like about about how to use RSS properly and
efficiently in Thunderbird.
You know how to do like use folders and how
to use Ublock origin to block the ads and all
that stuff. So yeah, yeah.
And and you know what?
This is actually very topical because Ublock
is now available on the actual add on add
ons@thunderbird.net. Yeah.
You can actually get ublock there as an
official extension.
Now you don't have to go to the GitHub.
Mike:
That's great. Now I've only had that
installed in Thunderbird for a few days and
so I haven't been doing a whole lot of
checking, but I wonder if if it's doing like
query param, like stripping for like, like
is it doing the work of like stripping all
the sort of like marketing, tracking in the
emails that people are sending me.
Like I'm very curious to know what it's
doing.
I presume it's blocking like Thunderbird
does a pretty good job of blocking like
images that are being used potentially to
like verify that I opened an email or
something like it, like the pixel pixel
tracking.
Yeah, I think Thunderbird has that built in,
but I suspect that Ublock might be like
adding a whole new arsenal of defenses to
the tool kit.
Jason:
So we, we actually asked our community on
Mastodon what they thought was the
Thunderbird feature that more people should
know about, and I'm going to kick it off with
an audio reply.
Speaker5:
Hi, this is Lutz from Germany.
I really like the Thunderbird feature to
archive your messages.
Simply hitting the a button on the keyboard
will store the current message into the
message archive of your identity.
You can even customize it to build the
archive by year or by month.
Really nice.
Thanks.
Jason:
I've got a few more that I wanted to mention.
Vincent Saint-Pierre on Mastodon says I've
been using the Messenger feature.
I can send Facebook messages through
Thunderbird and I think that's pretty neat.
Also, the send later feature for when I have
a 1 a.m.
idea but don't want to subject someone to a
notification being at an unreasonable hour.
And then Tim Tim at Indieweb Social says the
RSS reader.
I generally think RSS is very underrated and
Thunderbird has a pretty good reader and I'm
biased, but I have to agree.
I really wish we could see a resurgence in.
Rss as a protocol.
I mean, it's it's never I don't think it's
ever had the visibility that it deserved.
Even even with the podcast explosion because
people don't people still don't associate RSS
with podcasts.
They just, you know, they just think, well,
it's on Spotify, it's on Apple Podcasts, it's
on pocket casts. It's, you know.
Mike:
I philosophically love RSS.
I'm going to just talk about podcasts for a
second, though, since we happen to be on one
like that is like the standard now for like
how you get a podcast out there is you use
RSS as my understanding and that's great.
But from the users perspective, I wonder
sometimes if the whole if the RSS part.
Isn't like this sort of like bizarre dance
that one needs to do in order to get what
they really want, which is the content.
They want to listen to the podcast episode.
So, for example, I listened to your first
episode.
I loved it, I loved it, but in order to get
to it, I had to go to like the Thunderbird
blog and then like copy the link and then
paste that into my podcast app on my on my
Android phone, which didn't, I guess my
Android podcasting app, which is called what
was it called? Radio Publica.
Jason:
I don't think that it's listed there in their
database for some reason.
Well, it's.
Mike:
Just a generic like podcast app.
It does a good job and it's got like an
index of some popular ones, I think.
But it didn't know about the Thunder cast.
And so I pasted in the URL and it was like,
Oh, okay, I found it for you, let's get it
going. And I think that is kind of the
hurdle where it's discovery, it's always been
discovery. The the plumbing is all there,
but in order for the site to know or the
application in this case to know about in
this case, the Thunder cast, it needed to
know about the RSS feed.
Yeah, the bits and pieces for this kind of
like.
Uh, you bring your own tools.
Stuff is all there, but it's at like 90%.
The last 10% is like the discovery and
smoothing that user flow so they don't have
to think about RSS.
Like I think RSS ideally is one of those
things that's almost like TCP IP.
You don't think about it.
Jason:
I think you're right.
I mean, I think that the I think that the
best technologies are ones that just melt
into the background and you don't have to
think about right?
Ryan:
That's been what's maybe the biggest letdown
of RSS for me there was when I started using
RSS for websites back during leading up to
the height of its popularity and all these
different RSS readers, I shouldn't say the
height of its popularity because it's pretty
popular with the use case of podcasts now.
But you know, like.
I was getting this curated kind of personal
news experience.
And then the biggest letdown of that was
exactly what we talked about with reader
mode, which was the all this different, all
these different attempts to make it so that
you needed to go to the website to view the
page, to see the ads, you know, and you can
still see that with many RSS feeds.
If you add them to say, Thunderbird, like
you'll, you'll get like the first paragraph
and then, you know, a link to the, to the
website to view it.
And, and that's kind of the big letdown of,
of RSS for me because to be able to
personalize that news and information
experience what you get from the web is
really powerful. But to have these like
limitations put on it really sucks some of
the beauty out of it.
Jason:
Like I use, I use Thunderbird for RSS feeds
and specifically for music discovery.
See, I have a sub folder of just music and
it's various music blogs like Stereogum or
Loudersound or whatever.
And every morning with my coffee I'll just,
I'll just open that up and look at all the
new listings and listen to everything right
from Thunderbird.
The best feature about RSS to me is that
it's sort of my brain.
I don't have to remember to manually go to
these 15 different websites whenever I'm
seeking new music.
It just comes to me the way that.
Adam Do you guys know Adam Curry and Dave
Winer?
You know those names? They were kind of
responsible for the original RSS protocol.
I only know this because I used to hand code
my own RSS feed when I did Insomnia Radio
back in 2004.
And they they advertised it way back then
when RSS was this brand new thing.
As time shifted radio.
I know I think the I think the title of this
episode is going to be something relating to
like retro Internet because that's where we
keep going.
But but that was such a a revelation at that
time, right?
Because if you wanted to hear a radio
broadcast, well, then you better show up when
the when the broadcast is going live.
An RSS allowed these types of broadcasts to
be delivered to you on your own schedule.
And that's how they originally kind of
advertised the protocol.
And that was magical at the time.
Ryan:
It's so weird to think in terms of that, in
terms of a the world before a kind of really
on demand, you know, content like that.
Like it's like that's the context.
They were pitching this around like you're
going to miss the things you want to listen
to. This allows you to listen to and how
hard it would be for like think of people who
are just ten years younger than me to
understand that pitch for, you know, this
protocol. That's it's just so that just
tickles my brain.
Mike:
One of the things I love about RSS is that is
one of the things I love about like things
like iframes, like you can compose the
Internet, you can sort of like compose
different parts of the web to sort of create
the the heads up display that I want the news
of the day that I want.
That is, to me, kind of the power of of the
web is these streams of information that I
can compose and shape into a tool that's
useful for me.
Jason:
Random geeky question here.
Could you could you technically have like a
Linux desktop just full of those iframes?
Mike:
I don't see why not. Like, basically just you
need a web engine and some maybe some UI glue
and you're off to the races.
Jason:
I wonder if that exists.
I wonder if that exists, if that's if that's
something that is, you know, something the
average quote unquote average user average
Linux user could customize on their desktop.
Okay. Let me read a couple more of these
replies from our listeners on Mastodon.
I cannot pronounce this name, but it's.
K. L. A.
F. Y. V.
E. L. On Mastodon says filters.
And I think that Ryan would appreciate this
one.
I see so many colleagues sorting manually.
I see so many colleagues manually sorting
their emails on the uni web mail and I hurt
for them that tags.
Ryan:
I say it all the time, but once you start
using filters and tags, it's really hard to
go back.
Jason:
Here's here's another feature that as as
someone working on Thunderbird or at
Thunderbird I did not know about shift plus
reply to switch between text and HTML
composing.
Speaker6:
Mm.
Jason:
I had no idea.
Shift plus reply and you just toggle back
and forth.
Ryan:
I'll add one more trick if you go to more on
an email.
And you can go to message body as and change
between the most emails are original HTML.
You can change to simple HTML which removes
some of the fanciness that you might have in
an email. But then there's also plain text,
which is sometimes really useful if you're
intend to copy, you know, a text out of a
message.
Sometimes you don't want to carry over the
styles and there are issues with that.
And so, um, but yeah, most users don't know
about that.
Most of the time they really shouldn't have
to know about it.
But it's nice if you get an email that we
talked about reader mode, you're just like
bombarded with like crap and you can just
say, I just want to view this in plain text.
I mean.
Mike:
I don't want to add more to your feature
roadmap.
I know Supernova a big deal, but like you
could just use the just, you could use the
reader mode library and add it to this list
like simple plain text reader mode.
Ryan:
Like that's a good point.
That's a very good point.
Jason:
I'll add a feature that I think not a lot of
people know about.
This is only because I, I produced a short
video on the Thunderbird channel showing
people how they can reorder their accounts
for people who use multiple accounts.
It's just a matter of pressing the gear on
the spaces toolbar and then going into your
account settings and then like for example,
I have Jason at Thunderbird Net, I have
Protonmail and I have a Gmail account in
here just dragging one down, dragging one up,
dragging them in whatever order you want.
And that goes for also your communication
accounts like Matrix or your news feeds or
anything else, your local folders.
You can drag those into any order that you
want.
Ryan:
I didn't even know that was how you did, how
you could do it right.
Jason:
And it's so easy to do, but it's just not.
It's one of those features.
It's like fire. I feel like Firefox and
Thunderbird both share that, um, that power
user mentality where there's so many useful
features, but they're just not exposed or not
well known or not well advertised or for
whatever reason.
Mike:
Can I give a shout out?
As someone who had worked on Thunderbird in
like 2010 and 2011, a shout out to all the
people who have been like cleaning up the
codebase and making it easier to work with.
I know Alex has been a big part of that, but
there's been like a bunch of people throwing
themselves at that project and like, you got
off of the Mork database for address book and
I like and switched over to SQLite and I'm
like, that I was that was one of my like.
Hills that I was trying to to climb up
whenever I was working on Thunderbird and
someone else pulled it off.
And I was just so happy to see all this
progress.
Like the Thunderbird is getting better.
Like I have such a soft spot.
It was like my first introduction to open
source and and my first gig.
My first job was working on Thunderbird, so
I have a real soft spot.
I still use it. I've got it in front of me
right now and like, yeah, I love to see it
thrive and improve.
Ryan:
Super eager to see everyone, especially past
Thunderbird contributors and.
And in your case, you know, folks who
actually worked on it for for a job like the
reaction to all the work we've put into
Supernova, I think that it's a lays out a
path for the next 510 years of innovation
you know in Thunderbird and and makes it so
that we can you know not to go too much in
the weeds but just makes it so that there's
an open source strong open source
alternative to the other, you know,
proprietary email clients that are out there
that are that are popular feel like, you
know, Thunderbird had a really great role to
play, you know, in the Internet for such a
long time around, you know, use your email
the way you want.
And by the way, we're it's open source so
that you can, you know, come and participate
and help make the experience better.
But it kind of had a few years in the
wilderness and feel like it's coming back out
and going to be able to to hopefully create
some more stories like yours.
Mike of people who who hack on it and kind
of learn some skills there and then go on to
do amazing things in other software.
Mike:
I will say like there are improvements being
made for supernova that might not be obvious
to to the end user because it's just all
working the same.
But like our, our like huge architectural
achievements, the replacement of zuul tree
for your like folder list and message list
is a very big deal.
And like I know Alex talked a little bit
about that during the last podcast and like I
really want to underscore how impressive
that is as a technical achievement because as
I recall Thunderbird, it was like this thing
that was embedded so deeply into like how the
Thunderbird three pain system worked, that
to tease it out and to sort of like
seamlessly. I mean, from my perspective, it
was seamlessly swap it with this new
implementation is like deeply impressive.
It's also going to save us so much headache
when we can finally get rid of the zealotry
in the code base, which I know our graphics
team on the platform side of things are eager
to do.
Ryan:
Also, kudos to the folks who worked on Zoltar
and some of that stuff originally because it
is a crazy piece of engineering that that is
really, really.
Mike:
Perform it. It's.
It's fast. Oh, yeah. Don't get me wrong.
It's fast.
Ryan:
It's been actually a little bit of a
challenge for us to to.
There are so much good.
There's so much good that our users will get
out of the new implementation.
But just that performance has been has been
hard to beat.
And so, you know, we put a lot of time and
effort into trying to continually like meet
that high, high bar that we've provided to
our users for so long.
Mike:
But it's the little things too, like you've
got smooth scrolling now, like getting
smooth, scrolling to work with zealotry
would have been like really, really, really
difficult. And you get that for free.
Like you get so much for free by using the
web primitives that you're using for the new
list. And like it's it's and the platform is
there now, right?
Like the platform is allowing you to have
that performance.
So it's like the time was right.
Yeah. Back when I was working on Thunderbird
replacing XUL tree with like web stuff was
probably not in the cards.
It was just like the platform's not ready
for it.
We're now ready for it and you're doing it.
And I'm so happy.
And like Mork was another example of this,
where the Mork database that powered the
address book super fast, like like
ridiculously fast and performant.
And that's because it was like an in-memory
database, key value store.
But it was also so painful to work on.
No one knew how it worked.
It was like this Mozilla platform database
thing that no one knew how it worked.
It's like a holdover from the Netscape days
and like the switch over to escalate made so
much sense. So anyways, all the all of that
to say like I don't want to turn this into
like a stroke the egos of the engineers or
anything but like great job, keep up the
refactoring. This is only going to move
things faster and make things better and
you're in the product.
Ryan:
I'm glad you said that, though, because, you
know, for the folks listening like we try
we've been trying to get across how much
work has gone into, you know, the changes
that we've made and, you know, you see you
see folks who are like, you know, they just
they're afraid of change.
And what we're trying to convey is like this
all this work that we've done is to really
just ensure that Thunderbird is a wonderful,
stable, you know, client that folks does what
folks expect for the next, you know, ten
years surgery for 15 years.
It's time to set us up to be able to serve
our users for the next, you know, ten years.
Hopefully, if we change things more often
than that, just to keep things up to date.
But like, you know, we really want to
provide the best in class email experience
and and this is going to allow us to do
that.
So thanks for saying that, Mike.
Mike:
Well, it's like it's, it's the equivalent in
my mind anyways of like if you've got a whole
bunch of people living in a house or like an
apartment building and it's on the edge of an
eroding cliff and you the work that's
underway is moving that entire apartment
complex to a better place, replacing the
foundation, replacing the plumbing, because
it's all like lead pipes, replacing all the
electrical because it's knob and tube and
doing it while people are still living in
the building and they don't even really know
it's happening. Like in the end, they're
still living in their place and it should
hopefully be more or less the same.
Maybe there are a couple more plugs in the
room and maybe they've got ground.
That's nice. But and they're also they look
out the window and that like eroding cliff is
gone. But like the architectural and
engineering achievement to do that is like
chef's kiss.
Jason:
But we want to talk about specifically, we
kind of know what you do from a top down
view, but what are what are the specific
projects that you're working on right now for
Firefox? So one of the.
Mike:
Things that I've been doing with a couple of
other colleagues is work with a set of
students from Cal State, LA.
It's a school in Los Angeles in the United
States.
And they there's ten students that we've
been working with since September to improve
the migration experience in Firefox.
And by migration experience, I mean the
mechanism that you use to import data from
other browsers on the same computer.
And so historically we've had like the same
migration experience since like Firefox one,
which is this like native visual dialog that
comes up and you choose like a list of
browsers from a radio group and then, you
know, choose the profiles you want to import
from choose the resources.
And that really has not changed much from a
user's perspective, and it is long overdue
for kind of an overhaul and a new coat of
paint, not only because we want to refresh
the look of it, but also we can make it much
more efficient and easier for users.
One of the things that we've learned over
time is that if you overwhelm users with like
lots of checkboxes and big lists, then like
some there's a certain proportion of users
that are just going to go like, nope, not
interested and close right out.
And so what we're trying to do is do our
best to show the user a dialog that more or
less gets the defaults right, right off the
bat, like the new migration wizard that we're
working on will show instead of like a long
list of browsers that you can import from
with the radio group. It's just a dropdown
list with the icon of the browser that that
is associated.
Jason:
Oh, okay.
That's a big deal. That visual association.
Mike:
Exactly visual association.
Nice label there of what the browser is in
the same label.
It's like and this profile and we show by
default the one that was most recently used.
Jason:
Oh, that's smart.
So does it does it include lesser, I guess,
less popular browsers, like maybe Opera?
Mike:
It has opera. We actually the students
shipped an opera migrator earlier in I think
it was actually late 20, 22 or early 2023.
I think those so yeah.
Jason:
Because I don't I don't remember seeing opera
personally when I, when I made that switch on
a on a it's.
Mike:
Relatively recent and and you know these
students have been working on a bunch of
different aspects of the migration
experience from like adding new migrators for
opera I think opera and fixing up some old
migrators like there was some stuff broken
with like the old Internet Explorer Migrator
there's been a bunch of sort of like
revitalization of that part of the code base
and more rigorous testing and cleanup
effectively. And then there's the new
dialogue.
And the dialog just makes it easier for
users to to select the browser, choose the
things they want to pull in, and then get to
the get to the end.
Because honestly, this is not a dialogue.
We expect many users to want to stay around
in.
This isn't we're not trying to build out an
experience where it's like, yeah, we really
want like a true experience through this.
We want you to get in and get out so you can
like get the stuff that you needed from those
other browsers and then get going.
Jason:
Thank you.
Like, I know that people I know that people
are going to say, Well, you know, you work
for Thunderbird, so of course you're going
to say this, but I've usually been pretty
transparent about about my, my opinions of
software.
And I like Edge.
I like Microsoft Edge.
I like a lot of the functionality that that
browser has.
But one of the things I dislike and this is
this is true across the entire Microsoft
portfolio, it seems like an endless, just an
endless stream of screens that you have to go
through when even, even when edge updates or
when you first use edge.
It's all of these options, these full
screen, you know, takes over your your entire
desktop. And it's like, what do you want to
do?
This? Do you want to do this? Do you want to
do this?
Do you want to do this? No, I just want to
go to the website that I wanted to visit.
Right. So I appreciate I appreciate any any
steps that that save the user time.
Mike:
Trying to get out of the user's way like we
this dialog is not in love with itself.
It's not like really trying to like be the
the thing for everyone that's like, Yeah,
love me. It's like, choose what you want and
then get out so that you can just start
browsing the internet.
And the other thing that we did was we made
it so that the, the dialog can be embedded in
more contexts right now, like the migration
wizard in Firefox that ships today opens up
in a top level window.
We're allowing that ability as well.
In certain scenarios. We might want to have
it as a top level window, but we are also
wanting to like embed it within about
preferences, which is like the settings page
of Firefox. And we also want to be able to
embed that wizard inside of like the
onboarding, right?
Out whenever you're onboarding, when you
start up Firefox, maybe a brand new install
or something, it will walk you through like,
you know, importing from another browser
setting as default, pinning to your taskbar,
all these different things.
And whenever you choose to import, it's got
to open up that old school zul dialog on top
of everything. And what we're building out
will allow you to have that import wizard
baked into the page itself so you don't have
to leave the sort of the flow of getting set
up. You can just kind of like, Yep, I want
to import this stuff.
Okay, it's done and set to default and I'm
done.
Now I can start browsing the internet.
And so the more we can kind of grease these
wheels and really make this, this flow of
getting what you need so that you can get
going nice and smooth, the better, the
better, you know, like, because that's one
of the things that we've we've discovered, I
think, is that those first few interactions
with the browser where the user is like a
blank slate, the browser doesn't know
anything about you.
We don't have any history, you don't have
any bookmarks, don't have passwords.
We know nothing about you.
But those first few touch points of the
browser talking to the user saying like, Hi,
do you want to like import some stuff are
really, really important for a user to make a
decision on whether or not they're
interested in having this be the browser for
them, their default or their secondary or
whatever.
Jason:
Right? Because I mean there have to be
thousands of users who just just download and
install Firefox just to see.
Yeah, right. What's the competition like?
Let's find out. Exactly.
Mike:
And so and that's where we're putting a lot
of attention right now is trying to make
those first few hours, minutes, seconds and
hours of using the browser as like smooth and
helpful as possible.
And there's that tricky balance of wanting
to be assistive and helpful and also just
getting out of the way and letting the user
browse the Internet and use it as the tool.
And so there's a lot of experimentation
going on.
One of the things I'm most excited about is
how we are kind of getting good at science.
You know, doing experiments like back when I
was working on Thunderbird and then initially
working on Firefox in like the mid 20 tens.
We would like build a thing.
We'd spend months working on it, we'd ship
it and our measuring tool of like whether or
not it succeeded was basically watching the
tech press and seeing like, did people like
it? I don't know.
Now we can do basic science of, you know,
here's two different variations, two
different treatments of the migration wizard
where we like maybe have the the list of
resources expanded by default or maybe it's
collapsed, but it tells you a summary of
what's in there and we can test these two
and see how users respond to it.
We can use user testing.com to like get
impressions from real people on the internet
of like, Yeah, that makes sense to me.
Or like, I'm confused.
And then we can use data to basically back
up whether or not a user, which one users
tend to prefer, which ones do they succeed
at their task with.
And we're getting good at that and I'm
really excited about that.
Jason:
It's tricky to use a small subset of users to
to, I guess, estimate what your broader,
more mainstream user base will think about a
feature.
Mike:
That's absolutely true.
Jason:
This is interesting because at Liz, which is
the Linux App Summit, Thunderbird sponsored
it and I attended and I had an absolute
blast.
There was someone from Canonical who did a
case study on the Firefox snap and they
showed all the steps that they took to
troubleshoot the startup time and to improve
it. And long story short, they ended up
improving, kind of ended up improving the
entire snap ecosystem.
But what really resonated with me is there's
a quote and he said, When you have your early
testers, your early adopters, they are more
sympathetic to your cause.
And while they do discover problems, they
are blind to what normal users will see.
Absolutely. And he was talking about okay,
when Ubuntu 21.10 launched.
That's when the Firefox SNAP debuted.
And that as you might know is a it's I think
it's an eight eight month support window.
So it's sort of a beta of the LTS of Ubuntu,
which is the long term support of Ubuntu.
So they had almost no feedback.
Scary. But when 22.04 launched, which is the
long term support version, the feedback was
constant and it was negative.
And and I was in that talk and I said well
is it just because you know Ubuntu lts has
more users?
And they said, well no, it's because your
early testers, your beta testers are more
sympathetic to your cause and they're not
going to call out the same problems that your
average user will.
Mike:
It's selection bias, absolutely.
Like our nightly population is not
representative of the release population.
Our beta population I would say is not a
very good representation of the release
population simply by selection bias.
You know, people who are comfortable running
like a nightly.
Browser are not your typical user.
Same with ones who.
Jason:
Are their living kind of.
Mike:
Exactly. Exactly. And Thunderbird.
Like who's out there running beta versions
of email software.
Like there's people.
I'm one of them, but I don't think I'm a
typical user.
Tens of thousands, tens of thousands.
Jason:
But is right now that's kind of that's kind
of cool.
But it's not but it's.
Mike:
Not millions and millions and millions,
right?
Like, so you're going to get these selection
biases.
So you have to kind of like tune your model
to have that, have that sort of understood
like, yes, we can put things in front of our
nightly population.
But let's caveat this.
This is our nightly population.
It is skewed. Same with beta, it is skewed
and over time you learn how they're skewed so
that you can try and correct for it.
Jason:
You still you're still obviously going to get
very, very valuable feedback from for sure.
Mike:
Absolutely. Absolutely.
But you know, even just the simplest things
like the hardware profile of people on
nightly is vastly different from people who
are running, really.
Jason:
Talk talk about that a little bit.
Mike:
I believe nightly nightly users tend to be
running more powerful hardware, and that's
probably because they're like enthusiasts
who care about like there's almost certainly
a set of users on a release population who
think of computers as an appliance.
Like I got this five years ago and it's
still working.
And so I like I run it and I use the
Internet.
I go to my Facebook and like I do do my
banking and whatnot, and like, that works for
them and that's great. But the people who
are on nightly, I would imagine, and I think
we've more or less determined these are
people who like, care a lot about testing and
like they are comfortable going to bugzilla
and filing bugs and trying stuff out and
flipping prefs.
Jason:
Let's give those people a whole lot of
respect.
That's not an easy, straightforward task.
Yeah. Yeah. And like thank you to all the,
not just not just the testers, but the people
who actually take the time to submit a bug
and getting through bugzilla.
Mike:
Yeah. Thank you so much.
We like, we really rely on that stuff, but
that population is also skewed.
You know, you're not going to get bugs filed
from people who are running maybe an old Acer
laptop from 2015 that, you know, like is
still running Windows 7 and is still working.
And, you know, this person doesn't know or
care about updating because they're just
like, my computer works. Why would I?
Jason:
Which means they're not going to be as
sensitive to a long start up time for
Firefox, maybe.
Mike:
Yeah. So it's that sort of stuff that I think
we've actually gotten a lot better at just
science. I think we're getting better at
science, which is nice.
Jason:
Firefox, we're better at science.
All right. So the other one, the other
project you've got browser migration, but
then you also have device migration.
Mike:
Yeah, this is a thing we've started to invest
in because we suspect that there are users
that need to be able to move from old
computers to new computers.
When you think about the experience on, say,
Windows, doing that is actually really
difficult. Macos ships with something called
the Migration Assistant, which does a pretty
good job actually, of getting stuff from an
old computer to a new computer.
You can do it with a cable, you can do it
over the Internet, you know, over the local
network.
Jason:
And same with same with even if you want to
switch phones between iOS and Android.
Mike:
Yeah, cable boom, like everything moved over.
It's seamless on a Windows machine and maybe
even a Linux machine.
I've never done a Linux like migration.
I've always just updated the same machine
I'm running Linux on again and again and
again and again, but like migrating from an
old computer to a new computer on windows.
I did that for my my mom over the winter
holiday and it was like pulling teeth, like I
spent basically I thought I was going to do
it for a couple of hours.
I was up until like 4:00 in the morning
trying to get all her stuff over to the new
computer cuz I had to go hunt it all down
and I had to.
And it's not just like browser stuff, but
it's like all the applications she cares
about, all the photos, all the documents,
all the recipes, all the X, Y and Z, you
know, finding all those myriad of places and
moving them over and getting the applications
installed and re finding all the
registration keys and like all of this stuff
was such a nightmare.
And I realized when I was moving Firefox
over like I was going through some of our
documentation, there are a couple of ways
you can do it.
One is like you can export the profile
folder and like write that to a jump drive
and put it onto another computer.
That that is a lot to ask of a user to like
go into this arcane folder on your computer
that you've never visited.
Copy this Multi-gigabyte file onto a jump
drive that hopefully you have.
It has all of your passwords in it.
Jason:
And hopefully hopefully it's formatted
properly.
Mike:
Yeah, get it onto your new computer, put
create a new profile on the new Firefox and
then replace that profile like it was.
It's it's bananas like the series of steps
that a user has to go through to do.
This is too much. It's too much to ask for
them.
That's not to say that some people don't
successfully do it, some do.
But I think there's more we can do here.
And one of the things that we're trying to
encourage is using Firefox and sync.
Jason:
Please, please use it because it's the.
Mike:
Best and it takes care of so much.
For you and you create a Firefox.
It's free if you're worried about, Oh, I
don't want Mozilla to have all my bookmarks
and passwords, guess what?
We can't read them if we even if we wanted
to and we don't want to, but even if we
wanted to, we couldn't because it's all
client side encrypted end to end.
So all we get is an encrypted blob and that
is like what?
Powers What I think is like kind of the
ideal migration flow is you just download
Firefox on the new computer, install it,
sign in and all your stuff's there.
Jason:
I can't tell you how many, how many times I
have done this in the last year because I, I
test a lot of Linux distros and I reinstall
Windows frequently and you know, it's a log
in. That's it. Like, and the majority of our
work these days, I can't speak for everyone,
but the majority of my work exists on a
browser.
Yep. And and it's literally just a login
with Firefox sync to get up and running again
on a brand new computer or a brand new OS
install.
Mike:
And one of the nice things about that too is
it takes there's a certain condition that a
user might be in where they don't actually
have access to the old computer anymore, and
so they can't do the profile folder like
Jump drive swap, or they can't do like the
exporting of the passwords, like maybe their
computer broke and that's why they got a new
computer. Maybe it fell down the stairs,
maybe it fell in the ocean.
Maybe in order to use the new computer, they
have to disable the old one because they're
moving their monitor, keyboard and mouse
over and so they can't use them at the same
time. Like there's a lot of different
conditions that a user might be in and
Firefox accounts takes care of all of them
basically because yeah, you could sign in and
sync on the old machine and then just throw
that machine into the lake.
Jason:
Don't do that though. Recycle it, please.
Mike:
Please don't do that. Please.
That's not an endorsement for throwing
computers into the lake.
But then you like months later, weeks, days,
hours or minutes or seconds later, you can
sign in on the new computer and all your
stuff's there.
And I think that's what we're trying to
encourage people in this situation to do,
because it's it's honestly the simplest,
least error prone, even moving profiles
between computers.
Like, yes, there is a sumo document that
talks about it, but I mean, how often is that
really tested?
Jason:
It can be it can be problematic.
I mean, you know, I told you a minute ago
that that I frequently switch computers and
so I rely on Firefox.
Sync Well, if only I had Thunderbird sync
which is which is happening.
Mike:
I'm so happy to hear that.
Jason:
I'm so excited about that.
As much as I switch switch computers and
switch installs, it might not happen
immediately with the supernova launch, but
it will happen in that release cycle.
And you know, if you have multiple machines,
even if you're not moving to a new computer,
if you want to install Thunderbird on a
second machine, a third machine, then guess
what? All of your account information, your
filters, most of your major preferences, they
all get synced.
And so if you realize this happens to me all
the time, Mike, where I realize, you know
what, I need a filter for this situation.
Any time I get this, this particular email
from Bugzilla, I need it to filter into this
folder and I don't want to do that again on
the other two machines that I have
Thunderbird installed on.
So once Thunderbird sync comes along, it's
just instant.
And of course that's, that's only possible
because of Firefox.
Mike:
Yeah. I mean there's, there's always like
this kind of like buddy cop handshake, like
high five with an explosion in the
background going on between Firefox and
Thunderbird.
Jason:
And then and then the nice thing is when,
when K-9 mail becomes Thunderbird for Android
and Thunderbird for iOS.
Mike:
Sign into your Thunderbird account and you're
good to go.
Oh, see, like every jigsaw falling into
place.
Jason:
So that's going to do it for episode two of
the Thunder cast.
Thank you so much for listening.
And a huge thanks, too, to Mike Conley for
joining us and for adding his perspective to
everything. I mean, you're consider consider
this door wide open for you to come back
anytime. Thanks for having me.
Hopefully you guys will enjoy what's coming
up.
We've got guests like Mike Saunders with the
Document Foundation.
Of course, that's that's Libra office.
We have Heather Ellsworth of Canonical.
We have theBe from Matrix and we have our
very own Katie from K9 Mail and the upcoming
Thunderbird for Android.
If you want to if this first time listening
to the Thunder cast, you can get it at this
point pretty much on every major podcast
client except for the one that Mike uses.
So if you don't have it in your podcast
client, just go to blog Thunderbird.
Net and look for the podcast episode and
we'll have an RSS link that you can add to
the the client of your choice or even add to
Thunderbird if you want to.
Mike Where can everyone follow you?
Mike:
So yeah, I'm on, I'm on the Mozilla instance
of Mastodon, so I'm at Mozilla social.
I'm Connelly That's where I do a lot of
nattering about things and if you're
interested in the joy of coding I've dropped
some links into the the show notes document
here with what you need to know about that.
And I also have a blog at Mike Connelly.
Okay.
Jason:
Links to all these things will be in the show
notes at blog dot Thunderbird.
Net or in your podcast client.
And until next time, thank you very much for
listening.
Thanks for using Thunderbird and you all
take care and take care of each other.