Servo Open/Close

As I see it, every time through the loop, if the button is pushed, the servo moves to 30 and waits for 3 seconds. If the button is not pushed, the servo moves to 90.

Is that what happens?

If you change the value used by the servo.Write in the 'else' portion then instead of moving to 90 it will move to the angle for that value.

Is that what happens?

When you first run the sketch, it very likely moves to the position indicated in the 'else' portion because the button is not pressed.