The act of coding vs. the act of deploying… Is coding deploying in Java ME really a pain?
Previously I wrote Is coding in Java ME really a pain? where I bring up a couple of points on that topic. But I've been recently reminded — the real pain is not the coding part, but the deployment of the mobile application (pain that is not particular to Java ME) – all the hoops to jump and the cost associated with deploying: signing the application, testing across multiple handsets and the cost of buying many different handsets, certification, the distribution channels, and so on. It is a real challenge.
As the Mobile Service Architecture (MSA) comes closer to reality, so is the Mobile Information Device Profile (MIDP3), we are going to have for the first time a very rich Java platform that encompasses APIs from A to Z – you name it, from advanced graphics, location, Bluetooth, multimedia, messaging, PIM and file, security and trust, web services, the core profile APIs (MIDP), and so on – read my post The Mobile Services Architecture (Proposed) Final Specification for more information. The result is that we are going to have a more consistent Java runtime across handsets from different vendors, which is a very good thing for all of us, including our customers.
But the problem that will remain is the pain of deploying, the pain of dealing with different carriers in different ways, (the cost of) signing and certifying and testing for different network carriers and many different handsets, because if you don't, you don't get access to the really useful APIs – this is the pain of deploying.
Coincidentally, John Kern wrote about this same issue, and he puts it nicely in his blog:
"The costs of testing, signing and deploying via carriers is large in comparison. From a software engineering perspective, this limits the number of releases to add features and fix bugs."
Yes sir, that is the case…
ceo