@SadiqA2304 I'm used to programming, so the idea of adding syntax for more control of the templates feels better to me than adding fields that have logic embedded into them. I agree that putting the first name into the nickname field if no nickname exists isn't a great solution, but it does work until they provide something better. You only have to embed the nickname field into your template to get the desired result. It's a little extra setup work to remember to fill in the nickname field when it's not really a nickname, but that's a one-time effort when you create the contact.
I'll always prefer a programmatic way to accomplish the result over fields that have field-specific logic embedded into them, because they allow a more generalized result. For example, none of the several priority fields produces exactly how I often
want priority information specified. As it is, the list of fields doesn't remind me how each version is formatted, so I have to do tests to figure out which one has the closest to what I need, then manually edit the result of the template every time it's used.
If we had a generalized formatting syntax, we wouldn't have to wait for AppColl to create yet another special-purpose field, but would immediately have the ability to get what we want.