{"id":95639,"date":"2020-10-01T13:42:13","date_gmt":"2020-10-01T11:42:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/pervyj-vzglyad-kak-ustroena-novaya-korporativnaya-pochtovaya-sistema-mailion-ot-mojofis"},"modified":"2020-10-01T13:42:13","modified_gmt":"2020-10-01T11:42:13","slug":"pervyj-vzglyad-kak-ustroena-novaya-korporativnaya-pochtovaya-sistema-mailion-ot-mojofis","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/pervyj-vzglyad-kak-ustroena-novaya-korporativnaya-pochtovaya-sistema-mailion-ot-mojofis","title":{"rendered":"First Look: How the New Corporate Mail System Mailion from M \u043e\u0438\u041e\u0444\u0438\u0441 Works.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"First Look: How the New Corporate Mail System Mailion from M \u043e\u0438\u041e\u0444\u0438\u0441 Works.\" src=\"\/wp-content\/uploads\/2020\/10\/e80c10bfe95344d56bc0a8e844392303.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Almost four years ago, we started designing a fundamentally new distributed email system, Mailion, intended for corporate communications. Our solution is built on a Cloud Native microservices architecture, capable of supporting over 1,000,000 users simultaneously and is ready to meet 100% of the needs of large corporations.<\/p>\n<p><\/p>\n<p>During the development of Mailion, the team has grown several times, and now nearly 70 developers are involved in the product. We have come a long way from the idea and initial prototypes to the pilot stage of the commercial version. It's time to share with Habr what kind of product we are creating, how our email system is structured and works, what technology stack we are using, and why our solution is the future of corporate communications. Let's go! <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Hello Habr! My name is Anton Gerasimov, I head the development department at the Moscow development center of <noindex><a rel=\"nofollow\" href=\"https:\/\/myoffice.ru\/\">MyOffice<\/a><\/noindex>. Today we want to present Mailion \u2014 a fundamentally new Russian corporate-class email system that will serve as a worthy alternative to popular foreign solutions. Mailion boasts high load capacity, unprecedented scalability and fault tolerance, and requires minimal attention from system administrators.<\/p>\n<p><\/p>\n<p>Currently, our development is in beta, but very soon, according to our plan by the end of 2020, it will transition to the pilot implementation of the commercial product. <\/p>\n<p><\/p>\n<p>For the most part, this article contains general information \u2014 it is simply impossible to cover a complex software product in one publication. I plan to create a series of articles discussing key technologies. For your convenience, I propose the following content: <\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"#p1\">What is a corporate email system?<\/a><\/noindex> \n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"#p2\">Who needs another email service and why?<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p3\">What's under the hood<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p4\">What challenges developers face<\/a><\/noindex>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"#p5\">Reliability<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p6\">Fault tolerance<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p7\">Independence<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p8\">Ease of use<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p9\">Economic efficiency<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p10\">Decentralization<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p11\">System requirements<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p12\">Technology stack<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p13\">What the product consists of<\/a><\/noindex>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"#p14\">Compatibility with email systems<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p15\">Ease of administration<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p16\">Modern design<\/a><\/noindex>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"#p17\">Responsiveness<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p18\">Systematic approach<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p19\">Customization of branding<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p20\">Mobile Applications<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p21\">Intelligent media panel<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p22\">Localization<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"#p23\">Yes, we are hiring!<\/a><\/noindex><\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"p1\"><\/a><\/noindex><\/p>\n<h2 id=\"chto-takoe-korporativnaya-pochtovaya-sistema\">What is a corporate email system?<\/h2>\n<p><\/p>\n<p>The simple and obvious answer to this question is an email and calendar management tool. But the devil, as they say, is in the details. <\/p>\n<p><\/p>\n<p>Thus, we are creating a next-generation email solution with enhanced calendar planning features, aimed at the corporate segment and large enterprises. We focus on working with large commercial and government organizations, which can have anywhere from 30,000 to several hundred thousand workstations. <\/p>\n<p><\/p>\n<p>At the core of our system is the principle of a platform-based solution. We start from the concept of Unified Communications and offer a single tool for managing email, calendar, and documents within one system, with the ability to expand functionality through the addition of modules and components. Extensions, by the way, can be developed not only by us but also by our partners. For this purpose, a fairly broad SDK toolkit will be made available.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p2\"><\/a><\/noindex><\/p>\n<h3 id=\"komu-i-zachem-nuzhna-esche-odna-pochta\">Who needs another email service and why?<\/h3>\n<p><\/p>\n<p>Large businesses have formed an interesting trend \u2014 enterprises are experiencing a need for collaboration features. This is not just about direct interaction among employees through sharing something, but specifically about shared access to email and role mailboxes, the ability to work with large groups of participants, and the presence of various corporate functions. <\/p>\n<p>A typical corporate feature is the email recall mechanism, which is highly sought after in large companies but is practically unused in the B2C segment or small businesses. The reason is that among small user groups, the likelihood of such a need arising is quite low, and the cost of mistakes is much less. Moreover, implementing this feature outside of a corporate email system is simply impossible \u2014 even in Google Mail, there is no email recall in the form that Exchange users are accustomed to. The root of the problem lies in the structure of email protocols from the 1980s.<\/p>\n<p>We conducted dozens of focus groups, surveyed hundreds of users, and spent several thousand man-hours identifying typical email usage scenarios. This allowed us to thoroughly study the needs of our potential users and the specifics of their business processes. Based on the data gathered, we decided to develop an architecture that could scale to the necessary load volume when required. In our view, there is essentially no limit; however, at present, we know how to support companies with several hundred thousand users.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p3\"><\/a><\/noindex><\/p>\n<h3 id=\"chto-skryvaetsya-pod-kapotom\">What's under the hood<\/h3>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ms\/uk\/xl\/msukxlv16wc4nms_4af5hj50f2s.jpeg\"><img decoding=\"async\" alt=\"First Look: How the New Corporate Mail System Mailion from M \u043e\u0438\u041e\u0444\u0438\u0441 Works.\" src=\"\/wp-content\/uploads\/2020\/10\/6a122330a9a1026f31d74f6bc8f65cf3.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Our product includes an email solution, a scheduling tool, a contact book, and an interactive document viewer based on our own MyOffice solution for working with documents. <\/p>\n<p><\/p>\n<p>Since we are talking about an enterprise-level solution, an integral part of corporate email is a fully functional search system. Our solution can conduct comprehensive morphological searches across all components. Additionally, the entire email system is built on our own storage, which is also optimized for collaborative work. <\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">What are the differences between MyOffice email systems?<\/b><\/p>\n<p>The readers of Habr, who have already worked with MyOffice solutions, know that the commercial products include 'MyOffice Mail.' The question arises\u2014what are the differences between it and the corporate email system Mailion that my team developed? <\/p>\n<p><\/p>\n<p>At MyOffice, we decided that to meet the needs of companies of varying sizes, it was necessary to create two corporate-class email systems. The 'MyOffice Mail' product is designed for organizations with thousands or several tens of thousands of users. For larger entities, it is more appropriate to use Mailion\u2014a new MyOffice product built on a Cloud Native microservices architecture, offering unprecedented scalability and fault tolerance. <\/p>\n<p><\/p>\n<p>When choosing products, clients need to determine their company's future development strategy in advance. The implementation of an email system is a complex project for any organization, which does not imply a quick replacement of one solution with another. Therefore, the maximum possible load, criteria for fault tolerance and self-recovery, as well as the geographical distribution factor should be considered beforehand. <\/p>\n<p><\/p>\n<p>The two email systems, MyOffice, are fundamentally different. They are built using different technology stacks, and tools for each system are selected based on the goals and tasks of the segment in which the email system will be deployed. We have a common product vision of what should be present in email systems, as well as synchronization in design approaches. However, these are two products aimed at different user audiences. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p4\"><\/a><\/noindex><\/p>\n<h3 id=\"kakie-vyzovy-stoyat-pered-razrabotchikami\">What challenges developers face<\/h3>\n<p><\/p>\n<p>From this point forward, I will only discuss the new corporate email system, Mailion. <\/p>\n<p><\/p>\n<p>We conducted thorough research and analyzed the advantages and disadvantages of existing email solutions. The accumulated experience of our specialists, who have previously been directly involved in creating high-load systems, allowed us to quickly identify the main pain point of any known product \u2013 the performance of disk input and output (IO) operations. <\/p>\n<p><\/p>\n<p>It can be said that the task of accelerating IO operations became the main challenge we faced. It was necessary to focus on solving our specific tasks, and we began to create and develop our own binary data storage system. This approach has a clear economic component \u2013 we need not only to store data but also to perform a considerable number of disk input and output operations. <\/p>\n<p><\/p>\n<p>This solution wasn't easy to achieve. We studied numerous enterprise-class products aimed at data storage and couldn't find anything that was ready and suitable for our requirements. We need not only to store data but also to constantly work with it, not in a monopolistic mode with one user's access but to enable collaboration among several tens of thousands of users.<br \/>\nThus, we determined that the most important corporate criterion for us is working with large volumes of data. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p5\"><\/a><\/noindex><\/p>\n<h4 id=\"nadezhnost\">Reliability<\/h4>\n<p><\/p>\n<p>Moreover, this is not just a matter of storage but rather a task of processing and quick access to this information. High reliability metrics are required\u2014the uptime of the entire solution should be at the level of 99.9%. Additionally, the email system must be autonomous in making correct decisions about failure handling. Only in this way can we achieve an absence of failures that could paralyze the business processes of a given company. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p6\"><\/a><\/noindex><\/p>\n<h4 id=\"otkazoustoychivost\">Fault tolerance<\/h4>\n<p><\/p>\n<p>We have developed a set of measures that apply to each component and selected approaches to ensure fault tolerance. In particular, the corporate email system uses quorum-based data operations, service redundancy, and monitoring of their states, as well as its own routing mechanisms and consensus-based quorum support.<\/p>\n<p><\/p>\n<p>A criterion for high fault tolerance is the presence of self-check mechanisms in each component. Mailion constantly analyzes whether a particular function is executed correctly, and whether a particular block operates as intended. This is one of the means of self-recovery for the system in case of a failure. Information should not be lost; the solution must ultimately reach a consistent state.<\/p>\n<p><\/p>\n<p>It is important to understand that it is impossible to anticipate every potential event in life \u2014 you cannot deceive physics. However, we adhere to design approaches that allow us to speak with a fairly high degree of confidence about the correct handling of failures of specific patterns. We also have a large testing group that continuously tries to break something in the product. Sometimes, they succeed. In such cases, an incident is created, which we study in detail and use as a basis to develop a new mechanism to eliminate such problems.<\/p>\n<p><\/p>\n<p>                        <b class=\"spoiler_title\">How the system reacts to failures<\/b><\/p>\n<p>The market often raises the question \u2014 what will happen to the system if it suddenly loses connection with one of its nodes? This request is especially relevant if a geographically distributed solution is planned. <\/p>\n<p><\/p>\n<p>When designing such an installation, it is essential to consider the customer's needs and their set of reliability criteria. It is a mistake to think that the connection to the data transmission network is the same everywhere. In corporate systems, it is important to account for even the speed of signal transmission over fiber optics.<\/p>\n<p><\/p>\n<p>If the customer has high reliability requirements, we will recommend setting up in multiple data centers connected by dedicated communication lines.<br \/>\nNevertheless, we cannot exclude the scenario of a complete power outage at one of the nodes of the mail system. In this case, the processing of master data for that segment will stop, but the other parts will continue to function as if nothing happened. The system will notify the administrators about the lost node, and the staff will need to take a series of appropriate actions. <\/p>\n<p><\/p>\n<p>Our email system can also be configured to ensure redundancy within the data center. This approach guarantees functionality even if several nodes within the data center fail, and the loss of one node goes unnoticed\u2014except by the monitoring system, of course. When such an event occurs, the load is simply redistributed. Therefore, when designing the email system, it is crucial to consider the redundancy\u2014how many and which components can be 'lost' in the event of a failure.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p7\"><\/a><\/noindex><\/p>\n<h4 id=\"samostoyatelnost\">Independence<\/h4>\n<p><\/p>\n<p>Absolutely reliable systems do not exist, and failures can happen sooner or later. Therefore, when designing an email system, it's crucial to ensure rapid localization of failures, allowing them to be resolved within a defined SLA period. Moreover, the system should be able to resolve issues autonomously, minimizing the intervention of system administrators and operations staff.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p8\"><\/a><\/noindex><\/p>\n<h4 id=\"prostota-ekspluatacii\">Ease of use<\/h4>\n<p><\/p>\n<p>Of course, large systems cannot completely escape the need for attention from highly qualified personnel. However, one of the aspects we consider during design is that the system should be easily administrable and not require unique competencies. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p9\"><\/a><\/noindex><\/p>\n<h4 id=\"ekonomicheskaya-effektivnost\">Economic efficiency<\/h4>\n<p><\/p>\n<p>Undoubtedly, working with such corporate systems requires employee training \u2014 we are talking about genuinely large scales. Thus, when creating our product, we focused on reducing the total cost of ownership of the system. It's important for any business to monitor expenditure efficiency and avoid endless inflows of cash into operational costs. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p10\"><\/a><\/noindex><\/p>\n<h4 id=\"decentralizovannost\">Decentralization<\/h4>\n<p><\/p>\n<p>To ensure the principles I mentioned earlier, it is necessary for the system to be fully distributed \u2014 a centralized approach is always limited by the conditions of hardware deployment. <\/p>\n<p><\/p>\n<p>Of course, you can buy one large server and try to install all applications and services on it. But the larger the system, the more complex the entire structure becomes, and the reliability of such a system steadily decreases \u2014 after all, one server means a single point of failure. The more we centralize operations, the more we depend on that central point. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p11\"><\/a><\/noindex><\/p>\n<h4 id=\"sistemnye-trebovaniya\">System requirements<\/h4>\n<p><\/p>\n<p>When we talk about complex corporate email systems, it is important to understand that there is no such concept as 'minimum configuration for operation.' Serious design work underlies any large implementations. It allows us to align the specific needs of a business with the optimal configuration of the email system. <\/p>\n<p><\/p>\n<p>The corporate email system is a flexible tool that can be configured according to a wide range of parameters. We perform load testing using our own methodology, which allows us to model the load based on an analysis of dozens of basic and several hundred possible criteria.<\/p>\n<p><\/p>\n<p>It can be said that during the project implementation preparation, the calculations will demonstrate the intensity of user activity within the organization's existing business processes. A lot of input parameters are analyzed, and based on the potential load, a decision is made regarding the required computing resources\u2014ranging from a single computer to an entire machine room.<\/p>\n<p><\/p>\n<p>Therefore, discussing any minimum configurations is not entirely correct. In particular, we have a demonstration stand that operates on just one machine. However, we understand that functioning in the corporate segment requires installations on dozens and even hundreds of virtual machines. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p12\"><\/a><\/noindex><\/p>\n<h2 id=\"tehnologicheskiy-stek\">Technology stack<\/h2>\n<p><\/p>\n<p>When creating products, we pay special attention to the licensing purity of the code. M\u044bO\u0444\u0438\u0441 adheres to high-quality standards that require us to independently develop products entirely, with minimal involvement of external code. <\/p>\n<p><\/p>\n<p>A large portion of the Mailion code is our proprietary development, with rights completely owned by us, allowing for modifications and enhancements as needed. The majority of our email system's code is written independently in Go (Golang). In addition to Go, we also use C++ and JavaScript ES6 for the web component. <\/p>\n<p><\/p>\n<p>The remaining 5% are the so-called 'heavy components,' such as databases. This includes RethinkDB, ArangoDB, and Redis. I would also highlight gRPC\u2014 a remote procedure call system that serves as a unified mechanism for API interaction, an essential part. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p13\"><\/a><\/noindex><\/p>\n<h2 id=\"iz-chego-sostoit-produkt\">What the product consists of<\/h2>\n<p><\/p>\n<p>A corporate email system is not a 'server in a vacuum.' Our product consists of about 70 components and 45 services that maintain the email system. All these elements are custom-built from the ground up by MoisOffice. <\/p>\n<p><\/p>\n<p>The most noticeable part of the system is the server complex, which ensures the operation of storage, email, calendar, and search systems, as well as the web client. We are also developing several user applications and plan to offer our users new 'thin clients' based on the technology of our web client by the time of commercial release. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p14\"><\/a><\/noindex><\/p>\n<h3 id=\"sovmestimost-s-pochtovymi-sistemami\">Compatibility with email systems<\/h3>\n<p><\/p>\n<p>Mailion operates according to standard protocols. To start using our solution, you simply need to configure the client applications and continue working with them in your usual environment. For instance, you can use the client application included in the product \"MyOffice Mail.\" <\/p>\n<p><\/p>\n<p>For the convenience of our users, we have created a special plugin that ensures a seamless transition from Exchange. With this plugin, users will be able to continue using MS Outlook when replacing their mail server \u2014 they won\u2019t even notice that anything has changed in their familiar communication environment. This plugin allows for a smooth migration of users from the previous mail system without disrupting the operations of the entire organization. This is especially important if you need to replace tools for hundreds of thousands of users. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p15\"><\/a><\/noindex><\/p>\n<h3 id=\"legkost-administrirovaniya\">Ease of administration<\/h3>\n<p><\/p>\n<p>A key feature of our corporate email system is the necessity for minimal administrator involvement. In designing the system, we aimed to strike a balance between customization options and management complexity. Achieving this required extensive research into the behavior patterns of administrators in complex corporate systems.<\/p>\n<p><\/p>\n<p>Our team includes, as I mentioned earlier, highly qualified specialists \u2014 each with substantial administration experience. Therefore, in developing the system, we aimed to translate their expertise into the needs of users when managing a complex product. In other words, being aware of potential issues, we proactively provided solutions at the architectural design level. <\/p>\n<p><\/p>\n<p>For example,<\/p>\n<p><\/p>\n<ul>\n<li>Component isolation within containers, including infrastructure ones, enhances security, allows for flexible access configuration between components, and enables quick inclusion of new systems and platforms in response to business demands.<\/li>\n<li>A unified approach to development and deployment, along with a single configuration format for all components, promotes clearer and more efficient operations while reducing support costs.<\/li>\n<li>Our custom system installer, based on familiar deployment tools, enables centralized, flexible, and clear installation management.<br \/>\nA microservices architecture with clear separation of business logic responsibilities aids in understanding the system's operational framework and enhances support efficiency.<\/li>\n<li>The infrastructure of the system is built on familiar solutions utilizing best practices, and allows integration with existing enterprise systems, facilitating the system's implementation within the company.<\/li>\n<li>The storage will feature an AI-based system capable of independently detecting potential failures and managing equipment.<\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p16\"><\/a><\/noindex><\/p>\n<h3 id=\"sovremennyy-dizayn\">Modern design<\/h3>\n<p><\/p>\n<p>The design process took several thousand person-hours. The challenge was to create a modern interface that is light and intuitive. This is complex when designing a corporate system, which by default must encompass a range of specific functions.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/e_\/_b\/74\/e__b74fo4yx844m2zg2vtdx-34c.jpeg\"><img decoding=\"async\" alt=\"First Look: How the New Corporate Mail System Mailion from M \u043e\u0438\u041e\u0444\u0438\u0441 Works.\" src=\"\/wp-content\/uploads\/2020\/10\/657d56554ea18cc79500a16095e37206.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><\/p>\n<p>Of course, the design cannot be 'carved in stone' or approved with a signature and seal\u2014it's a living tool that constantly evolves and improves. Over four years, we have transformed the design several times, but there has not been a radical change in ideology. The key principle of building the entire corporate product line is creating a universal design system. <\/p>\n<p><\/p>\n<p>In designing the corporate email system, we focused on three key areas: adaptability, system coherence, and the ability to align with the client's corporate style. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p17\"><\/a><\/noindex><\/p>\n<h4 id=\"adaptivnost\">Responsiveness<\/h4>\n<p><\/p>\n<p>The design feature of the corporate email system Mailion is its ability to display on devices with screens of any size. All visual components are meticulously rendered, scaling properly when used on mobile devices, and are ideally suited for finger management on touch screens. Additionally, when the application window is resized, the column layout transforms\u2014the size of the columns shifts proportionally, in strict accordance with the principles of rich internet applications.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p18\"><\/a><\/noindex><\/p>\n<h4 id=\"sistemnost\">Systematic approach<\/h4>\n<p><\/p>\n<p>At the core of the design of the corporate email system Mailion is a systematic approach. We have been developing this direction since early 2017, when discussing design systems was not as trendy as it is now. A design system is a collection of rules and tools for visual and technical execution that reflects the product's philosophy and is constantly evolving. We introduced it to simplify communication between development and design.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p19\"><\/a><\/noindex><\/p>\n<h4 id=\"nastroyka-firmennogo-stilya\">Customization of branding<\/h4>\n<p><\/p>\n<p>Our design is a 'chameleon' capable of adapting to any client's corporate style. The colors of all interface elements are defined through variables. This way, by changing the basic set of a few colors, you can repaint all applications at once.<\/p>\n<p><\/p>\n<p>Fonts are also defined through variables: the interface can use the client's corporate font if this is specified in the client's brand book. Different fonts can have different letter sizes, and we account for this. For example, PT Sans at size 16 appears significantly smaller than Roboto at the same size. Therefore, we adjust the size of text blocks to the characteristics of the specific font.<\/p>\n<p><\/p>\n<p>We will dedicate separate articles to our color library and the peculiarities of working with fonts.<\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p20\"><\/a><\/noindex><\/p>\n<h3 id=\"mobilnye-prilozheniya\">Mobile Applications<\/h3>\n<p><\/p>\n<p>An integral part of any modern email system is mobile applications\u2014users must be able to work from anywhere and at any time.<br \/>\nWe are currently formulating the concept of corporate mobile applications; they must account for the differences in the functionality of the M\u043e\u0439\u041e\u0444\u0438\u0441 mail systems and offer different approaches to using email and calendar systems in corporations. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p21\"><\/a><\/noindex><\/p>\n<h3 id=\"intellektualnaya-media-panel\">Intelligent media panel<\/h3>\n<p><\/p>\n<p>Our focus groups showed that users find the interfaces of conventional email systems cumbersome. Respondents we interviewed noted that it is particularly difficult to manage events in the calendar and attachments. We aimed to achieve a responsive interface and increase performance \u2014 to make our product enjoyable to use. <\/p>\n<p><\/p>\n<p>The Media Panel, a new tool for enhancing collaboration, organizes all information about correspondence and provides instant access to the list of participants in the conversation, links, and versions of documents that have ever been sent.<\/p>\n<p><\/p>\n<p>This tool is helpful in situations where users need to work with large threads consisting of hundreds of messages. Often, it is necessary to find a document or image that was included in only one of them. The Media Panel creates a list of all items from the email chain and displays them in one place, making it much easier to locate the required object. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p22\"><\/a><\/noindex><\/p>\n<h3 id=\"lokalizaciya\">Localization<\/h3>\n<p><\/p>\n<p>The demand for a corporate email system is not limited to Russian users. MyOffice is pursuing a consistent policy of entering foreign markets, thus significant attention is paid to product localization. <\/p>\n<p><\/p>\n<p>In our product, the need for localization into foreign languages was built in from the very beginning, at the base level of the system. Adding new languages is not a major problem for us \u2014 it\u2019s quite a straightforward task that we know how to handle. <\/p>\n<p><\/p>\n<p>Currently, users have access to Russian and English languages. In upcoming releases, we will add support for languages used by MyOffice products to the corporate email system \u2014 French, Spanish, Portuguese, and others. In some ways, it is easier for us than for colleagues in neighboring departments, as email and calendar systems only require consideration of the alphabet and peculiarities of dealing with dates and times \u2014 we are fortunate not to have formulas like those in spreadsheet editors. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" name=\"p23\"><\/a><\/noindex><\/p>\n<h2 id=\"yes-we-are-hiring\">Yes, we are hiring!<\/h2>\n<p><\/p>\n<p>Creating our product took several hundred person-years. With all due respect, I wouldn't be able to cover everything in one article. However, I hope this publication serves as a starting point for getting to know our product. As I mentioned earlier, I plan to provide more detailed insights into both the solution itself and its features, as well as our approaches to development. <\/p>\n<p><\/p>\n<p>Without any false modesty, I can also say that today there are only a handful of companies worldwide developing similar mail systems. This is indeed a complex engineering task that requires a deep understanding of corporate clients' needs, thorough analysis of large organizations' business processes, current trends in design and development, as well as a considerable number of skilled specialists. Our mail system is evolving every day.<\/p>\n<p><\/p>\n<p>Right now, we have nearly <noindex><a rel=\"nofollow\" href=\"https:\/\/hh.ru\/employer\/213397?customDomain=1\">fifty<\/a><\/noindex> open positions in development. Join us if you want to help create a product that can transform the corporate world's view of email.<\/p>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ncloudtech\/blog\/520670\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0447\u0442\u0438 \u0447\u0435\u0442\u044b\u0440\u0435 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u043e\u0432\u0443\u044e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043f\u043e\u0447\u0442\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 Mailion, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0439. \u041d\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043d\u0430 Cloud Native \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c 1 000 000 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438 \u0431\u0443\u0434\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u043e \u043f\u043e\u043a\u0440\u044b\u0442\u044c 100% \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u0435\u0439 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0446\u0438\u0439. \u0417\u0430 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 Mailion \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u0440\u043e\u0441\u043b\u0430 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437, \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":95640,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95639","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\".\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/pervyj-vzglyad-kak-ustroena-novaya-korporativnaya-pochtovaya-sistema-mailion-ot-mojofis\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434: \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 Mailion \u043e\u0442 \u041c\u043e\u0439\u041e\u0444\u0438\u0441 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\".\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/pervyj-vzglyad-kak-ustroena-novaya-korporativnaya-pochtovaya-sistema-mailion-ot-mojofis\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-01T11:42:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-01T11:42:13+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47First Look: How the New Corporate Mail System Mailion from \u041c\u043e\u0439\u041e\u0444\u0438\u0441 Works | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/pervyj-vzglyad-kak-ustroena-novaya-korporativnaya-pochtovaya-sistema-mailion-ot-mojofis","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434: \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u043f\u043e\u0447\u0442\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 Mailion \u043e\u0442 \u041c\u043e\u0439\u041e\u0444\u0438\u0441 | ProHoster","og:description":".","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/pervyj-vzglyad-kak-ustroena-novaya-korporativnaya-pochtovaya-sistema-mailion-ot-mojofis","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-10-01T11:42:13+00:00","article:modified_time":"2020-10-01T11:42:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95639","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:01:22","updated":"2022-10-05 10:24:28","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/95639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=95639"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/95639\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/95640"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=95639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=95639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=95639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}