Let me start by quickly explaining the trigger for this post. I have (just) two apps. One of them is essentially a demo/limited functionality version of the other. However, I have currently 5 different packages/versions for these two apps. While a good part of the code/functionality is common between the different versions, there are some differences that force me to maintain the 5 different packages/versions.
1. Meeting Minutes – Android 4.0 (Ice Cream Sandwich) and above
2. Meeting Minutes – Android 2.3 (Gingerbread) and Android 3.0 (Honeycomb)
3. Meeting Minutes Pro – Android 4.0 (Ice Cream Sandwich) and above
4. Meeting Minutes Pro – Android 2.3 (Gingerbread) and Android 3.0 (Honeycomb)
5. Meeting Minutes Pro – BlackBerry Android port
Bring in Windows, iOS and BlackBerry Native and this number is bound to grow, at least, to 10 if not more. It is simply unmanageable. Maintaining multiple sources of the same data/application can be extremely difficult and challenging. It is always better and easier to eliminate the duplicates and end up having just one source.
However, the current direction of the industry is the opposite. A few years ago, a bank needed to have just one version of online banking application. Now they still have the traditional online banking application but in addition there is a .mobi site and apps in multiple platforms. Even though all or most of these front-end applications use the same back-end services, managing and maintaining multiple different front-end applications in the longer run can become a huge overhead and very expensive. HTML 5 was one hope to bring in some convergence but hasn’t delivered the expected results.
There is a strong need for some kind of convergence of the platforms or the development of tools that make porting apps from one platform to the other relatively easier. In-the-box and j2objc are good steps in this direction. j2objc is a smart move by Google. Google is essentially encouraging developers to develop first for Android by providing tools that help in porting Android apps into iOS. Hope to see a lot more progress on this front in the days to come.