Start flowering when the plants are 1/3 the size you want them to be when matured. For an indoor plant I think switching at 8-10 inches is good to end up with about 2ft plants. There's no maximum height to start flowering so you can have them as big as you want.

If you think they're getting too tall, you can 'top' them by cutting the plant just above a node, resulting in 2 tops growing outwards so its shorter and bushier. I've read other methods of topping by bending the stalk down at a 90-180 degree angle and tying it there with a twisty tie or string (I dont remember how long to keep it tied) and this will also force the plant to grow extra stalks and stay shorter. I have a plant I've switch to flowering at 9 inches and topped, hoping to get a 2-3 foot plant with multiple stalks, perfect for a small area. I'll post my results later on.

-Dr. Nomad