Developer Chats: Streamlined video dev solutions and Uscreen's tech stack
Nick: If you looked
at Uscreen two, three
years ago, we were
more of a OTT provider.
And now we are more of
a membership platform.
Which means besides the video
features, that's going from
creators to the audience,
so like one-to-many, we
will add more and more
many-to-many functionalities.
Which means the users can
also now send the videos to
creators and to other users
in the membership community.
We have a guy who's
doing guitar lessons.
And he was bugging us
for like three years.
Something like, "Guys, my
audience needs to record
a video and send it to
me and ask my opinion,
like, 'How I'm doing?'".
As we learn more, it's like
super common use case where
people want to get the
feedback in the video format.
It was extremely cool to see
how we can use short vertical
format videos with Mux,
because we already have Mux
as the core component of our
video catalogs for creators.
And now we can use
the same API to build
functionality for end users.
Considering that we have
mobile apps, it's super
easy for us to manage the
workflow of end user and
uploading the content so
users can just quickly get
their phone, record the
video and just hit send.
Matt: Selfishly, like, one
of the things that I think we
do really well at Mux is, you
know, that fast experience
around, "I've got a video,
I upload it, and now it's
ready as quickly as possible".
Is that a critical part of
this component, is how quickly
people are able to like, get
a video, upload it, and then
kind of see it in the feed?
Or is, is async kind of fine?
They're like, how does that
play into the experience?
Nick: The fun part, the
fun part, we want to do
it in the background right
now, it's actual time, in
synchronously, in the format,
like from uploading and
transcoding, to actual video
from Mux back to your screen.
So there's like, right
now, no hidden magic.
It's just like built
in the simplest,
dumbest way possible.
And we are iterating
on top of that.
It's just, it was, like,
probably one of the best ways
to just do the test, right?
Just to build it as
scrappy as possible.
And the scrappiest version
already really fast.
Where people are actually
enjoying using it.
Matt: I promise we
didn't, we didn't pay
Nick to say any of this.
Nick: So,
this is the new community tab.
This is something in
between the Facebook
group, with channels and,
and something more robust
as like Slack, right?
The fun part is like
before we could only
allow you to add images.
And now you have this
video editor, right there,
that actually allow you
to send a nice video
to the community group.
And not only creator can
answer, other end users can
participate in discussion.
And as I said, it's the
first version you see, it's
like, it's just doing the
work right now, but we all
read how Instagram faked
it, the, the speed of the
app in the early days.
So we'll do the same thing.
So it will be in
the background.
It's all working
pretty smooth.
Considering that we already
had the experience with
Mux API, this feature was
extremely fast to build.
Our goal here for UGC content
is to have short video
sessions from end users.
We don't want them to
upload like one-hour movies.
And right now we have a
limit of 60 seconds there.
And we getting a lot of
video usage already from
those smaller vertical
videos, especially in active
communities, because it turns
out that people who upload
video, like their median of
symbols below the video is
actually more than people who
just doing the text posts.
Matt: So you're seeing
people actually write
more copy on video content
that they're uploading,
right?
Nick: Yes.
Matt: Wow.
Nick: Yes.
They spend more time with
the video content and also on
average video content hits a
lot more likes and comments.
This is a shift for
us in our learnings.
If we can push people
to actively participate
in the community, they
will stay a lot longer
with the creator there.
And the video is actually
one of the best ways for
us to, to make it their own
space and to build the better
connection between creator
and the end user over time.
As I said, like, that's just
the first version that was
built in one feature cycle.
And we also do, we did
before six weeks cycles.
So you can count it as a
result of one engineer working
for four weeks on the feature.
Which is amazing.
And now there is 250 apps
in the app store that have
this and people using it.
Matt: How does the, how
does the backend of this,
this look, what's the
technology behind this thing?
I mean, Mux, obviously,
but like specific features
or like what, what's,
what's happening there?
Nick: So for our apps,
we're using Flutter.
Our backend is monolith
Ruby on Rails application.
And we're big fans of
simplification of technology,
simplification of the stack.
So probably the laziest
developers out there.
We're trying to
keep it this way.
Matt: Hallmark
of a
good
developer.
Laziness.
Nick: So we're trying
to keep it this way.
Right now, the app will
communicate with the server
to request the upload link.
We're uploading
directly to Mux.
The editing of the video
file, the duration is
done on the device.
And then we're just
sending it directly to Mux.
And once video uploading,
uploaded, like, and
transcoded, we're getting
webhook back to the system
and it's just delivered
through, I think it's
delivered through server sent
event to the device pack.
So device doesn't check
anything and boom, it's there.
We initially just WebSockets,
but then we realized
that if you need to build
something for Roku, good
luck using WebSockets.
We, we ended up with
simpler technology stack
and server sent events are
way more supported right
now with web, as well.
Like you don't need to do
like crazy workarounds.
So we ended up using that and,
yeah, that's super simple.
As I said,
Matt: Doesn't need to be
bi-directional anyway, right?
So that's, that's
a perfect use case.
Nick: Yes.
Yeah.
Matt: Any other, like,
features that you've, you've
been able to use in this, that
you've felt have been like big
unlocks?
Nick: One big feature that was
like unexpectedly well used
that's currently in the build
where we're doing beta tests
with it and a few customers.
It's auto-caption.
We actually were shocked how
important this feature is and
how it changing the behavior.
First of all, the dumbest
thing that you realize once
you start working on it, like
you can now watch videos in
the Metro without the sound.
And there's like simplest
use case there that you
never thinking about.
It's extremely also good
for educational content
is it's a huge win.
Also, it saves so
much time to creators.
It's fun story.
We, we have our CS team
and once, once we build up
the first version of the
feature, it, it meant to be
rolled out as the alpha test
only to a few customers,
but because of, oh, this is
probably my mess and internal
communication, CS teams
thought that they can actually
go and enable it to customers.
And we end up is, with like
more than 100 customers in
less than a week with this
feature running in production.
And I was like, hold
on, we didn't even
like build it well yet.
Like not, not like build
it well, but the flow.
From the user perspective
was not yet obvious, but
turns out we, like, we're
rolling out to a bunch of
people and everybody were so
upset when I turned it off.
They were like,
"What do you mean?
Like, we want to test".
I'm like, okay.
We didn't expect to get
so much feedback, positive
feedback and so much push
to like, to roll out as
fast as possible to people.
So that was pretty funny.
And the fun thing we're now
doing was, was the captions.
Cause we now have all
the videos with captions
automatically.
We're, we're working on
Nick: automatic descriptions
and titles based on
those captions files.
So also huge on log there for
potential simplification of
workflow for the creators.
Matt: So are you running,
like, are you like
getting the captions?
So webhook comes
back video ready.
Are you like taking that
captions file and then
running it through, like,
an LLM to get, you know,
descriptions and titles?
Oh man, that's so cool.
Nick: Yeah.
So we're, we're getting
titles, descriptions, and in
the future, we want to figure
out how to, to put it in the
right category as well and
do other stuff that's, well,
will fit the, the creator
use case plus, the way how
creator communicate based
on previous history of like
titles and descriptions and
their style of communication
with the audience.
So creators are by design
multi-SKU businesses.
They never run
just one business.
They have like
multiple businesses.
So our goal for them to
create the business that
actually recurring, not
like one, one time hustle.
Which most of creators
are doing, and that's
allowing them to just spend
as least time on it as
possible to have like as
many helpful automations.
Matt: Yeah.
Big transition for you
again, to, to enter
into the UGC space.
I feel like you're one of
the few proper experts in
building OTT platforms.
What would you call out as
your feedback or suggestions
or, you know, what would
you, what would you say
to somebody else who is
like entering the space?
Nick: I think it's.
It's also like a part of
a classic conversation of
build versus buy, right?
One particular
thing was video.
It's expensive until
you get volume.
Right?
And if you also need to spend
a bunch of time and resources
to build it from scratch,
it's borderline, not smart.
If, if you will take that.
So this is where I feel like
the, if you building MVP or
you trying to get it first
time, the more you can just.
skip in terms of the building
process, the better it is.
And for us, we just didn't
make that mistake because we
were working with Mux, so for
us, it was a no brainer move.
But I can see like someone
would be like, "Okay, I will
just encode 360p or 480p and
it would be enough for mobile
device and we'll store it
somewhere and then deliver
it" and then you're getting
into a nightmare of problems
that you would never expect to
have, especially when devices
are not, are always the same.
Like it's, it's, it's fun
for, to build for iOS.
Right?
But then there's a bunch
of other devices where
you hitting unexpected
problems and oh, what you
do with Chromecasting.
Now, if you just don't go
and try to solve all of
those issues right away,
I think it's a good win.
Make sense to buy initially,
even if you like end up
building your own, because
I don't know, you have some
really weird requirement,
which I feel like we have
a really weird requirement.
We have Roku, we have
Android TVs and for us, Mux
work out extremely well.
So how more weird than
that you need to be?
It's really hard to say.
But, this is where I feel
using APIs that already exist
there is a huge plus and,
and will, will save you not a
lot, not only a lot of time,
it will save you a lot of
money, especially with the
keep up because once your
real users will start using
it, you will uncover a lot
of problems with, with video
delivery and with different
per platform, unique issues
and challenges that's already
solved for you when you're
using Mux, for example.
And right now, like if, if
we coming to seven years ago,
that would be a fun flashback.
When we starting out,
we had our own Woza
server in Virginia.
That was the worst
time in my life.
Cause I barely slept because
I was so worried that
something will go wrong.
It was so bad that the
moment we switched to Mux,
I start to sleep well.
So if Oura Ring will will
be there back then, you will
probably see a meaningful
difference in my sleep
quality the moment we
switched to Mux, because,
yeah, it was a nightmare.
And and we had the background
in the web hosting, so
it was at least something
we knew how to do.
And for people who never
did it, unless you want, you
want really hard challenge
this that you will have a
poor ROI on you can do it,
but it will be just for fun.
There's way more interesting
ways to have fun than
building your own video
infrastructure from scratch
for UGC content when there's
something that exists.
And yet again, the problem
it's, it's, it's only
get cheaper with scale.
So if you will start building
it on your own, it will never
be on the price comparison
as good as you will just
start with Mux right there.
And I think that's
another thing that
people just forgetting.
Because, like, delivering
video is expensive.
The only way to make it less
expensive is just deliver
a hell of a lot of them
right away, which no one
can do from the day one.
Matt: We should, we should
see if we can pull up your
old sleep data, like if
you had an Apple watch back
then, that'd be, that's
perfect for like a, we should
put that on the website.
Nick's, Nick's sleep
cycles, pre-Mux,
post-Mux, type situation.
It's a dream to have an early
customer like y'all that
we've, I've been able to work
with for, you know, from the
very beginnings of the product
and scale and mature together
as businesses and watching,
watching y'all, y'all grow.
And I think this is the
coolest part about working
at Mux is being able to
watch somebody like you
build the things that matter
for, for your customers.
So selfishly, this has
been a, this has been
a dream conversation.
But yeah, thanks.
Thanks a lot, Nick.
Really, really appreciate
your time today.
Nick: And, and thanks for
Mux because without Mux,
we would not allow to focus
on, on what creators need.
We would focus on
infrastructure.
Matt: Yes.
And another tagline.
Nick: Back to the
days of Wowza and my
poor sleep quality.