On my other thread, people were suggesting this. Basically you put an Atmega328 in a ZIF socket, and press a button. Then another chip uploads code or the bootloader. I want to make two different board, noe for bootloader and one for code.
I also plan to have a program were you copy and paste your code, uplad it to the data holder, disconnect the usb, and then you can uplad the code.