After a full week of work on #HolosSocial, I will deploy the new relay code tomorrow to support multi-device, and compile the apps.
Next week I will be back to #Fedilab.
Switching too much between projects doesn't help, but spending more than a week on a single project is not a good move either.
Fedilab and Holos are two big projects that deserve a balanced approach. Thank you for your patience.
holossocial
We've optimized data loading so #Holos feels fast and seamless despite running its own server.
What's next:
- Interaction controls (#GoToSocial approach) to manage who can reply/boost/like your posts
- Keywords filtering on the public timeline to reduce noise and show what matters to you
- Community domain blocklist subscriptions with auto-sync
#HolosSocial 1.7.0 is available.
This version adds multi-device support. You can connect a phone, tablet and desktop to the same account. To add a new device, you scan a QR code from one you already use. This transfers your key and all your account data, encrypted end to end, so the relay never sees it in clear.
It also adds bio translation on profiles, actor lists for boost and like notifications, DM filtering, and several fixes.
Full release notes: https://codeberg.org/tom79/Holos-App/releases/tag/1.7.0
RE: https://mastodon.social/@HolosSocial/116664862916238317
Today the #HolosSocial project takes a step forward by letting one account run on several devices.
It may sound minor, but each device runs its own #ActivityPub server, which made it a real challenge: avoiding duplicate actions sent to other instances and keeping everything in sync.
All of this stays transparent for the user: adding a device is as simple as scanning a QR code, and the whole transfer is end to end encrypted between the two devices, so the relay never sees it in clear.
With #HolosSocial you don't need to host a relay to get a custom identity on the #Fediverse. You just need a domain pointing to a relay through a CNAME.
You can even point a subdomain to the relay and keep your identity on your root domain. That's how @tom79 works: holos.fedilab.app points to holos.social, and a WebFinger file on fedilab.app maps the handle.
The identity is on my domain, the key on my device, so moving relay just means repointing it.
I added a documentation page on holos.social to explain how pairing devices for an account works:
https://holos.social/multi-device
I also updated the FAQ, which was outdated and missing some important questions:
#HolosSocial 1.8.0 is available.
This version adds a QR code and copy handle on profiles, a Solarized theme, followed hashtags in the home timeline and text translation in the compose screen.
It also brings several fixes such as uploaded custom emojis not displayed and empty lists. Bugs for desktop releases are also fixed.
More: https://codeberg.org/tom79/Holos-App/releases/tag/1.8.0
I updated the #HolosSocial FAQ that was outdated and missing some important questions that needed to be answered: https://holos.social/faq
I also added new documentation about pairing devices: https://holos.social/multi-device
Now, it's time to step back for a few days and work on #Fedilab bugs/enhancements
This is how #Holos currently handles #E2EE DMs over #ActivityPub. Holos is a project we develop alongside #Fedilab.
#HolosSocial will soon get an update (relay + app). The focus is the sync process, which will be more aggressive through the Bloom filter.
Currently, some activities aren't filtered upstream (mostly undo ones), so the device downloads and processes them for nothing. This was a kind of guardrail that's no longer necessary.
With this release, the device downloads far fewer activities (around 80% of what arrived was useless), so sync will get much faster.
RE: https://toot.fedilab.app/@apps/116681977926733327
@apps If I were starting over to the Fediverse I think I'd likely make this my primary account. As it is, I have a secondary account for testing and learning from what #HolosSocial is building.
Q. if one day the Holos Social relay were to go away, would the only recourse for users be to move accounts to another mastodon server? if the user made his domain his account name, could that even work?
RE: https://toot.fedilab.app/@apps/116121279230852696
#HolosDiscover was built to solve a concrete problem: when you join #HolosSocial, your mobile server is empty. No posts, no accounts to find. The API provides search and trending content as a fallback for servers with no indexation yet.
We built a web UI at https://discover.holos.social using the same data, so anyone can see what's indexed without being a developer. Any Fediverse app or instance can also access it through the API.
#Holos 1.0.0-rc-3 has been published. This release now integrates #HolosDiscover for searches and to display trending. You can also block domains and sync remote blocking lists of domains. You can also import your list of blocked accounts. Account deletion is now possible through the app.
More about this release: https://codeberg.org/tom79/Holos-App/releases/tag/1.0.0-rc-3
Download: https://framadrive.org/s/b68BB42Rf5ogW8o
I took some time to fix the built-in translator for #Fedilab and #HolosSocial. No updates on your side, it concerns the service on the server.
Building #HolosSocial is by far my most ambitious project. It might only attract a niche of users, though at first it could seem strange to run an #ActivityPub server on a device.
But Holos' purpose is more than that: helping everyone have their own identity, host their media, and not depend on a server admin. Make everything accessible with views depending on your mood. One app, one identity, with all that the fediverse can offer.
That's the beginning, the way is still long but not unreachable.
Next #Holos release will use Bloom filters (https://en.wikipedia.org/wiki/Bloom_filter) for sync. The relay filters activities, only sending those from accounts you follow and from the local timeline.
The filter is sent each sync and never stored. The relay still has no knowledge of your followings.
Test: 26 followings, 32k pending activities filtered down to a hundred (99.7% reduction).
The public timeline goes away as a result. #HolosDiscover will replace it with content tailored to your interests.
One challenge with #Holos: the relay can accumulate a lot of pending activities. Users have to download everything before seeing their feed.
By design, the relay has no knowledge of your followers or followings and never will. That's why we introduced Bloom filters (https://en.wikipedia.org/wiki/Bloom_filter): your device sends a compressed version of your followings at each sync so the relay only returns what matters. At worst you get a few extra activities, but never miss any. (1/2)
The public timeline has been removed from #Holos. It is now a discovery timeline that you can tailor to your needs. You will first need to set keywords (which can be changed in settings later).
Now, with the Bloom filter, you won't even notice you're running an ActivityPub server on your device. Syncing data will be super fast.
We kept the ability to revert to legacy mode, but it won't be the default behavior in the next release.
In the #Fediverse, most software is built around a specific platform model. One for microblogging, one for video, one for photos... and new ones will keep coming.
With #Holos, your phone runs your own #ActivityPub server. You control your data and can use your own domain as your identity.
Built on the protocol, not a platform model, Holos is not limited to a single use case. One account that adapts to your needs.
That's where we're heading, and we hope for your support.
Following threads will be available in #HolosSocial 1.10.0. You can subscribe to a thread and get notified when new replies arrive, even from accounts you do not follow. It works with standard #ActivityPub activities by sending a Follow targeting a post, with a polling fallback for servers that do not support it yet.
How it works: https://tom79.dev/posts/follow-a-note/
#HolosSocial 1.9.0 is available.
In this release you can now share posts and profiles across the Fediverse apps (web+ap), add hashtags to your lists alongside accounts, subscribe to hashtags from the timeline, and search your followed ones. Quick list creation from a profile, and you can now hide individual bottom tabs.
It also brings several fixes and reworked multi-account data isolation.
Release notes: https://codeberg.org/tom79/Holos-App/releases/tag/1.9.0
Having lists that mix accounts and hashtags is now possible in #HolosSocial 1.9.0.
To follow a topic, you often need both: a few accounts and the hashtags people use for it. Putting them in one list gives you the full picture in a single feed. It also keeps your home timeline clean, since busy hashtags stay in their list instead of flooding everything else.
RE: https://toot.fedilab.app/@apps/115572783993063223
This post is about 7 months old, and #HolosSocial went far beyond it since. It now has #E2EE DMs with the Signal protocol, and real identity portability. You can use a custom domain so your identity rests on your own name and keys, and keep your media on your own cloud. Leaving a relay is no longer a migration, you just point your domain elsewhere and keep going. This remains optional, you have time to discover the app and enable things later that will give you full independence on #ActivityPub.
#Holos 1.0.0-rc-4 published!
Sync is now much faster thanks to Bloom filters. You can set a TTL on posts when composing or configure a default in settings.
If you have a WebDAV/S3 server, the app can upload media there and use public URLs in ActivityPub.
Videos can be compressed before upload. An experimental vertical video feed is available.
A new Discovery timeline lets you explore posts by tags and language.
More: https://codeberg.org/tom79/Holos-App/releases/tag/1.0.0-rc-4
#HolosDiscover now allows filtering results by multiple languages (for instance French + English). You can create timelines with up to 20 hashtags. You might be surprised to discover small accounts sharing hobbies you enjoy.
The #HolosSocial app already uses it. If you are an app developer, don't hesitate to use the API: