A week ago I have submitted an application which supports Blackberry Z10. Yesterday, I finished another version which supports Blackberry Q10 and Blackberry Q5. At the moment, my app on the market is version 3.0 and it only supports Z10.
If I upload a new bundle, the version of the app automatically increase to 4.0. This bundle also only supports Q10 and Q5 as the previous version already supported Z10. In this case, what will happen to Z10 users? Will they receive the update version (4.0), as it is a newer version, although I already set the specific devices to Q10 and Q5?
In the future, if I make some update, how can I manage it?
Cheers,
Disclaimer: I don't develop for BlackBerry 10, but I do for legacy BlackBerry OS versions, and I believe this works the same within the BlackBerry vendor portal (see comment by Peter Strange below confiming).
If I upload a new bundle, the version of the app automatically increase to 4.0.
First of all, this is what the web interface does by default. It auto-increments the major version number (the number to the left of the decimal point). However, the field for version number is editable, so if you don't like the default choice, you can change it. For example, if you would like the new version to be 3.1, or 3.0.1, instead of 4.0, then you can change it manually. Personally, I don't think you should increase major version numbers simply to add a new device, within the same line of OS's.
This bundle also only supports Q10 and Q5 as the previous version already supported Z10. In this case, what will happen to Z10 users?
Z10 users should see no change. If you previously have a version available for Z10, it should still continue to be available. Whenever you upload a new bundle, you should use the web interface to specify which devices that release bundle supports
(alternatively, you can make a zip container of bundles, and use release.xml/devices.txt to specify device support).
So, if the new release only specifies Q10/5 support, that bundle won't be served to Z10 users. Z10 users will still have access to version 3.0.
In the future, if I make some update, how can I manage it?
I would recommend that you only change major version numbers when the functionality of your app significantly changes. Version 3.0 to 4.0 should be a major change, visible to the users. I personally, then use minor version numbers for small changes, that are also visible to users. For example, version 3.0 to 3.1. Finally, the last digit of a version number I reserve for small changes, such as a bug fix that doesn't add new features, but prevents a problem. For example, version 3.0 to 3.0.1.
For a new release that only adds support for a new device, I would probably just change the last digit (e.g. 3.0 to 3.0.1). But, that's your decision.
If you have a new release that only adds support for new devices, then you should be able to only upload a new bundle that specifies support for those new devices, rather than uploading new code for all devices. This way, a Z10 user isn't bothered to install an update when the newest release actually contains nothing new for their device.