Introduction to Super App development
Create a transformative mobile application experience on the BlackBerry platform.
The question is important because whether your app is free, sold, or pushed to the user, its success and reputation depends in part on creating the best-in-class mobile experience. What does "best-in-class mobile experience" mean in practice? It means that your users can't live without your app. It means that your app makes every day richer and easier for your user. Those apps are Super Apps.
This guide demonstrates the principles behind outstanding mobile application design. Super Apps have the following six characteristics:
Super Apps run in the background on a BlackBerry device to ensure that information is ready for the user before they need it. Whether it runs on device startup, or while the user works with another application, a Super App:
2. Highly contextualized
Super Apps provide users with information based on location or activity. A Super App can use GPS data, the call log, calendar appointments, and more to sense and deliver on the user's information requirements.
3. Tightly integrated with core applications
Many core applications on a BlackBerry device expose an API that allows you to add menu items for one-click access to your Super App, use specific components from the core application, or inject data.
4. Social and connected
Super Apps facilitate interaction between users. BlackBerry APIs enable you to capture photos and videos. You can share your media with other devices, or over the Internet. You can also create emails, SMS messages, MMS messages, and instant messages.
5. Proactive and notification-driven
Super Apps keep users informed about events or when important new data arrives. Your Super App can play a sound or vibrate the device, change the app's Home screen icon, and more.
6. Efficient and scalable
A Super App respects the constraints of a mobile device: battery life, cellular data costs, and limited processing power. A Super App can rely on technologies like the BlackBerry® Push Service and Wi-Fi® to execute code only when needed, and minimize network bandwidth.
Developing a Super App
The chapters that follow demonstrate the six characteristics of Super Apps by developing an application named Bookshelf. This application is designed to catalog the books in a user's collection, and connect the user with others who share a love of books. The user can enter the title and description for each book in their collection and display a list of their books.
One way to make Bookshelf engaging is to enable its users to share their love of books. Adding social features to the catalog functions effectively will force us to explore all six Super App characteristics. To add a social dimension to Bookshelf, there are four user stories to consider:
- A user wants to broadcast their thoughts and feelings about a book.
- A user wants to share their thoughts with others who have read the same book.
- A user wants to encourage others to read a book.
- A user is looking for book recommendations.
Each of those user stories requires some kind of communication channel between two Bookshelf users, and a precise way to refer to books. Creating a channel for users who already know each other can be straightforward. For example, you could devise a way to associate information from the Contacts application on a BlackBerry device with known Bookshelf users. Then, you could then send a message from one device to another through BlackBerry® Messenger or email.
A more challenging problem arises when you want to create an opportunity for users who may not know each other to interact. In this case, you will need a network server to coordinate the interactions of Bookshelf users. You could use any social networking tool to post messages about books. This approach would cover user stories 1, 2, and 4. To include user story 3, you could create a systematic way to leave a book in a publicly accessible place, such as a coffee shop, for another Bookshelf user to find.
Imagine that you can socialize Bookshelf users through a web service. The Bookshelf web service would perform the following functions:
- Associate books with users, either by copy, edition, or title.
- Provide a unique, printable QR code for users to attach to a book. This gives users a precise way to refer to books.
- Provide location information about books that were released.
- Push information related to a book that a user has released.
By the end of this guide, the Bookshelf app will enable a user to participate in a community of book-lovers through their catalog of books.