
software shouldn't be hard. unless you have to work around a million different permutations of the hardware, a la android...
The only android permutation that I see as being "hard" are perhaps the touch variations of capacitive vs resistive vs no-touch. Certainly screen size / resolution differences shouldn't be an obstacle to modern software design. In the reader/tablet/cellphone world it seems the "hard" part is for monopolistic vendors to avoid their own temptations to unreasonably lock-down their product in the hopes of tying in sales. Of course it doesn't work that way, with customers simply "routing around damage" and moving to vendors who do not unreasonably lock down their product -- even if products that aren't "locked down" do end up being kind of messy in that then software vendors can offer any product they want, including products that are not well implemented nor well thought out. But the market weeds out poorly designed software, in practice, because most people end up not buying bad software.