(gentle music)
What's game changing about WebAssembly
is that it brings the performance of native applications
to the web in a way that's completly secure,
yet enables a full functionality
you expect from games, major applications,
the entire spectrum of software you can run on a computer.
The main problem that WebAssembly is aiming to solve
is that while we have JavaScript on the web,
which is a great language,
it wasn't really designed to be fast
to start up a very large application.
WebAssembly is just built as a binary format.
It's very compact to download,
and also very efficient to compile and execute.
WebAssembly should give us big speed ups in two main areas.
The first is in start up speed.
We've already seen application start 2x or more faster,
and there's a whole bunch of optimizations coming
that will drive that even further,
allowing huge applications to load up quickly,
even on mobile devices.
In addition, we should get significant benefits
and throughput too.
That is the code, once it's compiled, will run faster.
WebAssembly fills the gap of high performance execution
without needing to use any kind of plug-ins.
So now with WebAssembly, we can have, you know,
real 64-bit integer data types.
The other thing is more control over memory management
in general, something we couldn't do before.
You're gonna see a lot more smooth performance
throughout the life of the application, as you use it
without kind of the stutters and janks that can happen
due to different JIT or garbage collection heuristics.
WebAssembly now means that developers of all types
can bring their native C applications, and C++ applications
to the Web and achieve full performance
and the full set of capabilities that they have
running native on Windows or Mac just in a web browser,
which is revolutionary, because it means
now users can just go to a webpage
and start using the app.
No download, no installation, no security risk.
It's a really revolutionary approach.
You click on a URL, you get this huge scene,
you're straight into your immersive experience,
and you get close to your native performance,
but portable, across platforms using a browser.
That's, that's awesome.
Being able to write your code in one language,
and then port it to all the platforms,
that's, you know, definitely huge engineering advantages.
We have a format, which we can use as a compilation target
for C++ or other languages.
That's one of the exciting directions.
We just keep adding to the feature set of WebAssembly,
until we're able to efficiently capture
all the major languages.
The idea of having a universal compile target
that could eventually unlock the ability
for any language to target it.
Well, what's more open than that?
Being able to run natively on the Web
in Javascript, using WebGL, as we do now,
a lot of people wouldn't have believed a few years ago.
Frankly, when I started on this path
of trying to compile code to the Web,
I actually didn't even know if it could work.
I thought it was just completely nuts.
The coolest reaction was, we were at Epic porting
their Citadel demo,
and you know, we were there for one week,
and on the very last day in the morning
we got it compiled as asm.js.
We had it working in Javascript,
but using the new asm.js path,
we were able to get it working that morning,
and it was running super smoothly, smoother than,
anything we'd seen before on any browser.
And so, you know, there was a great moment
with hugging and high fiving.
Tim Sweeney had been notified that, "Oh my goodness,"
his engine was running in a web browser
and getting pretty good performance,
and so, he was standing there looking at it.
You know, overnight, we'd gone from kind of
what you might have expected, which was kind of stuttery,
you know, like, "Oh, it's making it."
to butter smooth.
I remember him saying something to the effect of like,
"Well, I thought this would be possible, but not so soon."
This is an amazing development, a great development
for the future of the Web
and Mozilla has been at the core of it.
Other types of applications, they often,
they have a moderately fixed workload.
In games, generally
if you're able to provide 20% more of performance,
games generally can translate that to 20% more content.
We started to work with those groups,
knowing that they would have
the most punishing requirements.
And so, what this does is give us a lot of confidence,
that when people start to use it in other use cases,
that aren't nearly as punishing as the Games industry,
they're gonna have a lot of success at it.
And for us with the Stingray engine,
not only is it a cutting edge game engine,
but at Autodesk we use Stingray
to create immersive experiences
for architects, for mechanical engineers.
That means that it will apply, right,
this technology is transferrable to all the markets
that we serve.
You know, this entire train of development,
that began with asm.js and now has led to WebAssembly
is to me, the ultimate culmination
of web development capabilities.
It's a new step in accessibility.
It's beyond anything achieved previously.
I guess you could say Mozilla has only the Web.
We're seeing more and more platforms
move towards walled gardens
and I see the Web being one of the remaining,
or maybe the only remaining space,
where there's no entity controlling
what can be published or not,
and I think that's very important to maintain.
We want the Web to be able to provide all the things
that people need, so I think that sort of forced us
to take a hard look, and say,
"Well, what needs to be done to allow this?"
WebAssembly is one of the first times we've seen
all four browsers sit down at the table
from the beginning of a standard.
The Web only works because a bunch of different companies,
who make browsers and operating systems,
cooperate together to define its future.
When some of these companies are cutthroat competitors,
it's hard for them to work together directly,
and Mozilla's played an amazing role
in facilitating cooperation there.
You know at Mozilla, really opening up the web platform
is what we're all about and keeping it that way.
And we're just, you know, inviting a whole new slew
of skill sets to the Web in a way
that just wasn't possible before.
So, for us, that's a real step forward for the Web.
(gentle music)