about making Arduino IDE for customers to update the chip.

I am not sure which way is better. reprogram the Arduino IDE or using Processing to write an app that upload the new program to Arduino.
What I am trying to do is making a product that allow user to download firmware update from product website, once the new update is available. In this case I want to use Arduino, but it allows the new update to be uploaded to the device through executing the program which is Arduino based.