Jibo: Server-Side and Mobile Development for the First Social Robot
For the past two years three teams of Waverley engineers have been working in collaboration with Jibo to create the first social robot for your home. We provide server-side, mobile, and QA expertise to facilitate user integration with the robot through native iOS and Android applications with specific attention to security and data protection.
Jibo is the first robot for home that is intelligent, helpful, and friendly. The robot can speak, see, hear, and answer, just like a living being. JIbo is the future of robotic personal assistants for individuals and families.
Founded in 2013 in Boston, Massachusetts, Jibo needed world class developers with both engineering expertise and forward-thinking ability to build the critical technical infrastructure for their invention. They chose Waverley for our breadth of experience and proven track record of happy Silicon Valley customers.
Initially Jibo needed Waverley’s engineers to quickly construct a reliable, scalable, flexible services architecture. The next step was to develop mobile apps for iOS and Android to communicate with the robot. Security was a high priority, as privacy was Jibo’s #1 concern. Jibo knew that the platform would evolve and expand over time, so technical excellence in the architectural approach was of great importance.
Waverley built 3 teams: server-side/backend, mobile, and QA. Following a fast-paced Agile methodology, we quickly defined the services needed at launch so as to implement a flexible platform:
- To achieve scalability on the server side, we followed the microservices approach in connection with Docker.
- To create an optimal user experience on iPhone and Android devices, we developed two native mobile apps.
- To provide maximum privacy protection, we leveraged Amazon cloud security and data encryption.
In collaboration with Jibo, mobile applications have been designed to provide the optimal user experience on both iPhone and Android devices. To leverage native platforms, the design for iOS and Android was developed separately, using the same brand look and feel. The Android design exemplifies the best Material Design practices, while the Apple version has many elegant iOS features. Both applications are extremely user-friendly.
From the DevOps point of view, Waverley has automated every part of the development process by implementing continuous integration and continuous delivery. Our team then dovetailed this with a centralized software management system providing smooth user management, log management, and enterprise monitoring systems.
BACKEND and SERVER SIDE
The use of microservices enables up-to-date solutions for each part of the app. Waverley has built a Docker-based Microservices Architecture to achieve the following goals:
- Backend flexibility to handle further growth while keeping expenses under control.
- Development agility given the startup nature of the project.
- High system reliability and disaster recovery potential (Load Balancing, Cloud Formation, etc.).
- All services are fully autonomous so each can be scaled independently from the others.
Waverley is the first positive experience I’ve had with outsourcing. I’ve had other experiences that were okay, but this is the first that’s positive. The guys on my team are really something special.”
Waverley values performance and smooth UI, keeping FPS 60+, especially on a scrollable feed with mixed content including images, audio, and texts. Cross-device state synchronization was achieved through a combination of push notifications, long polling, and pull-to-refresh. Jibo native iOS app supports versions iOS 9 and higher.
- Robot onboarding setup (WiFi setup, registration, adding family members, QR code generation).
- Real-time chat with encrypted messages (iOS version programmed to work with Java-based encryption since native iOS encryption algorithms do not match the native Android).
- Media gallery with images from the robot and chats.
The Android app supports software versions 4.3 and higher.
- Numerous custom UI components.
- Advanced image-editing tools.
- Bottom-tabs menu.
- Easy navigation through tabs.
- A saving feature when switching between tabs (to keep the user experience consistent on both iOS and Android).
In order to achieve the highest level of security possible, the communication protocols are based on Amazon libraries and customized to fit the apps.
To achieve the maximum privacy and comply with the Children’s Online Privacy Protection Act, Waverley engineers came up with an innovative approach that prevents the server and network service providers from being able to read any content taken by robots or mobile devices. Furthermore, they devised a special encryption key generation and sharing scheme. As a result, all encrypted messages and media files are stored on the server; only robot owners and their family members can get access.
- Detailed requirements analysis
- Usability testing
- Functional, regression and exploratory testing to check whether the apps fulfill the requirements and there are no bugs after each change of code
- Compatibility testing to see if the apps work as expected on different platforms and devices
- Performance and load testing to make sure that the server can handle the appropriate number of simultaneous users/robots and to find any potential bottlenecks in the server-side architecture
- API testing/Integration testing to ensure that application programming interfaces meet all functionality and reliability expectations; functional areas tested separately to prove that all components work as a whole system
Support & Maintenance
For over 5 years, Waverley has been Jibo’s trusted technical partner. At different stages of the project, we provided on-demand Level 2 and 3 support services to Jibo. Our support team was hired to conduct server maintenance and ensuring general system stability.
At the post-release stage, we performed regular environment checks and implemented minor fixes to ensure stable server performance. The Waverley support team was in charge of:
- AWS Cloud alerts monitoring
- Server reliability monitoring
- Timely certificate refreshment
- On-demand Node.js code refactoring
- Server issue research and fixing
We continue to provide Jibo with on-demand technical support services. Routine tasks of our Level 3 support specialists range between code refactoring and cloud migration. Waverley also provided Jibo with recommendations on establishing an in-house 24/7 Level 2 support team. The project is ongoing.
To find out more please read the client’s review on Clutch.