Dragging and dropping a HEX file?

I haven't found an easy way to keep incremental versions of a program.

Do you know git (https://git-scm.com)?

Is there any way that this can be implemented for Arduino?

Does that drag-and-drop feature work on all major OS platforms? The way the IDE does it, provides more flexibility in the connection methods. As in the Arduino world not only one connection method exists the drag-and-drop feature would be limited to the USB types. Everything is possible if there is enough interest. Maybe you volunteer (this is all open source) to write such an application? It's not very complicated but I don't see a real advantage so I won't invest any time in writing such a feature.