Designing a UI for BBM connected applications
Adding a social aspect to your application can help maintain its presence on BlackBerry devices and help attract more users. You can use the BBM Social Platform APIs in the BlackBerry Native SDK to:
- gain access to BlackBerry Messenger contact lists and user profiles
- invite BBM contacts to download your application
- initiate BBM chats
As you design the UI, be aware that the layout of the screens and the flow of interactions impact the experience that users have with your application. Make sure that you support users by creating meaningful, streamlined interactions between your application and BBM. The following best practices can help you meet user expectations and create the best possible experience for your users.
- When you write a description of your application for the BlackBerry World storefront, be sure to mention that your application is a BBM connected application. Since BlackBerry Messenger is one of the most widely used applications on BlackBerry devices, users might be encouraged to try your application. You can use the following sample text in your description: "By connecting this application to BBM, you and your contacts can get together, socialize, and communicate by <insert a phrase that describes what users can do (for example, playing games against each other)>."
- Create a succinct name for your application. Long names detract from readability. Avoid including the version of your application in the name. For example, use "Word Mole" instead of "Word Mole version 2.0."
- Create an application icon that is 114 x 114 pixels.
- Design icons that are visually interesting. Make sure that users can distinguish the icons from the background of the screen and that they can distinguish your application from other applications. Avoid using BlackBerry Messenger icons or BBM branding in your application.
- Register your application with the BBM Social Platform when users open your application for the first time. Users are more likely to expect setup activities the first time that they open an application.
- If users do not agree to connect the application to BBM, avoid exposing functionality that requires connection to BBM (for example, in menus or buttons on the screen). If users tap a dimmed item, display a toast indicating that the application is not connected to BBM and explain how users can connect to BBM.
Best practices for sending invitations and messages
- Make sure that users are the ones who initiate requests to engage other users. Your application should not initiate requests on a user's behalf. For example, users should initiate requests to send a file, download an application, or invite others to join games, forums, or chats.
- If users want to invite others to join games, forums, or chats, you can allow users to enter their own text or you can provide default text in the message or invitation. If you provide default text, do not include advertisements or spam. Users might be annoyed if they have to delete unnecessary text.
- Include a contextual link in messages that recipients receive, where possible. For example, if a user sends a picture of the CN Tower, you can include a link to a map that shows where the CN Tower is located. Otherwise, link to the main screen of the application.
Best practices for choosing contacts
- Provide contacts with filter options, if possible and if meaningful to the task. For example, in a game, filter the contacts by skill level such as beginner, intermediate, and expert. This approach makes it easier for users to find relevant contacts, especially if they have a lot of BBM contacts.
- Allow users to filter contacts by contact categories that they created in BBM.
Best practices for chats
- Make sure that users have the ability to choose the people that they want to chat with.
- When a chat begins, expose the chat interface so that the user knows that a chat has started.
- Make sure that you design your screens so that users can access key features when the chat interface is open. If users chat using a virtual keyboard, be aware that the portion of the screen reserved for the application is limited, especially in landscape view.
- Make a chat interface available on multiple screens in your application so that users don't have to open a specific screen to open and reply to chats.
- If your application supports multiple chats, make sure that users have a way to switch between chats.
Best practices for profile boxes
- Give users the option to add information to their profile box.
- Always ask permission before updating a personal message or status in a user profile. Do not prompt users to update their display picture because they won't be able to see the picture before it is updated.
- If users allow your application to update their personal message, use the personal message field to describe a quality that is attributed to the user (for example, "I am a fan of Word Mole"). To describe a current activity, create a personalized status for the user (for example, "I am playing Word Mole").
- Include only new events that users accomplish or specific activities that are meaningful milestones in a profile box. For example, include events such as "Kevin has achieved level 4." Do not use the profile box to promote a feature or a new version of your application.
- Provide a succinct description for each event in the profile box (for example, "Catharina has posted a new playlist. Take a look."). If possible, provide users with a way to get more information by allowing them to click a description. For example, allow users to click a description to see a playlist. If a link cannot point to a specific location in the application, link to the main screen of the application.
- Include a meaningful icon for the activity or event. For example, use a trophy icon to mark noteworthy accomplishments in a game. Try to create a unique icon for each activity. Avoid shrinking a large picture and using it as an icon. If you do not create icons for each activity or event, then your application icon appears instead.
- Create icons that are 119 x 119 pixels. Test the icons on each screen to make sure that the icons, when scaled, still convey the intended meaning.