Here is my very unorthodox method for keeping my mask clear. It is a 2 part plan and if i am lucky, part 2 will not be needed.
PART 1:
First off I prefer to use Johnsons baby shamoo, but will resort to spit (only my own) if needed. Insert appropriate solution into my mask and rub it furiously with my finger. When my finger get either tired or sore, I stop. I do a quick rinse with water, fresh or salt, and rub very slightly again to make sure there are no soap bubbles created. Soap in my eyes really sucks. When I am satisfied it is time to go diving.
PART2:
Like I said earlier, this is not always necessary, but it sure seems to work wonders for me. During the dive, if my mask fogs, I will remove my mask and rub the lens again with my finger. This will fix the problem about 75% of the time and the rest of the dive is a pleasure. If this happens to be one of those dives that falls into the 25% failure rate then the permanent solution will definitely get some strange looks from your buddies. Take your mask off, remove your regulator from your mouth, and lick the inside of the lens.
Don't laugh or knock it until you give it a try !!!!!!! It works !!!!!!