Remote Ruby

There is no A in JSON

Jason Charnes, Chris Oliver, Andrew Mason Episode 272

In this episode of Remote Ruby, Jason and Chris dive into the complexities of modern
web development, focusing on the challenges and frustrations with rich text editors,
front-end tools, and the intricate balance between server-side and client-side rendering.
Through their experiences, they highlight the evolving landscape of frameworks like
Rails, React, and Turbo, and express the ongoing need for better abstractions and
conceptual compression in JavaScript. They also touch on the struggles specific to
managing OAuth tokens, implementing reusable UI components, and the desire to
simplify development processes while maintaining productivity for small teams. Hit
download now to hear more!

Honeybadger
Honeybadger is an application health monitoring tool built by developers for developers.

Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.


[00:01:34] Chris and Jason talk about software version updates and minor changes in the new beta releases, leading into a discussion on using Action Text and other coding tools. 


[00:03:06] Jason considers switching from Action Text to another system he used at Podia, mentioning the limitations of HTML tag usage in the current system, and there’s a further discussion on software development tools, particularly the need for certain features like public file uploads which were note initially included on some tools.


[00:05:37] They discuss the challenges of maintaining rich text editors and the potential for using other tools or methods to better manage content and attributes. 


[00:07:26] Jason shares his struggles with implementing rich text features on a job board, facing recurring issues due to third-party browser extensions, and frustration with the maintenance and development of these complex tools.


[00:09:47] Chris brings up Editor.js, an open source rich text editor, and they discuss server-side rendering and the challenges of integrating React with server-rendered components, and how caching strategies were implemented to improve performance. 


[00:12:14] There’s a conversation on simplifying development processes, reducing dependencies, and maintaining multiple products with a small team, stressing the importance of efficiency and simplicity in development practices. 


[00:15:14] Chris expresses his grief about the complexities involved in migrations and storing data for rich text features, and the discussion also touches on the nuances of different paid software models, particularly within the context of tech tools like Tiptap.  


[00:16:42] They discuss how software products market themselves with pricing schemes that might appear more advantageous than they are, and they talk about the integration of multiple features into single products, noting how companies like Redactor have combined their offerings into a more expensive package that may not align with all user needs. 


[00:20:15] The conversation shifts to frustrations with OAuth protocol, highlighting the inconsistencies in how refresh tokens are managed across different platforms like Linode and DigitalOcean. Chris discusses the technical debt and complexities involved in managing these tokens.

 

[00:23:52] Chris expresses a deep sense of burnout from having to repeatedly deal with complex software functionalities that do not meet their needs or the needs of their users, and Jason and Chris talk about the need for better tools and frameworks to simplify development.


[00:30:41] Jason considers using Alpine.js for form building due to its similarities to Vue.js but finds it cumbersome due to the heavy amount of code required in the HTML. 


[00:31:36] Chris reflects on the advantages of larger companies like 37signals have in being able to develop their own comprehensive solutions and frameworks due to their resources, which smaller teams cannot afford. 


[00:34:08] Jason and Chris talks about the versioning of React and the challenges in finding a middle ground between full frameworks like React and more minimalistic approaches. 


[00:37:49] Jason shouts out a package that integrates reactivity into Stimulus, similar to Vue.js’s approach, which he finds partially helpful. Chris talks about the practical challenges of implementing dynamic UI changes without constant server trips, which current tools do not adequately address. 


[00:41:58] They conclude with a discussion on the benefits of method overloading and pattern matching in programming languages like Elixir and Ruby. Jason appreciates the backend capabilities of Rails, acknowledging that it effectively handles server-side coding, and Chris notes minor gaps in Rails that could be improved. 


[00:43:58] Jason reflects on how he misses Bootstrap for simplicity and looks forward to exploring Web Awesome for its offering of free components and Chris talks about the  inefficiencies of current front-end development practices. 

People on this episode