The key to avoiding the awkardness of either extreme is in the timing.
The first step is picking the perfect starting time - 2:00 pm. Why 2 o'clock you ask? Well for one thing, at 2:00 guests don't expect a full meal, which save you from having to provide a full meal. *
Next you should give your guests between 15 and 30 minutes to arrive and greet the mother-to-be.
Next up, hit the buffet and let the games begin. Give yourself between an hour and an hour and a half for food and games. I find that it is helpful to have lots games planned in case you have some quick wins, and also be prepared to skip a game or two if you start running over.
What comes next? Presents!! Again, give the mother-to-be between an hour and an hour and a half to open all her gifts (also making sure have a deicated thank-you-list writer). Of course, if you are having an extra small gathering or a giant blow out, this is the one area in scheduling that isn't as easy to plan for.
Finally, the last 30 minutes or so should be spent on dessert and goodbyes.
There you have it folks - the timing break down for a baby (or bridal, for that matter) shower.
Here's the find print: This party timing is based on my own personal experiences of throwing and attending showers. It has worked well for me in the past and I plan to continue using it in the future.
* Now, there is nothing wrong with having a full meal, but some guests eat faster than others and some are pickier than others which can lead to some guests sitting around waiting for others to finish (again, the dreaded staring blankly at one another) before you can start your activies.