# The main principle of the project Not to do it where you can make it funny. ** This does not negate the fact that this is a full-fledged application. --- Modern development often begins with the question: > How to do the right thing ? Macaroni Messenger starts with a question: > How to make as simple as possible and at the same time not to break common sense? If there are two solutions: ### Option A * Kubernetes * PostgreSQL * Redis * OAuth * WebSocket Gateway * Service Discovery ### Option B * HTML * Git * JSON The Macaroni Messenger chooses option B by default. --- We do not believe that any task should be solved difficult. We believe that many modern applications are overcomplicated to the state of religion. Macaroni Messenger is based on several radical principles: * If the data can be stored in the files, store them in the files. * If the story already knows how to store Git, use Git. * If the application can be assembled in one HTML file - assemble it into one HTML file. * If the problem appears after ten years of operation, it is a problem after ten years of operation. * If the chat has become too big, create a new repository. --- Macaroni Messenger is not a joke. He simply refuses to complicate decisions unnecessarily. Therefore, some technical solutions may look like a joke. Sometimes it really is a joke. But most often it is just the easiest option. --- We do not promise the perfect architecture. We promise a clear architecture. We do not promise endless scalability. We promise that the user understands where his messages are. We don't promise magic. We promise that everything that happens can be explained in five minutes. --- If after studying the architecture of the project you thought: “Wait, is that all this?” So the project is doing its job. Why there is Macaroni Messenger Macaroni Messenger is not a political statement. Macaroni Messenger is not a manifesto. Macaroni Messenger is not trying to change the world. He came from a much simpler thought. --- Every year it becomes more difficult to send a simple message. Services are blocked. Services are prohibited. Services require registration. Services require a phone number. Services require an application. Services require an application update. Services require an operating system update. Services require compliance with an infinite number of rules, requirements, restrictions and procedures. The services require a new phone for 100 killer whales to send emoji of eight bits. Services require a paid subscription and advertise. At some point, a natural question arises: > Why do I need an infrastructure the size of a small bank to write to my mommy? --- Macaroni Messenger comes from another idea. Only three things are needed to send a message: * text; * a way to preserve it; * way to deliver it. Everything else is additional functionality. Sometimes useful. Sometimes not. --- We are not trying to fight the laws. We are not trying to circumvent the restrictions. We are not trying to defeat the state, corporations or industry. We simply believe that the ability to send a message to another person should not require a complex infrastructure. Plus, it’s a really funny way to approach the question. --- Macaroni Messenger uses: * HTML; * Git; * JSON. Not because it is modern. Not because it's fashionable. Not because it's right. Because that's enough. --- If all modern instant messengers disappear tomorrow, Macaroni Messenger will still be able to work. Because its foundation consists of technologies that have existed for decades, and is everywhere. --- The project is based on a simple idea: > The ability to send a message to another person should be easier than a system of limitations created around this opportunity. If one HTML file is enough for this, then one HTML file is enough. On the side effects Macaroni Messenger didn’t come because the world isn’t regulated. And not because the world is regulated too much. It appeared because too often people try to solve the local problem by a global tool. There is a simple rule in engineering. Any intervention has side effects. Sometimes side effects are more expensive than the problem itself. When ten other systems break down to solve one problem, a natural question arises: Maybe the problem wasn’t technology. Perhaps the problem was in the chosen way of solving. Macaroni Messenger is not a response to a specific decision, law or organization. It is a reminder that communication can be much easier to do. If you need to send a message: browser; HTML-file; git-repository; There is an interesting question. What exactly should be banned in this scheme? HTML? Git? Text files? The project does not try to combat restrictions. The project simply demonstrates how difficult it is to limit a system that almost entirely consists of the basic building blocks of the Internet. Macaroni Messenger exists because sometimes the most sustainable solution is both the simplest and funniest.