
RIM should be utilizing R&D investments more effectively by leveraging existing open source projects. RIM could have built this SDK for a lower investment by starting with PhoneGap or an equivalent open source framework. Of course there might have been a feature gap between what PhoneGap offers and what RIM wants to deliver in version 1.0. However, assigning RIM developers to the PhoneGap project to add these features while leveraging all the other APIs in PhoneGap would have saved RIM the work of reinventing the wheel for those other APIs.
This was absolutely a missed opportunity for RIM to compete versus Apple, Palm, and others using open source. No, I'm not going to suggest that RIM open source the BlackBerry Enterprise Server; that would be silly. Rather, I believe RIM could have saved R&D costs, increased the value of its BlackBerry platform, and influenced developers building for the iPhone if RIM had built the Widget SDK on top of the open source project like PhoneGap.
RIM would have also benefited from new features added by the PhoneGap community. A PhoneGap community member who loves his BlackBerry and wants to "scratch an itch" could contribute a PhoneGap feature that other BlackBerry developers would find extremely useful.
Finally, RIM would be contributing to a framework that developers are already using to develop iPhone applications. RIM needs to figure out a way to entice developers to build BlackBerry applications before iPhone applications. However, RIM should also be working to get developers to port their iPhone apps to the BlackBerry platform. As a PhoneGap contributor, RIM could offer a simple and painless porting option for existing and new PhoneGap-based iPhone applications.
I could come up with additional benefits for RIM, but these three are big enough for RIM to reconsider its strategy for delivering the Widget SDK. RIM could yet contribute all or part of its Widget SDK to an established mobile framework open source community and build its Widget SDK product from the resulting open source community code.









