Morpho's 35-hour Projects

Hi everyone! I am Chamin, a senior boffin research engineer from Morpho's CTO Office. In this post, I will introduce Morpho's way of letting its members do their own fun projects during work time.

At Morpho, our designated work time is seven hours a day (averaged over the month). Depending on the number of working days in a month, this can result in up to 161 hours a month. Any full-time worker at Morpho is allowed to use up to 20% of this time on a personal project. So long as the project is somehow related to Morpho's business scope, any project idea is fine. If the project needs a bit more time, additional time can be used so long as the total does not exceed 35 hours a month (hence the name, the 35-hour project). Using company resources is fine, as long as it does not delay actual business work. We launched this initiative in 2018 for only the technical staff, and later expanded it to include all regular staff.

This is not exactly a new idea. I am sure most of you are going to say "Oh, like Google's 20% Project". At the turn of the century, Google allowed its workers to pursue personal projects using up to 20% of their paid work time. However, the concept has its origins at 3M, the company that is well-known for inventing the post-it note. Since 1948, 3M has made it mandatory for employees to use 15% of their work time for independent projects. Several other companies ran, or still have similar projects. Microsoft's Garage, Yahoo's Hack Day, Atlassian's 20% projects, and Apple's Blue Sky are some examples.

This is getting crowded, isn't it? There is even a book written about this kind of initiatives, if you want to read more about them.

Motivation

Now, each company above has (or had) its own reasons for launching such initiatives. Let me describe our objectives in launching the 35-hour rule, and how it has benefitted us (Morpho and its workforce).

The first reason for launching this initiative is to promote innovation. As a software vendor focusing on software for mobile devices, we can't just sell software and wipe our hands off. Long term support of products, and improvements to match advances in hardware, are critical. We spend a considerable amount of time and effort to support our customers so that our software works the same or better on their newer products. The downside of focusing on support is that there is less motivation to pursue large projects based on new ideas. Personal projects allow workers with innovative ideas to start small, create proof-of-concept prototypes and share them with others. This gives us a wider range to choose from, when deciding on new products to develop. Since the company can pull up a personal project and base a product on it, the 35-hour projects are also called pull projects.

The second reason is to provide our members with an opportunity to enhance their skillsets. Assume that you are an engineer at Morpho and you work on our AI products. No doubt, you are already good at machine learning and related skills, and you get a chance to apply and improve them on the job. However, if you want to add computer graphics to your skillset, your work is unlikely to provide that opportunity. Starting a personal project that involves computer graphics will allow you to do that, during company time. And Morpho does not lose anything when employees acquire skills that are less related to their current work. Both technology and technical trends change rapidly, and it's hard to predict what the next product or feature requested by a client is going to be. It's quite common to have some company contact us and ask whether we can develop something to solve a particular problem. When that happens, having well-rounded workers is going to make it easier for us to accept a new challenge and develop a product quickly.

There is one more reason that sounds less fancy, but is equally important. Personal projects are a great way to solve small problems in the work environment, thereby improving everyone's productivity. While our management does its best to provide us a good work environment, not all tools that we can buy are perfect. To take an example, if one of us creates a tool that can annotate a single photo a few seconds quicker than what we have now, that's going to translate to hours of time saved for more important work in the long run.

Show and tell

Alright, so what happens after everyone starts his/her project? About once a year, Morpho organizes a presentation session for these projects. Those who completed their projects, and also those who want to get feedback or help, present their projects in this session. The session is open to everyone in the company, so everybody gets to see the projects. The presentations are free format, and can take anything between two to fifteen minutes.

What's next?

The business divisions, and the business development division, take a good look at the projects and pick up projects that can be converted to products. We already have a couple of such products under development. We also get to know more about the skills of our colleagues. If a project is interesting, others may join it.

You might have guessed this. Given that we do a lot of AI projects, it is common to use the presentations to get help for collecting data.

Examples

Here are a few projects from past presentation sessions. These will give you an idea of the choices, motivation and also the outcomes of these projects. Sorry that I can't include details of projects that got picked up for further development, but these examples are sufficient to give you an idea.

1. USB depth camera with AI

This is one of my own projects. In a previous project, I designed a small robot that used a camera to detect obstacles and avoid them as it moves. The robot's computer was a Rasberry Pi 3 Model B. My approach to obstacle detection was to use the camera to capture images, estimate scene depth, and adjust the robot's path to avoid nearby objects. Now, there already is a lot of research on Single Image Depth Estimation, and I could easily get working code from Github. However, I ran into a different problem while deploying that on the robot. The Raspberry Pi was already occupied with other tasks -including robot navigation- and depth estimation was too much work. Looking at it more broadly, this problem is not unique to my project. There are many small devices (robots, drones etc.) that do not have enough processing power for computer vision tasks.

There are two common approaches to solve this problem. A brute force solution for this problem is to add more processing power to your robot. But in practice, this is not always possible, especially if the robot is an off-the-shelf device. It is also possible to send the images out and get depth estimation done in another computer. But that requires networking, which might be unavailable or slow.

I wanted to investigate a third approach. If I could make a USB camera that sends depth images to the robot, it does not have to use computing power to estimate depth. USB ports and support for USB cameras is available on many small computers, so such a camera can be used in many applications. I thought of doing this as an independent project.

The technical details of the project needs its own blog post, so I will skip that. To summarize, I made my first prototype with a Raspberry Pi Zero, Raspberry Pi Camera Module, and a dummy surveillance camera. With a few additional electronic components, I could prototype a camera that can send either photos or Depth, or even both to the robot while connecting it with just one USB port. Figure 1 shows the schematic of the hardware design. You can see the actual camera with sample images, in Figure 2.

Figure 1

Figure 2

2. A 3D space viewer for a VR headset

This project was carried out by a member of Morpho's CTO Office. The idea was to integrate computer vision and motion sensing technologies to create a virtual space that can be experienced using an Oculus Quest 2® VR headset. About 100 still images from an indoor scene were used to create a 3D model of the scene. Orientation and motion sensors of the headset were used to render the VR experience. Figure 3 shows a view rendered from the model of the 3D scene, with three of the photos. You will note that it is somewhat sparse; but hey, this is a prototype.

Figure 3

3. Reminder bot for disinfecting activities

With the COVID-19 pandemic (ongoing at the time of writing), we took several steps to reduce the possibilities of infection within our premises. One such step was to regularly disinfect objects that people touch often (for example, door handles). In an ordinary situation, it is easy to create a round-robin schedule to do something like this. However, some of us were working remotely for a certain number of days, and that could also change at short notice. And there is that human element; we sometimes forget. So, we needed to make sure that disinfecting gets done despite all these limitations.

One of our colleagues created a reminder bot that integrates information from several in-house tools, to pick and remind members when it is their turn to do the disinfecting (Figure 4). Right, that's not rocket science. But then, it is a small project that helped a lot of people. And the best thing is that now we do not have to re-invent the wheel when we need to automate something; we have a good template to begin with.

Figure 4

Finally...

So, that was my attempt to introduce Morpho's 35-hour projects. I hope you now have a rough idea of how we do it.

The 35-hour rule has been there for only about three years. Morpho has been continuously monitoring and updating the rules, to ensure that the employees are comfortable with starting and carrying out new projects. We are also planning to provide more resources for such projects.

One last thing before I wind up. When companies grow bigger, it gets harder to keep independent project initiatives. Google officially ended the 20% project initiative a few years back, despite the large number of successful products that came out of it. Further, the impact of a successful project gets much lower when it comes to a larger company. If you want to take some time to try your own idea while working, improve your skills, and make a difference, may be you should consider that as one more motivating factor to join Morpho (yes, we are hiring!).

Reference

[1] Ryan Tate. The 20% Doctrine: How Tinkering, Goofing Off, and Breaking the Rules at Work Drive Success in Business. Harper Business, ISBN 978-0-06-200323-2