...and can be measured at home using a ruler and a mirror, pretty simply. Close one eye, align the ruler at 0 under that pupil. Open the other eye, close the first, read off the distance to the 2nd pupil.
Did it for myself. Ordered online. Best glasses yet (I think mainly thanks to a my very patient optometrist.)
I measured by taking a picture of my face with a credit card for reference and measuring the pixels with the measuring tool in GIMP. (These were the actual instructions on the website I ordered my glasses from.)
Also worth mentioning I paid $40 ordering them online, in the article it says he paid $280!
I was amazed because until a friend told me about this site, I've been paying hundreds of euros just for the frames! At such a low cost, I could even order slight variations on the strength.
They have a lot of options for better lens material, have it darken in sunlight, anti glare coating etc, but I just got the cheapest one and it was fine.
I found that it's easier to do it yourself than have someone else do it -- my wife and I measured mine, hers was off from mine by 6mm (2mm on one side, 4mm on the other, I have no idea how she was nearly half a centimeter off, maybe my eye moved), I ended up going to an optician a few months later, and my measurement was exactly the same as what they measured with some device.
Another way is to look through binoculars, get them adjusted just right and then measure them. Don't try to measure center to center. Assuming the eye cups are the same measure from one side to the other (left edge of one to left edge of the other).
I measured my kids using just a ruler and they're all happy with the results. I also measured myself using a mirror, ruler, and a phone camera (so the measurement couldn't be skewed by eye movement) and my results also turned out great. However, I can understand why it would be easy to measure incorrectly, since the ruler is never very close to the eyes.
I have done this a few times, and got inconsistent results. Distance to mirror, or camera to face, positioning of the ruler, they all seem to induce variability. Once I got a reproducible result and went with that, ordered progressive glasses online and they were… off. On another occasion I got PD (and prescription) numbers from optometrist at Visionworks, then took numbers and ordered from Zenni, and they were… off again. Also this PD number again different from the one I had measured myself. But when ordering directly at the store they were perfect. I even wondered whether they actually gave me the wrong PD number, to "teach" me a lesson not to go order elsewhere. Sigh.
Progressive lenses need much more accuracy to be fitted correctly. This means a mono-PD (separate PD for each eye, not just the distance PD halved) and also a height, usually from "datum" measured for each eye too. This measurement would be different depending on the frame and how it sits/adjusted to your face.
This means the frame must be chosen and fitted to you before any of these are measured.
It becomes a 2D measurement.
There is a lot more to it (vertex distance, pantoscopic tilt etc) but the above is the absolute minimum.
Might indeed be better to use a "long" object to indicate pixel length by division (credit card is 5432 px = 5 cm) rather than going by a ruler which might typically only be accurate to 0.5mm at best anyway.