
Vor fast vier Jahren haben wir mit der Entwicklung eines grundlegend neuen verteilten E-Mail-Systems namens Mailion begonnen, das für Unternehmenskommunikation konzipiert ist. Unsere Lösung basiert auf einer Cloud-Native-Mikroservice-Architektur, kann gleichzeitig mit über 1.000.000 Nutzern arbeiten und wird in der Lage sein, 100 % der Bedürfnisse großer Unternehmen zu decken.
Im Laufe der Arbeit an Mailion ist das Team um ein Vielfaches gewachsen, und aktuell sind fast 70 Entwickler in das Produkt involviert. Wir haben einen langen Weg von der Idee und den ersten Prototypen bis zur Pilotphase der kommerziellen Version zurückgelegt. Es ist an der Zeit, Habr zu erzählen, welches Produkt wir entwickeln, wie unser E-Mail-System aufgebaut und funktioniert, welche Technologiestacks wir verwenden und warum unsere Lösung die Zukunft der Unternehmenskommunikation ist. Lass uns loslegen!
Habr, hallo! Mein Name ist Anton Gerasimov, ich leite die Entwicklungsabteilung im Moskauer Entwicklungszentrum des Unternehmens . Heute möchten wir Mailion vorstellen – ein grundlegend neues russisches E-Mail-System für Unternehmensklasse, das eine würdige Alternative zu beliebten ausländischen Lösungen darstellt. Mailion weist eine hohe Belastbarkeit auf, bietet beispiellose Skalierungs- und Ausfallsicherheit und erfordert zudem minimalen Aufwand seitens der Systemadministratoren.
Derzeit befindet sich unsere Entwicklung in der Beta-Phase, wird aber laut unserem Plan bis Ende 2020 in den Status der Pilotimplementierung des kommerziellen Produkts übergehen.
In der Hauptsache enthält dieser Artikel allgemeine Informationen – es ist einfach unmöglich, ein komplexes Softwareprodukt in einer Veröffentlichung vollständig zu schildern. Ich plane, eine Serie von Artikeln zu erstellen, in denen die Schlüsseltechnologien beschrieben werden. Für Ihren Komfort biete ich bisher folgende Gliederung an:
Was ist ein Unternehmens-E-Mail-System?
Eine einfache und offensichtliche Antwort auf diese Frage ist ein Werkzeug für die Arbeit mit E-Mails und Kalendern. Doch der Teufel steckt bekanntlich im Detail.
Wir entwickeln also E-Mails der nächsten Generation mit erweiterten Funktionen für die Kalenderplanung, die auf den Unternehmenssektor und große Firmen ausgerichtet sind. Wir konzentrieren uns auf die Zusammenarbeit mit großen gewerblichen und staatlichen Einrichtungen, in denen es von 30.000 bis mehreren Hunderttausend Arbeitsplätzen geben kann.
Im Kern unseres Systems steht das Prinzip einer Plattformlösung. Wir setzen auf das Konzept der Unified Communications und bieten ein einziges Werkzeug für die Arbeit mit E-Mails, Kalendern und Dokumenten innerhalb eines Systems, mit der Möglichkeit, die Funktionalität durch den Anschluss zusätzlicher Module und Komponenten zu erweitern. Diese Erweiterungen können übrigens nicht nur von uns, sondern auch von unseren Partnern entwickelt werden. Zu diesem Zweck wird auch ein ausreichend breites SDK-Toolkit veröffentlicht.
Wer braucht und warum noch ein E-Mail-System?
Großunternehmen haben einen interessanten Trend geprägt – sie haben einen Bedarf an Funktionen zur Zusammenarbeit. Dabei geht es nicht nur um die direkte Interaktion der Mitarbeiter durch das Versenden von irgendetwas, sondern um den gemeinsamen Zugriff auf E-Mail- und Rollenpostfächer, die Möglichkeit zur Arbeit mit großen Teilnehmergruppen und das Vorhandensein verschiedener Unternehmensfunktionen.
Eine typische Unternehmensfunktion ist der Mechanismus zum Widerrufen von E-Mails, der in großen Unternehmen stark nachgefragt wird, aber nahezu nicht im B2C-Sektor oder im kleinen Geschäft genutzt wird. Das liegt daran, dass die Wahrscheinlichkeit, dass ein solcher Bedarf bei kleinen Nutzergruppen entsteht, recht gering ist, und der Fehlerpreis viel geringer ist. Zudem ist es außerhalb eines Unternehmens-E-Mail-Systems praktisch unmöglich, diese Funktion zu realisieren – selbst in Google Mail gibt es keinen Widerruf von E-Mails in der Form, an die Exchange-Nutzer gewöhnt sind. Der Ursprung des Problems liegt in der Struktur der E-Mail-Protokolle aus den 80er Jahren des letzten Jahrhunderts.
Wir haben Dutzende von Fokusgruppen durchgeführt, Hunderte von Nutzern befragt und mehrere tausend Stunden Arbeit aufgebracht, um typische Nutzungsszenarien für E-Mail zu identifizieren. Das hat es uns ermöglicht, die Bedürfnisse unserer potenziellen Nutzer und die Besonderheiten ihrer Geschäftsprozesse gründlich zu untersuchen. Basierend auf diesen Daten haben wir uns entschieden, eine Architektur zu entwickeln, die es ermöglicht, bei Bedarf auf das erforderliche Maß an Last zu skalieren. In unserer Vorstellung gibt es überhaupt keine Grenzen, aber im Moment verstehen wir, wie wir den Betrieb von Unternehmen gewährleisten können, in denen mehrere Hunderttausend Nutzer beschäftigt sind.
Was steckt im Inneren?
Unser Produkt umfasst eine E-Mail-Lösung, ein Tool zur Kalenderplanung, ein Adressbuch sowie eine interaktive Dokumentenansicht auf Basis unserer eigenen Lösung MyOffice zur Arbeit mit Dokumenten.
Da wir von einer Unternehmenslösung sprechen, ist ein vollwertiges Suchsystem ein unverzichtbarer Bestandteil der Unternehmens-E-Mail. Unsere Lösung ist in der Lage, eine durchgehende morphologische Suche über alle Komponenten durchzuführen. Darüber hinaus basiert das gesamte E-Mail-System auf einem eigenen Speicher, der ebenfalls für die gemeinsame Arbeit optimiert ist.
Was unterscheidet die E-Mail-Systeme von MyOffice?
Der Leser von Habr, der bereits Erfahrung mit den Lösungen von MyOffice hat, weiß, dass das Produkt "MyOffice Mail" zu den kommerziellen Produkten gehört. Daher stellt sich die Frage: Was unterscheidet es von dem Unternehmens-E-Mail-System Mailion, an dem mein Team gearbeitet hat?
Wir bei MyOffice haben entschieden, dass zur Befriedigung der Bedürfnisse von Unternehmen unterschiedlicher Größenordnungen zwei E-Mail-Systeme der Unternehmensklasse erforderlich sind. Das Produkt "MyOffice Mail" richtet sich an Organisationen, deren Anzahl an Nutzern sich im Tausender- oder Zehntausenderbereich bewegt. Für größere Strukturen ist es sinnvoller, Mailion zu verwenden – das neue Produkt von MyOffice, das auf einer Cloud Native Mikrodienstarchitektur konstruiert ist und beispiellose Möglichkeiten zur Skalierung und Ausfallsicherheit bietet.
Bei der Auswahl von Produkten müssen sich die Kunden im Voraus über die Strategie der Weiterentwicklung ihres Unternehmens klar werden. Für jede Organisation ist die Implementierung eines E-Mail-Systems eine komplexe Projektaufgabe, die nicht die schnelle Ersetzung einer Lösung durch eine andere vorsieht. Daher sollten die maximal mögliche Last, die Kriterien für Ausfallsicherheit und Selbstheilung sowie der geografische Verteilungsfaktor im Voraus berücksichtigt werden.
Die beiden E-Mail-Systeme von МойОфис sind grundsätzlich verschieden. Sie wurden mit unterschiedlichen Technologiestacks entwickelt, und die Werkzeuge für jedes der Systeme werden entsprechend den Zielen und Aufgaben des Segments ausgewählt, in dem das E-Mail-System bereitgestellt wird. Wir haben eine gemeinsame Produktvision darüber, was in den E-Mail-Systemen vorhanden sein sollte, sowie eine Synchronisation in den Designansätzen. Aber es sind zwei Produkte, die auf unterschiedliche Benutzergruppen ausgerichtet sind.
Welche Herausforderungen haben die Entwickler?
Im Folgenden werde ich ausschließlich über das neue Unternehmens-E-Mail-System Mailion sprechen.
Wir haben gründliche Untersuchungen durchgeführt und die Vor- und Nachteile der bestehenden E-Mail-Lösungen analysiert. Die gesammelte Erfahrung unserer Fachleute, die in der Vergangenheit direkt an der Entwicklung hochbelastbarer Systeme beteiligt waren, ermöglichte es uns, schnell den Hauptschmerzpunkt jedes bekannten Produkts zu identifizieren – die Leistung der Ein- und Ausgabe (IO) von Festplattenoperationen.
Man kann sagen, dass die Aufgabe, die IO-Operationen zu beschleunigen, die größte Herausforderung war, mit der wir konfrontiert waren. Es war notwendig, sich auf die Lösung unserer spezifischen Aufgaben zu konzentrieren, und wir begannen, unser eigenes System zur Speicherung binärer Daten zu entwickeln und auszubauen. Ein solches Vorgehen hat eine offensichtlich wirtschaftliche Komponente – wir müssen nicht nur Daten speichern, sondern auch eine Vielzahl von Ein- und Ausgabeoperationen durchführen.
Diese Entscheidung fiel nicht leicht. Wir haben eine Vielzahl von Produkten für den Unternehmensbereich untersucht, die auf die Speicherung von Informationen abzielen, und konnten nichts finden, das unseren Anforderungen entsprach. Schließlich müssen wir nicht nur Daten speichern, sondern auch ständig mit ihnen arbeiten, und zwar nicht im Monopolmodus mit Zugang eines einzelnen Benutzers, sondern die Möglichkeit zur Zusammenarbeit von mehreren zehntausend Benutzern sicherstellen.
So haben wir festgestellt, dass das wichtigste Unternehmens-kriterium für uns die Arbeit mit großen Datenmengen ist.
Zuverlässigkeit
Es geht dabei nicht nur um die Speicherung, sondern um die Aufgabe der Verarbeitung und den schnellen Zugriff auf diese Informationen. Es erfordert hohe Zuverlässigkeitswerte – die Betriebszeit der gesamten Lösung sollte auf dem Niveau von 99,9 % liegen. Gleichzeitig muss das E-Mail-System autark in der Lage sein, richtige Entscheidungen über die Fehlerbehandlung zu treffen. Nur so können Ausfälle vermieden werden, die die Geschäftsprozesse eines Unternehmens lahmlegen können.
Fehlertoleranz
Wir haben einen umfassenden Maßnahmenkatalog erarbeitet, der für jede Komponente angewendet wird, und Ansätze ausgewählt, um die Fehlertoleranz zu gewährleisten. Insbesondere wird im Unternehmens-E-Mail-System eine quorum-basierte Datenverarbeitung, die Redundanz von Diensten und die Überwachung ihres Status sowie eigene Mechanismen zur Routenfindung und zur Unterstützung des Quorums auf der Basis von Konsens eingesetzt.
Ein Kriterium für hohe Fehlertoleranz ist das Vorhandensein von Mechanismen zur Selbstprüfung in jeder Komponente. Mailion analysiert ständig, ob eine bestimmte Funktion richtig oder falsch ausgeführt wird und ob ein bestimmtes Modul korrekt funktioniert. Dies ist ein Mittel zur Selbstwiederherstellung des Systems im Falle eines Ausfalls. Informationen dürfen nicht verloren gehen, und die Lösung muss letztlich in einen konsistenten Zustand übergehen.
Es ist wichtig zu verstehen, dass es unmöglich ist, alle denkbaren Ereignisse im Leben vollständig vorherzusehen — man kann die Physik nicht überlisten. Wir folgen jedoch Ansätzen in der Planung, die es uns ermöglichen, mit einer ziemlich hohen Sicherheit über die korrekte Behandlung von Störungen bestimmter Muster zu sprechen. Zudem haben wir eine große Testgruppe, die ständig versucht, im Produkt etwas zu beschädigen. Und manchmal gelingt ihnen das. In einem solchen Fall wird ein Vorfall registriert, den wir detailliert untersuchen und auf dessen Grundlage wir einen neuen Mechanismus zur Behebung solcher Probleme entwickeln.
Wie das System auf Störungen reagiert
Der Markt fragt oft — was passiert mit dem System, wenn es plötzlich die Verbindung zu einem seiner Knoten verliert? Eine solche Anfrage ist besonders relevant, wenn eine geografisch verteilte Lösung implementiert werden soll.
Bei der Planung einer solchen Installation müssen die Bedürfnisse des Kunden und seine Kriterien für Zuverlässigkeit berücksichtigt werden. Es ist ein Irrtum zu glauben, dass der Anschluss an das Datenübertragungsnetz überall gleich ist. In Unternehmenssystemen ist es wichtig, sogar die Geschwindigkeit des Signals über Glasfaser zu berücksichtigen.
Wenn der Kunde hohe Anforderungen an die Zuverlässigkeit stellt, werden wir die Installation in mehreren Rechenzentren empfehlen, die durch dedizierte Kommunikationsleitungen verbunden sind.
Dennoch kann das Szenario eines vollständigen Stromausfalls an einem der Knoten des Postsystems nicht ausgeschlossen werden. In diesem Fall wird die Arbeit mit den Master-Daten dieses Segments eingestellt, aber die anderen Teile werden weiter funktionieren, als ob nichts geschehen wäre. Das System wird die Administratoren über den Verlust des Knotens informieren, und die Mitarbeiter müssen eine Reihe entsprechender Maßnahmen ergreifen.
Auch unser Postsystem kann so konfiguriert werden, dass eine Sicherung innerhalb des Rechenzentrums erfolgt. Dieser Ansatz stellt die Funktionalität bei Verlust mehrerer Knoten innerhalb des Rechenzentrums sicher, wobei der Verlust eines Knoten von niemandem bemerkt wird — außer natürlich vom Überwachungssystem. Bei einem solchen Ereignis wird die Last einfach neu verteilt. Daher ist es wichtig, bei der Planung des Postsystems einen Puffer zu berücksichtigen — wie viele und welche Komponenten bei einem Ausfall "verloren" gehen können.
Selbstständigkeit
Es gibt keine absolut zuverlässigen Systeme, und Ausfälle können auf die eine oder andere Weise auftreten. Daher ist es beim Entwurf eines E-Mail-Systems wichtig, eine schnelle Lokalisierung von Störungen zu ermöglichen, die deren Behebung innerhalb eines bestimmten SLA-Zeitraums erlaubt. Störungen sollten dabei durch das System selbst behoben werden, um das Eingreifen von Systemadministratoren und Betriebsteams zu minimieren.
Betriebsfreundlichkeit
Natürlich können große Systeme nicht völlig ohne die Aufmerksamkeit hochqualifizierter Mitarbeiter auskommen. Ein Aspekt, den wir jedoch beim Entwurf betrachten, besteht darin, dass das System leicht zu verwalten sein sollte und keine einzigartigen Kompetenzen erfordert.
Wirtschaftliche Effizienz
Uneingeschränkt ist die Schulung der Mitarbeiter für die Arbeit mit solchen Unternehmenssystemen erforderlich – schließlich sprechen wir von wirklich enormen Maßstäben. Daher konzentrierten wir uns bei der Entwicklung unseres Produkts darauf, die Gesamtkosten des Besitzes des Systems zu senken. Für jedes Unternehmen ist es wichtig, die effiziente Verwendung von Mitteln im Auge zu behalten und endlose Geldzuflüsse in die Betriebskosten zu vermeiden.
Dezentralität
Um die Prinzipien, über die ich zuvor gesprochen habe, zu gewährleisten, muss das System vollständig dezentralisiert sein – ein zentralisierter Ansatz ist immer durch die Bedingungen der Hardware-Nutzung eingeschränkt.
Natürlich kann man einen großen Server kaufen und versuchen, alle Anwendungen und Dienste darauf zu installieren. Aber je größer das System, desto komplizierter die gesamte Konstruktion, und die Zuverlässigkeit eines solchen Systems sinkt unweigerlich – denn ein Server bedeutet auch einen einzigen Ausfallpunkt. Je mehr wir die Arbeit zentralisieren, desto abhängiger sind wir von diesem zentralen Punkt.
Systemanforderungen
Wenn wir über komplexe Unternehmens-E-Mail-Systeme sprechen, muss man verstehen, dass es kein Konzept wie „minimale Konfiguration für den Betrieb“ gibt. Allen großen Implementierungen liegt immer eine gründliche Projektarbeit zugrunde. Diese ermöglicht es, die Bedürfnisse eines bestimmten Unternehmens und die optimale Konfiguration des E-Mail-Systems aufeinander abzustimmen.
Das Unternehmens-E-Mail-System ist ein flexibles Werkzeug, das an eine Vielzahl von Parametern angepasst werden kann. Wir führen Lasttests nach unserer eigenen Methodik durch, die es ermöglicht, die Last basierend auf der Analyse von zehn grundlegenden und mehreren hundert möglichen Kriterien zu modellieren.
Man kann sagen, dass bei der Vorbereitung des Implementierungsprojekts die Berechnungen die Intensität der Arbeit der Benutzer in den bestehenden Geschäftsprozessen der Organisation zeigen werden. Dabei werden viele Eingangsparameter analysiert, und je nach möglicher Last wird entschieden, welche Rechnerleistung erforderlich ist – von einem Computer bis zu einem gesamten Serverraum.
Deshalb ist es nicht ganz korrekt, von bestimmten Minimal-Konfigurationen zu sprechen. Insbesondere haben wir einen Demostand, der auf nur einer Maschine läuft. Aber wir verstehen, dass die Arbeit im Unternehmensbereich die Installation auf Dutzenden und sogar Hunderten virtueller Maschinen erfordert.
Technologischer Stack
Bei der Erstellung von Produkten legen wir besonderen Wert auf die Lizenzreinheit des Codes. In MyOffice gelten hohe Qualitätsstandards, die von uns verlangen, Produkte vollständig selbst zu entwickeln, mit minimalem Einsatz von externem Code.
Ein großer Teil des Codes von Mailion ist Eigenentwicklung, der Code, dessen Rechte vollständig uns gehören und den wir bei Bedarf ändern und anpassen können. Der größte Teil des Codes unseres E-Mail-Systems wurde selbstständig in Go (Golang) geschrieben. Neben Go verwenden wir auch C++ sowie JavaScript ES6 für den Webteil.
Die verbleibenden 5% sind sogenannte "schwere Komponenten", wie Datenbanken. Dazu gehören RethinkDB, ArangoDB und Redis. Von den Schlüssel-Technologien möchte ich auch gRPC hervorheben - ein Remote Procedure Call-System, das als einheitlicher Mechanismus für die Interaktion über API verwendet wird, das ist ein wichtiger Bestandteil.
Woraus besteht das Produkt?
Das Unternehmens-E-Mail-System ist kein "Server in einem Vakuum". Unser Produkt umfasst etwa 70 Komponenten und 45 Dienste, die sich mit der Wartung des E-Mail-Systems befassen. All diese Elemente sind "von Grund auf" entwickelt und stellen eine Eigenentwicklung von MyOffice dar.
Der auffälligste Teil des Systems ist der Serverkomplex, der den Betrieb des Speichers, der E-Mail-, Kalender- und Suchsysteme sowie des Web-Clients ermöglicht. Wir entwickeln auch mehrere benutzerdefinierte Anwendungen und planen, unseren Nutzern zum Zeitpunkt des kommerziellen Releases neue "Thin Clients" auf Basis der Technologien unseres Web-Clients anzubieten.
Kompatibilität mit E-Mail-Systemen
Mailion arbeitet mit standardisierten Protokollen. Um mit unserer Lösung zu beginnen, müssen lediglich die Client-Anwendungen konfiguriert werden, danach kann ganz gewohnt damit gearbeitet werden. Zum Beispiel kann die im Produkt „MeinBüro E-Mail“ enthaltene Client-Anwendung genutzt werden.
Zur Bequemlichkeit unserer Nutzer haben wir auch ein spezielles Plugin entwickelt, das einen nahtlosen Übergang von Exchange ermöglicht. Damit können die Nutzer beim Wechsel des Mailservers weiterhin mit MS Outlook arbeiten – sie werden sogar nicht bemerken, dass sich etwas in ihrem gewohnten Kontakt mit den Kommunikationsmitteln geändert hat. Mit diesem Plugin können Nutzer reibungslos aus dem bisherigen Mailsystem übertragen werden, ohne den Betrieb der gesamten Organisation zu unterbrechen. Dies ist besonders wichtig, wenn Sie die Kommunikationsmittel für Hunderttausende von Nutzern ersetzen müssen.
Einfache Verwaltung
Ein besonderes Merkmal unseres Unternehmens-E-Mail-Systems ist der extrem geringe Administrationsaufwand. Bei der Planung haben wir versucht, ein Gleichgewicht zwischen Anpassungsmöglichkeiten und Verwaltungskomplexität zu finden. Um dies zu erreichen, war es notwendig, zahlreiche Studien über das Verhalten von Administratoren komplexer Unternehmenssysteme durchzuführen.
In unserem Team arbeiten, wie bereits erwähnt, hochqualifizierte Spezialisten – jeder von ihnen hat umfassende Erfahrungen in der Verwaltung. Daher haben wir bei der Entwicklung des Systems versucht, ihre Erfahrungen auf die Bedürfnisse der Nutzer bei der Verwaltung eines komplexen Produkts zu übertragen. Anders ausgedrückt: In Kenntnis potenzieller Probleme haben wir im Voraus Lösungen auf der Architekturebene eingeplant.
Zum Beispiel,
- Die Isolierung der Systemkomponenten in Container, einschließlich der infrastrukturellen, sorgt dafür, dass wir das Sicherheitsniveau erhöhen, Zugänge zwischen den Komponenten flexibel einstellen können und zudem neue, vom Geschäft geforderte Systeme und Plattformen schnell in die Liste der unterstützten einfügen können.
- Ein einheitlicher Ansatz für die Entwicklung und Bereitstellung sowie ein einheitliches Konfigurationsformat aller Komponenten fördern ein verständlicheres und effektiveres Arbeiten und senken die Unterstützungskosten.
- Ein eigener Installer des Systems, basierend auf gewohnten Bereitstellungstools, ermöglicht eine zentrale, flexible und klare Verwaltung der Installation.
Die Mikrodienstarchitektur mit klarer Trennung der Verantwortlichkeiten der Geschäftslogik zwischen den Diensten hilft, das Systemdesign zu verstehen und die Unterstützung effektiver durchzuführen. - Der infrastrukturelle Teil des Systems basiert auf bewährten Lösungen, verwendet die besten Praktiken und ermöglicht die Integration mit bereits bestehenden Systemen im Unternehmen, was die Inbetriebnahme des Systems innerhalb des Unternehmens erleichtert.
- Dafür wird im Speicher ein auf künstlicher Intelligenz basierendes System bereitgestellt, das in der Lage ist, potenzielle Ausfälle selbstständig zu erkennen und die Ausrüstung zu steuern.
Modernes Design
Die Erstellung des Produktdesigns erforderte mehrere tausend Person-Stunden. Vor der Entwicklung bestand die Aufgabe darin, die Benutzeroberfläche modern zu gestalten – leicht und intuitiv verständlich. Dies ist schwierig, wenn man ein Unternehmenssystem entwirft, das von vornherein eine Reihe spezifischer Funktionen umfassen muss.
Natürlich kann das Design nicht "in Stein gemeißelt" oder zur Unterschrift eingereicht werden – es ist ein lebendiges Werkzeug, das sich ständig weiterentwickelt und verbessert. In den vier Jahren haben wir das Design mehrmals transformiert, wobei jedoch kein radikaler Ideologiewechsel stattfand. Das Schlüsselprinzip bei der Entwicklung der gesamten Unternehmensproduktpalette besteht darin, ein universelles Designsystem zu schaffen.
Bei der Gestaltung des Designs für das Unternehmens-E-Mail-System haben wir besonderes Augenmerk auf die Ausarbeitung von drei Schlüsselaspekten gelegt – Anpassungsfähigkeit, Systematik und die Möglichkeit, sich an das Corporate Design des Kunden anzupassen.
Anpassungsfähigkeit
Das Designmerkmal der Unternehmens-E-Mail-System Mailion ist die Möglichkeit, auf Geräten mit Bildschirmen jeder Größe anzuzeigen. Alle visuellen Komponenten sind sorgfältig ausgearbeitet, sie skalieren korrekt bei der Verwendung auf mobilen Geräten und sind hervorragend für die Fingerbedienung auf Touchscreens geeignet. Auch beim Ändern der Fenstergröße transformiert sich das Spaltenlayout – die Größe der Spalten verschiebt sich proportional, strikt in Übereinstimmung mit den Prinzipien der Konzept von reichhaltigen Internetanwendungen.
Systematik
Dem Design des Unternehmens-E-Mail-Systems Mailion liegt ein systematischer Ansatz zugrunde. Wir entwickeln diesen Bereich seit Anfang 2017, als über Designsysteme noch nicht so trendig gesprochen wurde wie heutzutage. Ein Designsystem ist eine Sammlung von Regeln und Werkzeugen für die visuelle und technische Umsetzung, die die Philosophie des Produkts widerspiegelt und sich ständig weiterentwickelt. Wir haben es eingeführt, um die Kommunikation zwischen Entwicklung und Design zu vereinfachen.
Anpassung des Firmendesigns
Unser Design ist ein "Chamäleon", das sich an jeden Corporate Style des Kunden anpassen kann. Die Farben aller Interface-Elemente werden über Variablen definiert. So kann durch die Änderung einer Basissatzes von wenigen Farben die gesamte Anwendung auf einmal umgefärbt werden.
Fonts werden ebenfalls über Variablen definiert: das Interface kann die Unternehmensschriftart des Kunden verwenden, wenn dies im Corporate Design vorgesehen ist. Dabei können verschiedene Schriftarten unterschiedliche Schriftgrößen haben, und das berücksichtigen wir. Beispielsweise sieht PT Sans in Größe 16 deutlich kleiner aus als Roboto in derselben Größe 16. Deshalb passen wir die Größe der Textblöcke an die speziellen Merkmale der jeweiligen Schriftart an.
Unserer Farbbibliothek und den Besonderheiten der Arbeit mit Schriftarten werden wir separate Artikel widmen.
Mobile Anwendungen
Ein unverzichtbarer Bestandteil jeder modernen E-Mail-System ist die mobilen Anwendungen – Benutzer müssen in der Lage sein, von jedem Ort und jederzeit zu arbeiten.
Derzeit entwickeln wir gerade das Konzept für Unternehmens-Mobile-Apps, die die Unterschiede in der Funktionalität der E-Mail-Systeme МойОфис berücksichtigen und verschiedene Ansätze zur Nutzung von E-Mail- und Kalendersystemen in Unternehmen anbieten sollen.
Intelligente Medien-Palette
Unsere Fokusgruppen haben gezeigt, dass Benutzer die Benutzeroberflächen herkömmlicher E-Mail-Systeme als umständlich empfinden. Die von uns befragten Teilnehmer hoben hervor, dass es insbesondere schwierig ist, mit Ereignissen im Kalender und mit Anhängen zu arbeiten. Wir haben uns um eine reaktionsschnelle Benutzeroberfläche bemüht und die Leistung erhöht – sodass unser Produkt angenehm zu nutzen ist.
Das Media Panel, ein neues Tool zur Beschleunigung der Zusammenarbeit, systematisiert alle Informationen über den Schriftverkehr und bietet sofortigen Zugriff auf die Liste der Teilnehmer des Austauschs, Links und Versionen von Dokumenten, die jemals gesendet wurden.
Dieses Tool hilft in Situationen, in denen Benutzer mit großen Nachrichtensträngen aus Hunderten von Nachrichten arbeiten müssen. Oft ist es erforderlich, ein Dokument oder ein Bild zu finden, das nur in einer von ihnen enthalten war. Das Media Panel erstellt eine Übersicht aller Elemente aus der E-Mail-Kette und zeigt sie an einem Ort an. Dadurch wird es viel einfacher, das gewünschte Objekt zu finden.
Lokalisierung
Der Bedarf an einem Unternehmens-E-Mail-System besteht nicht nur bei russischen Nutzern. MyOffice verfolgt eine konsequente Strategie, um internationale Märkte zu erschließen, weshalb der Lokalisierung der Produkte große Aufmerksamkeit geschenkt wird.
In unserem Produkt wurde der Bedarf an der Lokalisierung in Fremdsprachen von Anfang an auf der Ebene des Grundsystems berücksichtigt. Es ist für uns nicht besonders problematisch, neue Sprachen hinzuzufügen – es ist eine völlig nachvollziehbare Aufgabe, die wir wissen, wie man sie löst.
Aktuell stehen den Nutzern die Sprachen Russisch und Englisch zur Verfügung. In den kommenden Versionen werden wir das Unternehmens-E-Mail-System um die Sprachen erweitern, in denen die Produkte von MyOffice arbeiten – Französisch, Spanisch, Portugiesisch und andere. In gewisser Weise haben wir es einfacher als unsere Kollegen in benachbarten Abteilungen, da für E-Mail- und Kalendersysteme nur das Alphabet und die Besonderheiten der Arbeit mit Daten und Zeiten berücksichtigt werden müssen – Formeln, wie sie in Tabellenbearbeitungsprogrammen verwendet werden, haben wir glücklicherweise nicht.
Ja, wir stellen ein!
Die Entwicklung unseres Produkts hat mehrere hundert Mensch-Jahre in Anspruch genommen. Und ganz gleich, wie sehr ich es mir wünschen würde, könnte ich nicht alles in einem einzigen Artikel sofort erzählen. Dennoch hoffe ich, dass dieser Beitrag als Ausgangspunkt dient, um unser Produkt kennenzulernen – wie bereits erwähnt, plane ich, in Zukunft detaillierter sowohl über die Lösung selbst und ihre Besonderheiten als auch über unsere Entwicklungsansätze zu berichten.
Ohne jegliche Bescheidenheit kann ich auch sagen, dass heute die Zahl der Unternehmen, die vergleichbare E-Mail-Systeme weltweit entwickeln, nur wenige beträgt. Das ist tatsächlich eine komplexe Ingenieursaufgabe; sie erfordert sowohl tiefes Verständnis der Bedürfnisse von Unternehmenskunden als auch sorgfältige Analyse der Geschäftsprozesse großer Organisationen, moderner Trends in Design und Entwicklung sowie eine beträchtliche Anzahl kompetenter Spezialisten. Unser E-Mail-System entwickelt sich jeden Tag weiter.
Gerade jetzt haben wir fast Stellenangebote im Bereich Entwicklung. Kommen Sie zu uns, wenn Sie mit uns ein Produkt entwickeln möchten, das die Vorstellung der Unternehmenswelt von E-Mail revolutionieren kann.
Quelle: habr.com
