Last week I attended my first All Things Open conference in Raleigh, NC. A month ago I didn’t know this conference existed right down the road from me, and now it may be one of my favorites.
If you’re unaware of it like I was, All Things Open is a conference focused on open source and open technology, billing itself as “the largest open technology event on the east coast”. I’m unclear as to how long the conference has been going, but rumor has it (as their Twitter account would imply) at least 6 or 7 years. It really shows how out of the non-Drupal conference loop I am that I missed this great conference happening for so long in my own backyard.
Off the Island
Being such a large conference I was at first overwhelmed by the amount of content. From massive theaters to more intimate settings, they had roughly 22 rooms with continuous presentations for two straight days. It was an exercise of my ability to focus just to take the time to read through all of the sessions I may be interested in. Ultimately, I found myself in the Front-End Engineering room for most of the conference. In just one room I was able to see a wide variety of topics that interested me.
Authentication & Authorization
Authstronomy: The Science of Web Authentication was the first session that caught my eye. As a maintainer of an OpenID Connect plugin for WordPress, I was excited to hear experts talk about a topic I am self-taught and very interested in. The session did not disappoint. Kim Maida from Auth0 had an excellent presentation that took us through terminology, described the history of authenticating various services, how (and why) we got to OAuth2, and how authentication tokens are constructed. It was undoubtedly my favorite presentation of my ATO experience.
Resources:
- Authstronomy Slides from All Things Open
- Authstronomy: The Science of Authenticating Angular Apps - Since the presentation from ATO is not available by video, here is a similar presentation Kim gave at an Angular conference. The first 12 minutes are very much like a part of her presentation at ATO, and then becomes specific to Angular.
Automated Testing
Next up was a shorter session on Zero to Eighty: Getting your testing initiative off the line with Nicole Tibaldi. This is another topic that interests me because we’re in the middle of pushing for more automated tests across all of our projects at Hook 42. Whether that is unit, functional, visual regression, etc., we want more coverage.
In the time allowed, Nicole did a great job of presenting both the business case for automated testing and some solid steps for getting a testing initiative going. Here are my take-aways:
- Standardize the testing libraries for a project. For example, decide exactly which assertion library the project uses and stick to it. Don’t bring in multiple approaches to a problem into a single code base.
- Create a shared understanding of testing with good examples. The first tests in a code base should serve as examples for not only how to write tests, but what is expected to be tested. This means that the Lead/Senior/Architect developer on a project should probably write the first tests along with some documentation.
- Enforce coverage. Use a tool that detects coverage, and build a culture of ensuring as much coverage as possible for new code. Also, assign a “Test Captain”. This is the person that is responsible for nudging developers for tests throughout the project. This person demands coverage!
- Start where you are. Rather than getting overwhelmed by looking at how much code does not have coverage, start writing tests for the new stuff today. This can help build momentum. Overtime, fold in more tests for previously untested code.
Performance
I was able to make it to two great performance presentations. The first was a shorter version of Mike Herchel’s great Frontend Web Performance presentation. It was fast and furious, and so full of great information that I continue to learn something new each time. This time I was able to catch a few notes on the “Next Gen Image formats” that Google Lighthouse is always recommending, JavaScript thread blocking, and some asset preload features that aren’t yet supported in all browsers.
Another great presentation on performance was Henri Helvetica’s The Metric System: Making Correct Performance Measurements. In which he discussed the history of website performance metrics (remember Firebug?), the definitions of the metrics we care about today, and how to interpret the scores we receive using various tools. All around this was a very entertaining and informative talk. I hope a video of this talk will surface soon, but I’m not sure what was and wasn’t recorded.
Main Takeaway
I saw another half dozen presentations and each one was excellent in some way. Great speakers, topics, and a welcoming atmosphere made All Things Open really stand out for me. I hope to continue attending this conference each year. Aside from just attending myself, I hope to convince more developers I know to go. In fact, I think a generic non-Drupal conference such as All Things Open would be a great place to send a significant portion of our development team here at Hook 42.
It would be impossible for one person to attend such a large conference and return with a reasonable summary of the topics and events, but I can imagine an immense amount of value in an entire team going. They could divide and conquer, surveying an entire continent of information and bring it home to learn and share with each other.