January 09, 2024
The software world is a wide one, and the amount of choices of technologies to use can be overwhelming for anyone, especially if you’re relatively new to the experience of developing an app or website. My experience in the industry has allowed me to develop a perspective and preferences on what is and isn’t worth using.
Techinical complexity is relatively easy to run into when building a web product. Many engineers have a habit of choosing relatively complex tools (often because we like a challenge) but in most cases, the tried and true tool that’s been around for awhile is the best choice. The quicker we can get something stood up, the sooner we can start learning about what is and isn’t working rather than losing time to technical issues.
Is the tool actively maintained? Are other developers using this tool in significant numbers? If not, this could lead to security and compatibility issues down the road.
The last thing I want to do is commit my clients to an expensive tool, whether it be due to licensing, hosting, or maintenance costs. I like to use open source tools when possible, but also recognize that sometimes a paid tool is the best choice if it offers us the features we need sooner and with less initial effort. This is a tricky thing to balance because developing custom tools will almost always lead to savings in the long term, but require significant investment in the short term. Regardless, it’s a question of communicating the tradeoffs to the client and working together to make the best decision.
Ruby on Rails is a web application framework that has been around since 2004. It’s a mature framework that has been used to build many of the most popular websites on the internet. It’s a great choice for building a web application that requires user accounts, a database, and a content management system. It’s also a great choice for building a custom API that can be used by other applications. Rails is known for being relatively easy and quick to build with given the community’s preference for convention over configuration. It’s also a great choice for building a prototype or MVP (minimum viable product) because of the speed at which you can get something up and running. There are more popular frameworks out there, but the Rails community remains strong and active.
Bottom line: A practical choice for a custom web application that allows for future growth and flexibility.
Shopify (which happens to be build on Rails) is a popular e-commerce platform used by many small to medium sized businesses. The size of the ecosystem bolsters its security and flexibility going forward. The baseline offering is quite easy to use and get up and running without the need of any developer at all. But for those in need of something a bit more bespoke, Shopify allows for custom themes and apps to be built on top of the platform. The architecture of its inventory management can sometimes be a bit limiting and create for complicated workflows to achieve the desired storefront UX, but for the majority of vendors, it’s a reliable and cost effective solution.
Bottom line: A great choice for a small to medium sized business that needs an online store at a resoaonable price.
Siteleaf is a slick admin dashboard for managing content with a Jekyll site. Jekyll is a popular static site generator that allows for the creation of a website without the need for a database. It’s lean and easy to build with but has always lacked a user-friendly admin dashboard. So Siteleaf bridges that gap and offers a great solution for those who want a simple website that can be easily updated by non-technical users. It also includes media library hosting. Unlike other open-source options, Siteleaf does have a monthly cost (in addition to hosting costs) but the ease of use and reliability of the platform make it a great choice for those looking to get something set up relatively quickly.
Bottom line: If your needs don’t requite user accounts or a database and your site is mostly content, Siteleaf is a solid choice.
There are many other pieces to the product development puzzle that may inevitably be needed but might not be as pivotal or crucial to the product’s success. Hosting tools are a perfect example. I’ve had experience with a variety of hosting platforms including Heroku, AWS, Google Cloud/Firebase, Vercel, and Netlify, among others. I’ve also helped install a variety of analytics tools, email marketing tools, third-party APIs like Airtable, Grist, Budibase, Twilio, Eventbrite, Salesforce, and many more. Chances are if there’s a tool critical to your organization’s success, I’ve either worked with it or am happy to learn and install it.
Choosing the right technology for your product is always going to involve tradeoffs, I just hope to help my clients understand what those tradeoffs are and together make the most informed decision possible. When vetting agencies or developers, it’s important to consider that no one tool can do it all, nor should a single team or person have expertise in every tool. It’s important to find someone who’s honest enough to admit the limitations of every option they present and who’s willing to work with you to find the best solution for your needs.