One of easiest ways of programming microcontrollers is using bootloaders. They do not require special cable adapters or interfaces. It can be done using any standard communication interface like RS232, USB and even storage media like SD card. USB is most common interface on PC so naturally we like bootloaders that support it. One way would be to use serial to USB adapter, but this doesn’t look attractive as it already asks for additional hardware and may add additional costs.
Blubie has been working on bootloader that is designed for AVR tiny85 and works with minimal USB interface. Bootloader size is under 2.1kb and pretends to be smallest USB bootloader for tiny85. It’s not written from scratch but based on USBaspLoader, just more squeezed and with some improvements.