Crowd Maestro Mobile Application Development Case Study
1.1 About the application:
Imagine this: You are sitting in front of your television (or your computer screen) watching your favorite TV program or a sporting event.
You are either sitting alone or you are sitting among people who do not share your passion. You desperately want to share your thoughts with a group of people who share your excitement about the ongoing TV program or sporting event.
Why Do You Want to Do That?
Real-time social interaction enhances entertainment experience. The ability to exchange messages, opinions and points-of-view on the ongoing TV program or sporting event creates an immersive experience, as if everyone is enjoying the program or the sporting event, sitting in a single room. The virtual atmosphere can be eclectic and more entertaining..
Due to the same reason, when there is an event like the World Cup, or something like the finale of The Game of Thrones, big screens are installed at public places like pubs and restaurants and people gather there to watch the events unfolding with hundreds of other people. Why not have the same experience through a mobile app?
Enter Crowd Maestro
The client came to us with this brilliant idea of a mobile app called the Cloud Maestro to enable people to connect with the others who are watching the same TV program or a sporting event, and talk about it. It doesn’t have to be an ongoing event. Maybe there is a program that was broadcast years ago (Star Trek when it had Captain Kirk) and you want to create a chat room for the fans of the program.
The interaction in the app needed to be as real-time as possible so that the user has the complete experience of sitting among a group and chatting with his or her friends or colleagues. The basic idea was to build an online community of like-minded people who love watching and talking about the same shows and events.
The ability to chat was a fundamental feature. The app user should be able to chat in real-time with other enthusiasts about the live show or the live event going on. He or she should also be able to create custom chat rooms of his or her own liking.
Here are the main capabilities of the chat requested by the client:
- Join existing chat rooms or create your own chat rooms.
- Invite people to your chat rooms either en masse or one-by-one.
- Join ongoing discussions when the TV show is going on with advanced filtering such as people posting spoilers (pause and resume chat time-lines at will).
- Synchronized chat timing with your time zone.
- Rewind or fast forward an existing chat time-line.
- Find like-minded people and either join their chat rooms or create your own chat room and invite them over.
- Host lists of your favorite TV shows and receive notifications when they start.
In addition to the above-listed features, a user should also be able to
- Synchronize the chat time-lines of different people even from other time zones to keep the conversations current.
- Join and create private chat rooms that are accessible only when the admin authorizes entry and participation.
- Private chat sessions in public chat rooms.
- Members-only chat sessions that are not publicly accessible.
1.3 Proposed Solution:
Our first priority was to assimilate the importance of the real-time experience that the mobile app intended to give to its users. Aside from the ease of using and faster communication, the interface also had to facilitate real-time creation of chat rooms, updating and synchronization of time-lines, and conversations based on public access or private authorization.
It was very important for the app to be extremely easy to use so that the interface wouldn’t interfere with the program-watching experience. All the needed information had to be right in front of the user so that he or she didn’t have to make an effort to find the right chat rooms and online discussions.
We decided to approach the challenge through two phases:
Phase 1 involved mapping all the requirements of the mobile app and gathering every possible information. We also presented the client with a wireframe and a working prototype to give a real idea of how the app will eventually function.
The ER diagram that we presented gave a clear picture of how the information and data will flow between different models, how it will be processed and how it will be saved and retrieved.
Phase 2 consisted of the following exercises:
- Interface design and development based on the approved prototype by the client.
- Setting up the core database.
- Back-end development.
- Live testing to ensure that all the modules ran as per requirement.
- User Acceptance Testing.
- Deployment of the mobile app on Google Play store and Apple’s App Store.
Explanation of Some Core Features of Cloud Maestro:
For creating a seamless chat experience for Crowd Maestro, DCI integrated a third-party API named “XMPP”. It stands for Extensible Messaging and Presence Protocol which facilitates multi-party chat, collaboration, routing of XML data and support for private and public chat rooms and private chats in public chat rooms, and much more.
Rewind and Fast Forward
One of its biggest draws of XMPP was the ability to rewind and fast forward chat sessions and real-time synchronization according to different time zones, but we needed to do lots of custom coding on our side too.
We achieved rewind and fast forward by storing the timestamps in the database along with the time zone. Then, a customized algorithm was generated to use the timestamps and then synchronize the chronology of the messages according to the chosen time zones. This way the user gets the feeling of “live chat” even when the chat has already taken place in a different time zone.
All chat interactions are encrypted. Users can host private chats. They can create private rooms or they can create private chat time-lines within publicly accessible groups.
The client is very happy and satisfied with the outcome of the Crowd Maestro mobile app. The app is fast catching on, on both Google Play store and Apple’s App Store.
The user feedback has been great. Most of the users have reported that the experience of watching their favorite TV program is amplified manifold when they’re able to interact live with other fans. The users can pause and resume ongoing chats so that they don’t come across the spoilers. The best part is that they can create their own custom chat rooms dedicated to the programs of their preference.