Decker: Rekreasi HyperCard dengan Grafis 1-bit
(beyondloom.com)- Decker adalah platform multimedia untuk membuat dan berbagi suara, gambar, hiperteks, serta aksi skrip dalam satu dokumen, dan dapat langsung dicoba di browser
- Sambil mempertahankan nuansa visual HyperCard dan classic MacOS, Decker menambahkan riwayat undo yang mendalam, dukungan scroll wheel dan layar sentuh, navigasi keyboard modern, serta pengeditan massal
- Dapat digunakan untuk membuat E-Zine, catatan, materi presentasi, game petualangan, dan pixel art 1-bit; deck yang selesai dapat disimpan sebagai dokumen
.htmlstandalone - Proyek kompleks dapat diperluas dengan Lil, yang dipengaruhi Lua dan Q; widget, berbagi lewat clipboard, serta format dokumen berbasis teks membantu penggunaan ulang dan version control
- Sebagai alat open source gratis berlisensi MIT tanpa iklan, telemetri, gamifikasi, atau integrasi slop-generator, Decker menyediakan kode sumber di GitHub dan distribusi binary di Itch.io
Membuat dokumen interaktif dengan nuansa HyperCard
- Decker adalah platform multimedia untuk membuat dan berbagi dokumen interaktif yang berisi suara, gambar, hiperteks, dan aksi skrip
- Dapat langsung dicoba di browser web
- Decker mewarisi estetika visual HyperCard dan classic MacOS, sambil mempertahankan kesederhanaan dan kemudahan belajar yang dulu ditawarkan HyperCard
- Peningkatan usability berfokus pada penyesuaian dengan lingkungan input modern, sambil tetap mempertahankan nuansa alat pembuatan berbasis kartu lama
-
Riwayat undo yang mendalam
- Dukungan scroll wheel dan layar sentuh
- Navigasi keyboard yang lebih modern
- Operasi pengeditan massal
- Contoh yang bisa dibuat sangat beragam
- E-Zine
- Pengelolaan catatan
- Materi presentasi
- Game petualangan
- Coretan pixel art 1-bit
- Deck yang selesai dapat disimpan sebagai dokumen
.htmlstandalone yang berjalan sendiri di browser web, dan dapat dibagikan di mana pun yang bisa meng-host atau meng-embed halaman web - Decker juga berjalan secara native di MacOS, Windows, BSD, dan Linux
-
Lil, widget, dan alur pengembangan berbasis teks
- Untuk proyek kompleks, dapat digunakan bahasa scripting bernama Lil
- Lil dipengaruhi oleh Lua, bahasa imperatif yang di-embed dalam tool dan game engine
- Lil juga dipengaruhi oleh Q, bahasa fungsional keluarga APL yang digunakan bersama basis data time-series
- Sambil mempertahankan struktur yang akrab bagi pengguna dengan pengalaman pemrograman sebelumnya, Lil menyertakan aritmetika skalar-vektor implisit dan bahasa query terpadu yang mirip SQL
- Untuk membuat antarmuka, tersedia kumpulan widget interaktif bawaan, dan juga memungkinkan untuk mendefinisikan widget baru
- Widget kustom dan definisinya dapat disalin dan ditempel melalui clipboard sistem
- Jika ada tempat untuk membagikan atau menyimpan teks, widget kustom juga dapat dibagikan
- Setiap deck dapat dimanfaatkan sebagai kumpulan komponen reusable yang bisa digunakan di proyek lain
- Jika dibangun dari source, Decker juga menyertakan Lilt, interpreter Lil standalone
- Lilt dapat membaca, menulis, memanipulasi, dan menjalankan dokumen Decker secara headless
- Karena memiliki dependensi lebih sedikit daripada Decker, Lilt dapat dikompilasi menjadi file executable APE cross-platform
- Ada juga interpreter Lil yang berjalan di POSIX AWK
- Deck disimpan dalam format teks baris-per-baris, sehingga terintegrasi baik dengan alat source control yang sudah ada seperti Git dan SVN
- Decker tidak memiliki iklan, telemetri, gamifikasi, integrasi slop-generator, atau elemen yang melanggar privasi dan otonomi pengguna
Contoh deck dan library ekstensi
-
Contoh deck
- Decker: A Guided Tour: tur panduan Decker
- 5GUIs: contoh GUI
- Sokoban: A Block-Pushing Puzzle Game: game puzzle mendorong blok
- Breakout: Three Ways: contoh implementasi Breakout
- A CHIP-8 Interpreter: interpreter CHIP-8
- Gamepad Input Demo: demo input gamepad
-
Library
-
Dokumentasi dan materi belajar
- The Decker reference manual: manual referensi Decker
- The Lil programming language: dokumentasi bahasa Lil
- The Decker document format: format dokumen Decker
- Learn Lil in 10 Minutes: materi belajar cepat Lil
- The Lil playground: playground Lil
- Lilt: the Lil Terminal: terminal Lil
Source, distribusi, dan komunitas
- Kode sumber yang dapat dijelajahi dan bug tracker tersedia di GitHub
- Decker adalah open source gratis dengan lisensi MIT
- Rilis binary berkala untuk MacOS dan Windows dapat diperoleh di Itch.io
- Halaman Itch memiliki forum komunitas untuk diskusi Decker dan berbagi proyek yang dibuat dengan Decker
- “Game Jams” bertema Decker diadakan setiap tahun pada bulan Juli dan Desember, dan acara berikutnya yang dijadwalkan adalah Decker Fantasy Camp, July 2026
1 komentar
Komentar Hacker News
Indah! Saya tahu ada estetika tertentu yang dikejar di sini, tetapi rasanya kalau sedikit melampaui grafik 1-bit menjadi grafik 2-bit, mungkin foto yang benar-benar bisa dibaca juga akan jadi mungkin
Ada situs yang saya suka dengan estetika serupa, dan semua gambar di sana hanya memakai maksimal 6 warna. Namun paletnya berbeda untuk tiap gambar: https://solar.lowtechmagazine.com/
Di forum komunitas[0] ada pembahasan tentang dithering dan impor foto berwarna, dan para pengguna membuat proyek[1] yang cukup keren dengan memanfaatkan warna
[0]: https://itch.io/t/2668739/16-color-dithered
[1]: https://crowmorbid.itch.io/desker-deckmonth
Jangan lupa juga untuk mencobanya langsung!
https://www.beyondloom.com/decker/tour.html
Melihat ini memunculkan nostalgia yang manis sekali, atau cuma saya yang merasa begitu? Satu-satunya yang saya harapkan cuma dukungan pinch-to-zoom di ponsel
Terlalu kecil untuk membaca teks, dan pinch-to-zoom juga diblokir, jadi tidak bisa dilihat dari dekat
Saya menghormati pilihan proyek ini, tetapi saya merasa cacat terbesar HyperCard adalah tidak berhasil mengimplementasikan warna saat Mac mulai beralih ke warna
Ketika saya masih di SMA, semua Mac di sekolah sudah perangkat berwarna, tetapi HyperCard pada akhirnya tidak pernah mendapat warna native yang sesungguhnya
HyperCard tidak pernah mendapatkan pembaruan warna native, padahal itu adalah fitur yang paling diinginkan semua orang
Seingat saya ada produk terkait bernama SuperCard yang menawarkan warna; saya sempat mencobanya, tetapi terasa kikuk. Saya tidak ingat persis alasannya, tetapi akhirnya tidak pernah benar-benar sukses
API HyperTalk yang terbatas juga menjadi masalah. Ada pasar untuk extension, dan beberapa pengembang sempat mendominasi ranah itu untuk beberapa waktu. Saya penasaran bagaimana nasib J5erson. Dia benar-benar hebat
Extension biasanya ditulis dalam Pascal dan bisa menambahkan banyak kemampuan ke HyperTalk, sehingga menjadi batu loncatan yang bagus bagi orang-orang yang ingin mengeksplorasi pemrograman lebih jauh setelah HyperCard
Decker tampaknya mengambil banyak kelebihan HyperCard seperti kesederhanaan dan portabilitas. Namun, agak disayangkan ia tidak menggunakan bahasa yang lebih dekat ke HyperTalk. Bahasa itu sendiri sebenarnya cukup bagus dengan caranya sendiri
Decker memang terutama 1-bit sehingga sekilas mirip HyperCard, tetapi sebenarnya cukup berbeda sampai-sampai harus dipelajari dari nol
Cukup sulit digunakan, harus mempelajari Lil, bahasa yang baru dan unik, dan banyak fitur kenyamanan yang mungkin dicari jika mengharapkan HyperCard atau MacPaint tidak ada
Akibatnya, para seniman HyperCard akan sulit berpindah, dan berkat Infinite Mac, saya malah terus memakai HyperCard di browser. Sangat dekat sekaligus jauh. Mirip, tetapi berbeda
Di sekolah dulu ada laserdisc NASA yang berisi banyak sekali informasi tentang shuttle
Itu terhubung ke Mac yang menjalankan HyperCard untuk navigasi dan menampilkan informasi, dan meskipun sangat keren, rasanya waktu itu saya tidak cukup menghargainya
Rasanya seperti multimedia awal sebelum ledakan multimedia tahun 90-an :-)
Saya tidak mengerti kenapa Apple atau Microsoft tidak lebih serius membuat alat seperti ini untuk pengembang kasual di sistem operasi mereka
VB dan Python juga bagus, tetapi kadang kita butuh alat yang benar-benar dirancang khusus untuk membuat aplikasi kecil
Dan SwiftUI juga dibuat semudah mungkin
Hanya saja, begitu harus memakai Xcode dan sampai mengatur App Store, tetap dibutuhkan pemahaman tertentu tentang konfigurasi yang rumit dan IDE Xcode :-)
Saya sangat menyukai HyperCard
Saya sendiri tidak sempat mengalaminya secara langsung, tetapi rasanya alat ini memungkinkan orang membuat banyak alat kecil yang berguna. Dari sisi sifat serbaguna, rasanya mirip spreadsheet, tetapi dengan kegunaan yang berbeda
Saya penasaran, bagi orang-orang yang mengalami masa itu, alat modern apa yang memberi perasaan serupa
Saya berasal dari generasi yang sedikit lebih muda, jadi saya punya nostalgia terhadap alat seperti Delphi/VB atau Macromedia Flash. Itu tidak sempurna, tetapi mendorong kreativitas
Alat masa kini jauh lebih baik, tetapi rasanya ada sesuatu yang hilang dalam prosesnya
HTML mengambil banyak hal yang dulu disediakan HyperCard, tetapi alat authoring web pada akhirnya tidak pernah semudah itu, dan juga tidak menawarkan salah satu fitur HyperCard, yaitu tampilan dan nuansa UI yang konsisten. Ini bisa jadi kelebihan atau kekurangan, tetapi sebagian pengguna menyukai fakta bahwa mereka bisa membuat flipbook hanya dengan menambahkan dua tombol sebelumnya/berikutnya ke halaman
Ada juga orang yang memulai bisnis dengan menjual materi pendidikan yang dibundel sebagai stack HyperCard
Bahasa pemrograman HyperTalk tidak hebat, dan terasa seperti jenis bahasa yang disukai kaum hippie, tetapi pengguna rata-rata tetap kebingungan sama seperti saat melihat C atau Pascal
Selalu terasa bahwa Apple berusaha terlalu mengontrol apa yang bisa dilakukan dengannya. Ini kebalikan dari yang saya harapkan dari sebuah bahasa pemrograman dan alat di sekitarnya
Jika ingin tahu rasanya seperti apa, coba koding sesuatu dengan AppleScript
Saya ingat VB dan alat-alat Macromedia, dan merasa alat zaman sekarang justru lebih sulit digunakan
Namun yang disayangkan, Flash menciptakan jurang besar antara pembuat Flash dan konsumen Flash. Tinkerer yang cukup termotivasi mungkin bisa mendekompilasi
.swfdan memodifikasinya, tetapi itu jauh dari model HyperCard yang memberi semua pengguna alat edit dan menjadikan semua stack sebagai kumpulan komponen yang bisa dipakai ulangDecker memang bisa mengekspor deck mandiri yang “terkunci” untuk menyembunyikan editor, tetapi proses untuk mengaktifkannya kembali sepele. Saya juga pernah melihat contoh yang dirancang agar otomatis “terbuka kuncinya” setelah game diselesaikan, dan menurut saya itu hadiah yang cukup keren
Dalam banyak hal memang tidak sepenuhnya cocok dengan HyperCard, tetapi di tiga area terkait, ia adalah kandidat yang sangat kuat. Ukuran unduhan awalnya kecil (<100MB), waktu muat/jalannya singkat, dan ia mendukung alur pengembangan yang iteratif dan bergaya hacking yang cocok untuk tahap eksplorasi awal dalam membuat “sesuatu yang berfungsi”. GDScript sangat cocok untuk ini, dan dengan tambahan belakangan seperti tipe bertahap, ketangguhannya juga makin membaik seiring waktu
Cara distribusi/instalasi Godot juga sangat kuat. Menurut saya, di area ini ia unggul beberapa tahun cahaya dibanding ekosistem lain mana pun[0]. Anda cukup mengunduh template ekspor untuk platform yang ingin didukung, yaitu executable biner generik per platform, lalu memaketkan kode dan resource spesifik proyek dan mengekspornya[1]
Saat ini, area yang secara mengejutkan paling lemah pada Godot dibanding HyperCard atau Visual Basic “klasik” justru adalah pembuatan UI drag-and-drop. Godot memang punya sistem UI yang cukup kuat, tetapi terkadang tidak transparan, dan pengalaman pengguna saat membuat UI sekarang membuat kita sangat sadar pada pohon node sebuah scene, alih-alih menarik widget dari toolbar ke atas jendela
Pengalaman pengguna ini tampaknya bisa diperbaiki relatif mudah dengan Editor Plugin, dan mungkin suatu hari saya akan membuat prototipe untuk lubang kelinci itu :)
Ini bukan solusi sempurna, tetapi jelas menjadi pilihan default saya saat membuat utilitas berbasis GUI akhir-akhir ini. Bahkan beberapa di antaranya benar-benar selesai cukup matang untuk “dirilis” :D
[0] Di titik ini, Python runtuh dengan sangat menyedihkan
[1] Ekspor WASM untuk web juga dimungkinkan, jadi bisa ada distribusi dua jalur: orang mencoba utilitas lewat versi berbasis web terlebih dahulu, lalu jika dirasa cukup berguna, mereka juga mengunduh executable lokal
Decker benar-benar bagus, dan sangat menyenangkan
Jika Anda mencari skrip HyperTalk, Wyldcard juga patut dicoba
https://github.com/defano/wyldcard
Saya mulai mendalami Decker setelah disebut dalam diskusi pengganti HyperCard minggu lalu
Saya sangat penasaran dengan pemaketan deck. Saya suka pendekatan seperti Redbean, yang memasukkan Lua, SQLite, dan semuanya ke dalam satu file, lalu bisa dibuka dengan alat zip, diisi kode HTML dan Lua, diganti namanya, dan langsung siap didistribusikan
Saya penasaran apakah Decker juga mempertimbangkan pendekatan semacam itu untuk mempermudah distribusi