I track mine using a spreadsheet on Google Drive. It's easy to tailor it to your needs.
In my personal system, each row represents one planting. Each planting is assigned an ID - I use the planting year and a number (eg, 14-10 for the tenth planting in 2014). This ID then goes on the plant labels.
I like this system because it's got a reasonable promise of longevity - even if the service goes downhill, the data can be exported and referenced later. You could potentially mine the data later, and scientifically determine what did and did not work well for each type of plant.
This system might not work as well with the photos, but you could always use an online photo system and reference your planting ID in each photo.
My personal system (pardon any awful gardening habits described therein):