Mattermost Mobile — Product Vision and Problem Analysis

Team communication is essential for knowledge workers. The COVID pandemic has forced employees and students alike to work from home. The goal of Mattermost is to allow teams to communicate by developing secure, open source collaboration software1. Their software integrates with other software development and project management tools. Its development happens on public GitHub repositories, although certain enterprise management and compliance functions are only available in a paid, closed-source edition of the software. This business model is often called ‘open-core’ and has been successfully implemented by companies like GitLab2 and Elastic3.

In this essay, the first of a series as part of Delft Students on Software Architecture 20224 (DESOSA 2022), we will explore the problem Mattermost is trying to solve and the vision behind the Mattermost Mobile client.

Context

Mattermost presents itself as a tool for software development teams, which has shaped its feature set and priorities, but it has been adopted by many different teams and organizations.

In this essay, we look specifically at the Mattermost Mobile app. Mobile apps differ from desktop apps because interactions are usually shorter and optimized for being on the go. However, as Mattermost Mobile is one of multiple clients for the Mattermost software, we look at the context of the company itself, too.

As stated in the introduction, Mattermost is open-core software: the main product is free and open-source, but additional features and priority support are paid. This model is gaining popularity5, as it can be seen as the best of both worlds: the security, openness, and availability of open-source, with the dependability, stability and support of enterprise software.

However, people argue that previously free features might be moved to the paid product, putting the free product at risk of deteriorating over time and commercialisation undermines the spirit of free and open-source software5. This is an issue that Mattermost, both the company and the community, will continue to need to address in the future.

Market and Competition

Mattermost operates in a crowded, competitive space: it competes directly with Slack (which was acquired by Salesforce), Microsoft Teams, Gitter (acquired by Element) and Google Workspace, to name a few. Both Slack6 and Microsoft Teams7 have reported impressive usage growth over the last few years. This implies that team messaging isn’t a winner-take-all market. This is good news for Mattermost, because hardcore zero-sum competition with large companies such as Microsoft and Slack would be a tough prospect. To the contrary, Mattermost seems to have carved out a specific niche in the market, because it has two features its competitors do not have: it’s open-core and can be self-hosted. The short period between Mattermost’s latest funding rounds and its quickly increasing valuation imply that Mattermost is successfully finding product-market fit. In the future, Mattermost will likely add even more advanced functionality and enterprise support to make the product even more valuable and commercially successful.

Key Domain Concepts

The domain of Mattermost is team communication and project management, so the application has to provide several features. To start, users can share messages, both to other individuals and groups, while also being able to organize this content easily. Users can also use powerful search and organization features. Furthermore, diverse types of media sharing is possible, with support for documents, various image types, large binary files, and more. Finally, users can do project planning using issue boards and shared notebooks. In the Main Capabilities section, we explain how Mattermost has implemented these concepts.

These services are implemented with a client-server architecture, where clients can access Mattermost through desktop, mobile, and a web app. The architecture requires authentication from the users to access the services. Admin roles provide different degrees of control over and accessibility to teams and channels. Lastly, the architecture allows the server and databases to either be self-hosted or hosted by Mattermost.

Main Capabilities and Use Cases

Mattermost started as a relatively straightforward team chat tool, highly similar to its competitor Slack. Users first join a team, which can include as many members as necessary. Channels are introduced to divide the team into subsets of users. Channels in Mattermost include support for sharing and previewing files and reply threads. To keep the number of notifications manageable, users can change the notification settings per channel. Using integrations, team administrators can include support for pulling in data from external sources, such as GitHub. Channels are useful for keeping discussions on-topic and organized. In addition to channels, users can send direct messages to one or more users. They differ from channels in that they are not titled or created for a specific topic. Direct messages also do not support the more elaborate organizational features that the channels have.

Relatively new additions to the Mattermost product are the Playbooks and Boards features. Playbooks are checklists with additional features, such as automation of tasks, inline messaging, and retrospectives. In software engineering, they can be particularly useful for tasks like incident collaboration and software releases. Boards can be added to a channel. They are a Kanban-style issue tracker, but again, they have some added features, such as document and image attachments and inline checklists. They are useful for tasks like sprint planning and setting out roadmaps.

Because this is a mobile app, the main use case is quick interaction while on the go. Therefore, the interface has been kept simple and the touch targets are large, so tasks like sending messages and switching channels are easy to do, even when the user is moving.

Finally, to allow the user to navigate the potentially enormous amount of messages sent and received over time, Mattermost offers robust search functionality, both globally and per channel, with support for filtering on message type, sender/recipient, date, and more8.

Product Roadmap

Mattermost mentions on their website that they have three roadmap views: Public Product Direction, Internal Roadmap, and a Release Plan9. The Internal Roadmap contains business goals of the company. The Release Plan is about product release and aims to support project management. These have not been made public. The Public Product Roadmap10 is the only public roadmap and shows an overview of features that they are working on, and will work on in the future. For each feature, they list benefits for the users, with the aim to make the Mattermost experience in the future as good as possible. Currently, they are working primarily on chat-specific features, such as collapsed reply threads. In the future, they plan to work on broader features too, such as the Boards and the Playbooks features.

Stakeholders

Usually, in open source projects, the users and contributors are the most important stakeholders11. Since Mattermost is open-core, the company Mattermost itself is an even more important stakeholder, since it is legally and financially responsible for the project. This company has a few key venture capital investors, including Y Combinator, Redpoint Ventures, Battery Ventures and S28 Capital1.

The Mattermost software is used by organizations to improve the collaboration among their employees. Most organizations fall under a few industries: government, legal, financial services, healthcare, and media and entertainment. These companies require efficient and reliable software that handles their data in a secure manner.

Their employees have their own wishes when it comes to their software of choice. They tend to primarily value their own experience using the system. Introducing the system into their workflow is easiest when the system integrates well with the other software. Collaboration software is subject to the network effect12; the value of the system for an employee increases as more colleagues start using it.

In addition to these employees, volunteer developers help improve the system. Reasons for contributing to the project can vary. Some contributors are users themselves and wish to improve their own experience. Others work on their software development portfolio to improve their career opportunities. Or, like us, they contribute to the software for educational purposes.

The open source nature of the software allows for easy plug-ins and integrations with other software. Some examples are the integrations with Zoom, Trello and GitHub. Integrating their software with Mattermost increases that software’s value to Mattermost users and vice versa. Both parties therefore benefit from the integration.

Lastly, because Mattermost Mobile is available on the Apple App Store and Google Play Store, these companies are also stakeholders.

Key Quality Attributes

There are many quality attributes related to Mattermost. In this section, we will focus on the external qualities and the way they affect the user experience.

On their website, the company expresses their goal to create an open source, flexible, and secure collaboration system13. Open source software allows for easier integration with other software, which can increase the value of the system to users. These attributes influence the quality perceived by users, but are unfortunately hard to quantify.

Quality attributes related to reliability are easier to measure. Safely securing data is an important attribute for a communication platform, as it handles personal and classified information of their clients. Mattermost ensures this by complying with different privacy and security standards around the world. We discuss Mattermost’s approach to privacy further in the ethical considerations section.

For smooth communication between users, it is vital that content can be transferred between users as fast as possible: the ideal, of course, being real-time communication between users. In addition to being fast, users also require their communication platform to be reliable. Any downtime would interfere with their productivity and should thus be kept to an absolute minimum.

Because Mattermost is a mobile application, interactions may be shorter than on the desktop Mattermost application. This means that speed and ease of use are even more important than they would be for a desktop application.

In conclusion, the key quality attributes of Mattermost that we identify are: openness, flexibility, security, speed, ease of use, and reliability.

Ethical Considerations

There are both ethical considerations for the system itself and for the process of the development of the system.

First, privacy is recognized by the UN as a fundamental human right and a communication system should always secure the privacy of their users. This includes protecting the user’s personal information as well as all data on the platform. Mattermost states security of user’s data as their number one priority and extensively explains their efforts on their security page14. Some examples of their security architecture and practices are: encryption-in-transit support, encryption-at-rest support, and annual penetration testing. Mattermost also allows for self-hosting for deployment in zero-trust environments such as government settings or research facilities, where off-site hosting is often required by regulation and/or legislation. Next to these features, Mattermost also naturally follows any relevant legislation, like the GDPR in Europe15.

Second, Mattermost also aids the oversight and protection of ethical boundaries that their users should comply with. This is done by providing the ability to pull compliance reports on user conversations and behavior for auditing16. A compliance report presents information that shows that a business is adhering to all the applicable regulatory requirements and standards. This makes Mattermost a platform that not only takes its own ethical responsibilities of protecting its users’ data into account, but also enables the companies using Mattermost to behave ethically and according to regulation.

Finally, regarding ethics around the development process, an ethical criticism of Mattermost is the similarity of both its interface and its feature set to its competitors, Slack in particular. This could be seen as copying and profiting off Slack’s design work, hurting Slack’s business and therefore violating the harm principle17, which states that an action is bad if it hurts the interests of other individuals. Others believe that these features are ‘table stakes’ for any team collaboration tool. However, the issue of the visual similarity to Slack remains, with Mattermost also offering a feature to import themes from Slack, making it look even more similar.

Conclusion

In this essay, we have laid out the vision for the Mattermost Mobile product. We looked at the importance of the team messaging market in which Mattermost operates, its unique characteristics, such as its open-core business model, and identified stakeholders and quality attributes the product should meet. We then looked at its main features and the roadmap for future development. In our next essay, we dive deeper into the architecture of the product: how have the architects and developers translated their vision of the product into an architecture for a concrete software artifact?


  1. About Us, Mattermost Documentation. [online] Available at: https://mattermost.com/about-us/ ↩︎

  2. GitLab Stewardship. [online] Available at: https://about.gitlab.com/company/stewardship/ ↩︎

  3. Elastic Licensing. [online] Available at: https://www.elastic.co/pricing/faq/licensing ↩︎

  4. Delft Students on Software Architecture 2022. [online] Available at: https://2022.desosa.nl ↩︎

  5. https://www.linuxinsider.com/story/open-core-debate-the-battle-for-a-business-model-66807.html ↩︎

  6. https://slack.com/blog/news/slack-announces-first-quarter-fiscal-year-2022-results ↩︎

  7. Microsoft Teams hits 250 million monthly active user milestone. [online] Available at: https://www.zdnet.com/article/microsoft-teams-hits-250-million-monthly-active-user-milestone/ ↩︎

  8. Searching, Mattermost Documentation[online] Available at: https://docs.mattermost.com/messaging/searching-in-mattermost.html ↩︎

  9. Roadmap Views, Mattermost Documentation. [online] Available at: https://handbook.mattermost.com/operations/research-and-development/product/product-planning/roadmap-views ↩︎

  10. Product Direction, Mattermost Documentation. [online] Available at: https://mattermost.com/roadmap/ ↩︎

  11. Do you know who your stakeholders are? OSCON 2018. [online] Available at: https://conferences.oreilly.com/oscon/oscon-or-2018/public/schedule/detail/66945.html ↩︎

  12. Network effect, Wikipedia. [online] Available at: https://en.wikipedia.org/wiki/Network_effect ↩︎

  13. Mattermost. [online] Available at: https://mattermost.com/ ↩︎

  14. Security, Mattermost. [online] Available at: https://mattermost.com/security/ ↩︎

  15. Certifications and Compliance, Mattermost Documentation. [online] Available at: https://docs.mattermost.com/about/certifications-and-compliance.html ↩︎

  16. Compliance Export, Mattermost Documentation. [online] Available at: https://docs.mattermost.com/comply/compliance-export.html ↩︎

  17. The Harm Principle, Mill’s Moral and Political Philosophy. [online] Available at: https://plato.stanford.edu/entries/mill-moral-political/#HarPri ↩︎