-
Câu chuyện Reddit chặn tôi vì phát triển ứng dụng
-
Khởi đầu
- Vào tháng 6 năm 2023, Reddit công bố chính sách giá API mới
- Trước đây là miễn phí, nhưng giờ họ yêu cầu $12,000 cho mỗi 50 triệu lượt gọi API
- Đây là một đòn giáng mạnh vào các ứng dụng và bot phi thương mại
-
Geddit
- Trong lúc tìm hiểu Reddit API, tôi phát hiện rằng chỉ cần thêm
.jsonvào cuối URL là có thể nhận toàn bộ trang dưới dạng JSON - Tôi tạo một wrapper Reddit API bằng thư viện JavaScript đơn giản và đặt tên là Geddit
- Nó cung cấp khả năng sử dụng Reddit ở chế độ chỉ đọc một cách ẩn danh
- Trong lúc tìm hiểu Reddit API, tôi phát hiện rằng chỉ cần thêm
-
Phát triển ứng dụng
- Tôi phát hiện ra framework Capacitor và Ionic, cho phép phát triển ứng dụng di động native bằng HTML, CSS và JavaScript
- Tôi phát triển Geddit thành một ứng dụng Android và chia sẻ nó trên GitHub
- Ứng dụng được nhắc đến trên Hacker News, Android Police, Reddit, YouTube và nhiều nơi khác
- Trang GitHub Releases ghi nhận hơn 25k lượt tải xuống
-
Kết
- Tôi phát hành nhiều phiên bản và bổ sung phần tạo kiểu theo hướng dẫn Material Design
- Tôi đăng ứng dụng lên cửa hàng F-Droid
- Tôi nhận được email từ Reddit và đã giải thích rằng đây không phải là sản phẩm thương mại, đồng thời không lạm dụng API
- Tôi dừng phát triển trong khi chờ phản hồi từ Reddit
-
Tổng kết của GN⁺
- Bài viết này cho thấy tác động của chính sách giá API mới của Reddit đối với các nhà phát triển ứng dụng phi thương mại
- Geddit là một dự án mã nguồn mở cho phép sử dụng Reddit ẩn danh bằng cách đi vòng qua Reddit API
- Dự án đã bị dừng lại do phản ứng từ Reddit, nhưng hiện vẫn còn hoạt động
- Những dự án khác có tính năng tương tự gồm có Apollo và Juno
1 bình luận
Ý kiến trên Hacker News
Khi còn nhỏ, Reddit là trang tôi thích nhất; tôi thường khám phá những subreddit mới lạ, thú vị rồi đọc bất cứ bài viết và bình luận nào
Ngày trước trang chủ cũng khá đáng xem, nhưng giờ cảm giác như một bữa tiệc bot kiêm cỗ máy tuyên truyền
Tôi vẫn dùng, nhưng ít hơn nhiều, và chỉ để đọc các subreddit kỹ thuật ngách chứ không phải để giải trí
Tôi từ chối dùng app di động chính thức và đã dùng Baconreader cùng Relay trên Android; Relay vẫn sống sót sau thay đổi API bằng mô hình đăng ký
Tuy vậy nhờ Revanced, giờ có thể vá phiên bản Relay cũ để dùng miễn phí bằng API key của mình
HN vẫn ổn để học xem điều gì đang diễn ra trong thế giới công nghệ, vì nó đơn giản và lọc được nhiều nội dung kém chất lượng, nhưng số bình luận chỉ phản ứng với tiêu đề đang tăng lên
Reddit, giống Meta, đã trở nên khó dùng vì trải nghiệm người dùng quá tệ nếu không có tài khoản; còn X thì ít nhất không giả vờ, thay vào đó chặn hẳn không cho dùng
Tôi nghĩ chúng ta cần nhiều website đơn giản hơn nữa, nhưng không rõ động lực nào sẽ tạo ra cấu trúc như vậy
Trước đây nhiều subreddit có nội dung đúng với tên gọi, còn giờ 90% là nội dung chính trị Mỹ, ngay cả r/pics cũng không ngoại lệ
Không chỉ bài viết mà cả bình luận cũng liên tục chen lập trường chính trị vào; kể cả trong các bài không liên quan đến chính trị, nên đọc rất mệt
Trông như ví dụ điển hình về việc ban quản lý và các lãnh đạo phá hỏng nền tảng khi cố thể hiện ảnh hưởng của mình và biện minh cho mức lương
Bot và tuyên truyền theo đúng nghĩa đen ở khắp nơi, nền tảng tiếp tục xấu đi, nhưng phải thừa nhận là nó vẫn gây nghiện ở mức nào đó
Việc HN nhìn chung là một không gian tránh chính trị khá đáng mừng
Tôi đã chán cảnh người ta không biết cương lĩnh của ứng viên thị trưởng địa phương, thậm chí không biết thị trưởng là ai hay hội đồng thành phố làm gì, nhưng lại bàn về địa chính trị và chính trị trong nước như một cuộc chiến fandom
Tôi cho rằng điều này đến từ việc báo truyền thống mang tính địa phương đã chết, và về bản chất bị truyền thông Internet toàn cầu thay thế
Có vẻ hầu hết người Ý biết về chính trị Mỹ nhiều hơn những gì đang xảy ra trong khu phố của họ, hoàn toàn đảo ngược
Đòn kết liễu tất nhiên là sự cố API, nhưng trước đó đã có thể thấy những người thật lòng quan tâm đến các cộng đồng Reddit khác nhau không chịu nổi những trò của công ty hoặc sự thờ ơ của họ, rồi bỏ cuộc và rời đi
Trong lúc đó Reddit vẫn tiếp tục tăng trưởng, nên nhìn từ góc độ quản trị kiểu bảng tính thì hẳn mọi thứ có vẻ không có vấn đề gì
Nhưng phần lớn tăng trưởng đó là nội dung ít công sức có thể thấy ở bất kỳ nền tảng xã hội nào, còn nội dung độc đáo từng khiến Reddit đặc biệt thì đã giảm dần cả về lượng lẫn chất trong nhiều năm
Đây là dịch vụ tôi làm vì chính mình cần
Có vẻ đã đến lúc giới thiệu dự án fediverser [0], giúp thoát khỏi Reddit
Nó cho phép đăng ký vào một instance Lemmy [1] bằng tài khoản Reddit và tự động theo dõi các cộng đồng thay thế tương ứng trên Lemmy
Danh sách lựa chọn thay thế được crowdsourcing, và bản triển khai chính nằm tại https://fediverser.network
Nếu muốn fork, hãy chạy instance của riêng mình và quản lý theo cách bạn muốn
Vài tháng trước tôi nhận được một khoản tài trợ nhỏ từ NLNet và đang làm việc để tích hợp tính năng này vào client Voyager, tức PWA clone Apollo
Nếu có cá nhân hoặc công ty nào muốn giúp thêm hoặc tài trợ, hãy liên hệ
[0] https://fediverser.io
[1] https://portal.alien.top
Vì có thể tương tác với Lemmy ở một mức độ nào đó thông qua Mastodon hoặc các ứng dụng ActivityPub khác, và ngược lại cũng vậy, tôi hy vọng hai loại mạng xã hội này sẽ giúp nhau phát triển
Tôi thắc mắc liệu có thể thêm thiết lập tài khoản Fediverse của mình để khi bấm vào cộng đồng thì được chuyển hướng tới máy chủ của mình không
Ví dụ khi tìm /r/switzerland, bên cạnh switzerland@feddit.ch do Fediverser đề xuất sẽ có một nút để mở trên máy chủ Fediverse của tôi, tương tự nút “Take me home” của web client Mastodon
Hiện hoạt động vẫn còn thiếu, nhưng tôi định tự tham gia để trở thành một phần của giải pháp
Kết cục là mỗi instance đều có các c/linux, c/funny, c/technology, c/anime riêng biệt, khiến việc sử dụng trở nên rất khó
Geddit hiện vẫn hoạt động và là một app tuyệt vời; có thể đọc các bài được đánh dấu NSFW ngay cả khi không có tài khoản
App còn hoạt động khác mà tôi biết là RedReader; có vẻ Reddit để yên không phá vì nó có các tính năng trợ năng nâng cao cho độc giả khuyết tật
Tuy nhiên không thể truy cập các mục NSFW và sẽ hiện thông báo yêu cầu dùng website
IP dùng chung đã bị Reddit chặn ở cấp mạng, và duyệt ẩn danh cũng bị vô hiệu hóa
Có lẽ mỗi ngày tôi thấy khoảng 50 CAPTCHA, và tôi thật sự nhớ web ngày xưa cùng văn bản thuần túy
rif is fun cũng vẫn hoạt động, hoặc ít nhất là lần cuối tôi chạy cách đây một hai tháng thì nó vẫn hoạt động ở chế độ chỉ đọc
Endpoint JSON mà Geddit dùng là API của Reddit và vẫn mở toang, nên không thể gọi là “vượt hạn chế API”
Reddit mà tôi biết đến lần đầu vào thời điểm người dùng rời bỏ Digg từng là một nơi rất tuyệt
Đáng tiếc là nó quá mong manh để giữ được trạng thái tốt đẹp đó, và những màn kịch do sai lầm vận hành lặp đi lặp lại của ban quản trị đã bào mòn thiện chí
Công ty đáp lại bằng cách ngày càng thù địch hơn với người dùng, và không có dấu hiệu sẽ ngừng vắt kiệt mọi thứ từ họ, dù là thời gian rảnh, tiền bạc hay bất cứ thứ gì khác
Chúng ta cần một cách công khai để trao đổi với nhau về các chủ đề ngách mà không có những bên trung gian độc hại
Thật ngạc nhiên là vẫn còn người phát triển dựa trên Reddit như một nền tảng
Phụ thuộc vào nền tảng vốn đã rủi ro, mà lại còn là Reddit
Ưu điểm duy nhất của Reddit chỉ là hiệu ứng mạng gắn với nội dung người dùng tốt; còn lại, kể cả cách họ đối xử với nhà phát triển, gần như đều là bãi rác
Họ đã giết con ngỗng đẻ trứng vàng, và việc kinh doanh trứng tất yếu đang sụp đổ
Có đoạn nói rằng việc phát hiện ra chỉ cần thêm
.jsonvào cuối URL là có thể nhận toàn bộ trang ở định dạng JSON là một khai sáng lớn; thực ra cách này đến giờ vẫn hoạt độngNếu lấy một bài đang nổi hiện nay, đổi https://www.reddit.com/r/funny/comments/1ezq3po/asked_for_my... thành https://www.reddit.com/r/funny/comments/1ezq3po/asked_for_my... thì có thể nhận tất cả bình luận dưới dạng JSON mà không cần xác thực
Thật thú vị vì có lẽ sẽ rất dễ dùng cách này để tạo một client có UI ổn và né hết quảng cáo
Nếu thử liệt kê toàn bộ bình luận của bài viết dựa trên dữ liệu trả về, nó sẽ dừng ở một con số nhỏ hơn rất nhiều so với con số Reddit web UI hiển thị
Một ứng dụng React nhỏ [2] đã 9 năm không đụng tới của tôi dùng cách này mà đến giờ vẫn chạy tốt
[1] https://www.reddit.com/r/programming/comments/cxh3a/we_just_...
[2] http://insin.github.io/just-dadjokes/
Tôi đã bỏ Reddit khi họ làm những việc như thế này, và cuộc sống tốt hơn nhiều
Reddit thời kỳ đầu có cộng đồng và nội dung tốt, nhưng khi trở nên phổ biến hơn và bắt đầu vắt kiệt doanh thu, giá trị của nó đã giảm
Việc các dự án mô hình ngôn ngữ lớn ban đầu khởi đầu bằng cách cào dữ liệu Reddit thật buồn cười
Có lẽ vẫn tốt hơn đống rác ngẫu nhiên của Common Crawl, nhưng thế giới đã chuyển đi nơi khác rồi
Điều này phụ thuộc rất nhiều vào moderator; ví dụ những nơi như /r/anime thì không có lựa chọn thay thế
Nếu là tôi thì tôi thậm chí sẽ không trả lời
API cần thiết duy nhất là HTTP
Những người cố khiến người khác tin rằng họ có quyền quyết định user agent nào được dùng chỉ là đang cố kiểm soát nhiều hơn những gì họ sở hữu
Thêm
.rssvào URL subreddit thì cũng có thể nhận được RSS feedRSS vốn được thiết kế để bot, tức chương trình máy tính, đọc; không biết lập trường của Reddit là gì
Cái này cũng bị xem là “né giới hạn API” sao?
Có vẻ phía Reddit đã quên RSS, hoặc không quan tâm vì nó không cung cấp toàn bộ nội dung nên không hữu ích cho app
Mẹo của tôi là đăng ký feed “phổ biến trong tuần” của từng subreddit; làm vậy thì lượng bài đổ về giảm xuống mức khá dễ quản lý
Thao túng câu chuyện đã trở thành một ngành kinh doanh lớn trên toàn cầu
Vì vậy Reddit muốn buộc người ta trả 30.000 USD mỗi năm cho API, và Twitter/X cũng làm điều tương tự vì cùng lý do