This isn't the greatest example ever, see Jameela's Flickr site to see some better smoke photos, but here's how you achieve the effect:
- Any camera in any mode (having your flash on is recomended, though)
- Something non-reflective and black to use as a background
- Incense (to create the smoke)
- A light source (I used my Canon 30D's on-camera flash and the darkness of my backyard as my light source and background, and it resulted in a kindof flat photo in comparison to Jameela's which was taken indoors with a light source in addition to her on-camera flash).
- Set up the incense infront of the black background
- Take tons of photos being careful that autofocus isn't focusing on the background rather than the smoke and that your shutter speed is high enough that the smoke isn't blurry)
- Download your images to your computer and open one of the "good ones" in an image editing program of your choice.
- Find the "Invert" option. This will invert the colors, giving you the white background.
- There are many different ways to create the colored smoke. Gimp has a "Colorize" tool, saturation adjustments can help too, experiment to find what works for you.