Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Ashley Williams Discusses the Future of WebAssembly at the WebAssembly Summit

Ashley Williams Discusses the Future of WebAssembly at the WebAssembly Summit

This item in japanese

Ashley Williams, systems engineer at Cloudflare, presented at WebAssembly Summit her understanding of the things that WebAssembly needs to be successful.

Williams stated her motivation as follows:

This talk is a talk about values. I really want us to think deeply about where we are going. (…) I am motivated by building something that people use. (…) I like to work on technologies that are empowering.

Williams commented on the results of a Twitter poll she conducted, in which she asked about reasons for choosing WebAssembly. The fact that WebAssembly is a compilation target for many languages came first, with the size and speed advantages promoted by WebAssembly coming second, and the remaining two options being at a far distance. Narrowing down on the majority which favored the multi-language compilation target, a subsequent survey singled out two primary motives. On the one hand, some developers mentioned that JavaScript did not satisfy their needs. On the other hand, other developers were attracted by the potential offered by WebAssembly to reuse existing libraries written in other languages.

Williams observed that the dissatisfaction of some developers with JavaScript may originate from the fact that JavaScript has outgrown the original use case it was designed to fulfill. The ubiquity of the web makes it an attractive distribution platform for applications, and this, in turn, pushes a large set of use cases and computations to the web.

A third Twitter poll that Williams conducted revealed that inconsistent or poor JavaScript performance is the first quoted reasons by people taking the survey for saying that JavaScript does not meet their needs, followed by don’t understand/like it as a second reason. Williams, however, contended that performance is not as large of a concern as one would expect and that opening the web up to more source languages seemed to be the more emotional reason why people are using Wasm.

Williams went on to quote the HTML5 specifications’ design principles:

In case of conflict, consider users over authors over implementors over specifiers over theoretical purity.

WebAssembly’s design goals, on the other hand, are stated as follows:

Fast, safe, and portable semantics:

  • Fast: […]
  • Safe: […]
  • Well-defined: […]
  • Hardware-independent: […]
  • Language-independent: […]
  • Platform-independent: […]
  • Open: […]

Efficient and portable representation:

  • Compact: […]
  • Modular: […]
  • Efficient: […]
  • Streamable: […]
  • Parallelizable: […]
  • Portable: […]

Williams argued that some of the stated goals may be coming into conflict with each other and that she would like to see articulated a vision outlining what to do when such conflicts happen:

Prioritization is hard […] but critical. […] We have a lot of audiences and we have a lot of fascinating use cases for WebAssembly and we are lacking a communicated and shared vision about those things.

Williams proceeded to reflect on the fact that a lot of people haven’t tried WebAssembly yet. Williams contended that WebAssembly remained still somewhat intimidating and that the ergonomics of using the language have to be worked on, with an emphasis on tooling. Drawing on the success of Flash and Excel, Williams concluded:

WebAssembly is not usable enough. […] We have massive gaps in developer experience. And my biggest concern is that I don’t think we are currently investing in them. […] I think right now is the time we need to invest in the tools and programs that get WebAssembly into the hands of the people we are making it for. I think we will learn a lot.

The WebAssembly Summit was held in Silicon Valley, on the 10th of February 2020. The WebAssembly Summit is a one-day, single-track conference about all things WebAssembly.

Rate this Article