What I always recommend is buying presents for special friends immediately on the spot as you see them. Don't go out and buy a present under pressure for the looming occasion. You will inevitably feel quite luke warm about what you are about to give - which does not give a good impression. Rather wait for when you find the perfect thing, even if it means buying it months in advance (obviously preferable to months in arrears)
Remember the golden rule! Never give something that you would not be happy to receive.
The thing that is so wonderful about travelling is the treasures you find along the way. Whilst recently in Italy I stumbled across this magical book. It's was originally written in Italian. Thank goodness this copy has been translated into English - or else I would have missed out on the mischievous world of Don Camillo. A sort of Italian 'Little Prince' although I must say altogether way more naughty and dark than the famous French 'little Prince' Vary Italian in Fact! I found this beautiful petersham ribbon - and voila a special present for a dear friend who reads children's literature above all else.