Innovation Incubator Round 1: A Retrospective

We're done with our first round of our Innovation Incubator: Here's what we've learned!

Last year we came up with the concept of Innovation Incubators. It is a learning and sharing process that tries to connect people from the different teams together. This is especially important for a remote company with people working all across Europe.

What's the idea of an Innovation Incubator?

Anybody in the company can come up with an idea for an experiment - something that could be done by a team of 3-4 people working for a whole week. Each round we encourage anybody to shape and pitch their ideas, select one and then assemble a team of volunteers to get it done. Review and repeat.

The incubator rounds are stretched in time to avoid interfering with the regular projects. A “full week” doesn’t mean “working 40 hours straight in one business week”, but rather “spending one specific day per week on the innovation incubator, 5 weeks straight”.

We have already completed Round 1 of the incubator. The second Round is on its way. So here's the retrospective.

Pitches

There were two experiment proposals for the round:

  • Design, review and publish a new exercise for the DDD katas - offline competition.

  • Take apart fawkes photo cloaking algorithm in Python and attempt re-implementing it in Kotlin on JVM.

Pitches were written and presented to the company (Basecamp's ShapeUp technique is used as an inspiration for the approach). The photo cloaking algorithm was selected in the end.

Theory

Fawkes photo cloaking algorithm takes the original photo and then tries to subtly modify it. The goal is to make the AI (a pre-trained deep neural network) believe that a different person is displayed on the photo. All photo modifications need to fit in a specific “budget” - they shouldn’t distort the photo too much.

The plan was to spend some time learning the Java ML ecosystem, then take apart fawkes and quickly reimplement it in Kotlin on JVM. Fawkes uses Tensorflow with Python to run the image manipulation. Java also has a Tensorflow library that could be used from Kotlin. Nobody really knew Kotlin before, but how hard is it to pick up a new language?

Most of the assembled team didn’t have prior experience in the data science world, but there was one member that has spent the last years in that area.

How hard could it be in theory?

Practice

In practice, this round was more challenging than anticipated.

As it turned out, we’ve been trying to solve a difficult problem while learning too much at the same time: new language, a novel algorithm, data science stack, design patterns. There wasn’t enough time, plus the ML ecosystem in Java wasn’t helping much (it has a lot to catch up with Python).

Here are some of the things we have discovered along the way:

  • Jupyter and data science design patterns are different from the usual software development processes (e.g. business services, web applications or distributed systems).

  • Kotlin is a new language, that comes with a different IDE and its own ecosystem (Maven, Gradle jars etc). It took us some time to just read JSON and crop an image.

  • Tensorflow on Java is only partially supported, there is no Keras, and it takes some magic to just get the necessary platform-specific libraries.

  • The feature extractor model from fawkes in Python was stored via Keras in H5 format. It took some figuring out how to convert it to a raw Tensorflow graph loadable by the Java library. We had little prior experience with both TF and Keras.

  • The evolutionary algorithm was a new design pattern, so it took some time to just settle on the design and start splitting the tasks.

Fortunately, the problem was shaped to be small enough. It was possible to adjust the scope and still manage to deliver a somewhat working solution. Yet the need to constantly do that was an indication that there is a lot to learn for the planning process.

Results

At the end of 5 workdays we loaded a model in Kotlin, wrote code for the image manipulation, generating new “attack” solutions and applying them as a mask to the image. All of that was wrapped with a hand-written evolutionary algorithm.

The end result was less exciting than we originally imagined. A few hours of processing made the Azure demo UI only slightly less certain about the person in the photo (from 93% confidence down to 92%). By using the face recognition API we got better improvement, but that could probably be explained by a different model running there.

We’ve learnt a lot from this round, trialed the new incubator approach and experimented with completely new technologies in 5 workdays. All that in a complete remote setup spanning three different countries with the difference of four timezones.

These results were good enough to try launching a second round of the Innovation Incubator at TIMETOACT GROUP Austria. That round is almost complete by now - only one workday remains.

After the final presentation and retrospective, it will be a topic for another blog post in the series.

Acknowledgements

Ian Russel, Ahmed Mozaly, Aigiz Kunafin and Sergey Tarasenko for trialing the first round of Innovation Incubator.

Harald Beck and Ian Russel for reviewing this article.

Blog 8/31/20

Innovation Incubator at TIMETOACT GROUP Austria

Discover how our Innovation Incubator empowers teams to innovate with collaborative, week-long experiments, driving company-wide creativity and progress.

Headerbild zum TIMETOACT Onboarding
Referenz 9/28/20

Onboarding solution of TIMETOACT

Introducing new employees to the company is faster, easier and more efficient with an efficient ticket system in Jira, for example. Our experts have developed a solution for this.

Blog 5/18/22

Introduction to Functional Programming in F#

Dive into functional programming with F# in our introductory series. Learn how to solve real business problems using F#'s functional programming features. This first part covers setting up your environment, basic F# syntax, and implementing a simple use case. Perfect for developers looking to enhance their skills in functional programming.

Senkrecht in die Cloud
Service

AUTOPILOT First Class

First Class is our flagship model. This version includes even more than unlimited incidents and standard changes.

Kompetenz 7/29/21

AI - A technology is revolutionizing our everyday lives

For ARS, AI is an increasingly natural and organic part of software engineering. This is particularly true in cases where it is an integral part of applications and functions.

Nachbericht Atlassian Team' 23: Neue große Produktankündigungen - Atlassian Intelligence, Atlassian Confluence Whiteboards oder Atlassian Beacon
News 4/25/23

Highlights & Impressions: Follow-up to Atlassian Team'23

The ultimate event for modern teamwork is over - Atlassian Team' 23 took place from April 18 to 20 in Las Vegas. No matter if live on site or online, for the participants there were great new product announcements - first and foremost Atlassian Intelligence, Confluence Whiteboards or Beacon - exciting insights and conversations and a lot of personal exchange.

Blog

Crisis management & building a sustainable future with AI

Non-profit organizations develop AI models to tackle global challenges - and draw lessons for businesses worldwide

Blog 6/24/21

Using a Skill/Will matrix for personal career development

Discover how a Skill/Will Matrix helps employees identify strengths and areas for growth, boosting personal and professional development.

Kompetenz

Business Innovation & Digital Transformation

The Pressure to increase efficiency and reduce costs is increasing ► Are you familiar with this? Exploit the potential of digitalization

News 1/1/22

Appointment of a new Managing Director as of 1 January 2022

With continuity into the cloud - Robin Müller-Cajar is appointed Managing Director on January 1, 2022 and drives the further expansion of product development.

Referenz 8/8/22

Interdisciplinary collaboration at C&A with Atlassian

To homogenize the toolchain TIMETOACT replaced two independent ticketing systems for C&A Services GmbH &Co. with the Atlassian product range. With this step into the enterprise cloud, the fashion retailer is putting is putting an exclamation mark on cross-departmental and cross-location digital collaboration.

Headerbild zu Managed Services bei Versicherungen
Branche

Managed service for insurers

Maintaining and operating applications often ties up a lot of resources that are urgently needed elsewhere. Or the corresponding skills are almost completely missing. With our Managed Services, you no longer have to worry about your IT!

Blog 6/29/21

7 Positive effects of visualizing the interests of your team

Interests maps unleash hidden potentials and interests, but they also make it clear which topics are not of interest to your colleagues.

Service 4/13/23

Idea and innovation management software service

With the target software service, your innovation management software is always up to date. As an existing customer, you benefit from all new developments as part of your support contract - at no extra charge.

Blog 9/17/21

How to gather data from Miro

Learn how to gather data from Miro boards with this step-by-step guide. Streamline your data collection for deeper insights.

News 11/13/24

25 years of catworkx

25 years of catworkx – a quarter of a century of success and innovation! We celebrated this special anniversary in style on a Danube cruise: from Passau via Vienna to Budapest and back, we took time to look back together on 25 years of developments and successes. A big thank you to our fantastic team and everyone who has joined us on this journey – we look forward to the next 25 years with you!

Event Archive

Atlassian Team '24 (Las Vegas)

It's Atlassian's best and biggest event: Atlassian Team '24 takes place in Las Vegas this year from April 30th. And once again, it's all about teamwork innovation - the evolution of how people work together. The event will take place live and digitally. Get your ticket now!

Blog 2/21/22

The Power of Event Sourcing

This is how we used Event Sourcing to maintain flexibility, handle changes, and ensure efficient error resolution in application development.

Blog 12/19/22

Creating a Cross-Domain Capable ML Pipeline

As classifying images into categories is a ubiquitous task occurring in various domains, a need for a machine learning pipeline which can accommodate for new categories is easy to justify. In particular, common general requirements are to filter out low-quality (blurred, low contrast etc.) images, and to speed up the learning of new categories if image quality is sufficient. In this blog post we compare several image classification models from the transfer learning perspective.

News 1/30/25

Sebastian Angerer joins as Chief Operating Officer

Cloud ERP specialist Walldorf Consulting is pleased to announce the appointment of Sebastian Angerer as its new COO. This strategic addition to the management team marks an exciting step in the company’s journey toward scaling its operations and delivering even greater value to its global clientele.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!