Progressives just improve the apparent responsiveness (the user sees that
something happened fairly quickly); they actually take longer to load and render completely. Almost all of the photo/paint software I've ever used can save progressive JPEGs, but you often have to go to an options panel after selecting JPEG as the file type (the settings appear in a separate panel rather than on the save dialog itself). But don't get too carried away here; PNG-8 and JPEG are best used for very different image types. If you need something with sharp shapes, such as pixel/line art or a logo image, PNG-8 with an optimized palette (octree is a good optimization) will almost always yield a smaller and sharper image than a JPEG. Save the JPEGs for full-colour images (photographs, blobby/cloudy backgrounds, that sort of thing). If you need sharp detail that can't be fudged a bit, you can't use much compression on the JPEG, and that will bloat your file considerably compared to a PNG.
As well, if the image is used in your CSS and it's under 2 kb or so, it's often a better idea to Base64-encode the file as text and include it as a data: URI. For example, this uses a small PNG image, Base64-encoded, to provide a carbon-fibre look background:
Code:
background: black url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAMAAADXEh96AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA9QTFRFICAjJiYpQ0NFLy8xOTk7EYEfBwAAACRJREFUeNpiYGJiYmRkZGBhYWEAAmZmZhAFFAGKg1gIcYAAAwAFFgA936VlzQAAAABJRU5ErkJggg==) center top repeat;
It's bigger as text than it would be as a PNG file, but only by a few bytes -- and it saves an HTTP request. You'd be surprised what you can do with really small images.