One of the interesting trends in the industry is that the browser is becoming the platform for mobile applications. Why build native apps that require significantly more engineering effort then web apps which are truly a write once, run anywhere – this is what we’ve always been evangelizing at Skyfire. I’ve always pointed to the initial IE monopoly on the PC as a good thing in that it helped standardize HTML / JS etc unlike J2ME which is highly fragmented.
Well, as part of this trend, I think we are running the risk of repeating history. When J2ME was first released, a lot of the cool functionality was not available (ie access to the camera or file-system or bluetooth etc). Given the long but necessary process of the JCP to approve additional JSRs to support this added functionality, handset manufacturers jumped-the-gun and started releasing proprietary J2ME libraries to achieve certain functionality. I remember distinctly using the proprietary Motorola file system J2ME libraries and not JSR 75 which hadn’t yet been ratified or adopted. Instantly, J2ME became quite fragmented; given that I was working on a photo-upload application, we had to port to every J2ME device using different proprietary file-access libraries.
Going forward, I expect that most OEM browsers will take a similar approach potentially resulting in a fragmented web. As a developer, I may now have to port once again amongst different platforms.