Also, think about possible edge cases. If the update fails, does the software handle it gracefully? What about if the user is on a slow connection? Can they resume the update? These points might be important.