I blogged about this ages ago — in many buildings the problem is not the position or size of the lifts, but how they’re programmed. Evidently in 13 years, not much has changed.
Apart from simply responding to the call button, lifts should have a few basic assumptions programmed into them:
Before 10am, and between about 1pm and 2pm, lots of people will enter office buildings and want to go up, so the lifts should default to the ground floor.
The ground floor is where most people enter, so the system should not assume that because one lift has responded to a call, it can cope with everybody entering. More lifts should respond, and they shouldn’t make people play that game of waiting for the first lift to depart before being able to press the call button again.
It would also be useful to have lifts default to the non-ground floors (perhaps evenly spaced, and even ignoring unoccupied floors) at peak exit times such as between 11:30 and 12:30, and after 4pm.
Optionally, they could get a little smarter, for instance learning the patterns in the building, which floors are quiet and busy at which times of day.
Really, how hard could it be?