Put the potatoes in a large pot of cold water, salt well (about 1 Tbs. per gallon), and set over high heat. Once the water reaches a boil, reduce the heat to a low simmer, cover, and cook the potatoes until they’re just tender (test by piercing them with a thin skewer), 25 to 35 minutes, depending on size. Scoop the potatoes from the water and transfer to a cutting board; don’t drain the water.
Meanwhile, when the potatoes are almost cooked, heat the oil over-medium heat in a small, nonreactive skillet. Add the onion and simmer long enough to tenderize it and mellow its flavor, 1 to 2 minutes. Remove from the heat and keep warm.
Bring the potato water back to a-boil over high heat, add the corn, and boil until just tender, 2 to 4 minutes. Transfer the corn to the cutting board; again, don’t drain the water.
While the corn cooks, hold the potatoes with tongs or a clean towel, quickly cut them into 1/2-inch dice, and put them in a large bowl. Sprinkle on the herbs, salt, pepper, cider vinegar, and the warm onion and oil; gently fold together. Cut the kernels from the corn cobs and fold them into the potatoes. Transfer the salad to a serving platter and refrigerate it until cool, about 1 hour.
Return the water to a boil and fill a bowl with ice water. Cut out the stems of the tomatoes and cut a shallow “x” in the base of each (this helps with peeling). Blanch the tomatoes in the boiling water until the skins begin to loosen, about 30 seconds. Immediately drop the tomatoes into the ice water to stop the cooking. Drain the tomatoes, peel them, cut them in half crosswise, and gently scoop out most of the juice and seeds. Cut the tomatoes into 1/2-inch pieces, cover, and set aside at room temperature.
To serve, transfer the salad to a shallow bowl; add the tomatoes. Toss gently, taste and adjust the seasonings if needed, and serve.