Show stopping bug, build 947: App rejected for NOOK Tablet using SSO Twitter

Hi,

my app was rejected, this is bad because it is a simultaneously launch for iOS, NOOK, Amazon, Samsung and Google Play.

I use SSO for Twitter like in the example provided by Anscalabs (use as a test case).
But on the NOOK Tablet the left side of the SSO Twitter window is not completely shown (it works on NOOK HD devices):


Dear NOOK App Developer,

We have received the application submission to be distributed through
the NOOK App Developer program.

The submission to us was made on the 11/05/2012 10:03:41 AM.

Our NOOK Developer qualification team has carefully reviewed the
application that you have kindly provided.

Developer: Frozen Gun Games
Application: Freeze! - the escape
Version: 1.0

Unfortunately we are not able to approve your application for
distribution at this time for the following reasons:

Files: Rejected:
Test Case #3

The user interface of your app is not appropriately scaled or designed
for the NOOK family of devices and their displays. Please refer to the
test criteria information, address the issue, and resubmit.
Failed on the following device(s):

NOOK Tablet (Gingerbread) 1.4.1 [X] - Full and Trial Versions
NOOK HD+ (Ice Cream Sandwich) 2.0 []
NOOK HD (Ice Cream Sandwich) 2.0 []

  1. Begin the app.
  2. Select the Twitter icon.
  3. Select Send.
    Result: The left side of the Twitter sign in page is cut off on the NOOK
    Tablet.

I use the following config.lua settings:

application =
{
content =
{
width = 320,
height = 480,
scale = “zoomEven”,
fps = 60,
antialias = false,
xalign = “center”,
yalign = “center”,

imageSuffix =
{
["-hd"] = 2,

["@4"] = 4,
},
},
}

Any ideas? Fast help on this would be appreciated, even with resubmitting the whole time table for the release is in grave danger. :frowning:

Best,
Andreas [import]uid: 133261 topic_id: 32684 reply_id: 332684[/import]

From what I understand, letterbox is no longer permitted on the NOOK. However, you could probably get around this with an extra larger background to fill the screen. [import]uid: 36054 topic_id: 32684 reply_id: 129990[/import]

From what I understand, letterbox is no longer permitted on the NOOK. However, you could probably get around this with an extra larger background to fill the screen. [import]uid: 36054 topic_id: 32684 reply_id: 129990[/import]

You can still use letterBox, you just have to have it fill the screen. zoomStretch changes the aspect ratio of your graphics and can distort what you’re doing. zoomEven can cause part of the scene to be cropped off screen.

The solution is to use a more complex config.lua and device detection and setup an appropriate aspect ratio for the devices along with using background graphics that bleed outside of area of the defined screen.

I’m going to use a 640px base scale for this example… and this is pseudo code, not a real config.lua file

if model == "iPhone" and display.pixelHeight \> 960 then -- I'm an iPhone 5  
 width = 640   
 height = 1136  
elseif string.sub(model, 1, 4) == "iPad" then  
 width = 640  
 height = 856 -- 4:5 aspect ratio  
elseif string.sub(model, 1, 2) == "iP" then -- I'm a regular iPhone  
 width = 640  
 height = 960  
else  
 -- this one is tricky. There are three 3 nook screen sizes all three are different aspect ratios  
 -- but I tested using the 16:9 shape and it (1.777 to 1) on the Nook skin (1.70 to 1) and it was   
 -- close enough, so I used this one scale for all three. The other android devices are between  
 -- 1.6:1 and 1.77:1 so this should work in most cases.  
 width = 640  
 height = 1136   
end  

Now you could get carried away and test of each of the different B&N Nook models and the different Kindle Fire models to get the aspect ration exact.

Then it’s a matter of making sure your backgrounds are the same size as the widest device and just don’t put anything critical at the edges since it will be off screen on the narrower devices. [import]uid: 19626 topic_id: 32684 reply_id: 130000[/import]

You can still use letterBox, you just have to have it fill the screen. zoomStretch changes the aspect ratio of your graphics and can distort what you’re doing. zoomEven can cause part of the scene to be cropped off screen.

The solution is to use a more complex config.lua and device detection and setup an appropriate aspect ratio for the devices along with using background graphics that bleed outside of area of the defined screen.

I’m going to use a 640px base scale for this example… and this is pseudo code, not a real config.lua file

if model == "iPhone" and display.pixelHeight \> 960 then -- I'm an iPhone 5  
 width = 640   
 height = 1136  
elseif string.sub(model, 1, 4) == "iPad" then  
 width = 640  
 height = 856 -- 4:5 aspect ratio  
elseif string.sub(model, 1, 2) == "iP" then -- I'm a regular iPhone  
 width = 640  
 height = 960  
else  
 -- this one is tricky. There are three 3 nook screen sizes all three are different aspect ratios  
 -- but I tested using the 16:9 shape and it (1.777 to 1) on the Nook skin (1.70 to 1) and it was   
 -- close enough, so I used this one scale for all three. The other android devices are between  
 -- 1.6:1 and 1.77:1 so this should work in most cases.  
 width = 640  
 height = 1136   
end  

Now you could get carried away and test of each of the different B&N Nook models and the different Kindle Fire models to get the aspect ration exact.

Then it’s a matter of making sure your backgrounds are the same size as the widest device and just don’t put anything critical at the edges since it will be off screen on the narrower devices. [import]uid: 19626 topic_id: 32684 reply_id: 130000[/import]

Using letterbox scaling and filling in the letterbox area is the simplest method.

You can determine where the letterbox area begins by using the following API…
http://docs.coronalabs.com/api/library/display/screenOriginY.html
http://docs.coronalabs.com/api/library/display/screenOriginX.html
[import]uid: 32256 topic_id: 32684 reply_id: 130016[/import]

Using letterbox scaling and filling in the letterbox area is the simplest method.

You can determine where the letterbox area begins by using the following API…
http://docs.coronalabs.com/api/library/display/screenOriginY.html
http://docs.coronalabs.com/api/library/display/screenOriginX.html
[import]uid: 32256 topic_id: 32684 reply_id: 130016[/import]

Hi guys,

thanks for your comments, but the game is already finished and uses “zoomEven” to show the content on the whole range of devices, with dynamic placement of buttons etc. - have a look at the pre-launch-trailer, at the end there are a lot of devices shown running “Freeze!” (iPhone 5, Kindle, etc.):
http://www.youtube.com/watch?v=ciQgYVgT0gk&feature=plcp

The app is already accepted by Amazon and is in review with B&N again (patched version without Twitter for NOOK Tablet), Apple and Samsung, so no chance that I would change something essential like moving from “zoomEven” to letterbox…

And the problem does happen with iPhone 5 and “zoomEven”, too, so the answer to the problem can not be “don’t use zoomEven” - I made a new post about the problem, because it is not only a NOOK bug:
https://developer.coronalabs.com/forum/2012/11/07/build-947-twitter-sso-window-cut-using-zoomeven-iphone-5-nook-tablet-etc

Best,
Andreas [import]uid: 133261 topic_id: 32684 reply_id: 130090[/import]

Andreas,

I’m sorry to say this, but it’s not a bug. This is what happens when you use zoomEven.

The only way to get around this issue on all devices is to use letterbox. However, when you use letterbox you have to make the background larger so that you have bleed areas that will fill the areas of the screen that are outside the base screen size defined in config.lua. Otherwise you’ll get black borders on device screens that are taller or wider, which might get rejected by some app stores.

If you follow the link in my first post, you’ll see how you can handle this to make sure no black borders are shown regardless of device it’s run on.
[import]uid: 70847 topic_id: 32684 reply_id: 130098[/import]

Hi guys,

thanks for your comments, but the game is already finished and uses “zoomEven” to show the content on the whole range of devices, with dynamic placement of buttons etc. - have a look at the pre-launch-trailer, at the end there are a lot of devices shown running “Freeze!” (iPhone 5, Kindle, etc.):
http://www.youtube.com/watch?v=ciQgYVgT0gk&feature=plcp

The app is already accepted by Amazon and is in review with B&N again (patched version without Twitter for NOOK Tablet), Apple and Samsung, so no chance that I would change something essential like moving from “zoomEven” to letterbox…

And the problem does happen with iPhone 5 and “zoomEven”, too, so the answer to the problem can not be “don’t use zoomEven” - I made a new post about the problem, because it is not only a NOOK bug:
https://developer.coronalabs.com/forum/2012/11/07/build-947-twitter-sso-window-cut-using-zoomeven-iphone-5-nook-tablet-etc

Best,
Andreas [import]uid: 133261 topic_id: 32684 reply_id: 130090[/import]

I use scale = “letterbox” to ensure nothing gets cut off in my apps.
You also need to use oversized backgrounds so that you don’t get black borders on devices with tall/wide screens.

I have a small sample app that shows how to properly handle different screen sizes in Corona.
Follow this link to find out how: http://j.mp/GIZX4p [import]uid: 70847 topic_id: 32684 reply_id: 129967[/import]

Andreas,

I’m sorry to say this, but it’s not a bug. This is what happens when you use zoomEven.

The only way to get around this issue on all devices is to use letterbox. However, when you use letterbox you have to make the background larger so that you have bleed areas that will fill the areas of the screen that are outside the base screen size defined in config.lua. Otherwise you’ll get black borders on device screens that are taller or wider, which might get rejected by some app stores.

If you follow the link in my first post, you’ll see how you can handle this to make sure no black borders are shown regardless of device it’s run on.
[import]uid: 70847 topic_id: 32684 reply_id: 130098[/import]

I use scale = “letterbox” to ensure nothing gets cut off in my apps.
You also need to use oversized backgrounds so that you don’t get black borders on devices with tall/wide screens.

I have a small sample app that shows how to properly handle different screen sizes in Corona.
Follow this link to find out how: http://j.mp/GIZX4p [import]uid: 70847 topic_id: 32684 reply_id: 129967[/import]