1 puan yazan GN⁺ 2025-08-08 | 1 yorum | WhatsApp'ta paylaş
  • Mevcut yorum sistemleri (Disqus, kendi barındırma, GitHub Issues vb.) hız, izleme, bakım yükü ve kullanıcı kısıtlamaları gibi sorunlar nedeniyle tercih edilmiyor
  • Bluesky, altyapı bakımı gerektirmemesi, zengin içerik desteği, gerçek ad tabanlı hesaplar, platformlar arası sohbet sağlayabildiği için blog yorumları için uygun
  • Uygulama modeli, blog yazısını yayınla → Bluesky'ye paylaş → AT URI'yi blog yazısı meta verisine ekle → ilgili yazının yorum dizisini çekip göster şeklinde
  • Bileşenler, tüm yorumların gösterimi, tekil yorum + alt yorum gösterimi ve görsel/link gibi gömülü içeriklerin işlenmesi olmak üzere 3 parçaya ayrılıyor
  • Özyinelemeli yöntemle en fazla 5 seviyeli alt yorum gösterimi, görsel ızgara ve modal, bağlantı kartı, desteklenmeyen gömülü içerikler için yedek metin işleme yapılıyor
  • Astro + React entegrasyonu ile client:load kullanarak istemcide yükleme, frontmatter'a DID ve postCid eklenerek etkinleştirme
  • Tip güvenliği için @atcute/client TypeScript tipleri kullanılarak, JavaScript devre dışı olsa bile içeriğin normal şekilde görülebileceği progressive enhancement yapısı kuruldu
  • Sunucu/DB olmadan Bluesky API ve CDN kullanarak performans korunuyor
  • Bu yaklaşım, sosyal özellikleri her site için yeniden inşa etmek yerine, kullanıcıların zaten kullandığı platformlarla bağlanarak ölçeklenebilirlik ve bağımsızlık sağlıyor

Bluesky'yi yorum sistemi olarak seçme nedeni

  • Altyapı bakımı gerekmiyor
  • Görsel, bağlantı, alıntı yazısı gibi zengin içerik desteği
  • Bluesky hesap tabanlı güven ve sorumluluk
  • Blog ile sosyal medya arasında trafik çapraz akışı mümkün
  • İçerik sahipliğinin ayrılması (blog yazısı sana ait, yorumlar yazarın)

AT Protokolünü anlama

  • DID: Merkeziyetsiz kullanıcı tanımlayıcısı
  • CID: İçerik tanımlayıcısı
  • AT URI: at://did:.../app.bsky.feed.post/... biçimli adres
  • getPostThread API çağrısıyla yorum dizisi getirilebilir, kimlik doğrulaması gerekmez

Bileşen yapısı

  • Ana yorum bileşeni
  • Tekil yorum + alt yorumları render eden bileşen
  • Görsel, bağlantı gibi gömülü içerikleri işleyen bileşen

İç içe yorum işleme

  • Özyinelemeli render, en fazla 5 katman derinlik sınırı
  • Görsel girintilerle hiyerarşinin gösterimi

Zengin içerik işleme

  • Görsel: CDN tarafından sağlanan, çoklu görsel ızgara ve modal görünüm
  • Dış bağlantı: Küçük görsel ve açıklama içeren kart renderlama
  • Diğer gömüler: Yedek metin gösterimi

Astro entegrasyonu

  • React bileşeni + client:load kullanımı
  • frontmatter'a Bluesky DID ve postCid eklenerek yorumların etkinleştirilmesi

Geliştirme deneyimi

  • TypeScript tip desteği ile güvenilirlik artışı
  • Progressive Enhancement ile API arızasında bile içeriğin etkilenmemesi
  • Sunucu/DB yükü olmadan Bluesky altyapısının kullanılması

Sonuç

  • Mevcut yorum sistemlerinin sorunlarını atlayıp, kullanıcıların zaten kullandığı platformlarla bağlanmak
  • Bluesky'nin büyümesiyle katılımcı sayısının artması mümkün
  • ATProto tabanlı olduğu için diğer AppView'lara veya kendi implementasyonunuza geçmek de kolay

1 yorum

 
GN⁺ 2025-08-08
Hacker News Yorumu
  • Bluesky'nin gelecekte nasıl bir gelir modeli oluşturacağını genel olarak açıklamasını çok isterdim; teknik olarak karmaşık bir mimariyle süslenmiş olsa da sonunda ücretli bir modelde ne olacağını merak ediyorum.

  • İlginç bir yazı, kişisel olarak başkalarının bağımsız şekilde site kurup işletme sürecini okumayı seviyorum. Yazıda yorum sistemi sorunları ve dört alternatiften bahsediliyor, ama benim de beşinci bir yöntemin işe yaradığını söylemek istediğim var. Birçok üçüncü taraf yorum sistemi denedikten sonra sonunda kendi basit yorum sistemimi (form.lisp) oluşturdum ve kullanıyorum. Her yorum metin dosyası olarak saklanıyor; bu sayede spam, XSS veya anlamsız yorumlardan endişelenmiyorum. Haftasonu her hafta el ile kontrol edip bloga ekliyorum. Yorumlar normal HTML dosyası olarak saklanıyor ve statik site jeneratörü (site.lisp) içeriklerle birlikte bir yorum sayfasını da (yorum örneği) üretiyor; yani temelde statik bir yorum jeneratörü gibi çalışıyor. Yazıda geçen beş özellik (ekstra altyapı gerektirmemesi, zengin içerik, gerçek ad vb.) buna uymuyor ama benim için iyi uydu ve en az 4 yıldır memnuniyetle çalıştırıyorum.

    • E-posta formu gibi bir yolla yorum alıp yönetici olarak doğrudan yazı sonunda ekleme yapmak da fena bir seçenek değil

    • Kendi yöntemim düşük trafikli bir blog için de çok uygun bence; ama kişisel olarak sitemde başkalarının sesi olunca biraz garip geliyor, bu yüzden yorumları tamamen kaldırıp blogu yalnızca kişiliğimi ifade edeceğim bir alan olarak kullanıyorum. Bunun yerine, bana ilham veren diğer blog yazarlara e-posta ile geri bildirim bırakmayı tercih ediyorum

    • Gazetede "okur katkısı" almanın hissine benziyor

  • Tavsiyem cactus.chat çünkü Matrix tabanlı ve misafiri de destekliyor; ayrı bir Matrix hesabınız olmasa da yorum yazılabiliyor. Kendi hesabınızı kullandığınızda her gönderi için bir Matrix odasına katılma gibi bir şey oluyor

  • Bluesky, mevcut kullanıcı hesabı temelli veri saklama için çok faydalı. Şu anda açık kaynaklı web haritası cartes.app üzerinde Bluesky tabanlı bir inceleme sistemi geliştiriliyor. Kolay değil, çünkü lexicon oluşturmak ve Bluesky akışına göre DB'yi sürekli yönetmek gerekiyor

    • Aslında DB olmadan da belli bir noktaya kadar gidilebiliyor; scrapboard.org'de geliştirirken de getRecord API'si (dokümantasyon) ile istemci verisi sorgulamasının oldukça fazla kısmını yapmak mümkün oldu

    • mangrove.reviews kullanılmasını öneriyor; ilgili servis net bir CC-BY-SA lisansı taşıyor ve MapComplete.org de kullanılıyor, Bluesky'de de bir gün sorun çıkma olasılığı var

  • Bluesky'nin gelir modeli sürdürülebilirliğinden şüpheliyim; bugün ücretsiz kullanılabilir olmasının da büyük ölçüde VC (risk sermayesi) yatırımı sayesinde olması gibi duruyor. Bu nedenle geçişimde temkinliyim ve yakın gelecekte API kapanırsa ya da yorum sistemi bozulursa korkum var

    • Bluesky, mimari olarak kullanıcının Personal Data Server (PDS) altında çalışır; herkes PDS'yi değiştirebilir, resmi Bluesky app sunucusu sadece toplama rolündedir. Başka bir şirketin doğrudan geliştirdiği app server, app view gibi yapıların aynı verilere erişim sağlaması da mümkün; zorunlu olarak resmi API'ye bağımlı olmanıza gerek yok, birçok açıdan açıklık yüksek

    • POSSE kavramını gerçekten çok önemsiyorum. ‘enshittification cycle’da olumlu yan, bir süre keyifli bir çevrimiçi topluluk deneyimi yaşayıp sonra yeni bir yere geçebilmek. Eski iyi kulüplerin kaybolduğu gibi, fazlaca takılmaya gerek yok, bunu düşünüyorum. Düşüncelerimi derlediğim Mastodon bağlantım da var: kuramsal açıklama

    • Bluesky'nin gelirlemeye geçişi gelecek ama yapay zeka veya diğer servisler de en nihayetinde VC sermayesiyle dönen bir yapıda. Twitter, Uber, DoorDash vb. ile aynı şekilde, ortam bozulsa da VC'ler yeni bir refah hayaliyle para akıtmaya devam ettiği sürece o 'bolluk'u sonuna kadar yaşamak da bir bakıma eğlenceli

  • Bluesky ekosistemi gerçekten harika, bu yaklaşımı (Bluesky tabanlı yorum sistemi) içeren bir örneği daha önce gördüm. Tek eksiği, web sayfası başına Bluesky'de ayrı bir gönderi atmak gerekiyor ki yorum sistemi çalışsın; webcomponent gibi bir şey olursa daha iyi olurdu

  • Yazıda "yıllardır bloguma düzgün bir yorum sistemi kuramıyorum" deniyordu; ama blogda yalnızca 2025 yılına ait iki yazı görünüyor (bunlardan biri bu yazı)

    • Geçmişte farklı bir blogu olduğumu archive.org'da görmüştüm
  • Sosyal medya akışına maruz kalmadan sosyal medyayla etkileşimin mümkün olması yöntemi çok ilginç. Bunu bloğuma ekleyip insanların doğrudan yorum bırakmasını, benim de sadece bu arayüz üzerinden Bluesky veya diğer sosyal platformlarla etkileşimde bulunmam yeterli olurdu. Akış açıldığında çoğunlukla 'doomscrolling'e' ve zaman israfına gidiliyordu; bu yöntemle böyle bir kısır döngüden kaçınırken biraz da sosyal medya ile bağlantılı kalabileceğim yeni bir ihtimal hissettim

    • "Akış açıldığında sadece anlamsız bilgilerle karşılaşıyorsunuz" fikrine katılıyorum, ama orijinal amaç bunun olmadığını düşünce bazen şüphe ediyorum
  • Bluesky'nın internette bir kez daha yeni ve taze fikirlerin özgürce çıkabildiği bir ortam yarattığı hissi var

    • Aslında bunu, Threads için daha açık entegrasyon seçeneklerinin eklenmesi kadar görselleştirebiliriz; sanırım 'açık inovasyon' denilmesi için daha uygun kelime ATProto olur

    • Çok fazla kurumu veya tek bir grubu öne çıkarmak istemem; ama şimdilik Bluesky topluluğu eğlenceli, eskiden Twitter hayranıydım ve şimdi de Bluesky'nin ana kullanıcı kitlesinde benzer kişiler olduğunu düşünüyorum; ileride ne olacağını zaman gösterecek

    • "Platform değil, protokol" sloganını savunuyorum, "build mode" denilen şeyin de olduğu; yani sonunda sahiplenilip kötüye kullanılmasına izin vermeyen bir şeyler inşa etmek

    • Eğer Bluesky ekibine veya bir kullanıcı grubuna tazı saldırısı yaparsanız veya belirli bir grup tarafından rapor edilip ban yerseniz hesap hemen askıya alınabilir, ya da önceden paylaşılan bir kara listeye düşerseniz bir şey söylenmeden görünmez hale gelebilirsiniz. Temelde eski Twitter'dan daha sert bir ortam kurma çabası gibi geliyor; neredeyse lise kafeteryasını andıran çocuksu bir güç savaşı unsuru da mevcut

  • Kendi blogumu kendi başıma barındırmayıp Bluesky'ye yaslanınca, sonunda Bluesky tarafından yönetiliyor olmaya dönüyor. Platform lock-in'in olmadığını söylese de, yarın Bluesky hesabım engellenirse veya şirket batarsa ne yapacağım belirsiz. AT uyumlu ürünlere geçebilirim ama çok fazla verinin kaybolmayacağını merak ediyorum

    • Bu konuya meraklıysanız, https://whtwnd.com/bnewbold.net adresinde Bluesky ve AT Proto temelli doğrudan bir relay ağı kurma, veri taşınması vb. uygulamaya dönük somut bilgi ve araçlar toplanmış: veri taşınabilirliği, alternatif relay ağı desteği ve daha birçok ilerleme var. İlgili bağlantı da mevcut. (Burada konuştuğum blog yazarı Bluesky çalışanı, ben değilim)

    • Kişisel verinizi IPFS'de CAR dosyası (tarball biçimi) olarak yedekleyebilirsiniz; sonrasında hesap did:plc belgesi veya DNS kaydıyla herhangi bir PDS'yi geri yükleyebilirsiniz. Mevcut PDS bozulursa ya da engellenirse doğrudan başka bir sunucuya geçilebilir. Relay (gossip node), PDS, istemci, appview (Bluesky web uygulaması backend'i) gibi farklı açık kaynaklı uygulama ve barındırma sağlayıcıları var. Bluesky yarın çökse bile kolayca self-host edebilir veya farklı bir sağlayıcıyı (örn. zeppelin.social) kullanarak mevcut App'i devam ettirebilirsiniz. PLC dizini halen Bluesky tarafından yönetiliyor, ama bağımsız bir fona devredilmesi sürüyor ve istenirse kolayca çoğaltılabiliyor; did:web kullanılırsa sadece DNS altyapısına bağlı olduğundan bağımsızlık artıyor

    • Diğer taraftan Bluesky açıkça libertaryen (özgürlükçü) veya sağ eğilimli kullanıcıları aktif biçimde dışlıyor; solcu veya politikadan uzak kullanıcılar için hava daha iyi.