For a small town on the Algarve I really like Carvoeiro. It's got all you need ; nice villas, nice eateries and a smallish beach - but there are loads of hidden beaches nearby. Our favourite is Albandeira Beach, great pizzeria there! Very family friendly.
JW