Why ready made solutions (almost always) suck

Laravel, Tools / Thursday, May 23rd, 2019

There are many pre-built solutions in our software world that promise the end of all troubles — WordPress for content management, Magento/WooCommerce for e-commerce, and so forth. People are looking for “survey plugins”, “ready-made front-ends”, “animation libraries”, and what not all the time. When you first visit these sites, they sound so incredibly amazing that you wonder why it hasn’t put other options and people completely out of business.

Let’s take an example to understand why. Bagisto — an e-commerce plugin for the Laravel framework. Much noise is being made by its creators in the open source communities. So, I decided to check it out and here’s how the demo went:

As you can see, the experience wasn’t the standard e-commerce one, and was actually quite confusing.

So what if I want to do things differently? What if I want to show these options as a separate popup before the cart page is shown? Or maybe on the cart page itself?

I can hear the Bagisto creators/supporters screaming “that’s easy to do!” already. But the point is, it’s when dozens of such smaller customizations gang up on you that the development experience really gets unpleasant. Enjoy several round-trips to the forums, editing core files in some cases, and a few “sorry but that cannot be done” responses. At that point, you’ll lament the decision of going with a “helpful” framework.

Please note that as a developer, I regret all the tools I use. In many cases, Laravel is a hindrance in itself (one example being the idiosyncrasies of job dispatches), while sometimes it’s Bootstrap or Vue or something else. But the more flexible a tool is, the more it will you help your sanity in the long run.

Yes, you’ll spend some time upfront putting things together, but this time will be nothing compared to the time you’ll burn later on when you’re high on anxiety meds and the production deadline was last week.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.