Featured Project of the Month: The Image Recognition System Implementation for Tutti

Our monthly feature of a cross-company product development at Tamedia.

There was this great idea of implementing an image recognition feature into Tutti’s ad-insertion process. The overall goal was to increase the completion rate at the ad insertion stage by making the process easier, and to then increase the number of ads published by each user. But Tutti didn’t have the resources to build and implement such a feature. Mathias Vettiger, formerly with the Core Engineering Team and just recently swapped into a position as Senior Product Manager at Tutti, successfully pitched the idea to the Tamedia Innovation Fund together with his colleagues from the Core Engineering and with the support of Tutti. After the funding was received from the Tamedia Innovation Fund, Mathias led the project in Core Engineering, the Tamedia Data Analytics (TDA) Team developed the classification model, and Tutti became a consulting stakeholder with its say in the process. The PUX Team supported the product-development process and helped gaining user-insights with research and a Design Sprint workshop. We talked to Mathias about his perspective on the project.

Here is how the product was developed and implemented, step by step - and some important “learnings” gained along the way

Step 1 - The Design Sprint and Prototyping

The Core Engineering Team, under the leadership of Mathias, approached the PUX Team who created a Design Sprint for the stakeholders of the project. The goal of the Design Sprint was to speed-up the flow and lower the barriers in the listing process by providing an image recognition system for Tutti.ch and to deliver a prototype of the product interface which was to be tested with users.

In the workshop we looked first at competitors’ solutions, trying to find out about the product feature’s design and technical possibilities.

Thereafter, the voice of the users was analyzed by creating fictitious user profiles, recreating their journey through the app, and assuming the customer’s satisfaction at each step. It looked somewhat like this:

In a guided ideation process the stakeholders sketched a first version of the prototype.

(Uhh. We love Mathias.)


And these are the final prototypes, the outcomes of the 3-day workshop:

One version is a 2-screen interaction with a step-by-step process. It uses tags for categories and subcategories. You can swipe them horizontally on the screen with a dynamic interaction. There’s a playful animation where the image recognition features as a “magic wand”.


The other version that came out after the intense 3-day Design Sprint is a one-pager with a drop-down menu that filters the categories. Each step the user takes is numbered and it looks and feels very similar to the existing UI.


As soon as there is a scarcity of resources, the impression sometimes arises that a workshop is way too expensive and time consuming to meet the goal. This was also the case for Mathias. During the workshop he got concerned about the time and resource consumption of the process. However, he did point out to us that he gained a lot of knowledge in the workshop. Considering that ideas sometimes take weeks to develop, it probably makes sense to spend more time on finding the actual solution rather than on stakeholder management. If not from a business perspective, from a product perspective, a Design Sprint always makes sense.


Step 2 – Writing the image classification model


Marcel from the Tamedia Data Analytics (TDA) Team developed the image classification model for Tutti’s purposes. FYI, he is, if you didn’t know that already, a genius! Hats off to Marcel!


Step 3 –The technical realization of the prototype

So, in the following phases, we had a mockup for the prototype and a bunch of things we had taken from the Design Sprint. But a working prototype still needed to be created in order to conduct valuable user research. This was done by Fabian from the Core Engineering Team to test Marcel’s model more easily. The prototype is not used in the actual implementation, though it did provide an important demonstration of the application for user testings.


Step 4 –UX Research on the first prototype

In two research rounds we had our UX Researcher Yanira on the case. She conducted two qualitative researches based on the outcome of the workshop with 20 min- (round I) and 1h- (round II) semi-structured on-site interviews. The goal was to determine if users notice that the categories are preselected with the aid of image recognition and if this will help to simplify the process of uploading an ad on Tutti.ch for them. From this research, recommendations were formulated that would help improve the usability of the feature. Very importantly, Yanira found that users neither understood what had been going on, nor knew that the categories had  been preselected for them automatically. They still opened the category selection, some to insert them by hand and others to reconfirm that there were no better versions to be found. Yanira further recommended that it would be a great advantage for the feature if it were possible to automate the process completely and avoid asking users to confirm the through the image recognition system’s pre-selected categories. .


But this research could not show us was the long term changes in the user’s perception of the feature: Can users get used to a new feature and how long does that take?


Step 5 – Implementation on the iOS Tutti-App

The prototype had to be developed for the iOS App  - at which point the stakeholders from Tutti expressed their excitement about the project and wanted to integrate the feature directly into the existing technical Tutti infrastructure. Mathias thought that this was a very cool development: what could be better for the implementation process than having Tutti’s very own engineers take care of the integration of the Image Recognition feature, instead of relying on external freelancers. However, what we might not have considered in all the excitement is that Tutti was at that time -and still is- in a phase of structural change and lacked the infrastructure to deploy the endpoint at that very moment. In the end it took longer than it would have done with external input.


Looking back, Mathias, now fully employed at Tutti and knowing the internal resources, would have rather left the endpoint to some external server for a first testing phase before integrating it step-by-step into Tutti’s infrastructure. Because other priorities at Tutti.ch had also to be taken into account, the pace of development was determined by the day-to-day business, and had to be held back on many occasions. Now the release is planned for this spring and we’re very much looking forward to it!


Where and why the Innovation Fund swung into action

Tutti simply couldn’t develop the feature by themselves: they had insufficient resources and had plenty enough on their plate with just their daily challenges. But given the idea’s clear promise for near-term improvement of the completion rate of ad-insertion, the Core Engineering Team took the initiative of pitching the project to the Tamedia Innovation Fund and developing it in parallel with Tutti’s ongoing priorities.


Mathias sees the Innovation Fund as a great opportunity to realize projects without mobilizing all the existing resources of the respective company, while still gaining the benefit from development. However, in his opinion, we should be careful about considering something as an “independent” project, since most projects eventually have to be integrated into existing structures. Therefore, they need to have touchpoints in the process of their development, at least from time to time.


Which outcomes do we commit to, and how will we track them?

In the next phases, a beta version of the feature will be released  to some users, and an A/B Testing conducted. The qualitative goal is to make the ad-insertion process easier for the users. This will be tracked by collecting numbers about the completion rate: Is the process of publishing an ad now easy enough for more users to complete the process successfully? This quantitative outcome will be trackable very soon after the release. The long-term goal of increasing the number of ads published per user will take some more time to track. The awareness that it is now “easier” to post an ad, will have to make its way into the user’s consciousness.

We have the following (pretty) newly gained wisdom to share with you about this article’s initial question:

  1. Respect the existing processes and priorities and find alternative ways of developing innovative ideas if they would otherwise disrupt a working process. AND: Keep in mind that even doing things along alternative paths will almost always cost internal resources as well. Meaning: If the goal of a project is to make an existing product better, make sure you think about how you involve existing stakeholders and how you want to integrate something back into the original product.
  2. If you’re doing a Design Sprint about a concrete project, juggle and allocate your resources carefully. It can be very valuable to your product, but make sure you have the necessary capacity available afterwards.
  3. If you’re working with the Innovation Fund, make sure you sort out the merging of the feature/ product developed in parallel right from the beginning of the project. And keep close tabs on the know-how within the company you’re working with.
  4. A test version does not have to be the final infrastructure and can gradually be implemented into a system. Most importantly, you’ve got to start somewhere.
  5. See qualitative research on a prototype not as a final outcome, but rather as an inspirational source and as the possibility to pinpoint problem areas and improve the product in the process of development. It can serve you with very crucial information that you might need to consider before the release of the beta or testing version. However, keep in mind that there is a time component as well, and track your new product/feature for a certain period in the web (possibly not directly accessible to all users) for A/B testings).

What would you like to read in our next "Project of the Month" coverage? 

Select all: