Kent Bye (Voices of VR) Profile picture
Feb 10, 2020 • 52 tweets • 65 min read • Read on X
THREAD 👇
The #WebAssembly Summit livestream is starting now, and I'll be covering it remotely.
It's the 4th language of the Web, & the biggest architectural shift since JavaScript.
Schedule: webassembly-summit.org/schedule/
Stream:
Opening Summit intros from @ag_dubs, @DasSurma

#WebAssembly Discord
discordapp.com/invite/nsYZMZw

Upcoming #WebAssembly Proposals
bigwebquiz.com

Starting now: #WebAssembly evangelist & code cartoonist @linclark talk on "WebAssembly: Building a new kind of ecosystem"
Another Web Assembly Summit organizer is @torch2424.

@linclark talking about security with #webassembly.
Recapping many points she made in this talk:

Malicious code via modular code on NPM dependencies has been one of the biggest attack vectors.
#wasmsummit is the official hashtag for this event to follow along.
@linclark of Mozilla & @codecartoons does a great job of visually telling the story of #webassembly.
Here's another great talk that gives an introductory overview.
More context in thread👇
The security architecture of #webassembly aims to fix some of the biggest threat vectors of the existing web.
It takes a container/VM type of approach with:
1. Sandboxing
2. Memory model
3. Interface types
4. WebAssembly System Interface
5. WebAssembly nanoprocesses
#wasmsummit ImageImageImageImage
On Nov 11, 2019, the Bytecode Alliance (@bytecodeallies) was announced which is a "new industry partnership coming together to forge WebAssembly’s outside-the-browser future by collaborating on implementing standards and proposing new ones."
hacks.mozilla.org/2019/11/announ… ImageImage
.@linclark ends her #wasmsummit opening keynote with a quote from #webassembly co-creator @luke_wagner on how this tech represents new greenfield opportunities to create secure-by-default foundations for native development that are portable & scalable, but needs collaboration. Image
Emscripten creator @kripken giving a low-level #wasmsummit talk on "Shipping Tiny WebAssembly Builds" on best practices in "generating small WebAssembly builds when using popular toolchains like LLVM, Emscripten, Rust, Go, & AssemblyScript."
wasm-shrink:
webassembly.github.io/binaryen/shrin… ImageImage
Here's the slides for @kripken's #wasmsummit talk on "Shipping Tiny WebAssembly Builds," which goes into way a lot of wonky optimization details.
#webassembly offers smaller code size, which means faster downloads, faster startup, & less mobile data usage.
docs.google.com/presentation/d…
Co-organizer @ag_dubs starting a talk on "Why the #wasmsummit Website isn't written in Wasm, and what that means for the future of Wasm."
Or why #webassembly is not designed to kill JavaScript, but if were, then this is what would need to happen. Image
This @ag_dubs talk is unpacking how tell the story of what #webassembly is, what problems it solves & why it's important.
She did a series of marketing resarch Twitter surveys to discover the conceptual models of what WASM wants: fast, sandboxed, universal target, multi-language ImageImageImageImage
There's a paradigm shift happening in the software architecture of the web, & @ag_dubs is bringing out her philosophical background to reflect on different tradeoffs & affordances of the variety of programming languages & the conceptual models & paradigms they've fostered. Image
.@ag_dubs going over an abbreviated history of programming languages in the context of the evolution of the web, the browser wars, & increasing speed of computation. Innovation comes in waves (especially 1995), but there seems to be a recent upturn of new approaches. #wasmsummit ImageImageImageImage
.@ag_dubs links to the design goals & values of #WebAssembly spec, & points to the HTML5 spec that preferences:
Users > Authors > Implementors > Theoretical Purity:
More on the spec & design values:
webassembly.github.io/spec/core/intr…
#wasmsummit ImageImageImage
.@ag_dubs says the developer experience & tooling for #WebAssembly is still in the very early days & it's still too painful for most developers to get into yet. Lots of UX yet to be done. Cites usability evolution of C++ & more tooling needed to grow dev ecosystem. #wasmsummit ImageImageImageImage
.@ag_dubs ends #wasmsummit talk with a Super Mario metaphor of the difference between Fire Flowers (representing tech for tech's sake) versus Fire Mario (focus on empowering users via tech to solve new problems).
#WebAssembly community needs to focus on empowerment of new folks. ImageImageImage
In between #wasmsummit sessions, attendees are voting on a number of different #webassembly working group proposals for how to expand the spec & features of the language.
So far Single instruction, multiple data (SIMD) & Interface Types have won.
github.com/WebAssembly/pr…
The next #wasmsummit talk was by Apple's @tadeuzagallo, which covers JavaScriptCore's new #WebAssembly interpreter.
JavaScriptCore "provides the ability to evaluate JavaScript programs from within Swift, Objective-C, and C-based apps" meaning WASM can be executed in iOS apps(!) Image
@tadeuzagallo Rewatching @ag_dubs talk, she referenced the "Bringing the Web up to Speed with WebAssembly" white paper presented at the ACM @sigplan Conference on Programming Language Design & Implementation (#PLDI2017) in Barcelona on Mon 19 Jun 2017 14:00.
Video:
pldi17.sigplan.org/details/pldi-2…
Here's the PDF of the "Bringing the Web up to Speed with #WebAssembly" paper:
cs.tufts.edu/~nr/cs257/arch…

It's pretty amazing how fast this collaboration between Google, Apple, Mozilla, & Microsoft went from idea to implemention to official W3C spec.

Video:
ImageImageImage
Next up at #wasmsummit is @salomonsen_p talking about creating a sequencer & synthesizer in #WebAssembly. Pretty cool!
He spent the 1st part of his talk doing live performance & live coding of synthesized music.
Here's a link to a sample song & interface:
petersalomonsen.com/webassemblymus… Image
The #WebAssembly synthesizer by @salomonsen_p uses @AssemblyScript to dynamically compile new wasm in response to either live coding or MIDI input for rapid, iterative development in the browser. He can also program the synthesized instruments in the fly as well. 🤯 #wasmsummit ImageImageImageImage
@salomonsen_p @AssemblyScript Here are the slides to @salomonsen_p's #wasmsummit talk on his #WebAssembly music synthesizer with the direct link to the main theme song.
I really love the sound of the chiptune, 8-bit, or more complex digital music that can synthesized in the browser.
petersalomonsen.com/articles/webas…
Here's @salomonsen_p's sources on GitHub, which contains the #WebAssembly music experiment + the previous JavaScript music projects for MIDI synths & 4klang.
After this talk, I wonder if wasm could be a new cross-platform audio format.
Also FMOD & MIDI 2?
github.com/petersalomonse…
Next #wasmsummit talk is @beriberikix talking about #WebAssembly & Internet of Things (#IoT) & embedded systems, which are constrained by power, processing power, memory, storage, bandwidth, low cost, power efficient. Also has a specific development tool ecosystem. ImageImageImageImage
#WebAssembly was designed to work in non-web embeddings, especially in #IoT apps:
webassembly.org/docs/non-web/
Embedded apps often use C++.
Atwood's Law & JavaScript's high-level of abstraction has increased demand for JS, but @beriberikix decided to go with wasm as intermediary. ImageImageImage
.@beriberikix cited this reference list of #WebAssembly runtimes at #wasmsummit.
github.com/appcypher/awes…

He also cited the @bytecodeallies' wasm micro runtime:
github.com/bytecodeallian… ImageImage
.@beriberikix showed a demo of WAMR + Unikraft, which is a "comprehensive toolchain & library OS which construct unikernels which are highly specialized software bundles that consist of a target application along with just the OS & libraries features it needs to run."
#wasmsummit ImageImageImageImage
There's now a second embedded runtime for #WebAssembly called @wasm3_engine focused on speed. @beriberikix showed an ESP32 (WiFi Arduino) + wasm3 demo on Rust, TinyGo, & AssemblyScript.
So wasm3 is a multi-language platform that runs on embedded devices.
github.com/wasm3/wasm3 ImageImageImage
.@beriberikix says most IoT protocols have C implementions, but need WASM ports.
MQTT (MQ Telemetry Transport)
OPC (Open Platform Communications)
CAN Bus (Controller Area Network)
CoAP (Constrained Application Protocol)
Weave
Lightweight M2M
BACnet (Building Automation & Control) ImageImage
Most developer tools for embedded systems are not written in #WebAssembly yet & so devs have to wrap the existing non-wasm tools for updating firmware, debugging, & testing.
Lots of developer experience work to be done in fleshing out the wasm-native, feature parity tool pipeline Image
Here's the @wasm3_engine demo developed by @alvaroviebrantz & shown during @beriberikix's #wasmsummit talk on IoT.
#WebAssembly is being touted as a "universal language" that developers have been waiting for.
This modular interoperability is revolutionary.
.@KevinHoffman's #wasmsummit talk is on "Building a Containerless Future with WebAssembly."
Showing some demos running #WebAssembly modules as services on the cloud without Linux containers.
Slides are here:
slides.com/autodidaddict/… ImageImageImageImage
Wrapping my mind around the implications of #webassembly code running in the browser, server/cloud, and/or embedded IoT devices.
@KevinHoffman demoing containerless, cloud-native services in wasm being live-swapped with zero downtime without having to provision new resources(!)🤯 ImageImageImageImage
"WebAssembly Secure Capabilities Connector is a #WebAssembly host runtime that dynamically & securely binds WebAssembly modules to capability providers."
@KevinHoffman points to this site for more info for running WASM on servers:
wascc.dev
"#WebAssembly is the future of distributed computing." -@KevinHoffman

#wasmsummit demo links:
wat2wasm
webassembly.github.io/wabt/demo/wat2…

WebAssembly Procedure Calls
medium.com/@KevinHoffman/…
github.com/wapc

WebAssembly in the Cloud
wascc.dev
github.com/wascc ImageImage
.@brionv's #wasmsummit talk is on how Wikipedia turned to #WebAssembly as a <video> polyfill because video codec patents are a pain for folks committed to fully open source stacks. ogv.js implements Ogg Vorbis/Opus/Theora audio & WebM VP8/VP9/AV1 video.
github.com/brion/ogv.js/ ImageImageImageImage
#WebAssembly allows Wikipedia to embed video using patent-free codecs across a wide range of older browsers. 2nd half of @brionv's #wasmsummit talk on optimization journey:
1) JavaScript to wasm
2) Threading across multiple CPU cores
3) Single Instruction, Multiple Data (SIMD) ImageImageImageImage
This @brionv page has a number of ogv.js #WebAssembly demos with different Codec settings & optimizations.
Down below are his #wasmsummit takeaways from his long optimization journey.
brionv.com/misc/ogv.js/de… Image
.@binjimint's closing #wasmsummit keynote of goes through the early history & evolution of #WebAssembly.
Started as sexpr-wasm on Aug 31, 2015 as a two-week bet. Eventually renamed to wabt in Sep 2016, & Ben has been working on it for 4.5 years now. ImageImageImageImage
The high-level goals for #WebAssembly were developed in April 2015. @binjimint continuing to tell the evolution & history of wasm as the closing talk of #wasmsummit. ImageImageImageImage
By March 2017, #WebAssembly reached browser concensus had four browsers that had a MVP in 2 years, which was unheard of.
November 2017 proposals had lots of Ability, & ideas of Producers, Interior, & Embedded needed collaboration (except for garbage collection & host bindings). ImageImageImageImage
.@binjimint walking through the open problems of #WebAssembly garbage collection, which has to live in linear memory that's needs to be separated from local variables.
Also Host Bindings where JavaScript is the slow interface with WASM.
#wasmsummit ImageImageImage
More #WebAssembly history in @binjimint's #wasmsummit talk.
By June 2018, more progress on garbage collection, reference types, & started to see Wasm C API to make the API useful beyond the web & make VMs swappable. ImageImageImageImage
Continued #WebAssembly history by @binjimint's #wasmsummit talk. By August 2019, typed function references, type imports, interface types, & WASI (WebAssembly Interface Types). ImageImageImageImage
.@binjimint's pointed to these two WASI references/primers from @linclark:

"WebAssembly Interface Types: Interoperate with All the Things!"
hacks.mozilla.org/2019/08/webass…

"Standardizing WASI: A system interface to run WebAssembly outside the web"
hacks.mozilla.org/2019/03/standa…
#wasmsummit ImageImage
WASI is all about interoperating with the outside world in a sandboxed way.
The WASI APIs will evolve over time, & @binjimint points out that WASI's high-level goals mirrors the original #WebAssembly goals.
#wasmsummit Image
Now up to today's proposals, February 2020
Reference Types at phase 3, close to open standard.
Garbage collection: Single Open Intermediate Language initiative are academics collaborating with #WebAssembly.
The Wasm C API is implemented in V8, Wabt, & Wasmtime.
WASI has own org ImageImage
The #WebAssembly Interface Types proposal "describes high-level values (like strings, sequences, records and variants) without committing to a single memory representation or sharing scheme."
This proposal won the popular vote at #wasmsummit
Explainer:
github.com/WebAssembly/in… ImageImage
Here's what @binjimint sees as the future abilities, languages, interop features, & distribution contexts for #WebAssembly.

Links for more info:
w3.org/community/weba…
github.com/WebAssembly/me…
github.com/WebAssembly/pr…
hacks.mozilla.org/category/code-…
#wasmsummit ImageImage
Group photo of #wasmsummit speakers at historic gathering

#WebAssembly represents one of the biggest architectural shifts in creating cross-platform, interoperable services that span browsers, containerless, centralized cloud, & decentralized, serverless, edge compute devices. Image
I wasn't able to attend the summit, but I really wanted to cover it remotely live to better understand some of the deep paradigm shifts #WebAssembly represents.

It's pretty profound.

If you find this coverage valuable, please consider supporting it here:
patreon.com/voicesofvr

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Kent Bye (Voices of VR)

Kent Bye (Voices of VR) Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @kentbye

Oct 11, 2022
1/ THREAD covering @Meta's #MetaConnect, which is starting now.

I'll be covering all of the announcements, watching all new videos, & reading all of their press releases. They usually dump a ton of new info

Follow here: facebook.com/events/6307993…
Or here:
2/ Zuckerberg saying we're going to be taking another big step forward with VR after walking through a history of VR tech since the Oculus acquisition.
3/ @boztank talking about some ecosystem stats for VR apps.
Philosophically they want to make ecosystem more open & how some apps have onboarded via the App Lab. Will push towards openness.
Read 119 tweets
Sep 22, 2022
1/ @PICOXR officially announced the Pico 4 today.

Pico was acquired by Bytedance (aka @tiktok_us) & they’re taking on Meta as the best standalone VR competitor to the Quest (but only in Europe & Asia to start).

Thread 🧵👇 to digest the livestream & news
ImageImageImageImage
2/ My sources of @PICOXR news are the official livestream👆

@CasandChary have the most comprehensive & digest & hands on:


@vr_oasis did a hands-on analysis


@RtoVR has the best specs breakdown here:
roadtovr.com/pico-4-announc… Image
3/ Here's 1st of 4 trailers @PICOXR showed during their Pico 4 announcement livestream.

Pico 4 has color, mixed reality passthrough while Meta is expected to launch similar features with Meta Quest Pro but at a higher price point.
Pico 4 Pro details to be announced at AWE Lisbon
Read 33 tweets
Sep 14, 2022
1/ Starting now is the #ARVRPolicyConf22 led by @XRAssociation & @ITIFdc.


I'll be tuning in & covering the talks in thread🧵👇

I expect the framing will be business-friendly as XRA is a trade organization representing Meta, Unity, MSFT, Sony, & Google.
2/ @XRAssociation's Liz Hyman opens the #ARVRPolicyConf22 & mentions they just launch a 4-page #HowXRWorks infographic yesterday called “Into the Digital World: XRA’s Guide to Immersive Technology”
xra.org/howxrworks/
3/ Reality Caucus co-chair @repdarrellissa gives the opening keynote at #ARVRPolicyConf22.
delbene.house.gov/news/documents…

Says that they were able to include instructions for immersive technology for the National Science Foundation & insert AI language into the THUD bill.
Read 70 tweets
Sep 13, 2022
1/ I recorded an epic recap & reviews of the 30 immersive stories in competition at #VeniceImmersive with @vrgeschichten.

We chat about each experience for ~5 min, & so it's a comprehensive break down of this year's selection.
voicesofvr.com/1121-venice-im…

20+ interviews coming soon Image
2/ I'm about to release other 20 podcasts from #VeniceImmersive, and here's a sneak peak of the 26 episodes, which total just over 24 hours worth of coverage. Image
3/ Here's the Twitter thread of my live coverage from #VeniceImmersive, which starts with an interview with co-curators Liz Rosenthal and Michel Reilhac.
voicesofvr.com/1119-venice-im…
Read 28 tweets
Aug 29, 2022
1/ Venice Immersive features 75 immersive stories.
I got a preview of highlights by co-curators @LizRosenthal & @michelreilhac (includes links to 30+ #VRChat experiences)
voicesofvr.com/1119-venice-im…

I'll be onsite at #VeniceImmersive covering the fest & this is will be my THREAD🧵👇 Image
2/ There will be 10 hours of different #VRChat world hops during #VeniceImmersive spanning 30 different worlds.
The guided tours are only available on site, but the worlds are public.
I link to all of the @VRChat worlds by genre at the bottom of this post:
voicesofvr.com/1119-venice-im… Image
3/ The video below has trailers for the 30+ different #VRChat worlds featured in the #VeniceImmersive World Gallery Selection.

Find links to these worlds at the bottom of this post: voicesofvr.com/1119-venice-im…

VIDEO:
Read 46 tweets
Aug 23, 2022
Meta is rolling out their Meta accounts today.

They’re introducing a follower model option, which will be interesting to see how that works with a medium that is primarily synchronous.

Blog overview
oculus.com/blog/getting-s…

You can still use Oculus acct on Quest 1 until 2023. ImageImage
2/ I migrated my account and made it “Open to everyone” to follow + “Anyone can see this profile.”

Friends are now called “Mutuals” and folks who you’d don’t follow but follow you are followers who can track your activities.

See
store.facebook.com/help/accounts/…

store.facebook.com/help/quest/art… ImageImageImageImage
3/ The new language around Mutuals as Friends and “follow requests” is confusing.

A “follow request” should really be named “mutual follow request” as accepting a “follow request” is the same as accepting a friend request.

“Should I let this person follow me?”= friending them. Image
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(