Agreed. I love Glide and I hate to knock them because they are doing an awesome job…but many features just feel incomplete. We’ve gotten some new and awesome features over the past couple of years. Some have been useful, some have been purely eye candy, but some have also led to unconventional workarounds just to get them to function in a useful way. It feels to me like once a feature is released, it doesn’t get any additional attention and is considered good enough.
In my opinion, the basic core functionality hasn’t changed much in a long time and is lacking in many ways. I’d like to see more focus on building up and enhancing the existing features and functions instead of adding more new stuff that’s about 75% functional.
Some core functionality I’d really like to see some focus on:
- String manipulation. Padding, Substring, Trim, Replace, etc. are crucial, but very hard to achieve in Glide.
- Conditional relations, or at the very least, a conditional rollup. There is no way to possibly do a rollup of a value that fits within a limitless range of dates when comparing to a specific date value in each row. Sure you can filter on the front end, but that’s already too late when you need to filter for the rollup. (Relations don’t work when you need to find a range. They only work for exact matches, so a conditional rollup based on a value in each row is impossible. That’s why I think a conditional relation would open a whole lot of doors and cover a wide range of scenarios.)
- IF logic is inconsistence throughout the builder. In some spots (like filters), it purely AND or OR logic, but not mixed. In others (like an IF column), it’s purely OR/Else logic, and yet in other spots, like Actions, it’s a mixture of AND or OR mixed with Else, but you have to duplicate Actions all over the place if you have to mix AND’s and OR’s (Plus there is no IF logic below the top level in actions. You also have to be very careful about order placement if you have several conditions to work with). I think proper and complex IF logic is absolutely vital to any application. It is the most vital piece of any programming language.
Trying to do logic like, the below screenshots, in Glide can be an absolute nightmare when trying to conform it to the limited functionality we have…and this is the kind of stuff I do every day…so it seems like it should be trivial.
These types of problems are hard stops for me. Most of the feature requests that have gotten my vote are for these hard stop situations. If I can reasonably work around certain problems, then I don’t worry about it too much, because I can still get the job done. But, some of these core functions seem very crucial to me. Maybe it’s the programmer in me that tries to push the boundaries, but like I’ve said before, some of these things feel like they are so much easier to achieve with actual code. The simplified processes in Glide actually make some things harder to do and much more confusing to understand if you do get it to work. If there is a focus on creating apps for businesses, then I think core business logic should get a lot more attention.
I hate to rant, but these are the things I seem to fight with the most.