Takeaways from JS Nation 2024
Highlights from our trip to the biggest JavaScript conference on the planet.
We just got back from our second conference in Amsterdam, JS Nation. This was a lot more tech focused than recent conferences we have been to (mostly UX) as it was picked out by Josh, our back end powerhouse.
Whilst the experience was still at the front of our minds, we’ve gathered up some highlights from the conference that stood out to us.
10 years of Independent OSS: A Retrospective
Watch the talk
The conference kicked off with a talk from Evan You, the creator of Vue and Vite. It was quite awe inspiring to see how a small hobby project can turn into a huge ecosystem over 10 years, going from a spare bedroom to an international framework used by thousands of companies from startups to enterprises. We do a bunch of Vue work with one of our current clients and have a few moderately popular open-source projects so this talk felt super relatable. You never know where something is going to end up, so build what you love/need.
I left Evan’s talk wondering wether the Vue communities opinions on how all these new tools should work are better than those that came before them and why? Given the track record they have of creating successful OSS projects, maybe they do have some kind of magic formula.
ESLint One For All Made Easy
Watch the talkI’ve found the new ESlint flat file format to be disruptive and controversial, so I came into Anthony Fu’s talk about it feeling indifferent about the changes. Anthony managed to sell me on them by highlighting the benefits that using native module imports brings, such as enabling the new eslint config inspector and the ability to write wrapper functions that have custom settings to easily control which linting rules are enabled for a project.
Like Dan, I hadn’t heard much positive about the new flat file config format, so I went into this expecting a bit of a conference bloodbath, and the packed room further increased my worries.
I was pleasantly surprised to find that it was a super positive talk, and Anthony Fu’s passion and novel usage of ESLint inspired me. I’ve already started converting our own config into a nice new composable config, which will allow us to use the same package across the board, without having to turn on and off a bunch of rules for each project, especially handy for a team like us that works with multiple different front and back end frameworks across clients and projects.
What’s new in Astro
Watch the talkI’ve been keeping a vague eye on Astro as an alternative to Next/Nuxt. I like the way they are trying to keep people in the tools they love for DevEx (React, Vue, Agular, etc), whilst removing JS bloat from the client side by not hydrating non-interactive components.
Astro has been helping to shape the just-released spec for native view transitions, which can give us app-like transitions between pages in multi-page apps, reducing the gap between web and native. I got so excited about this, I actually missed a bunch of the rest of the talk because I had to whip out a laptop and make a prototype to try them out.
Privacy-First Architecture
Watch the talkThis was my favourite talk of the day. Andrey Sitnik shared ideas for a different way to build apps which uses a client side database first then syncs encrypted data updates with the server in the background. This results in a offline app where only the users device has access to the unencrypted data, as opposed to relying on the network to constantly send and receive updates from a server.
Andrey's main focus was on privacy, he showed how it’s more important than ever to keep the users data offline because even seemingly innocent information can expose users by linking the information up to growing data banks that hold people's online activity.
On top of the privacy benefits, this architecture can bring big performance benefits through instant data updates.
The main obstacle at the moment seems to be effort in initial setup and lack of established tooling.
Install nothing: App UIs with Native Browser APIs
Watch the talkScott Tolinski did a great talk going through the shiny new toys that have recently become (mostly) production-ready in browsers.
We’ve been rethinking our approach to web development recently, looking at what is available natively rather than going for the same bloated frameworks and packages. I’m not sure if it was a good or a bad thing, but we were aware of and are currently prototyping components using almost all of the new tools he demoed. It’s always bittersweet when this happens. It’s great to see you are on the right track, but a shame that there wasn’t anything new and unexpected.
I’m still super excited about native modals in top layer, anchoring, popovers, starting styles and all the other bits that were mentioned.
Scott’s talk but it served as a good reminder of all the new browser goodies available to us. One tool that stood out to me which I didn’t know about was the web animations api which was showed off throughout the talk.
It feels like we’re continuing to get more power from the native browser web and it’s worth questioning what we can already do before reaching to install a library.
Web Apps of the Future with Web AI
Watch the talkJason Mayes from Google gave a pretty neat demo of how quickly you can get started using AI Large Language Models using Google's Web AI.
We’ve got a healthy dose of scepticism for AI over here at Etch, it’s an interesting tool, but I’m still not convinced it can save the world. It was certainly inspiring to see the showcase of real-world people using AI for applications beyond the standard creative writing and image generation. It got me fired up to prototype a few ideas. With any new tool, api or technology, it’s good to try a few things out so it’s in the toolbox for that “a-ha” moment when you need it.
I was glad to see that Jason showed actual code and real world applications rather than just more talk about potential of AI. Combining it with the earlier talk from Evan Seaward it got me wondering about the possibilities of a client-side only browser audio to AI powered search experience.
Summary of the day
As the most backendy member of the team, I pushed to get us to a more nerdy developer conference, breaking away from the recent streak of UX and frontend conferences.
The multi-track format looked like it would offer something for nearly every member of the team (Sorry Jim!), and it did not disappoint.
Interestingly, the tracks seemed to be split down the middle between the front and back end, with the Community track sticking to the front and the Residents track focusing on the back, which meant I spent most of the day in there.
There were some really interesting speakers, most of the ones I enjoyed and got the most out of were the more practically orientated talks. It’s always so interesting to hear anyone who is super passionate and knowledgable talk about their interests, practicality be damned. Makes intimidating topics seem inviting.
It was one of the first conferences I’ve been to where I felt I understood enough to get something out of every talk I attended at some level. Pleasantly surprised by how much of it wasn’t completely new information.
Something that really struck me was the breadth of which JavaScript covers, there were some talks that really resonated with work we do on a day-to-day basis and some which felt completely out of our wheelhouse.
The venue was massive! Must be the biggest conference we’ve been to, I liked the touch with the arcade games in the main area and the amount of food options was over and beyond.
Most of the talks went deep on implementation and tooling, I left with more actionable tasks than usual but less overall thoughts about the industry, approaches and the people we’re serving.
As a designer, I decided to opt out of JS Nation. The schedule looked a little too uncomfortable for my visually optimised brain.
I’ve attended frontend conferences before, as I’m keen to stay in the loop on new tools and techniques, but this was the first-time I’ve reached the venue without a ticket.
It felt weird to watch the rest of my colleagues collect their passes and filter into the crowds to grab coffee, and as I walked back to our accommodation (going against the current of incoming attendees) the FOMO kicked in.
At lunch I was back at the venue, sitting outside, trying to look like I should be there. As the team emerged, each person had a different look on their face – the contrast from morning to lunch was so evident – they all looked exhausted!
I’d not realised before, how much energy is required to sit and digest information. My teammates were mentally beaten up!
But this is why conferences are so appealing, you arrive ready to consume brand-new information that opens your eyes, changes your opinion, and gives you ideas.
We all went to the same conference, but each person left with different takeaways, and collectively we’re in a much better place as a team.