This is an English translation of the original Japanese article.
Under our "make everyday cooking fun!" mission statement, we at Cookpad provide several services. To deliver better solutions to our users, we use Android in diverse ways, follow advances in the platform, and pursue endeavors to sustainably grow and enhance the productivity of our services. In this article, we share some of our undertakings.
Developing Android-based signage terminals to play cooking videos in supermarkets nationwide
Through CookpadTV, we provide signage services called cookpad storeTV and cookpad storeLive, through which we play cooking-related videos at supermarkets. To provide these services, we have developed Android apps that operate on dedicated terminals.
When designing signage apps, developers need to be mindful of many different situations because each supermarket store has a different environment. For example, countless people visit stores, potentially congesting and randomly destabilizing network connectivity. Rearranging signage terminals is not an option—even when their location provides weak signals—because the terminals are installed to match the internal layout of the stores. We cannot show "check your network connection" messages on the screen for troubleshooting either, because the signage is meant to be seen by customers. To overcome these issues, we have taken creative and environment-based steps: for instance, supporting offline action and receiving and incorporating external commands when network connection is available, and bulk-sending error and other types of information.
In addition to implementing signage apps, we have arranged a system to efficiently deliver the apps to supermarkets nationwide. More specifically, we have established a means to provide mobile device management-based (MDM) monitoring and collective control of our terminals, as well as a means to distribute app updates. We need to choose terminals suitable for signage too. Realizing and providing our cooking video signage service requires taking into account various factors, and in this thought process, Android plays a central role. Provided below are entries from our Cookpad Developers’ Blog, sharing about the development of our CookpadTV signage app.
- Behind the scenes of the cookpad storeLive client app
- From 15 minutes down to 10 seconds: Shortening data acquisition time from storeTV displays installed in supermarkets nationwide
Developing an Android app that supports Cookpad Mart’s delivery service
Cookpad runs a fresh produce e-commerce platform called Cookpad Mart too, which connects food producers and consumers. In addition to an app for ordering and receiving products, the platform has developed and provides an app for product delivery staff, engaging in transportation at the front lines of the distribution system. To communicate shipment plans and track delivery statuses, the app provides a feature for managing distribution routes and product shipping containers. Harnessing QR codes to check product pickup and register sensors for the monitoring of delivery temperatures, Cookpad Mart has established a system for safe foodstuff transport. This is an example of our diverse applications of Android, geared to reliable delivery of fresh food for Cookpad Mart users.
Apart from our delivery staff app, we have developed another app for printing out product labels that are attached at stores. Before this app came around, our setup entailed a direct LTE module and label printer combination. But since this system acquired data shortly before the printing process began, printout attempts would fail if the device was in a poor network environment. To overcome this problem, we developed an app that obtains printout commands in advance under a good network environment and gives to printers a printout command via Bluetooth. This not only solved the label printing issue but also successfully lowered costs for LTE communication and equipment installation. The app was developed with Flutter for agile rollout to a wide range of platforms. For details and examples of Cookpad Mart’s app development, see the following entries.
- Cookpad Mart: A food market to enrich your everyday life
- Using SORACOM’s IoT device to remotely monitor temperatures of Cookpad Mart’s fresh produce
Efforts to maintain and adopt new technologies for the long-standing Cookpad app
Our Cookpad app is a mobile application for Cookpad’s mainstay service, in which users can search and post recipes. To continue to stably provide and improve the service, the app has followed advances in the Android platform and, in step with changes in the development system, made modifications in the screen structure, architecture, and release flow.
While maintaining the service, we witnessed various changes in the Android platform. Advances in the Android OS have pushed the envelope of Android devices and brought about transformations, allowing for a more safe and secure user experience. On the development environment front, Android’s productivity is increasing by the day by, for instance, supporting the Kotlin programming language and officially providing a solid suite of libraries (e.g. Jetpack). By steadfastly following progress in the platform, we can use powerful development tools and keep improving our service without spoiling user experience.
To make an unforced introduction of Jetpack Compose-based development in the Cookpad app, we recently reviewed the app’s architecture and updated libraries (e.g. Paging 3). Plans are underway to reorganize UI components, and efforts are ongoing for a partial introduction of Jetpack Compose. We are also actively working to use the toolkit for a link feature—for which development is underway—between our Cookpad app and Cookpad Mart. See the following entries from our Cookpad Developers’ Blog, where we share about endeavors related to the Cookpad app.
- Endeavors for a mobile platform in a large-scale project
- The 2020 architecture of the Cookpad Android app
In conclusion
Cookpad uses Android in many different ways tailored to the goal of our services. The requirements and issues we need to address differ by service and environment, but we will think creatively and continue our improvement efforts to overcome such challenges, and in turn provide better services hand-in-hand with Android.
Career opportunities
About the author
Tomohiro Moro
Tomohiro Moro joined Cookpad Inc. in 2014 where he is mainly involved in developing the Cookpad iOS app. Currently the manager of the Mobile Platform Department, he arranges mobile app development environments and both decides and promotes courses of action for technical matters.