How smart is the build process?

6 posts / 0 new
Last post
marcioandreyoliveira
marcioandreyoliveira's picture
Offline
Joined: 27 Aug 2010
Posts:
How smart is the build process?

Hi. My doubt is:

What happens when I ask to build an application and I don't add any filter?

Will MoSync compile to every and each device in the list or is it smart enough to skip devices that don't have the minimum resources that are need in order to the application run?

For instance. My application requires bluetooth capabilities and I asked MoSync to build it for all devices (I havent' selected any filter). Will MoSync skip every devices that do not have bluetooth ?

Regards.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
noddy
noddy's picture
Offline
Mobile Conjurer
Joined: 20 Aug 2010
Posts:

Hi all,
I have a similar question. As far as I know, MoSync currently build target packages for every individual device. This is very inconvenient because, if I have an application and even if I only want to target the most popular phones nowadays, it is still too many. Or I don't even know which build packages to upload (say for Nokia) to the mobile market stores.

I thought the major differences between the phones are OS, memory, screen sizes, touch or keypad input, and other special features such as Wifi/GPS/Bluetooth/etc. Since screen sizes are detected at runtime thus it's not a restriction.

I think a better way to package is by OS and other features. For example, if my application does not need special features from the phone, I can build ONE package that supports all phones running Android 1.6 and above, or something similar to Nokia etc.. or in marcioandreyoliveira's case, to build his application to support all phones supports bluetooth running certain OS.

Sam Pickard
rival's picture
Offline
Mobile Archmage
Joined: 19 Mar 2009
Posts:

Hi, the compiler won't know which devices to build for if you don't specify. Its not smart enough to read the code and decide which devices it will support and which it won't. As a specific example though, I think that the vast majority will support BlueTooth.

Noddy, I agree partially with your position. I think that there are too many builds, and it would be nice to build by target platform rather than by target device. It is a bit more sophisticated than you describe though, with several phones which may superficially look the same (i.e. Nokia and Sony Ericsson J2ME phones with the same hardware support and the same screen size) can have very different builds for them because of the differences in how they support J2ME.

Lets talk about this tomorrow.

noddy
noddy's picture
Offline
Mobile Conjurer
Joined: 20 Aug 2010
Posts:

Hi Sam,

Thank you for clarfying. But in your example of Nokia and Sony Ericsson, we can end up with two platforms, e.g. Symbian(Nokia), Symbian(Sony Ericsson). Then I wonder how many platforms we would end up with in total .. less than 10?

Sam Pickard
rival's picture
Offline
Mobile Archmage
Joined: 19 Mar 2009
Posts:

Off the top of my head, I think that there are 17 different versions for J2ME, so its probably around 25 different versions in all. Added to that a lot of developers have different .res files for different screen sizes multiplies the number of builds which may be required (although you don't have to). There is still a great potential for reducing the number of builds you have to do though.

marcioandreyoliveira
marcioandreyoliveira's picture
Offline
Joined: 27 Aug 2010
Posts:

Thanks for your comments, friends.

My view point is that it is possible to turn the build process into a smarter one.

I've suggested to handle different resources / features like screen size, supported file format and so on in the same way J2ME Polish do (http://www.mosync.com/content/easy-customization).

It would put some convention in order to get easier customizations. Ad to this, the build process would knows which APIs we are using. So, it would be a matter of to check for each device if they have support for the same APIs.

I thing it would be easy because each device has a header with lot of define's saying which feature it has. (Or am I deadly wrong?)

Easier to say than to do? Smile I don't know but I will suggest it as an improvement. I would love just to compile and the mosync automagically select the right devices for me. Smile