Wednesday, February 6, 2008

Device Fragmentation

I was watching a video taken from the "Java Mobile & Embedded Developer Days" that was mainly concerned with device fragmentation related issues. Having to write tens, hundreds of separate builds for your application is taken a toll on the developing community and solutions need to be found in order to solve this problem. Some problems that directly affect fragmentation are multiple standards, ambiguity in the specifications, optional items that might or might not be supported/implemented on the handset.

Some (possible) solutions have been mentioned in the video. I believe the most important one is the fact that we as a community start to discuss this issue. Having talks such as the one in the video moves us forward to solving the fragmentation problem. So, what has been mentioned? Mobile Service Architecture, a new Java platform for mobile devices that comprise of different JSRs that have to be implemented/supported. Writing an application for this platform assures that you will have those functionality on other devices that support the MSA platform. This is definitely a step forward, but it only addresses the functionality available that will be constant.
Tighter specifications are also needed; ambiguity and optionality should be kept at a minimum (if not removed completely). The developer community should push harder and point out what needs to be changed in the specification to avoid future confusions/problems.
One other solution that seemed a bit to extreme at the beginning but made sense if you think about it, is have one single entity that makes the (final) decisions on the specifications. What I like about this is the notion of a more tight control that would be added. I do believe that more restrains are needed to make this work.
Technology Compatibility Kit was also mentioned as needing improvement in the sense that it needs to be dynamically and continuously enhanced with new tests. We should also force vendors to re-run test suites and make sure that the product still complies to the specification.

To sum this up, we should have all the mentioned (partial) solutions implemented and applied.
It will be a long process, but it will be one in the right direction.

No comments: