Speakers: Dennis Snell

  • Dennis Snell: Help! There’s Too Much Spaghetti in My APIs

    WordCamp Albuquerque 2018Speaker: Dennis Snell

    February 26, 2018 — In this talk we’re specifically going to look at how a combination of REST principles and modeling our processes and dialogs as state machines can dramatically simplify our client applications and API exchanges.

    Why would you want to hear more about this subject? As we all start working more in the browser and communicate back to WordPress via API calls it’s easy for the complexity to start stacking up and overwhelming us! In fact, API design isn’t necessarily intuitive and the web is full of noisy advice.

    We’ll use an example Gutenberg plugin to walk through a very common scenario dealing with interactive processes and we’ll see how a few design principles can save us the headaches of race conditions, code bloat, and changing requirements. We’ll examine how “state machines” can guide us and simplify complex business logic and we’ll explore how “HATEOAS” and REST pair with these machines to simplify complex application and UI logic.

    Whether you are just starting to write your own APIs and API clients or you have been churning them out for years I invite you to join this design session; we’ll stay away from nitty-gritty code details and instead focus on general principles we can apply in any coding environment.

    It’s my hope that after participating in this session you will be able to confidently work with: indicating loading states; testing and debugging forms, processes, and uploads; untangle complicated business rules dealing with things like authentication, limiting, validation, and triggering related activity; and end up with well documented means of doing so.

    Presentation Slides »

  • Dennis Snell: Playing Well With Others – Writing Solid Code in Large Community Projects

    WordCamp US 2015Speaker: Dennis Snell

    December 11, 2015 — Large community projects introduce constraints on how we program. Our biggest assets aren’t the hardware we run on or the language we use – it’s each other. How can we code in ways that respect each other and capitalize on that “asset” of the contributor-base? In this talk Dennis will discuss some techniques and patterns that lead towards fewer problems and improve a project’s overall health in these and any environments.