On Wunderlist
Reflecting on the demise of a great app.
Wunderlist was a hit when it was acquired by Microsoft in mid-2015. It managed more than a billion tasks for 13 million users, and it was one of Microsoft CEO Satya Nadella’s favorite apps. Purchased by Microsoft to re-invigorate task management for Microsoft’s users, which had lain fallow for years in Outlook, it had the potential to be a slam dunk raging success of an acquisition.
Sadly, the acquisition wasn’t an amazing success. Don’t get me wrong, it wasn’t a total failure, either. Some of the ideas (and maybe a bit of the code) from Wunderlist live on in Microsoft To Do. But it didn’t go anything like anyone hoped, and was a pretty rough experience for everyone involved.
There are at least as many accounts of what happened as there were people who were there. There are a lot of stories that I don’t know, and some that are other people’s story to share. But, here’s mine.
I wrote more personally about my own failure inside this transition in My Empathy Wobble, a talk about trust, alignment, and the limits of being right. This account is the broader product and company story: what happened to Wunderlist, why Microsoft To Do became the path forward, and why the outcome was so much less than it could have been.
Some of the best work of our careers
I joined Wunderlist at the beginning of 2014. Well, more accurately, I joined 6Wunderkinder GmbH, but by that point the company was all-in on a single product, and most of the world referred to it and the company as Wunderlist. The second major version of the app had been released a year before to rave reviews. Users loved almost everything about it. Almost. The thing nobody liked was its sync, which was so unreliable that the company had spent 2013 rebuilding the backend team and sync services, starting with CEO Christian Reber hiring Chad Fowler as CTO.
When I arrived, the team had stabilized Wunderlist 2 and had moved on to working on the prototypes for what would become the lightning-fast sync in Wunderlist 3. When Nathan Herald, who Chad had hired a few months before, described what he had come up with for the sync system, I immediately appreciated the daring simplicity of it. And, the prototypes were amazing. Edits made to a list on one device were propagated in less than half a second to every other device that knew about that list, despite transiting through servers located a thousand miles away. In 2014, it was something that most people thought would be impossible for a handful of people at a startup to pull off.
Making the sync work was one thing. Proving that it worked reliably was another. To do that, I built a distributed testing tool that simulated thousands of simultaneous users sharing lists with each other, creating and updating tasks, and then leaving lists. These simulated users — we called them Böse Gurken (German for “Evil Cucumbers”) — would then coordinate among themselves and validate that the right thing had happened, and then would report back to us.
For months, Nathan and I played a game of cat and mouse where I’d improve the Gurken and break the sync in new ways. He’d then have to figure out what happened and fix it. The game paid off. When we launched Wunderlist 3 later that year, we geared up for handling a rapid influx of users upgrading, but it turned out to be the most boring launch ever from a systems perspective. Everything worked just as it should.
Which was great.
The big secret
After the launch of Wunderlist 3, it wasn’t clear for a bit of time what the next big project would be. Meetings were happening, many behind closed doors, but clarity wasn’t forthcoming and messages were mixed.
For me, clarity came when Chad pulled me into a room, closed the door, and said that Microsoft was interested in buying the company. We were starting a due diligence process and my job was to help with the technical due diligence. Importantly, nobody else on the team could know about it because the deal wasn’t finalized yet.
I admit, it took me a while to put my feelings about the possibility of working for Microsoft in order. Microsoft had been the evil empire, after all. When I worked at JavaSoft, I was very close to the front lines of the Sun Microsystems vs Microsoft lawsuit. And, while that was all in the past, I didn’t exactly have a lot of admiration for the company that Microsoft became during the decade since.
On the other hand, Satya had recently taken the helm and was doing things that made a lot of sense. And, I’d met an awful lot of smart people that worked at Microsoft and knew there were amazing things that had been worked on in Redmond. So, I decided to approach the opportunity with curiosity, an open mind, and the kind of growth mindset that Satya was so vocally asking his own employees to develop.
The due diligence process wasn’t easy, and we had made it harder on ourselves than it needed to be with the architectural decisions Wunderlist was built with. We had separate code bases for each of our client platforms — Apple, Android, Windows, and web. We also had built our backend using close to a hundred microservices written in various languages. Ruby on Rails, Go, JavaScript, Clojure, Scala, and more. We even had a service written in Haskell. These services and dependencies had to be documented and submitted, complete with build and startup instructions.
The independent team hired by Microsoft took our code and performed both manual and automated inspections that flagged hundreds of issues that we had to correct before it was in a state that Microsoft would consider purchasing the company. Some of the issues were potential security problems. Others were code that matched samples appearing on Stack Overflow or in open source repositories and which had unclear licensing provenance.1
Every issue raised by the inspection team had to be addressed. Most required a code change, some significant. As I worked through the list, I must have looked like a chaos monkey to the bulk of the team making a change in the morning to some iOS code, another in the afternoon in the Android app, and then more in the evening across a few services, none of which were visibly related.
Combined with the executive team’s mysterious meetings, many of which I had started attending since I was disclosed, it wasn’t a good recipe for building trust and motivating the team. By the time we could announce to the team that the acquisition was happening, it’s safe to say that everyone’s motivation was at an all time low.
Shock
The announcement provoked a multitude of reactions. There was a sense of relief that came from understanding what the executive team had been up to. But, nobody really knew what the acquisition meant for them. Most were disappointed that it was Microsoft that had acquired the company. There was a sense that Microsoft just didn’t have the taste needed to shepherd a product like Wunderlist.
It was also evident to everyone that Christian’s heart wasn’t into it. He disappeared after he made the announcement to the team and was only rarely seen in the office after that, even though he was slated to become General Manager of the group in Microsoft’s Office 365 organization. The message from both Microsoft and the remaining executives was that nothing was going to change. But things already had.
As the acquisition closed, one good bit of news for everyone was the new compensation packages that Microsoft provided. Almost everyone got a really good raise. Some of us received additional stock grants to encourage us to stay and make the acquisition work. That good news, however, came with another shock.
Wunderlist hadn’t used titles. Every developer, myself included, was just that: a software developer. With the introduction of formal titles by Microsoft, Wunderlist’s previously invisible hierarchy became crystallized into a form that didn’t match many of the original team’s expectations. It also didn’t help that many of us who joined later had skills and experience that put us higher in that hierarchy. And it wasn’t lost on people that by and large, it was the Americans who were higher up on the ladder.
If morale and trust was at an all time low right before the acquisition was announced, it went through the bottom after this. And all along, the message was: “keep going, nothing changes.” While, of course, everything was changing.
Numbness
With Christian’s departure, that left the rest of the executive team from Wunderlist to try to steer the ship. Chad stepped up, first as acting General Manager, then officially when it became clear Christian wasn’t coming back.2 Within months, however, almost everyone else that had a VP or CxO title from Wunderlist had left for various reasons.
I want to be very clear: everyone that left had perfectly good reasons. One took a job in another part of Microsoft and moved to the US, and another went on maternity leave (the best of all possible reasons!). The result for the Wunderlist team, however, was catastrophic.
With no real connection with the original leadership of Wunderlist, nobody was in a clear position to take up the mantle to drive the product. For a while, Chad was able to keep things somewhat together, and a few of us stepped up as willing lieutenants. But Microsoft wanted visible results from its acquisition, which meant integration with Office 365, and was making its desires more and more clear over time.
The path we had to follow, unfortunately, continued to drive directly into the angst the team had about working for Microsoft in the first place. Nobody on the team had joined Wunderlist to build applications for the enterprise with its compliance guarantees and huge configuration dashboards. They’d joined up to make beautiful consumer software.
Compliance was our cancer
The core problem at this point was that Wunderlist was a consumer product and we were in the Office 365 organization at Microsoft. Wunderlist simply wasn’t built around the kinds of compliance guarantees that Office 365 provides and which are an essential part of Microsoft’s value to their enterprise and corporate customers.
Compounding the problem, Microsoft defined its compliance promises based on how its existing services worked. This meant that we not only had to become compliant with the standards Microsoft supported, but we needed to match the implementation of how Microsoft stated how the rest of Office 365 complied with those standards.
In practice, this meant that the way Windows worked was baked into the requirements we needed to adhere to. Wunderlist’s services were built on Linux and we didn’t use the same languages or frameworks. While Microsoft has been embracing Linux and open source, that embrace didn’t extend to supporting it for building Office 365 services on top of, at least not at the time.
Our application might as well have been from Mars. Or Alpha Centauri.
We had two choices. The first one was to rewrite our backend to implement all of Office 365’s compliance promises in the way that the Office 365 organization could sell to its customers. Our investigation into that showed that path would have taken a long time. Certainly, more time than Microsoft wanted to give us. The second choice was to move our iOS, Android, and Windows clients to use Office 365’s backend services directly and then move our user base from Wunderlist to this new client.
It was a shit choice. We weren’t given the time we needed for the first path, and going down the second path meant throwing away the best work of our lives. It might have been a clear choice to make, but there wasn’t any enthusiasm to be found there.
A new name
Along with changing out the backend services, another major change played out in the identity of the app. While Wunderlist had great brand recognition, Microsoft’s marketing just couldn’t make it fit into the naming they used for Office products. It was strange and way too German sounding. Lots of alternatives were kicked around, but eventually the options were narrowed down to the very functional “Tasks” or “To-Do”, with or without the hyphen.
I was in the review meeting with Bill Gates when the final decision of “Microsoft To-Do” was presented. He agreed with the plan, but I remember he expressed concern about losing the value of a well-loved brand.
It was also at around this time that Chad left the team, moving back to States for personal reasons and taking a new position at Microsoft. He helped find a new General Manager for the organization, and asked us to help the new GM transition in. In retrospect, that was the time I should have punched out myself. All the signs were clear that I should have. But, I didn’t. I wanted to see the process through. And, with a new child at home, I wanted to stay at Microsoft for a while longer, but I didn’t want to move back to the States to take another position elsewhere in the company.
Oblivion
The first iteration of Microsoft To-Do finally arrived in mid-2017. It didn’t have all of Wunderlist’s feature set, nor did it have much of its feel and charm. The press dismissed it. Existing Wunderlist users balked and refused to make the jump. I’m pretty sure the only people that thought they were getting something interesting were Office 365 users that had never used Wunderlist.
The group’s motivation continued to find a way to sink lower and lower. There was little ability to do much more than put one foot in front of the other. In 2018, frustrated by the progress (or lack thereof), Redmond dispatched another new General Manager to shake things up again. It was at this point that I finally left the team and took a position as a CTO in Residence in the Microsoft for Startups group, which let me stay in Berlin working for Microsoft.
It took another two years, but in May 2020 the team finally completed the transition to Microsoft To Do and shutdown Wunderlist. The servers weren’t the only thing that were shut down. At the same time, the team was dissolved and upkeep for Microsoft To Do (now named without the hyphen) was transferred to a group in India, who has been taking care of the app since.
On the day of the shutdown, Christian made an announcement he had a new team working on Superlist. It was a good PR move, but damn did that sting a bit for those of us that really tried to see it through.3
Reflecting back
It’d fit a certain kind of narrative to say that Microsoft couldn’t pull off a smooth acquisition of a team like this. But, that would ignore the success of a merger of another well-loved productivity application that was bought by Microsoft just a half-year before Wunderlist: Accompli. You might not remember it, but you’re using a direct descendant of that app if you use Microsoft Outlook on iOS and Android.
After Microsoft acquired Accompli, they too had to integrate with Microsoft Office 365 and support all of Office’s compliance promises. And, they too had to manage the transition from a loved independent app to being part of a larger context. But, it was a much smoother process. Their founders had built for acquisition, planned out the integration process, and stayed the course as a leadership team through integration.
We didn’t have that.
Could we have done something differently? Maybe. I know that I could have done quite a few things differently along the way that may have helped in small measure.4 At the very least, it could have been less stressful. But, it wouldn’t have changed the overall outcome.
Wunderlist came into Microsoft with a staff that was never effectively sold on the transition and a leadership team that crumbled away. Without a founder supporting the effort, we didn’t even really clear the first hurdle cleanly. From there, Microsoft wasn’t able to inject enough positive culture to make up for that. And, asking the team to create something that wasn’t in their previous culture’s DNA just didn’t help at all.
It wasn’t all bad. A few of Wunderlist’s founders and former executive team got life-changing money as part of the deal and have gone on to do other things with it.5 And, after five years, Microsoft got what they wanted, at least partially. Microsoft To Do is a decent task app that runs on iOS, Android, Windows, Mac, and the web, and integrates with Office 365. I hear from many people who use it that it works well for their needs, and they’re pleased with it. That’s something.
But it coulda, and shoulda been so much better.
Footnotes
-
You would not believe how much code we had that was copied verbatim out of Stack Overflow. Or, maybe you would. But I was stunned. ↩
-
Despite not stepping into the office again, Christian actually stayed employed at Microsoft GmbH for quite some time after the merger. ↩
-
As of September 2023, over three years later Superlist is still in closed beta. I hope the new team ships something great. I’m rooting for them. ↩
-
I really wanted to take the entire team to Redmond so that everyone could get a sense of the company that they worked for in a way they couldn’t from a continent away. Sadly, there wasn’t ever budget to do that. ↩
-
Disclosure: I myself didn’t make life changing money from the deal. That’s OK. I wasn’t one of the founders, and I didn’t get in early enough for that. But I did get a good job at Microsoft and the experience of it all. ↩