Bir kullanıcının medya kütüphanesinde bir belgeseli kaydettiğini düşünün. Bir ay sonra başlık, kapak ve açıklama hâlâ vardır ama oynatma başlamaz. Kullanıcıya göre içerik bozuktur. Geliştirici açısından katalog kaydı tamamen sağlıklı olabilir; gerçek sorun dosya kaynağının çevrimdışı kalmasıdır.
Bu tür hatalar, medya kütüphanesinin üç soruyu ayrı yanıtlaması gerektiğini gösterir: İçerik keşfedilebilir mi, alınan veri doğru mu ve veri şu anda alınabilir mi? Üçünü tek bir “yayımlandı” durumuna birleştirmek, arayüzü sistemin gerçek kapasitesinden daha iyimser kılar.
Dizin içeriği tanımlar; dosyalar kendi kaynaklarına ihtiyaç duyar
Başlıklar, yazarlar, kanallar, etiketler ve sürüm ilişkileri içerik kataloğunu oluşturur. GUN’ın kamuya açık belgeleri çizge verisini ve eşler arasında gerçek zamanlı durum eşitlemesini anlatır. Bu tür araçlar, uygulamaların ilişkileri düzenleyip eşitlemesine yardımcı olabilir. GUN proje açıklaması
Dosya dağıtımının soruları farklıdır: Tam kopyayı kim tutuyor, hangi düğümler çevrimiçi, bağlantılar kurulabiliyor mu ve eksik parçalar tamamlanabiliyor mu? Bir katalog kaydının korunması bu koşulları kendiliğinden sağlamaz.
Medya uygulamalarında katalog durumu ile erişim durumunu ayrı göstermeyi öneriyoruz. Kullanıcı bir kaydı önceden saklayabilir, ancak sayfa erişilebilirliğin yakın zamanda doğrulanıp doğrulanmadığını açıklamalıdır. “Son başarılı erişim” ile “şu anda bir kaynak sağlıyor” ifadeleri de farklı olmalı; geçmiş sonuç gerçek zamanlı garantiye dönüşmemelidir.
Bu ayrım hata ayıklamayı da kolaylaştırır. Katalog eşitleniyor ama dosyaya erişilemiyorsa önce saklama ve aktarımı inceleyin. Dosya geliyor fakat yanlış sürüm gösteriliyorsa katalog ile içerik kimliği arasındaki eşlemeyi denetleyin. Bu iki sorun farklı düzeltmeler gerektirir.
İçerik adresi bir tanımlama sorununu çözer
IPFS, içeriği CID ile tanımlar. CID, karma ve kodlama gibi bilgiler içerir; herhangi bir dosyanın sıradan SHA-256 dizgesiyle aynı şey sayılmamalıdır. Verinin düzenlenme biçimi de son kimliği etkileyebilir. IPFS içerik adresleme açıklaması
Bu yaklaşım medya kataloğuna uygulandığında, görüntülenen bilgiyle belirli dosya sürümünü açıkça ilişkilendirmek yararlıdır. Açıklamayı değiştirmek yalnızca kataloğu güncelleyebilir. Videoyu yeniden kurgulamak ise eski ve yeni sürümler arasındaki ilişkiyi korumalı; yer imleri, yorumlar ve doğrulama bilgileri hangi içeriği gösterdiğini bilmelidir.
Başarılı doğrulama veri bütünlüğüne güveni artırabilir; ancak tek başına yazarın kimliğini, lisansın geçerliliğini veya içeriğin kullanıcıya uygunluğunu belirlemez. Arayüz bir doğrulama türünü her şeyi çözen bir “güvenilir” rozetine dönüştürmemelidir. Hangi iddia kanıtlanıyorsa ona uygun kanıt gösterilmelidir.
Kalıcılık sürekli saklama düzenlemeleri gerektirir
IPFS belgeleri içerik adreslemeyi kalıcı saklamadan ayırır ve pinning gibi veri tutma yöntemlerini açıklar. Bir düğüm içeriği saklıyor olsa bile erişimi sürdürmek için uygun çalışma süresi ve bakım koşulları gerekir. IPFS kalıcılık açıklaması
Bu nedenle yayın süreci gerçek bir saklama düzenlemesi içermelidir: Tam kopyaları kim korur, ne kadar süre tutulur, hizmet süresi bittiğinde kim devralır ve bakım sorumlusu ayrılırsa devir nasıl yapılır? Yalnızca başarılı yüklemeyi kaydetmek, aylar sonraki soruları yanıtlamaz.
En azından kopyaların ortak bağımlılıklarını kontrol etmenizi öneriyoruz. İki adres aynı hesaba, cihaza veya hizmet sağlayıcıya işaret edebilir. Bir kayıtta birden çok kaynak olması, biri arızalandığında diğerlerinin çalışacağı anlamına gelmez.
Uzun kuyruktaki içerik için kalıcı saklama ile popüler içerik önbelleğini ayrı bütçelendirmek de mümkündür. Önbellek talebe göre değişebilir; uzun süreli koruma ise açık bir sorumlu gerektirir. “Şu anda kimse izlemiyor” ifadesi “artık saklamaya değmez” ile eş tutulmamalıdır.
Erişilebilirlik kontrolleri gerçek veri alımını sınamalıdır
Aşağıdaki süreç kontrol tasarımı için bir başlangıçtır. Sıklığı içerik hacmine ve hizmet hedeflerine göre belirleyin:
- Katalogdan dosya sürümünü, içerik kimliğini ve aday kaynakları okuyun.
- Yalnızca katalog API’sinin başarı yanıtını değil, bağlantı kurup gerçek veri almayı deneyin.
- Alınan veriyi protokole göre doğrulayın. Örnekleme yalnızca incelenen bölümü kanıtlar; bütün dosya doğrulanmış gibi sunulmamalıdır.
- Zamanı, başarılı kaynağı, hata nedenini ve doğrulama kapsamını kaydedin.
- Kaynaklar azalır veya hatalar sürerse kopya ekleyin ya da kullanıcıya açık bir durum gösterin.
Kontrollerin ayrı bir trafik bütçesi olmalıdır. Büyük bir koleksiyonu aynı anda tamamen indirmek, doğrulama sistemini başlıca yük hâline getirebilir. Hafif yoklamaları, oynatma görevi kontrollerini ve dönemsel tam kurtarma denemelerini katmanlara ayırıp her birinin neyi kanıtladığını kaydedebilirsiniz.
Zaman aşımı, yetersiz izin, yayından kaldırılan içerik ve doğrulama hataları da tek bir “dosya kayboldu” sınıfına konmamalıdır. Ayrımları korumak; yeniden deneme, erişim isteme, kopyayı onarma veya yayıncının geri çekme kararına uyma seçenekleri arasında karar vermeyi sağlar.
Kullanıcıya uygulanabilir bir sonraki adımı gösterin
Sürekli dönen yükleme simgesi neredeyse hiç uygulanabilir bilgi vermez. Daha iyi bir tasarım, hangi aşamada kalındığını açıklar: kaynak aranıyor, bağlantı kuruluyor, kaynak geçici olarak kullanılamıyor veya alınan veri doğrulamadan geçmedi.
Oynatma hemen başlayamıyorsa kullanıcı yeniden denemenin anlamlı olup olmadığını, başka kaynak seçip seçemeyeceğini veya yer imini daha sonrası için tutabileceğini bilmelidir. Geliştirici, içerik kimliğini ve hata sınıfını tanı bilgilerine ekleyen bir bildirim yolu sağlayabilir; böylece kullanıcı bütün adımları yeniden anlatmak zorunda kalmaz.
AlphaBiz’in kamuya açık mimari açıklaması hem GUN’ı hem WebTorrent’i anar. Bu birleşim, katalog verisi ile medya aktarımının görev paylaşımını ilgili bir tasarım konusu yapar. Burada sunulan yöntemler değerlendirme önerileridir; belirli bir izleme veya çoğaltma stratejisinin üründe uygulanmış olduğunu göstermez. AlphaBiz proje açıklaması
Medya kütüphanesi kurarken tek bir içerikle kurtarma denemesi yapabilirsiniz: Özgün kaynağı çevrimdışı bırakıp saklanan katalog ve kopyalarla erişimi geri getirmeyi deneyin. Bu sonuç, katalogda her zaman duran güzel bir kayıttan daha açıklayıcıdır. Erişilebilirlik tasarımınızı ve doğrulama kapsamınızı AlphaBiz Discussions alanında paylaşın.