If they had bought QNX early and switched to either a recent Java version or another decent language - even something like webOS HTML5/JS/CSS would've worked given a sane looking UI and frameworks.
I wish I could find the quote but there's a long discussion by a former-RIM employee about the inability of management to come to consensus.
To my mind, that's also incredibly ironic because RIM had the dual-CEOs for specifically this reason, to avoid conflict over technical and operational requirements.
https://news.ycombinator.com/item?id=1959705