Things We Learned: Seventh Edition
Forget diamonds. Rubies are forever. 😎 
 
Last week we deployed a Rails 7 upgrade. I've been working on this app for 10 years. The codebase on this project was born 14 years, 3 months and 30 days ago. It began life at Rails 2.1. It's seen just about every JS framework come and go.
 
Here's the main ingredient for long-term success with a Rails application: minimize your dependencies. Stick to the vanilla Rails stack as long as you can. It's easy to pull in a gem to solve a problem right now. You don't know how long it'll be maintained. It gets deeper in to the code and harder to remove. That equals time and money long term.
 
In another recent project we built a custom shipping app to integrate with Shopify Plus. Within 30 days we were able to develop and deploy the app, enabling custom shipping rules and the ability to easily add new carriers (which also means a better customer experience).
 
Read more of what's new as well as our latest "Things We Learned" round-up below.

What's new

Things we learned

Rubies are forever

From Stefan: A router outside of Rails - I find it very interesting as I don't like Roda too much, the Sinatra router is also not the greatest and this looks refreshing. I think it'd need some polish for me to use it on a small project, but it's pretty cool.

From Steve: Rails 7.1 will have an /up route by default making it easy for health check monitoring to determine if the app is up. If it's down it will provide information on what the issues are. 

From Stefan: I genuinely like that there are Railsey alternatives to DeviseEasy to understand, part of the codebase, etc. Only downside I see; you have to handle security updates yourself. 

From Chris: A nifty app for viewing Rails CHANGELOG. It links back to the PRs.

From Steve: Check this out: 

From Lauren: Need to grab a full-page screenshot of a webpage? Open up the Web Inspector in Safari, right click on the HTML element, then select "Capture Screenshot" to get what you need without having to cobble together several screenshots. It's not perfect, but it's a nice out-of-the-box tool.

Easy screenshot

From Steve: Design tip - you can now specify where a section of a Shopify theme can be used.

From Andrew: UI vs. UX : What's the Difference? UI refers to the screens, buttons, toggles, icons, and other visual elements that you interact with when using a website, app, or other electronic device. UX refers to the entire interaction you have with a product, including how you feel about the interaction.