2024-01-22 23:12:51 +01:00
|
|
|
|
---
|
|
|
|
|
layout: default
|
|
|
|
|
---
|
|
|
|
|
|
2024-01-23 09:28:30 +01:00
|
|
|
|
Welcome to the homepage of Raccoon for Lemmy!
|
|
|
|
|
|
2024-02-08 23:38:29 +01:00
|
|
|
|
If you need some guidance about how to use the app, please have a look at
|
|
|
|
|
the [User manual](user_manual/main).
|
|
|
|
|
|
2024-01-23 09:28:30 +01:00
|
|
|
|
# Table of contents
|
2024-01-22 23:12:51 +01:00
|
|
|
|
|
|
|
|
|
- [project overview](#overview)
|
|
|
|
|
- [rationale](#rationale)
|
|
|
|
|
- [key app features](#key-app-features)
|
2024-01-23 13:41:46 +01:00
|
|
|
|
- [credits and acknowledgements](#credits-and-acknowledgements)
|
2024-01-22 23:12:51 +01:00
|
|
|
|
- [further reading](#further-reading)
|
|
|
|
|
|
|
|
|
|
# Overview
|
|
|
|
|
|
2024-04-17 08:10:55 +02:00
|
|
|
|
Raccoon is a mobile client for Lemmy, a federated aggregation and discussion platform. The
|
2024-01-22 23:12:51 +01:00
|
|
|
|
app is implemented as a Kotlin Multiplatform (KMP) project, mainly focusing on the Android platform.
|
|
|
|
|
|
|
|
|
|
The project was started as an exercise to play around with Kotlin Multiplatform and Compose
|
|
|
|
|
multiplatform and gradually grew as a fully functional client with several features.
|
|
|
|
|
|
|
|
|
|
# Rationale
|
|
|
|
|
|
|
|
|
|
There are several reasons why this project was started:
|
|
|
|
|
|
|
|
|
|
- experimenting and making some stress tests with a real world project Kotlin Multiplatform (KMP)
|
|
|
|
|
and Compose multiplatform, in order to explore what could be achieved with multiplatform libraries
|
|
|
|
|
and share as much code as possible in the `commonMain` source directory;
|
|
|
|
|
- offering a feature rich Lemmy client mainly aimed at "pro" users, i.e. users who
|
|
|
|
|
are not content with just browsing the contents of the Fediverse, creating posts and
|
|
|
|
|
answers but be able to customize the app and "feel at home" because of its theme, its localization
|
|
|
|
|
and its behaviour that each user has chosen;
|
|
|
|
|
- digging deeper inside Lemmy's internals and understand better what it is like to work with a
|
|
|
|
|
decentralized platform; we believe that the Lemmy project has a lot of potential and part of its
|
|
|
|
|
success depends on users being able to enjoy the experience on robust and well-done clients.
|
|
|
|
|
|
|
|
|
|
In the Lemmy ecosystem for Android, there are many cross-platform alternatives either implemented
|
|
|
|
|
with Flutter or React, a couple of native options written in Java and just one native pure-Kotlin
|
|
|
|
|
application. We️ ❤️ Kotlin, we ❤️ Free and Open Source Software and we ❤️ native app development, so
|
|
|
|
|
there was a niche to be filled and we are trying our best to do so.
|
|
|
|
|
|
|
|
|
|
Another important factor which determined the creation of a new client was that different projects
|
|
|
|
|
had very interesting features but no one had them all at the same time. Lemmur first and Liftoff
|
|
|
|
|
then were great apps with a lot of advanced features (e.g. the possibility to explore all the
|
|
|
|
|
communities of an external instance in guest mode). Summit is another great project with unique
|
|
|
|
|
features like multi-communities, a high degree of customization and very good performance. Finally,
|
|
|
|
|
Thunder has a really appealing and polished UI. All these apps have been and continue to be sources
|
|
|
|
|
of inspiration and motivation for Raccoon, which aims at having all the good sides of them, in a
|
|
|
|
|
Kotlin open source app.
|
|
|
|
|
|
2024-01-23 13:41:46 +01:00
|
|
|
|
If you are wondering why the app is called like that, aren't raccoons just adorable? 🦝 Jokes aside,
|
2024-01-22 23:12:51 +01:00
|
|
|
|
Lemmy users used to refer to themselves as "lemmings" and the platform logo clearly recalls that
|
|
|
|
|
animal, so there was this tradition in the early days to use animals names for clients (some
|
|
|
|
|
examples being Lemmur, Jerboa and Fennec). The original developers of this app really liked raccoons
|
2024-01-23 09:28:30 +01:00
|
|
|
|
so they choose that. Raccoons are cunning animals that adapt to live in harsh conditions, finding a
|
|
|
|
|
way to survive even with what we consider "trash". They look like masked criminals but do not harm
|
|
|
|
|
anyone, they are lazy, chubby and cute.
|
2024-01-22 23:12:51 +01:00
|
|
|
|
|
|
|
|
|
As long as you are on this page, don't forget every raccoon's motto: «Live Fast, Eat Trash»
|
|
|
|
|
(abbreviated L.F.E.T.).
|
|
|
|
|
|
|
|
|
|
# Key app features
|
|
|
|
|
|
|
|
|
|
Here is a list of the most important features of the app:
|
|
|
|
|
|
|
|
|
|
- view post feed and comments with different listing and sort types;
|
|
|
|
|
- possibility to upvote and downvote (with optional and configurable swipe actions);
|
|
|
|
|
- community and user detail (with info about moderators/moderated communities);
|
|
|
|
|
- user profile with one's own posts, comments and saved items;
|
|
|
|
|
- inbox with replies, mentions and direct messages in the form of a chat;
|
|
|
|
|
- full-fledged explore section with different result types (all, posts, comments, user,
|
|
|
|
|
communities);
|
|
|
|
|
- create and edit new posts (with optional images);
|
|
|
|
|
- cross-post contents to other communities;
|
|
|
|
|
- reply to post and comments (and edit replies);
|
|
|
|
|
- mark posts as read (even while scrolling) and hide read contents;
|
|
|
|
|
- seeing raw post/comment source;
|
|
|
|
|
- custom appearance (color scheme, fonts, text sizes, post layout, etc.);
|
|
|
|
|
- custom localization (independent of system settings);
|
|
|
|
|
- block users, communities and instances (the latter requires Lemmy >= 0.19);
|
|
|
|
|
- report post and comments to moderators;
|
|
|
|
|
- support for multiple accounts (and multiple instances) with account-specific settings;
|
|
|
|
|
- lazy scrolling (referred to as "zombie mode");
|
|
|
|
|
- explore all the communities on a given instance in guest mode (instance info);
|
|
|
|
|
- multi-community (community aggregation);
|
2024-01-23 09:28:30 +01:00
|
|
|
|
- report post and comments with a reason;
|
|
|
|
|
- view the moderation log;
|
2024-06-28 09:46:36 +02:00
|
|
|
|
- community moderation tools (examine and resolve reports, ban users, feature posts, block
|
|
|
|
|
further comments from posts, mark comments as distinguished, remove posts/comments, review all
|
|
|
|
|
created posts/comments, edit/create community);
|
|
|
|
|
- save posts and comments you are creating as drafts to edit them later;
|
|
|
|
|
- admin tools (purge users/posts/comments/communities, feature posts locally, hide/unhide
|
|
|
|
|
communities);
|
2024-01-22 23:12:51 +01:00
|
|
|
|
|
|
|
|
|
Most clients for Lemmy currently offer the first points (with various degrees of completion),
|
2024-01-23 09:28:30 +01:00
|
|
|
|
whereas the last ones are trickier and less common, so they are directed to more demanding users,
|
|
|
|
|
who like to explore the Lemmy ecosystem, play around with settings and fine-tune their client to
|
|
|
|
|
their needs.
|
|
|
|
|
|
|
|
|
|
Concerning customization, the ability to change some aspects like font face or size and app
|
|
|
|
|
colors, vote format, bar transparency and so on was of paramount importance from the very beginning.
|
|
|
|
|
Similarly, users should be able to use the app in their native language and change the UI language
|
|
|
|
|
independently from the system language, so localization is a first-class citizen in this project
|
|
|
|
|
too.
|
2024-01-22 23:12:51 +01:00
|
|
|
|
|
2024-01-23 09:28:30 +01:00
|
|
|
|
For moderators, it is also nice to be able to moderate content from your mobile device instead of
|
|
|
|
|
using the web interface, and in the beginning moderation tools were rare among mobile clients.
|
|
|
|
|
This app tried to bridge this gap and offer moderation tools (feature post, lock post, distinguish
|
|
|
|
|
comment, remove post/comment, ban users and the ability to revert any of these actions).
|
2024-01-22 23:12:51 +01:00
|
|
|
|
|
2024-01-23 13:41:46 +01:00
|
|
|
|
# Credits and acknowledgements
|
|
|
|
|
|
|
|
|
|
## Credits
|
|
|
|
|
|
2024-10-18 12:45:00 +02:00
|
|
|
|
A saying from the original developer:
|
|
|
|
|
<blockquote>
|
|
|
|
|
«Whenever in doubt, anguish or uncertainty, look at the code
|
|
|
|
|
of Jerboa for Lemmy».
|
|
|
|
|
</blockquote>
|
|
|
|
|
|
|
|
|
|
It is without any doubt that this project has a gratitude debt
|
2024-02-18 10:04:03 +01:00
|
|
|
|
towards [Jerboa](https://github.com/dessalines/jerboa), mainly in two crucial aspects of the app
|
|
|
|
|
such as comment processing to reconstruct the tree with missing nodes, where the memoized algorithm
|
|
|
|
|
is inspired by Jerboa's.
|
2024-01-23 13:41:46 +01:00
|
|
|
|
|
|
|
|
|
The UI is inspired (in principle, rather than in actual implementation) on the
|
|
|
|
|
great [Thunder](https://github.com/thunder-app/thunder) app.
|
|
|
|
|
|
|
|
|
|
The ideas for some of the features come from [Liftoff](https://github.com/liftoff-app/liftoff), e.g.
|
|
|
|
|
the guest mode, while some other come from [Summit](https://github.com/idunnololz/summit-for-lemmy),
|
|
|
|
|
which is again both source of inspiration and admiration.
|
|
|
|
|
|
|
|
|
|
Towards all the authors and contributors of these projects, a great "thank you" 🙏️🙏️🙏️
|
|
|
|
|
|
|
|
|
|
## Acknowledgements
|
|
|
|
|
|
|
|
|
|
A special thanks goes to all those who contributed so far (in nearly chronological order):
|
|
|
|
|
|
|
|
|
|
- [u/rb_c](https://discuss.tchncs.de/u/rb_c)
|
|
|
|
|
- [u/heyazorin](https://lemmy.ml/u/heyazorin)
|
|
|
|
|
- [u/thegiddystitcher](https://lemm.ee/u/thegiddystitcher)
|
|
|
|
|
- [u/SgtAStrawberry](https://lemmy.world/u/SgtAStrawberry)
|
2024-07-06 17:09:20 +02:00
|
|
|
|
- [outerair](https://hosted.weblate.org/user/outer_air)
|
2024-01-23 13:41:46 +01:00
|
|
|
|
- [u/Wild_Mastic](https://lemmy.world/u/Wild_Mastic)
|
|
|
|
|
- [reusityback](https://github.com/reusityback)
|
2024-12-22 23:58:35 +01:00
|
|
|
|
- [starry-shivam](https://github.com/starry-shivam)
|
2024-02-08 23:38:29 +01:00
|
|
|
|
- [u/fisco](https://lemmy.ml/u/fisco)
|
2024-07-06 17:09:20 +02:00
|
|
|
|
- [u/Suoko](https://feddit.it/u/Suoko)
|
|
|
|
|
- [u/Mannivu](https://feddit.it/u/Mannivu)
|
|
|
|
|
- [u/Kir](https://feddit.it/u/Kir)
|
2024-06-08 15:52:39 +02:00
|
|
|
|
- [u/NicKoehler](https://feddit.it/u/NicKoehler)
|
2024-07-06 17:09:20 +02:00
|
|
|
|
- [Tmpod](https://github.com/Tmpod)
|
|
|
|
|
- [u/cloudless](https://lemmy.cafe/u/cloudless)
|
|
|
|
|
- [u/squirrel](https://discuss.tchncs.de/u/squirrel)
|
2024-11-24 20:50:59 +01:00
|
|
|
|
- [N7-X](https://github.com/N7-X)
|
2024-07-06 17:09:20 +02:00
|
|
|
|
- [gallegonovato](https://hosted.weblate.org/user/gallegonovato)
|
|
|
|
|
- [Edanas](https://hosted.weblate.org/user/Edanas)
|
|
|
|
|
- [u/sag](https://lemm.ee/u/sag)
|
|
|
|
|
- [u/am41](https://sh.itjust.works/u/am41)
|
2024-11-24 20:50:59 +01:00
|
|
|
|
- [aindriu80](https://github.com/aindriu80)
|
|
|
|
|
- [monstorix](https://hosted.weblate.org/user/monstorix)
|
2024-12-22 23:58:35 +01:00
|
|
|
|
- [gnu-ewm](https://hosted.weblate.org/user/gnu-ewm)
|
2025-01-01 13:58:00 +01:00
|
|
|
|
- [beyanibash](https://hosted.weblate.org/user/beyanibash)
|
2025-01-17 14:35:31 +01:00
|
|
|
|
- [Tigg](https://hosted.weblate.org/user/tigg)
|
2025-01-19 08:47:18 +01:00
|
|
|
|
- [Matth7878](https://github.com/Matth7878)
|
2024-01-23 13:41:46 +01:00
|
|
|
|
- all those who reported feedback and ideas through the Lemmy community, GitHub issues, emails,
|
|
|
|
|
private messages, homing pigeons and every other imaginable media.
|
|
|
|
|
|
|
|
|
|
This project would not be what it is were it not for the huge amount of patience and dedication of
|
|
|
|
|
these early adopters who sent me continuous feedback and ideas for improvement after every release,
|
2024-02-08 23:38:29 +01:00
|
|
|
|
reported bugs, offered to help, submitted translations to their local language, offered help to
|
|
|
|
|
other users and made the community a better place, etc.
|
2024-01-23 13:41:46 +01:00
|
|
|
|
|
2024-06-08 15:52:39 +02:00
|
|
|
|
You are **awesome**… THANKS ❤️🦝️❤️
|
2024-01-23 13:41:46 +01:00
|
|
|
|
|
2024-01-22 23:12:51 +01:00
|
|
|
|
# Further reading
|
|
|
|
|
|
|
|
|
|
If what you have read so far sounds interesting and you want to know more, here are some useful
|
|
|
|
|
links:
|
|
|
|
|
|
2024-10-18 12:45:00 +02:00
|
|
|
|
- check out the [User manual](user_manual/main);
|
|
|
|
|
- have a look at the more detailed documentation in the [Technical manual](tech_manual/main);
|
2024-01-23 23:15:54 +01:00
|
|
|
|
- consult
|
2024-10-18 12:45:00 +02:00
|
|
|
|
the [CONTRIBUTING](https://github.com/LiveFastEatTrashRaccoon/RaccoonForLemmy/blob/master/CONTRIBUTING.md)
|
|
|
|
|
guide.
|
2024-01-23 09:28:30 +01:00
|
|
|
|
|
|
|
|
|
If, on the other hand, you just want to interact with the community, provide suggestions, report
|
2024-06-28 09:46:36 +02:00
|
|
|
|
bugs, contribute with translations or tell your opinion, you can:
|
2024-01-23 09:28:30 +01:00
|
|
|
|
|
2024-10-27 22:53:30 +01:00
|
|
|
|
- subscribe to our [Lemmy community](https://lemmy.world/c/raccoonforlemmyapp) to receive updates
|
|
|
|
|
about the new releases, participate into public discussions in the Lemmy style and provide your
|
|
|
|
|
feedback or suggestions;
|
2025-01-12 12:53:17 +01:00
|
|
|
|
- join the [Matrix room](https://matrix.to/#/#raccoonforlemmyapp:matrix.org) of this project to
|
2024-10-27 22:53:30 +01:00
|
|
|
|
reach out to the developers and other users;
|
2024-10-18 12:45:00 +02:00
|
|
|
|
- use the GitHub [issue tracker](https://github.com/LiveFastEatTrashRaccoon/RaccoonForLemmy/issues)
|
|
|
|
|
to report
|
2024-01-23 23:15:54 +01:00
|
|
|
|
bugs or request features;
|
2024-01-22 23:12:51 +01:00
|
|
|
|
- finally, if none of the above methods fits your needs you
|
2024-10-18 12:45:00 +02:00
|
|
|
|
can write an [email](mailto://livefast.eattrash.raccoon@gmail.com) or reach out to me
|
|
|
|
|
on [Matrix](https://matrix.to/#/@dieguitux8623:matrix.org).
|