Progress Report (May)
S5 Network
Version 0.11.3 of the S5 Node has been released (GitHub - s5-dev/S5: Decentralized content-addressed storage network). Highlights include a new Admin Web UI, multi-arch Docker image, WebSocket connections for the p2p network, a new file streaming implementation and some improvements to the Sia renterd object store.
S5 Dart packages have been published on pub.dev, this makes it easy for Dart and Flutter developers to install and use them. (Packages of publisher sfive.net)
Vup Cloud Storage App
A lot of new features and improvements have been implemented since the last Beta release, but a new one is not quite ready yet. The next release will happen this month and be finally available on all platforms.
ATProto and Bluesky
The original timeline for the S5 project included a full public identity system with a browser extension for secure client-side signatures, social network elements for the Tube5 video streaming app and a Discord-like decentralized chat platform.
Instead of continuing to build all of the primitives and core tech for this myself, I decided to switch to https://atproto.com/. The AT Protocol offers almost all features needed to build truly decentralized applications and it is already a lot more mature compared to what I could build from scratch.
The most relevant app on ATProto right now is Bluesky, which just hit 100k users. It’s a microblogging app similar to Twitter.
This are some examples where S5 could be used with ATProto and Bluesky:
- Host large media files, for example videos or big images
- Store content-addressed backups of ATProto repos to make account recovery even easier
- Publish web apps securely
- Archive content
After custom lexicon support lands on the official instance, videos in the S5 metadata format (GitHub - s5-dev/json-schemas) can be published directly on ATProto with only some minor modifications. Tube5 will switch to publishing video metadata on ATProto, but the video files will still be streamed from S5 by default. If everything goes well, the ATProto blob format will be fully compatible with S5 (both using the BLAKE3 hash function) and large media files can be hosted on both S5 and ATProto servers using the same hash. I’m also working on some custom lexicons for building a Reddit-like social platform on top of ATProto: GitHub - redsolver/atproto
Apart from custom lexicons, I built a lot fun stuff for the Bluesky ecosystem this month. The first one is SkyFeed (https://skyfeed.app), a third-party client with some unique features like real-time updates. SkyFeed was the first Bluesky client to support custom feeds, you can read more about that and other cool new Bluesky features in their recent blog post (Private Beta Update & Roadmap - Bluesky). I also built an indexer (GitHub - skyfeed-dev/indexer: ATProto/Bluesky Indexer powered by SurrealDB.) which powers all of my custom feeds. They serve up to 400 feed requests per minute (~ 6.7 reqs/second).