I am sure that a lot of you live or work in a building which has a battery of elevators to handle intra-building traffic. While I was (ironically) waiting for the elevators, I wondered why do the elevators require people to first request for up/down and then, inside the elevator, request for the proper floor. Wouldn’t it be more efficient if you could request the destination floor right at your current floor?
Imagine that instead of up/down buttons and up/down lights for each elevator on each floor, you had a panel of buttons arranged vertically with lights for each elevator adjacent to it. Something like
 r g b y
 r g b y
where , , etc. are buttons and r g b y… are colored lights for elevators. When you want to go to a given floor, you directly press the floor’s button on the panel and the system immediately schedules an elevator to pick you up (you see that elevator’s colored light light-up on the panel). Then you go and walk to your elevator… when it comes, enter it, and then leave at your destination. The panel of buttons inside the elevator is optional. However, inside the elevator, it should give you an indication of which floors it is going to stop.
I think the biggest gain from using this approach is that you can schedule elevators efficiently. This is because the system has very early knowledge of destination floors. Thus, if two people want to go to the same floor, the system brings up only one elevator. At the same time, if two people want to go in the same direction but different floors, the system may bring up two elevators for them. This, this allows distribution of “floor load” equally among all the elevators instead of depending on the people to avoid flash crowds to a given elevator.
Another gain is that people don’t have to think about which floor they are currently on and decide whether they need to go up or down. All they need to think about is the destination floor (which they already do). This also reduces crowd movement inside the elevator near the panel where space is much smaller than a floor’s lobby.
The disadvantage of this approach is that you need more number of buttons, lights and wires installed on every floor. However, the cost for that shouldn’t be very high compared to the elevator system itself.
P.S. It probably would be possible to do an even better elevator schedule if the feedback from the system about which elevator is going to which floor is allowed to come late (as late as when an elevator actually arrives). However, first that doesn’t seem good from a usability standpoint (the user has to wait for a flash or a bell to indicate that their elevator has come). Secondly, that would encourage crowding around the panel in the floor lobby. So, I would let go of this schedule optimization for usability sake.