Device woes... Fragmentation

In the last post that was about the HP Tablet being the most versatile tablet, I did mention that it was running Android honeycomb and that I could get it working with apk files compiled with other frameworks but it failed with the CoronaSDK one. I must stand corrected on this one, if you use CoronaSDK it works could work perfectly fine. The reason that it was not working was a different one than the choice of framework. Now to explain the issue,
The app that I was trying was a popular app made for a client, it was made with different screen resolutions in mind and was scaled smartly in the code rather than relying on the @1.5, @2, @1.8, @1.3 and so on So the app was lean mean and a zombie fighting machine (whoops, clue!!)

This worked perfectly fine with the iOs franchise as they had three distinct resolutions, 320x480, 640x960 and 768x1024 till they introduced the NEW iPad and so we have 1536x2048. On the Android front, this is a bit more of a battlefield, with screen sizes ranging right from 240x320 on to 1280x800, with all sorts of resolutions strange and common, like
240x320, 320x480, 400x800, 400x854, 540x960, 1024x600, and 1280x800 I don't know if there are others in between that I might have missed. So the entire issue stemmed from this confusion. Now because these are the standard resolutions that a device returns or is configured with, the entire app was created smartly to take advantage of these facts. It is near impossible to purchase an Android tablet of every size and kind for testing. So when I did flash the Touchpad with an Android version of Honeycomb, I wanted to test how it all went. What the issues might have been. And what better way to test than to have the popular app on the device?

How to install an .apk Android app on your device

The best and the easiest way is (if you are using a mac, using the web sharing) that starts a personal web server, place the .apk file on the server and then rowse to this from your device and tap on it, the file will be downloaded and you can install it (provided you have set the option that your device can load the apps from a source other than the Marketplace) I believe there might a similar option for windows users to set up a pws or there is always the WAMP option.

The problem

I am not 100% sure if this is a CoronaSDK issue or an Android issue in general, if there is an error of some sort, the device displays a very cryptic message, "The app has been corrupted", why would an error show up as corrupted? The touchpad which has a screen resolution of 1024x768 when running the Android Honeycomb version, it takes up 48 pixels off the screen resolution similar to Amazon Kindle Fire that takes 20 pixels. So on the touchpad the device shows up as a 976x768 device

The problem with the tested app was that 976x768 is not one of the resolutions as mentioned above, so it had an error and that translated to "this app has been corrupted" yes, crazy and the worst example of an error message.

The solution

Is there a solution, not that I am aware of at the moment, this fragmentation has made things very difficult. With more and more different screen sizes, this seems to be a never ending issue. Given that everyone wants larger screens, there might be some form of standardization on these in the near future with sizes being 1024x78 or 1280x1024 etc.

Android fragmentation and to an extent the Apple fragementation is a bit of a problem and till this is standardised, this will remain a bit of a problem.

Bluestacks

I have tried to see what bluestacks, the app that allows to run Android binaries on a pc work like, it works as a 320x480 screen. Here's ZDay running on the PC.

Some screenshots of the Bluestack app running on a Toshiba Laptop




And as a treat for those that have an Android, here it is running in its full glory on Honeycomb and on Kindle Fire



Comments

Popular Posts