Turbo Morph & ActiveRecord Encryption with Jorge Manrubia
Nov 10, 2023
auto_awesome
Jorge Manrubia, Lead Programmer at 37signals, discusses his background, role at 37signals, and contributions to open source projects. He shares insights on learning from rejection in job interviews. Topics include Active Record Encryption, Console1984, Turbo development, challenges of using Turbo Streams for complex updates, and the benefits of using libraries like morphdom or Idiomorph for simplifying the update process. Jorge also gives a glimpse into the upcoming release of Turbo 8.
The use of morphing in Turbo 8 enhances user interface fidelity in calendar applications, providing smoother page updates and a seamless user experience.
Jorge Manruvia highlights the benefits and trade-offs of using the Morph DOM library, such as improved responsiveness and ease of matching nodes with the idiomorph library, while addressing challenges like preserving screen state and maintaining focus on form controls.
Deep dives
Morphing for smoother page updates in Turbo 8
The podcast episode discusses the use of morphing for smoother page updates in Turbo 8. The guest, Jorge Manruvia, explains that they encountered challenges with complex rendering in their calendar feature, which led them to explore alternatives to Turbo Streams. After experimenting with the Morph DOM library, they achieved significant improvements in responsiveness when updating pages with new content. They also address potential issues with page refreshes, pagination, maintaining screen state, and stimulus controllers. Overall, the use of morphing enhances the default Turbo Drive behavior and offers a seamless user experience.
The Benefits and Trade-offs of Using Morph DOM
Jorge Manruvia highlights the benefits and trade-offs of using Morph DOM in their application. They mention that Morph DOM can be picky about DOM IDs, but they found a solution by using the idiomorph library, which offers a more relaxed algorithm for matching nodes. They also address challenges such as preserving screen state during page refreshes and maintaining focus on form controls. While there may be potential issues with browser extensions or specific scenarios, they are optimistic and have tested Morph DOM successfully in realistic scenarios, providing a seamless user experience.
Upcoming Turbo 8 Release
Turbo 8, which incorporates the Morphing feature, does not have a specific release date yet. The team is currently working on pull requests and seeking feedback from the community. Interested users can visit the GitHub repository to try out the feature and provide feedback. Additionally, an article on dev.setsvincinac.com offers a detailed explanation of the approach. Although there is no release date set, the merge of the pull requests is expected in the coming weeks, with Turbo 8 following shortly after.
Connect with Jorge Manruvia
Listeners who wish to connect with Jorge Manruvia can visit his website forchamandruvia.com or reach out to him via email at jorge@hey.com. He welcomes email discussions and is excited to engage with others in the community.
In this episode, Jason andChris welcome guest, Jorge Manrubia, a Lead Programmer at 37signals in Spain known for his contributions to Ruby on Rails. Today, Jorge shares insights into his background, role at 37signals, and contributions to open source projects. He discusses his experiences, including the importance of learning from rejection and the value of experience in job interviews. The conversation dives into Jorge’s work on Active Record Encryption and Console1984, and Jorge touches on the development of Turbo, with a particular focus on enhancing user interface fidelity in calendar applications using morphing. Also, they discuss the challenges of using Turbo Streams for complex updates and the benefits of using libraries like morphdom or Idiomorph for simplifying the update process. Jorge also gives us a glimpse into the upcoming release of Turbo 8, so press download to find out 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.