Open-sourcing WhiteWind!!!

@whtwnd.com

We are open-sourcing WhiteWind!

Background of Open-Sourcing

Importance of enriching atproto services

 In recent years, there has been increasing attention to cases where platform operators restrict user rights and freedoms (enshittification).
Examples include account suspensions without clear reasons1, shadowbanning2, changes in monetization rules3, buying and selling of personal information4, insertion of content from people users are not interested in5, neglect of rampant bots6, and systems that seem to encourage spam7.
As a technical solution to these issues, decentralized social media has been gaining attention.

 atproto is a relatively new protocol (communication IT technology) for social media developed by Bluesky and has a design that leans towards decentralization.
If a service using atproto attempts to restrict user rights and freedoms as described above, users can create or easily8 migrate to another service with the same functionality but better management policies.
Therefore, if a service provider implements a service using atproto, that indicates they are taking the risk of user defection. By deliverately doing so, the service provider can demonstrate a lack of intention to enshittify and confidence in its management policies, allowing users to use the service with peace of mind.
The more services that adopt atproto, the more the problem of enshittification by platform operators is expected to be resolved.

 As a reference implementation of atproto, Bluesky operates a social media platform for microblogging called Bluesky (referred to as bsky for distinction).
Since its limited release in April 2023, bsky has steadily increased its user base due to the trust in developing atproto to prevent enshittification and as a refuge from the enshittification of X / Twitter.
However, despite bsky demonstrating the high practicality of atproto, services adopting atproto have been limited to bsky.
If services using atproto are limited to bsky, it strays far from the ideal of preventing enshittification across society.

Why We Launched WhiteWind

 WhiteWind is the first third-party non-bsky service using atproto, and it is a blog service that allows you to easily post rich text in Markdown.
WhiteWind was created with the following objectives in mind:

  • To explore the benefits for both users and services when atproto is implemented in services other than bsky
  • To assess the practicality of the atproto SDK
  • To understand why services using atproto have not emerged outside of bsky
  • To determine if atproto can offer features beyond just being an insurance against enshittification, and whether it can provide a UX that existing services cannot achieve
  • To examine if atproto implicitly makes certain assumptions about technology
  • To identify the obstacles encountered while operating a service using atproto

Additionally, by launching WhiteWind, we anticipated that:

  1. It demonstrates that third-party developers can create non-bsky atproto services, setting a precedent
  2. Above fact stimulates the motivation or competitive spirit of other potential atproto developers, leading to an increase in atproto services
  3. WhiteWind ultimately contributes to the atproto ecosystem

 Since its launch in March 2024, the service has undergone multiple improvements and has achieved a certain level of stable operation.
Through three months of service operation, we have been able to obtain answers to the questions mentioned above.
However, the prediction that other potential atproto services would increase has not yet been realized.

Want to accelerate recent revitalization of the atproto developer community even further

 Recently, the movement of non-bsky third-party services using atproto has been revitalizing910111213.
Considering that WhiteWind's service development is on a certain track, and major breaking changes are no longer needed, now is the perfect opportunity to mark WhiteWind version as 1.0.0 and open-source WhiteWind to contribute to the atproto developer community.
Despite the code being embarrasing since we have prioritized the hypothesis verification speed and UX over performance / maintainability optimization, we have decided to release WhiteWind's source code.

Repository Structure

  • .devcontainer
    • A development devcontainer. It uses a golang base image with features necessary for TypeScript development.
  • backend
    • Contains the golang code implementing WhiteWind's XRPC API.
  • cmd/relaysink
    • Contains WhiteWind's relay consumer.
  • frontend
    • The frontend TypeScript code for WhiteWind implemented in Next.js.
  • lexicons
    • Contains the Lexicon JSON files.

Contribution

Due to development capacity constraints, we cannot maintain guidelines for contributions or architectural explanations for the time being.
PRs and feedback are welcome.

To atproto Developers

We hope our code is useful for you and let's contribute to the atproto ecosystem together!

Footnotes

  1. Has anyone been suspended from Twitter/X? I was for 'violating our rules against platform manipulation and spam.' I appealed. What is this violation? - Quora

  2. Shadow banning - Wikipedia

  3. Changes to YouTube Partner Program terms - YouTube Help

  4. Facebook–Cambridge Analytica data scandal - Wikipedia

  5. Why Your Twitter Feed Is Full of People You Don’t Follow | TIME

  6. X’s Bot Purge Sees Big Accounts Lose Thousands of Followers | Social Media Today

  7. Is it worth getting Twitter Blue & Monetization?

  8. Ability to completely migrate posts (including mentions and reposts), follow/follower relationships, etc. from one service A to another service B easily and quickly, and even if followers continue to use service A, there will be no disruption in interactions with those using service B.

  9. https://bsky.app/profile/futanari.tentacle.expert/post/3kujluafvmk2g

  10. https://bsky.app/profile/why.bsky.team/post/3kuonku75ay2i

  11. https://bsky.app/profile/boobam.bsky.social/post/3kum4xpxzyk2o

  12. https://bsky.app/profile/unhappysalt.life/post/3kuj45qfad72m

  13. https://bsky.app/profile/soleia.app/post/3kt6fgfe7tc22

whtwnd.com
WhiteWind

@whtwnd.com

WhiteWind is a Markdown blog service (AppView) which uses atproto.
https://whtwnd.com/about

Usage:
https://whtwnd.com/knksm5.final-techblog.com/entries/Basic%20Usage%20of%20WhiteWind

Repo:
https://github.com/whtwnd/whitewind-blog

Post reaction in Bluesky

*To be shown as a reaction, include article link in the post or add link card

Reactions from everyone (0)