Liquid is an extremely powerful and crucial feature for many companies on the internet, including companies such as Shopify, 500px, and Desk. If you’ve ever seen the curly braces in an editor {{ }}, chances are you were probably looking at Liquid!
While Liquid is an extremely powerful and important feature, it can be a painful and time consuming process to write correctly. Here are 7 reasons why Liquid is difficult to write.
- Even though liquid is a programming language, the users who write Liquid are not programmers.
Typically, users who are writing Liquid have not gone to school to program. Many of them have probably never even thought about logic or programming before in their lives. These are typically people who need an application to behave a certain way, and the only way you can solve that problem is through Liquid. To make matters even worse, usually these people are paying customers!
- To write Liquid, you must first research using documentation.
When a company adds Liquid to their product, Liquid does nothing to help users from a UX perspective at all out of the box. It is up to the company to develop tools to help users. In my research, this usually doesn’t happen. Most of the time, the best companies provide is documentation, which is likely written by their software engineering team. In companies that I’ve worked for in the past, this documentation is usually quickly written and can still be highly technical.
- Every company's Liquid is different.
Even if you do the research and become an expert at working with Liquid for Shopify, that typically means nothing if you were to write Liquid for Desk.com. Every company has a unique way that they have modeled their data, which impacts how users must write Liquid within their products. This means that users must learn your way of writing Liquid when they come to your application.
- It’s so easy to make a typo.
When writing Liquid, you must be extremely careful to not make any typos, or the whole expression will not work. There have been many times that one character has thrown off a whole expression and taken hours for my team to track down and debug.
- You must test your Liquid.
Liquid is not “set it and forget it”. When you think you’ve written your expression correctly, you have to test it to make sure. Many companies even have a Quality Assurance process around writing Liquid the same way as their actual product code. Tools to test Liquid can be difficult for companies to create, and sometimes they’re not as good as they should be.
- Long Iteration cycles.
Even in cases when you have good tools, the iteration time (time to make a change and test again) may be longer than ideal. When iteration times are high, time to write Liquid can be magnified if you have to do a lot of trial and error to get the expression written correctly. I’ve personally seen a single expression take half a workday to get working when iteration times are as slow as five minutes. This leads to a lot of user frustration as you can imagine.
- Lack of help from the company.
Companies are constantly juggling various competing priorities at all times. Even companies with thousands of employees can struggle to provide help when customers have tried everything and things are still not working! For companies that care about their user experience, providing good support for Liquid is a must.
If you’ve experienced these pain points (or others), you’re not alone. Maybe your frustration is what brought you to this blog post to begin with? We ran into these exact same problems with Liquid at our company, and this is exactly why we created Dropkiq.