[eluser]slowgary[/eluser]
insub2,
My opinion is... 255 characters is not that much. If, however, you have already determined that you know the length of a field will not exceed a certain number of characters (names are not usually more than 32 characters), you can limit it to this amount. If you feel like making each of your varchar fields 255 characters, do it. You're right about varchar's, they only use as much space as is needed.
I can't speak with authority on the subject, as I haven't a clue about the inner workings of MySQL's engine, but I say it would be nice if they just combined all text type fields into varchar - allowing you to store as much as is needed, however not padding values so they'll only take up the storage that they need to.
Just an opinion.