Fediverse xứng đáng có một ứng dụng khách đồ họa đơn giản và nhẹ nhàng
Tác giả yêu thích Fediverse nhưng thấy các ứng dụng hiện tại quá nặng nề do JavaScript, trong khi các giao diện dòng lệnh lại thiếu hình ảnh. Để giải quyết vấn đề này, tác giả đã xây dựng SmolFedi, một ứng dụng khách PHP nhẹ nhàng, hiển thị đồ họa hoàn toàn mà không cần dùng đến JavaScript.
Fediverse xứng đáng có một ứng dụng khách đồ họa đơn giản và nhẹ nhàng
Tôi yêu thích Fediverse. Tôi đã sử dụng nó trong nhiều năm và đây vẫn là mạng xã hội duy nhất mà tôi thực sự thích dành thời gian bên đó. Không có bảng tin thuật toán thúc đẩy sự phẫn nộ, không có các mẫu thiết kế tối (dark patterns), không có chủ nghĩa tư bản giám sát. Chỉ đơn giản là mọi người nói chuyện với nhau qua một giao thức mở.
Tuy nhiên, mỗi khi tôi muốn giới thiệu nó cho ai đó, tôi lại gặp một rào cản giống nhau: các ứng dụng khách (client) hiện tại quá nặng nề. Giao diện web của Mastodon tải về hàng megabyte JavaScript. Elk, Phanpy hay Ivory là những ứng dụng đẹp mắt, nhưng chúng yêu cầu một trình duyệt hiện đại, kết nối nhanh và một thiết bị được sản xuất trong vòng năm năm qua.
Giải pháp dung hòa: Đồ họa nhưng nhẹ nhàng
Chúng ta có các ứng dụng khách dòng lệnh (CLI) như toot và tut. Cả hai đều rất vững chắc, thực sự nhẹ nhàng và thú vị khi sử dụng trong terminal. Tuy nhiên, Fediverse mà không có hình ảnh thì là một trải nghiệm kém đi rất nhiều. Mọi người chia sẻ ảnh, tác phẩm nghệ thuật, ảnh chụp màn hình. Ứng dụng dòng lệnh chỉ cung cấp cho bạn văn bản; nó không mang lại bức tranh toàn cảnh.
Tôi muốn một cái gì đó ở giữa: một ứng dụng khách chạy trên trình duyệt cơ bản, xử lý hình ảnh đúng cách, nhưng không yêu cầu công cụ JavaScript để hiển thị danh sách bài đăng. API trả về JSON; một script phía máy chủ có thể chuyển đổi JSON đó thành HTML hoàn toàn tốt đẹp. Chúng ta đã làm điều đó trong 25 năm qua.
Vì vậy, tôi đã xây dựng SmolFedi.
Giới thiệu SmolFedi
Đây là một ứng dụng PHP. Không có npm, không có Composer, không có bước xây dựng (build step). Nó sử dụng cơ sở dữ liệu SQLite và các phiên PHP cơ bản. Mọi trang đều được tạo phía máy chủ và gửi dưới dạng HTML thuần túy.
SmolFedi hỗ trợ nhiều tài khoản, dòng thời gian, thông báo, thăm dò ý kiến, tệp đính kèm phương tiện với văn bản thay thế (alt text), cảnh báo nội dung, soạn thảo, trả lời, đăng lại (boost), yêu thích (favourite) — mọi thứ tôi thực sự sử dụng hàng ngày. CSS vẫn nằm trong tiêu chuẩn Smolweb hạng B. Không có một dòng JavaScript nào trong cơ sở mã của ứng dụng này.
Tương thích và hiệu năng
SmolFedi hoạt động với Mastodon, GoToSocial và chắc chắn là các nền tảng Fediverse tương thích khác. Nó chạy tốt trên Firefox, Chromium, Safari, và bất kỳ trình duyệt nào có thể hiển thị HTML cũng như hình ảnh JPEG như Dillo hay Netsurf.
Tôi không khẳng định đây là ứng dụng khách phù hợp cho tất cả mọi người. Nếu bạn muốn trải nghiệm một trang đơn (single-page) mượt mà với các bản cập nhật trực tiếp và hoạt ảnh, SmolFedi không phải là như vậy. Nhưng nếu bạn muốn duyệt Fediverse trên một thiết bị khiêm tốn, kết nối chậm, hoặc đơn giản là một thiết lập mà bạn thà không chạy hàng megabyte JavaScript được tìm nạp từ web, thì SmolFedi dành cho bạn.
Mã nguồn hiện có trên Codeberg và một bản demo đang chạy trên Pollux.
Bạn nghĩ sao về ý tưởng này? Hãy cho tôi biết trên Fediverse nhé.



