Well, that funnel cloud was an interesting cherry to top off our crazy spring so far. Washington averages about two tornadoes a year somewhere in the state, and if this latest funnel cloud is determined to be a tornado by the National Weather Service, it'll be the second one this year. (Remember the Moses Lake tornado on May 19?)
To get tornadoes, typically you need a strong thunderstorm and warm, moist air near the ground. Strong thunderstorms will have strong upward moving winds as the warm air races upward, and downward moving winds from the heavy rain and hail falling.
However, in our case, it's a bit different. A strong Puget Sound Convergence Zone had formed and it was likely that collision of winds that was the driving engine behind this funnel cloud.
Anyway, for a tornado/funnel cloud to form, these colliding winds will cause a spinning horizontal tube of air, and this tube can get picked up by an updraft and brought into the storm, now making the cone of spinning air vertical. It's this spinning combined with strong updrafts that make a tornado, and why tornadoes work like a vacuum -- they're pulling air upward.
You can see when conditions are favorable by looking for strong wind shear -- when you have winds blowing in different directions. Horizontal wind shear is when you have, say a wind at 5,000 feet blowing east at 20 knots and blowing northwest at 7,000 feet. Vertical wind shear is prevalent around strong thunderstorms where you have strong updrafts (wind flowing "up") and downdrafts (wind blowing "down").
Anyway, take a peek at this time lapse video taken atop the UW Atmospheric Sciences Center. This is looking west toward the Olympics, so it is not looking in the right direction to have captured the funnel cloud, but you can see strong horizontal wind shear in effect.
Watch as you can see some clouds up high blowing west to east, but down low blowing east to west. You can visualize how these colliding winds might turn into that spinning tube of air.
And in case you missed it, here is a video that was submitted of the funnel cloud: