Memvisualisasikan semua buku di dunia dalam ruang ISBN
(phiresky.github.io)-
Memvisualisasikan semua buku di dunia dalam ruang ISBN
-
Perpustakaan telah berupaya mengumpulkan pengetahuan umat manusia. Di era digital, mungkin menjadi mungkin untuk mengumpulkan secara komprehensif seluruh tulisan manusia yang memenuhi kriteria tertentu. Shadow library berperan dalam mengumpulkan dan membagikan sebanyak mungkin buku.
-
ISBN (International Standard Book Number) adalah angka 13 digit yang diberikan kepada hampir semua buku yang diterbitkan. Nomor ini memiliki struktur tertentu, yang memungkinkan visualisasi ruang ISBN13 dengan 2 miliar slot.
-
Struktur unik ISBN
- Prefiks 978-/979- pada ISBN merupakan subset dari European Article Number. Prefiks ini hampir bisa diabaikan.
- International ISBN Agency mengalokasikan blok ISBN besar kepada organisasi internasional, dan tiap negara kemudian membagi-baginya lagi kepada penerbit.
- Blok ISBN selalu dialokasikan berdasarkan prefiks. Misalnya, Jepang mendapat alokasi 978-4, lalu menggunakan itu untuk mengalokasikan ISBN kepada penerbit.
-
Kurva pengisi ruang
- Jika prefiks dan sufiks dihapus dari ISBN, sisanya menjadi bilangan desimal antara 0 dan 2 miliar. Diperlukan cara untuk memproyeksikannya ke ruang 2 dimensi.
- Kurva pengisi ruang seperti kurva Hilbert pernah diusulkan, tetapi dapat memperkenalkan struktur yang sebenarnya tidak ada dalam data.
-
Kurva "rak buku"
- ISBN pada dasarnya adalah bilangan desimal, dan hal ini dapat digunakan untuk membuat kurva pengisi ruang yang mudah dipahami dan menarik secara visual.
- Kurva ini terlihat seperti rak buku, dan ISBN dapat diubah menjadi koordinat melalui transformasi koordinat sederhana.
-
Tile peta
- Gambar tile dapat dibuat untuk tiap prefiks. Untuk setiap dataset, informasi yang berbeda disimpan per piksel.
- Pada level zoom maksimum, 1 buku dipetakan ke 1 piksel demi akurasi.
-
Shader
- Alih-alih menyimpan data RGB secara langsung, rendering dilakukan dengan GLSL fragment shader. Ini memungkinkan skala warna dipilih belakangan, dan beberapa dataset dapat langsung digabungkan.
-
Tampilan rak buku
- Pada tampilan yang diperbesar penuh, tiap piksel diberi gaya seperti buku. Ini diimplementasikan di shader, dan muncul dengan mulus sesuai tingkat zoom.
-
Performa
- Rendering teks diimplementasikan secara hierarkis berdasarkan level zoom dan view frustum culling. Untuk mengatasi masalah performa, elemen HTML dikurangi dan konten DOM dibatasi.
-
Barcode
- Pada zoom maksimum, setiap buku memiliki barcode. Ini ditambahkan untuk memperkuat konsep pengurutan buku berdasarkan ISBN.
-
Rentang penerbit
- Tiap "grup" memiliki rentang besar, dan tiap penerbit memiliki rentang kecil di dalam grup tersebut. Untuk memvisualisasikannya, setiap grup dan penerbit diberi warna unik.
-
Jalur terbang
- Saat mencari buku atau mengeklik minimap, tampilan akan berpindah ke lokasi tersebut. Perhitungan jalur terbang cukup kompleks dan ditingkatkan melalui beberapa percobaan.
-
Arsitektur
- Backend tidak diperlukan, dan static file host digunakan untuk menyimpan HTML, JS, CSS, PNG, JSON.
- Frontend diimplementasikan menggunakan ThreeJS, React, dan MobX.
-
Kesimpulan
- Metode ini menyediakan cara yang fleksibel untuk memvisualisasikan semua buku yang diterbitkan dengan ISBN. Proyek ini sangat menyenangkan untuk dikerjakan, dan source code-nya dapat dilihat di GitHub.
1 komentar
Komentar Hacker News
Saat memulai Amazon, ada keinginan untuk menggunakan klasifikasi tiga tingkat dari Library of Congress, tetapi penyedia data mengubahnya menjadi satu string sehingga sulit menemukan batas-batasnya. Pada akhirnya, ide ini pun ditinggalkan
Ada kasus ISBN yang ditetapkan secara ganda ke beberapa buku, jadi ungkapan "semua buku dalam ruang ISBN" mungkin berlebihan. Selain itu, ada juga buku dengan ISBN yang salah, sehingga buku-buku ini bisa berada di luar ruang ISBN yang diasumsikan dalam postingan blog
Presentasi ini hanya mencerminkan isi Anna’s Archive dan memiliki bias terhadap bahasa tertentu. Bagian yang ditandai hitam menunjukkan item yang hilang dari arsip
Proyek ini luar biasa, dan fitur untuk melihat judul buku, barcode, sampul buku, serta detailnya sangat mengesankan. Ide perbaikannya adalah menambahkan kotak centang untuk menyembunyikan panel putih di kiri atas dan elemen di kanan atas
Pergerakan pada setengah bidang atas hiperbolik bisa dimodelkan untuk membayangkan jalur penerbangan. Ada pertimbangan tentang cara meminimalkan tile berdasarkan level zoom, dan implementasi saat ini menghabiskan lebih banyak waktu untuk panning pada level zoom tinggi
Presentasi dalam format saat ini agak terasa berlebihan, tetapi visualisasi data dan kedalamannya sangat menonjol. Menarik untuk melihat aktivitas penerbitan di wilayah tertentu; Polandia belakangan ini aktif, dan Tiongkok meningkat tajam sejak 2005
Microsoft SilverLight PivotViewer cocok untuk aplikasi ini, dan ceramah TED Gary W. Flake sangat mengesankan. Namun, sayangnya ini bukan standar web
Proyek seperti Library of Babel di dunia nyata terasa menarik, dan jika perpustakaan atau museum tak terbatas bisa diwujudkan dalam VR, itu layak untuk diinvestasikan
Saat di-zoom in, rak bukunya terlihat, dan itu sangat keren
Visualisasi yang sangat keren, dan ada lebih banyak kiriman keren lainnya