Dünyadaki tüm kitapları ISBN uzayında görselleştirmek
(phiresky.github.io)-
Dünyadaki tüm kitapları ISBN uzayında görselleştirmek
-
Kütüphaneler insanlığın bilgisini toplamaya uzun zamandır çalışıyor. Dijital çağda, belirli ölçütleri karşılayan insanlığın tüm yazılarını kapsamlı biçimde toplamak mümkün olabilir. Gölge kütüphaneler, olabildiğince çok kitabı toplayıp paylaşma işlevi görüyor.
-
ISBN (Uluslararası Standart Kitap Numarası), yayımlanan neredeyse her kitaba verilen 13 haneli bir sayıdır. Bu numara belirli bir yapıya sahiptir ve bu sayede 2 milyar yuvadan oluşan ISBN13 uzayını görselleştirmek mümkündür.
-
ISBN'in benzersiz yapısı
- ISBN'in 978-/979- öneki, Avrupa ürün numarasının bir alt kümesidir. Bu önek neredeyse göz ardı edilebilir.
- Uluslararası ISBN Ajansı, büyük ISBN bloklarını uluslararası kuruluşlara tahsis eder; her ülke de bunları kendi içinde yayınevlerine alt bloklar halinde dağıtır.
- ISBN blokları her zaman öneke göre tahsis edilir. Örneğin Japonya'ya 978-4 atanmıştır ve bu sayede yayınevlerine ISBN dağıtır.
-
Uzay dolduran eğri
- ISBN'den önek ve son eki çıkarınca geriye 0 ile 2 milyar arasında bir ondalık sayı kalır. Bunu 2 boyutlu uzaya yansıtmanın bir yoluna ihtiyaç vardır.
- Hilbert eğrisi gibi uzay dolduran eğriler önerilmiştir, ancak bunlar veride olmayan bir yapıyı sisteme katabilir.
-
"Kitaplık" eğrisi
- ISBN özünde ondalık tabanlıdır ve bu özellik kullanılarak anlaşılması kolay, görsel olarak çekici bir uzay dolduran eğri üretilebilir.
- Bu eğri bir kitaplık gibi görünür ve basit bir koordinat dönüşümüyle ISBN koordinatlara çevrilebilir.
-
Harita döşemeleri
- Her önek için döşeme görselleri üretilebilir. Her veri kümesi için piksel başına farklı bilgiler saklanır.
- En yüksek yakınlaştırma seviyesinde doğruluk için piksel başına bir kitap eşlenir.
-
Shader
- RGB verisini doğrudan depolamak yerine, render işlemi için GLSL fragment shader kullanılır. Bu sayede renk ölçekleri daha sonra seçilebilir ve birden fazla veri kümesi anında birleştirilebilir.
-
Kitaplık görünümü
- Tam yakınlaştırılmış görünümde her piksel bir kitap gibi stillendirilir. Bu, shader içinde uygulanır ve yakınlaştırma düzeyine göre yumuşak biçimde ortaya çıkar.
-
Performans
- Metin render etme işlemi, yakınlaştırma seviyesi ve view frustum culling'e göre hiyerarşik olarak uygulanır. Performans sorunlarını çözmek için HTML öğeleri azaltılır ve DOM içeriği sınırlandırılır.
-
Barkod
- En yüksek yakınlaştırma düzeyinde her kitabın bir barkodu vardır. Bu, kitapları ISBN'e göre sıralama fikrini güçlendirmek için eklenmiştir.
-
Yayınevi aralıkları
- Her "grup" geniş bir aralığa sahiptir ve her yayınevi grup içinde daha küçük bir aralık alır. Bunu görselleştirmek için her gruba ve yayınevine benzersiz bir renk atanır.
-
Uçuş rotası
- Kitap arandığında veya mini haritaya tıklandığında ilgili konuma gidilir. Uçuş rotasının hesaplanması karmaşıktır ve birçok denemeyle iyileştirilmiştir.
-
Mimari
- Backend gerekmez; HTML, JS, CSS, PNG ve JSON dosyalarını barındırmak için statik dosya barındırma kullanılır.
- Frontend, ThreeJS, React ve MobX kullanılarak geliştirilmiştir.
-
Sonuç
- ISBN ile yayımlanan tüm kitapları görselleştirebilen esnek bir yöntem sunar. Bu proje çok keyifliydi ve kaynak kodu GitHub'da görülebilir.
1 yorum
Hacker News görüşleri
Amazon'a başlarken Library of Congress'un üçlü sınıflandırmasını kullanmak istemişlerdi, ancak veri sağlayıcısı bunu tek bir dizeye dönüştürdüğü için sınırları bulmak zor olmuş. Sonunda bu fikirden vazgeçilmiş
ISBN bazen birden fazla kitaba mükerrer atanabiliyor, bu yüzden "ISBN uzayındaki tüm kitaplar" ifadesi abartılı olabilir. Ayrıca hatalı ISBN'e sahip kitaplar da var; bunlar blog yazısında varsayılan ISBN uzayının dışında kalabilir
Sunum yalnızca Anna's Archive içeriğini yansıtıyor ve belirli dillere yönelik bir yanlılık içeriyor. Siyah gösterilen kısımlar, arşivde eksik olan öğeleri ifade ediyor
Proje şaşırtıcı ve kitap başlıklarını, barkodları, kapakları ve ayrıntıları görebilme özelliği etkileyici. İyileştirme fikri olarak, sol üstteki beyaz paneli ve sağ üstteki öğeleri gizlemek için onay kutuları eklenmesi önerilmiş
Hiperbolik üst yarı düzlemdeki hareket modellenerek uçuş rotaları düşünülebilir. Yakınlaştırma seviyesine göre döşemeleri en aza indirme yöntemi değerlendirilmiş; mevcut uygulama ise yüksek yakınlaştırma seviyelerinde kaydırmaya daha fazla zaman harcıyor
Sunumun mevcut biçimi biraz bunaltıcı olsa da veri görselleştirmesi ve derinliği çok güçlü. Belirli bölgelerdeki yayıncılık faaliyetlerini görmek ilginçti; Polonya son dönemde hareketli, Çin ise 2005'ten sonra büyük ölçüde artmış
Microsoft SilverLight PivotViewer bu uygulama için uygun görünüyor ve Gary W. Flake'in TED konuşması etkileyici. Ancak bir web standardı olmaması üzücü
Gerçek hayattaki bir Library of Babel benzeri proje ilgi çekici; sonsuz bir kütüphane ya da müzenin VR'da hayata geçmesi yatırım yapmaya değer olurdu
Yakınlaştırınca kitap raflarının görünmesi gerçekten çok havalı
Çok havalı bir görselleştirme ve başka birçok harika gönderi de var