524 Views
From the beginning, we built Quip to work natively on multiple platforms. When we launched, we supported the Web, iPhone, and iPad. With the launch of Quip Desktop today, Quip is available on 8 platforms: Web, Mac, Windows, iPhone, iPad, Android phones, Android tablets, and Apple Watch. Since Quip is a consciously lean company — we support those 8 platforms with just 13 engineers — we spend a lot of time thinking about how to achieve a polished native experience on all platforms while maximizing code reuse. For Quip Desktop specifically, we knew we wanted to have the web site and desktop app share as much UI code as possible since the experiences are so similar. Yet we also knew we wanted to build a native app that was as good or better than the legacy productivity suites. We ended up designing a unique architecture based on a custom C++ library and a React-based UI that is shared between our web and desktop apps. We’re happy with the productivity gains from the code reuse, and we’re really happy with the user experience of the desktop app. This post is a high-level overview of our approach.