1 Million Lines of Code, 5,000 Tickets in Jira and 3 Years in Development. Meet temi, an 'Alexa on Wheels', and more!
A typical day at Netguru looks as follows: One team is building an app for one of the biggest banks in Europe.
Another team is working with Volkswagen to help them create a unique customer experience for their first boutique store. Yet another team is sitting at one table with a group of designers and developers experienced in creating cutting-edge unmanned ground vehicles.
Yep, you heard it right: unmanned ground vehicles. About three years ago, Netguru joined temi, a sister company to Roboteam – a company with robotics deep-rooted in its DNA, for a project. This time, the challenge – even for a leading global provider of tactical ground robotic systems – was utterly new. The challenge was to design and build a premium and affordable device, which would secure temi the pole position in the home robotics market.
As a personal assistant, temi is able to show weather forecast or recent sport updates, play your favourite music in the morning or shoot a video of a parent playing with his daughter.
Initial vision? Elderly robotic assistant. The outcome was temi, a personal assistant robot, labelled by the media as Amazon’s Alexa’s equivalent on wheels. All developed from scratch by three teams scattered around the world (Israel, China, and Poland).
In case you have not yet met temi, let us do the honours. It is a three-foot-tall, 20-pound home robot with a 10-inch screen and a Harman-Kardon designed sound system, packed with a lot of advanced sensors (comparing them to a vacuum robot’s sensors would be, according to Yossi Wolf, temi’s founder, ‘like comparing the iPhone to a Motorola walkie-talkie’). Developing temi that gathered a round of applause in industry events in the US and Europe, took almost three years, over 1 million lines of code, and over 5,000 tickets in Jira.
Netguru’s assistance in temi’s creation
What I could describe in one short paragraph was, in fact, one of the most challenging projects for Netguru. Before the temi team approached us, we’d delivered a lot of apps for many partners and in many technologies, be it iOS or Android. They were by no means trivial. The temi project, though, was a different kind of app from those we had worked on before. It was envisioned and designed to replace the Android operating system and become the heart and brain of temi’s headtablet.
ROBOX- navigation module of temi (patented by temi team)
Building a robot is a demanding journey. As everything with a domestic robot must happen in real time, you need plenty of hardware specialists, tonnes of advanced sensors and a CPU strong enough to handle temi’s performance.
Then there is the physical design of the device, which must fit elegantly into an apartment, not look like a toy, and convey a balance between a being a device and having some physical presence. The temi team were quick to explain that with temi they are trying to strengthen human relations rather than substituting them.
On top of that comes software that must unlock the potential of both hardware and design to the end user. Together with the temi developers, we tackled this part of the journey (i.e. the software).
The whole project started with a scoping session for framework for a launcher for temi. As soon as we split the responsibilities and roles between the teams, we started working on three platforms: the robot’s operating system (Android-based), an iOS app and an Android app.
Along with the apps for controlling the robot came an open Android SDK (temi SDK platform), which allows third-party developers to write custom apps for temi. Netguru is also developing a set of apps for temi.“Initially, a lot of effort was put in the research. There were architectures and technologies out there that neither the temi developers nor Netguru used in such context before” says Pavel Averin, Netguru’s first Project Manager at temi.
For instance, the above was the case with Natural Language Processing (NLP)."It was hard to learn at first how to build this architecture so it supports multiple types of content” adds Assaf Davidi of temi.
To enable users to connect to temi, our teams also had to handle voice recognition, video loads, and fast data processing in the cloud. Netguru focused on R&D and iterative cycles to come up with the best possible technology for any given task.
“Whenever we found a better solution, we did not hesitate to revise our code and rewrite any parts necessary to deliver the upgraded experience for the end user” adds Pavel Averin from Netguru.
How Netguru’s culture and processes became part of temi’s way of working
Not only did we support the temi team with software skills (Android and iOS), but we also introduced the robotics company to our agile culture, principles, and processes. All our bi-weekly sprints, quality assurance, code review, retrospection and planning, backlog grooming, or daily standups were applied to temi. In order to collaborate seamlessly as if we were an integral part of the temi team, we suggested common work grounds: Jira, Slack and Bitrise.
“It was essential to be able to work on a hardware project remotely, with three teams working in different time zones” says Pavel Averin.
Even though not present at temi’s headquarters, Netguru’s teams, ‘veterans’ of remote software consulting and development, were able to resolve any issues and glitches while upgrading temi’s performance in real time. Furthermore, as we were working as an integral part of the project, we helped temi to define and set priorities for temi’s software development.
“We’ve had a long-term relationship with Netguru. Netguru is a great and super-professional service provider, which brought new technologies, new methodology, and a fresh perspective to our project” concluded Assaf Davidi, VP Product at temi.