As I sat down in a half empty room located at Adobe headquarters and began to look around it didn't take long for me to realize how truly privileged I was to be there. I felt humbled. Actually, I felt like an impostor, as if I had infiltrated a secret meeting of sages deciding the fate for something of massive importance. In representation, there were members of TC39, W3C Tag, Angular, Polymer, Ember & Sir Tim Berners-Lee. In fact, I requested a picture with him for posterity but found myself feeling like a humiliated rejected Bieber fan when he declined my request, and asked me to focus on the content. Touchè Mr. Lee. Below, is a summary of that very content. ;-)
The event was started with Daniel Appelquist whom I believe was the organizer of the event. It was to be run barcamp style, however, before the barcamp sessions there were a series of lightning talks.
Yehuda noted that the "don't break the web" requirement means that browser vendors don't have the liberty to "ship and iterate" in the traditional sense. The Extensible Web Manifesto is about providing primitives that allow developers to iterate in user space and eventually merge that progression back into the platform. This enables iteration and mitigates the burden of backward compatibility. It also empowers users to progress the platform. He noted Polymer in particular as providing high-level APIs in userland iteration, meanwhile leveraging that information to drive the platform forward.
Jake started about by lamenting the unfortunate lack of features found in the web platform such as push notifications, offline first, background updates, payments, alarms, geofencing, etc. He then went on to explain a new technology, Service Workers, that solves many of these problems.
Angelina gave a quick overview of Web Components. Namely,
Tab opened by conceding that CSS is by far the least extensible piece of the web platform. He then went over different ideas to open up CSS for developer empowerment. My favorite part was the optimistic and empowering close, "The future of CSS is open for business".
Domenic shared his story about the Promises/A+ specification in which a community born specification is now a platform-wide primitive for thinking about asynchrony. He is now working on a streams specification. I owe Domenic a special bit of gratitude for convincing me to come to this meeting in the first place, thank you, Domenic.
Jeni shared her work on a specification for packaging on the web. Today we optimize our applications using concatenation, however, you can't concatenate ES6 modules due to module scoping. There is also a large amount of work for mitigating requests, sprites or Base64 encoding images, CSS & JS concatenation etc. Packages are an answer to this problem.
Alex proposed the question, how does progress happen? He contended that progress happens outside of the W3C, the W3C stamps that progress and they become standards. Progress happens with:
Progress starts with changing mind and ends with changing behavior. Delivering meaningful progress on the web requires that we ship and use evidence to iterate on the platform.
Anne told a story in which about a decade ago the HTML parser was standardized. Prior to that time browsers implemented HTML in a variety of ways which meant new specifications and standards were unreasonably difficult to agree upon and implement. Once they got behind a standard strategy of parsing HTML a great deal of progress was enabled. That work is leveraged as the underlying primitive for many of the features we are working on today. The point of the story, so far as I understood it, is that progress on the web platform requires a sort of "archaeology" in which you unearth the underlying primitives in our existing systems to propose meaningful ways of moving them forward. He noted a lot of things need some archaeological work done, namely styling form controls and content editing.
All of the above happened in about thirty minutes, it was wonderful. Afterward, we split up into the barcamp sessions in which I attended.
I considered posting my notes about the discussions and topics covered in these sessions but I think that content is best explored in the meeting minutes found on the events lanyrd page.
Learn about the structurally edited language that powers sites built with Webflow.
2 min read »
Configure Netlify to send particular routes to Webflow so that you can selectively serve pages that are designed and hosted on Webflow.
3 min read »
Learn about how programming languages work as we design & implement a little Lisp-like language called JSON Lisp.
14 min read »
JavaScript's call by sharing and getter semantics allow us to implement lazy evaluation for field access.
8 min read »