First Principles

Rohit Eddy
Freshworks Developer Platform Blog
3 min readFeb 12, 2019

When building the Freshworks developer platform, we made two key decisions that continue to influence the platform even today. We refer to them as the “First Principles” of our platform, and in this post we’ll detail how they came to be.

The first decision was with regard to the app review process. We were to choose between the following options

  • An exhaustive review after which only high quality apps would be published
  • A basic review process where more apps would be published and customers could filter poor quality ones based on ratings and reviews

To take a stand, we closely observed how our customers used apps and found that apps play a key role in enhancing user productivity by providing contextual information, enabling customizations, and automating repetitive tasks. As a result, when customers try our products, they do so along with the apps that they need. And, a bad experience with an app translates into a bad experience with the product.

This observation yielded the following insight — Apps are a key part of our users’ workflows and we should hold them to the same standard as product features. Therefore, we chose an exhaustive review process where each app goes through the same level of scrutiny as product features. Furthermore, with growing concerns about data security and privacy, comprehensive reviews enable us to certify that apps published on the Freshworks Marketplace are trustworthy.

The second decision was based on the level of infrastructure services that our platform would need to provide to developers. As some apps require additional infrastructure, such as databases or backend servers, we needed to decide whether to build these services into our platform or expect developers to directly provision them from third-party providers such as Google Cloud, AWS, or MS Azure.

Photo by imgix on Unsplash

We studied the process of provisioning services from third-party providers and found it to be cumbersome and time consuming. For apps that were required to ahere to privacy standards such as GDPR, the process would be even harder as services would have to be provisioned in multiple data centers. Worse, all this effort isn’t directed at problem solving, it is essentially a tax that would increase app development and maintenance costs.

This yielded the next insight — Developers should focus on solving customer issues not computing issues. We decided that the platform should make it easy for developers to build apps that solve customer problems rather than worrying about provisioning or maintaining infrastructure. This is why we built features such as data storage, request proxy, OAuth, and serverless into our platform.

Even today, the two principles essentially impact decisions we make. Recently, when we added support for agent-level OAuth2, we ensured that access tokens generated by each user would be managed by the platform and would not require developer intervention. This also meant that the tokens would not be accessible by the developer, resulting in better security.

Our customers ultimately reap the benefit of the principles through feature-rich and high-quality apps that are secure and stable.

Please reach out to us at marketplace@freshworks.com if you have any questions or suggestions.

--

--