Now, there's certainly commonality between the two but if you were to exaggerate the difference, hardware UI design is like writing a sonnet. The medium is constraining but the compromises you have to make with other people are minimal - if you write a great sonnet, the chance is that people will like it. Software UI design is more like writing a constitution - it's about compromises. You have to weigh the needs of present users against those of future users, usability of old applications against new applications, properly balance the opinions and ideas of a whole bunch of people involved in design and implementation of various features, not to mention third-party developers. No matter what you do, there will be a huge number of inconsistencies, a lot of people will hate it and many others will worship and faithfully copy your mistakes, in a way that makes correcting your mistakes difficult.
Edit: Btw, when I say hardware UI, I actually mean the hardware as seen and directly manipulated by the user without software as the intermediary. If by hardware, we mean software interface to the hardware, the above points also apply to hardware, though hardware is still considerably simpler and the work is done almost entirely at the component level that has nothing to do with Jony Ive. At the whole system level, which is where Jony Ive comes in, hardware UI design is inherently simple. Simple doesn't mean easy - it just means you're judged by different standards.