03-22-2013 05:59 PM
It's not a strict requirement that apps have an action bar on the first page, but neither is it a given that apps built with bbUI.js will pass Built For BlackBerry Criteria. The same holds true for Cascades apps. Things like settings and seldom used options must be in the application menu, and nowhere else. Actions should appear in the Action Bar OR Overflow menu, not both at the same time. And it does come down to a judgement call on the reviewer's part, which is why we introduced the appeals process with review by several experts. I have seen many, many apps that fail because they use overflow when it should be tabs, or have no application menu, put settings in the action bar, or have repeated actions in the action bar and overflow. I have tried to be detailed, but there are a lot of small things that make up the BlackBerry 10 UI, so if there are more than a few areas where changes need to happen you might not get a full list. And, because it's a guideline, if you capture the experience but break some of the "rules" that's fine. There has to be room for developers to innovate and create their application experience.
Besides the UI, you must have some kind of service integration to meet the criteria. For most apps this is BBM, and there are only rare cases where BBM doesn't make sense to add in some capacity. It's an automatic failure if you don't have a service integrated. This is the clearest documented requirement and the most often broken that I have seen.
Finally, Built for BlackBerry is a designation with certain criteria. The expectation is that every app with this designation is designed for BlackBerry 10, takes advantage of the unique BlackBerry experience, with BlackBerry specific features and services, runs well, and provides solid value to the user. It doesn't mean that an app has to be Built for BlackBerry in order to be good, as there are many apps that are great and wouldn't pass the criteria. But it does mean that every Built for BlackBerry app will be good.
03-23-2013 01:25 PM - edited 03-23-2013 01:26 PM
The Hub application has the search and compose actions in the action bar AND in the overflow menu. Does this mean that the Hub is not in compliance with the Built for BlackBerry guidelines?
03-25-2013 04:27 PM
That's correct - it's got repeats, and settings appears there rather than in the application menu, which is actually disabled and replaced with the main system menu. The Browser also breaks this by making swipedowns show the page title, and putting settings in the overflow.
The duplication of items is pretty minor but should be avoided. It's not as bad to duplicate actions in the action bar and overflow, but definitely do not duplicate items in the overflow and application menu.
03-26-2013 11:49 AM - edited 03-26-2013 02:15 PM
It is not a strict requirement, it is just that the BFB test team is very rigid.
For example, my app has a context menu (side menu) to host all options (Set Amount, Move Up, Move Down, Update, Edit, About etc). BFB team wants me to put About option on a swipe down menu, put Edit/Update options on Action bar, leave the rest on side menu...
Honestly speaking, I feel BFB is more concerned about if App includes various BB10 UI elements as many as possible, regardless of whether these UI elements are really needed for this App.
03-26-2013 03:34 PM
03-28-2013 04:37 PM
I was just informed that they are dropping the requirement about action bar items not appearing in the overflow menu. That will no longer fail a B4B app. There should be no duplication of items in the application menu though, and no duplication of icons for separate actions.
03-28-2013 04:38 PM
I should add that this thread was instrumental in getting this item clarified, so thanks very much everyone for your input here.
04-21-2013 11:13 AM
There should be no duplication of items in the application menu though, and no duplication of icons for separate actions.
Do you mean using identical icons for two different actions? I think that would be a bad idea, but I wanted to clarify if that's what you meant.