Recently we brought you How Slack was Developed. This time we want to follow up with how Asana was developed. When Dustin Moskovitz and Justin Rosenstein were engaging with the creation of Facebook, they discovered that they needed to rely on effective tool for work collaboration. As a result, they set out to build their own, shortly after, Asana was born.
Let’s dive deeper into the background as well as the various tools that make Asana so easy to use!
Asana was created in 2008 by Facebook co-founder Dustin Moskovitz and engineer Justin Rosenstein. Both of them left Facebook to get fully emerged in the new project and start Asana, which by the way was named after the sanskrit word for Yoga meditation pose.
In 2013, Asana presented Organizations, directed for business of all types to use it, reporting tools to enable teams manage project advancements as well as IT admin tools.
During 2014, Asana came up with new feature Calendar view to assess projects and tasks, its iOS app and dashboards and in January 2015 launched its Android app. During the same year, launched team conversations.
In 2016, Asana integrated admin features including member management, team management, as well as security controls for password. Same year, Asana came up with custom fields. An architectural infrastructure to customize Asana’s information management to monitor closely big data for companies.
In 2017, Asana reported its integration with Microsoft team, so users can still track their work and maintaining conversation in the messaging tool. In 2018, Asana introduced a new feature called Timeline, directed to business to plan and track their projects.
Despite the fact that the company does not disclose its profit, during late 2017 brought up 25.000+ paying clients, robust name such as Zappos, HBO and Airbnb. But 2018 turns out to be even more significant. Asana reached 50.000 paying customers and confirm that it has increased its revenue by $50 million.
Asana’s suite of products and tech stack
With the historical overview, you might ask yourself, what makes up Asana’s tech stack today? What are the most attractive features with Asana’s setup?
The wait is over, we have collected some of the most compelling features and reasons to use Asana for your project management:
- Integrations: Asana has already launched its first integrations with third-party software providers and now links into productivity tools including Google Drive, Jira, OneDrive, Dropbox and Slack. Google recently declared that Asana will be accessible directly from Gmail. Additionally, integrations with Slack and Microsoft Outlook enable firms to use Asana’s software with apps that they put their trust in.
- Real-time Communication: When sharing workspace, users are allowed to add comments to ask questions related to their task. Thus, real time communication mitigate the necessity for time-consuming meetings and bring this proactive approach for timely response. What is more is that regardless of geographical location, teams can keep communicating and support their project. The app also offers users to collaborate with external contractors and partners within the platform.
- Modern interface design: Through its features like Timeline, teammates are aware of the tasks they are responsible for to deliver tasks and respective milestones. This can sound overwhelming, but thanks to Asana’s design interface tasks are easy to follow.
Asana’s Luna technology framework
At first, when Asana was developed, the idea was to bring some sophistication while providing a fast experience to its clients. For that to happen, developers created Luna, an in-house framework that operates in producing stable applications and deployments. Now, Asana is evolving its new web framework, Luna2. The objective of Luna2, is to make the architecture sophisticated setup easier for performant single-page web apps.
Luna2 has two main components:
- LunaDb, A declarative data-fetching server written in Scala that, given a set of “Projections” — objects and further queries to run on those objects — returns the requested data to the client and sends all updates on that data to the client.
- LunaUi, A UI layer written in TypeScript and React.js that communicates to LunaDb through Projection.
Asana is built on Amazon Web services which facilitates some kind of flexibility needed on several fronts along with scalability. Asana also runs several SQL databases for scalability purposes such as MySQL with InnoDB (Amazon RDS). to support and getting alerts on operational stats about production systems the app relies on the infrastructure datadog/InfluxD. Also, Kubernetes is used for cluster configuration and allows to keep their production system working as it scales. To handle all the basics HTTP protocol-level such as keepalive, gzip among other, supported by Nginx.
Regarding their latest update on technology, Kafka has been adopted to facilitate a large number of subscriptions and notifications. This will allow Asana to notify third parties about updates on object properties.
In the Yoga world, Asana means the comfort found when taking a meditation posture. So, the applications that Asana powers were developed with that in mind. Asana was born to provide firms with that essence, to find comfort in dealing with projects.
The success of Asana relies on its simplicity, with a friendly user interface, where users can keep a clean workspace. Collaborate in a timely manner, providing feedback and much more.
Probably one of the comforts sought by many users, is that Asana keeps it sophisticated and minimalistic. Minimalistic in the way that is avoiding feature bloat, unnecessary features that do not add much value. Instead, what Asana have been doing during all these years, is to try to enhance and focus on delivering a productive workspace without the need to rely on email threads.
Finally, what makes Asana reliable for its clients is their backend architecture, making enhancement possible of its technological support, a way to improve their app, as earlier mentioned the shift in their internal coding from Luna to Luna2, in order to support an app that is getting more sophisticated and attractive.