FluffyChatยดs Design Philosophy
If you are active in the community you may have read that I often speak about the โphilosophyโ of the FluffyChat design, what the UX is intended to be and what it is not. It's time to write some design principles down because today I have read all the 120 issues in the FluffyChat repo and needed to close around the half of them.
A lot of them were feature requests which I don't want to have in FluffyChat. Why? Because the people like FluffyChat because it is not Element.
Element is a great messenger and collaboration tool with VoiP, communities, widgets, room types and much more features which are great.
FluffyChat on the other side is more minimalistic. This is of course a consequence of that we don't have so much developers and 0 full-time workers! We can't manage that many features so we need to choose carefully what we want.
Now you would ask, what about if YOU contribute VoiP or something else? Well, contribution is always great but implementing a feature is only the beginning of a long way. The feature needs to be maintained for years. Who is going to do this?
Also there are features which don't fit in our approach. FluffyChat should be minimalistic in design, code and usability. This makes it easy to use and easy to maintain. We don't want the code to blow up too much.
Let's try to make a list of goals:
FluffyChat is minimalistic in design, code and usability
FluffyChat only uses Material Design or native platform components and doesn't invent new design languages
FluffyChat uses the defaults everywhere where it is possible
FluffyChat is as close as possible to the official Matrix c2s specification and avoids using drafts in the protocol (excepting emotes because they are fancy!)
FluffyChat should always bring fun to the users AND the developers
FluffyChat tries to use privacy by design and privacy by default (e2ee by default is coming soon)
FluffyChat focuses on being a replacement for widely used messengers like WhatsApp or Telegram
FluffyChat doesn't invent new usability patterns when there are already good ones out there
FluffyChat tries to be just a frontend for the Famedly Matrix SDK and nothing more
The developers work on it when they have time and motivation and they will work on issues that sounds th most fun to them at that moment
FluffyChat is just a client and we will not provide servers