Attracting seedeaters and common omnivores is easily done by putting out bird feeders and apples. To attract the more endemic birds, however, your garden needs to mimic their natural habitat: trees and shrubs that don’t all touch (this would copy a real forest) and open spaces in between.
A small garden is always more difficult than a large one as every single plant and feature has to work really hard to claim its place. There is no room for freebooters and no space for a plant that does not flower or fruit well.
Scale is of the utmost importance in a small garden. If the area is really confined, rather use a well-trained, large shrub than a tree; a careful choice of a single-stemmed specimen in the nursery will go a long way to giving you a miniature tree.
Annuals and grasses, bulbs and succulents can have a place in your scheme, but they must all be hard working and have something positive to offer.
A lawn, however small, will provide a hunting space for insectivores like flycatchers and the Fork-tailed Drongo. The edge between shrubbery and lawn is where the robins and thrushes will happily potter.
Don’t forget to add a couple of drinking and bathing points. As you plan your garden, always return to the stoep or other viewing point to make sure you’ll get the maximum enjoyment from the layout. This is not just for the birds, it’s for you as well.