04-05-2009 09:13 AM
I am trying to design a web page (using ASP .NET, but that shouldn't matter) which is only ever going to be accessed from the Blackberry browser (on a Storm 9500). Hence, I can be quite specific on screen sizes and so on. What is the "best practice" for designing such a screen, in terms of size, etc?
I have been through quite a few hoops already. Right now, I can only make the page display in Column View. If I choose Page View, I just see a blank screen with the background colour of my page - not sure why, although I suspect something in the style sheet. Clues on that welcome!
I need an image to display floated to the left of some text. In Page View (when it worked at all) that was working fine. In Column View, the text appears under the page (not surprising, but not what I want).
As this is a page specifically for the Storm, should I be specifying a fixed size for the Body or something to give the best chance of the screen appearing the way I want it to?
I've had a good look through the 4.7 documentation and, I think, what I really need is a steer from someone that has "been there, done that".
04-05-2009 09:44 AM
Interesting that you would ask this question - I just finished writing two book chapters on the BlackBerry browser. You don't really write your app for a particular screen size, the norm is to write for the small screen (prior to Device Software 4.6) and let the device render as needed. Page View isonly useful on larger screen devices, and there is a way to define the view 'portal' for your page size. Not sure though why your page view page doesn't render, have you turned off style sheets to see how it looks?
Here's part of the the chapter text on Page view vs. Column View:
You can override Page view by adding the ‘HandheldFriendly’ meta tag to a web page. To enable this feature, add the following tag to your web page:
<meta name="HandheldFriendly" content="true" />
The tag tells the browser that the page has been formatted for the BlackBerry screen, and there’s no need to go into Page view to show the page. With this tag present on the page, the browser will display the page in Column view – even if the browser is set to use Page view by default or if the user presses the ‘z’ key to switch to Page view from Column view.
I found this feature by accident. I was checking my wife’s BlackBerry Curve® 8310 smartphone to see if Page view was supported in BlackBerry Device Software 4.5 and brought up the CNN web site to test it. The browser was setup for Column view and I pressed the ‘z’ key to switch to page view. What happened perplexed me until I found a note I made to myself about this feature – the browser switched to Page view then, as soon as the page rendered, switched back to Column view. This doesn’t happen in BlackBerry Device Software 4.6; when I try to switch to Page view, nothing happens. I’m assuming this is an anomaly in BlackBerry Device Software 4.5.
You can also tell the browser how large of a viewport to use when rendering the page. By default, BlackBerry Device Software 4.6 and later opens pages in Page view by default and renders the zoomed-out image of the page on a 1024 by 768 pixel canvas. If your page is designed for a smaller screen resolution, say 800 by 600 pixels, you can use the viewport meta tag to tell the browser by adding the following meta tag to your page:
<meta name = "viewport" content="width=800,height=600" />
For width, the default value is 1024 and for height the default is 768. You can specify the ‘device-width’ and/or ‘device-height’ parameters to instruct the browser to use the device width and/or height for the viewport as shown in the following example:
<meta name = "viewport" content="width=device-width,height=device-height" />
04-05-2009 12:31 PM
Thanks for all that John - certainly a lot for me to go at there!
As a starting point, I have just found a decent Storm 9500 simulator on the RIM site. Interestingly, that works exactly as I would expect in Page View - hence the real device and the simulated one are behaving differently. That suggests that there is definitely an issue somewhere in my style sheet.........
01-14-2010 02:27 PM
I'm building an application that uses RenderingSession to display web content. The application requires PageMode in order to get proper layout behavior. So far, I've managed to get most of the simulators to display the content in page mode by setting the following in the header:
The markup works on the 8900, 9630, and 9530. However, the 9550 Storm chooses to ignore the meta tags and forces Column mode.
Is this just a simulator glitch? Is there a better way of setting Page mode? Why not give the devs a RenderingOption for this?
01-20-2010 11:54 AM
Hey guys, thanks for posting about this subject it was very useful.
FYI, i had a issue with text overlapping on an image as the usual css padding and margins go out the window in column view, so to solve this use text-indent!