← Radar

Konu: Web2 dk okuma

AT Protocol: Verin uygulamanın değil, senin klasöründe

Bu neden önemli?

Bugün bir platformdan ayrılınca orada ürettiğin her şeyi geride bırakıyorsun. AT Protocol, verini yanında götürebildiğin ve uygulamaların birbirinin verisini okuyabildiği bir web öneriyor.

Sorun: Verin başkasının kutusunda

Stack Overflow’a cevap yazıyorsun, GitHub’a hata bildiriyorsun, bir sosyal ağda paylaşım yapıyorsun. Hepsi o şirketin veritabanında duruyor. Şirket kurallarını değiştirirse, reklamı artırırsa ya da kapanırsa, ürettiğin her şey de gidiyor. Ayrılmak istesen bile geride bırakmak zorundasın.

Syntax’a konuk olan Dan Abramov (React ve Redux’tan tanıyor olabilirsin, bir süre Bluesky’da çalıştı) AT Protocol’ü bu sorunun çözümü olarak anlatıyor.

Temel fikir: Herkese bir klasör

AT Protocol’ü (kısaca atproto) şöyle düşünebilirsin: İnternetteki herkesin bir klasörü var. Hangi uygulamayı kullanırsan kullan, ürettiğin içerik bu klasöre JSON dosyaları olarak yazılıyor. Uygulamalar ise bu klasörleri okuyup gösteren birer pencere.

Örneğin Bluesky’da birini takip ettiğinde, uygulama senin klasörüne “şu kişiyi takip ediyorum” diyen küçük bir kayıt ekliyor. Bir gönderiyi beğendiğinde de öyle.

Önemli bir detay: Bluesky bu protokolün sadece bir uygulaması. Protokolün kendisi sosyal medyaya özel değil.

Üç parça

1. Kimlik

Her kullanıcının değişmeyen bir kimliği var (buna DID deniyor). Bu kimliğe bağlı bir belge üç şey söylüyor:

  • Kullanıcı adın. Bu bir alan adı olabilir ve istediğin zaman değiştirebilirsin.
  • Verilerin şu an nerede duruyor.
  • Yaptıklarının gerçekten senden geldiğini doğrulamaya yarayan şifreleme anahtarların.

Böylece alan adını ya da barındırma şirketini değiştirsen bile kimliğin aynı kalıyor.

2. Kişisel veri sunucusu (PDS)

Klasörün burada duruyor. İster büyük bir şirketin sunucusu, ister kendi sunucun olsun. Protokolün hedefi, eski sunucu kapansa bile hesabını başka bir sunucuya taşıyabilmen.

3. Uygulamalar ve akış

Her uygulamanın binlerce sunucuyu tek tek dolaşması çok yavaş olurdu. Onun yerine relay denen servisler tüm değişiklikleri tek bir akışta topluyor. Uygulamalar bu akışı dinleyip kendilerini ilgilendiren kayıtları kendi veritabanlarına alıyor. Sıralama algoritmaları, arama ve spam filtresi bu uygulama katmanında yapılıyor.

Herkes kendi veri biçimini tanımlıyor

Eski açık protokollerin çoğu “bir gönderi şöyle olmalı” diye her şeyi baştan belirlemeye çalıştı. Sonra yeni özellikler gerekince uygulamalar protokolden uzaklaştı.

AT Protocol farklı bir yol izliyor: Lexicon adlı bir şema dili var. Her uygulama kendi veri türünü tanımlıyor, TypeScript tiplerine benzer şekilde. İsteyen uygulamalar aynı şemada buluşabiliyor. Örneğin birkaç blog platformu, yazıların birbirleri arasında görünebilmesi için Standard.site adında ortak bir şema üzerinde anlaştı. Bu, bir komitenin değil, geliştiricilerin kendi aralarında kurduğu bir standart.

Bugün neler var?

  • Bluesky: Twitter’a benzeyen sosyal ağ.
  • Tangled: GitHub’a benzeyen, AT Protocol üzerinde kod paylaşım platformu.
  • Leaflet gibi blog uygulamaları.
  • pds.ls: Herhangi bir kullanıcının klasöründe hangi kayıtların durduğunu gezebildiğin bir araç.

Bir not: Şu an protokoldeki veriler herkese açık. Kapalı gruplar gibi özel alanlar için çalışmalar sürüyor ama henüz hazır değil.

Düşün

  • Bugün kullandığın hangi uygulamada, ayrılırsan kaybetmekten korktuğun bir içerik var?
  • Tüm verin herkese açık bir klasördeyse, bunun iyi ve kötü tarafları neler olabilir?

Videoyu izle

Tıklayınca video YouTube'dan yüklenir; o ana kadar bu sayfa YouTube'a hiçbir istek göndermez.
Kaynaklar (4, İngilizce)

Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.

Konu: Web3 dkVideo: Better Stack

Grafik türü seçme, grafiği tarif et: TanStack Charts ve Flint

İki yeni proje, grafik çizmeye aynı açıdan yaklaşıyor: 'Bana çubuk grafik ver' demek yerine verinin ne olduğunu ve nasıl gösterileceğini tarif ediyorsun. Biri geliştiriciler için bir kütüphane, diğeri yapay zekâ ajanları için bir ara dil.