I wouldn't say it is more user friendly. Personally, I want fewer characters to remember, but I also hate artificial limits being placed on me. A more interesting approach might be to calculate the entropy of a users password and simply require a certain amount of entropy.
If the user does not enter anything other than lower case letters, it would require the most characters. If they include any upper case, numbers or punctuation, each of those classes of character would be applied to the length of the password to determine the amount of entropy.
This would leave it up to the user to decide if they want to have a longer alphabetic password or a shorter, more complex password. The only additional thing you would need to store for such a system would be a flag to say the password is not case sensitive if the same capitalization is used for the entire password. You could then do a string lower if the flag is set to ensure future entries are processed in the same way.
It does have the downside of making it less obvious what needs to be done, but a detailed error message could still be built, such as, "Your password is not yet secure enough, to make your password more secure, consider adding 3 punctuation, 1 upper case letters, 2 numbers, 6 more lower case letters, or try some subset of those. Be sure to spread them throughout the password." This would let the user know examples of what needs to be added to get sufficient entropy.
It does also have the downside that users are likely to just append them to the end, which is less secure than if they were spread throughout, but the problem of users choosing bad passwords is as old as information security.