Decker: 1 bit grafikle HyperCard'ın yeniden yorumu
(beyondloom.com)- Decker, ses, görsel, hipermetin ve betik davranışlarını tek bir belgede birleştirerek üretip paylaşmayı sağlayan bir multimedya platformu; doğrudan tarayıcıda deneyimlenebiliyor
- HyperCard ve klasik MacOS'un görsel hissini korurken derin geri alma, kaydırma tekerleği ve dokunmatik ekran desteği, modern klavye gezinmesi ve toplu düzenleme ekliyor
- E-Zine, notlar, sunumlar, macera oyunları ve 1 bit piksel sanatı gibi işler üretilebiliyor; tamamlanan deck bağımsız bir
.htmlbelgesi olarak kaydedilebiliyor - Karmaşık projeler, Lua ve Q'dan etkilenen Lil ile genişletiliyor; widget'lar, pano üzerinden paylaşım ve metin tabanlı belge biçimi yeniden kullanım ile sürüm kontrolünü destekliyor
- Reklam, telemetri, oyunlaştırma veya slop-generator entegrasyonu içermeyen, MIT lisanslı ücretsiz açık kaynaklı bir araç; GitHub kaynak kodu ve Itch.io ikili dağıtımları sunuluyor
HyperCard ruhuyla etkileşimli belge üretimi
- Decker, ses, görsel, hipermetin ve betik davranışları içeren etkileşimli belgeler oluşturup paylaşmak için kullanılan bir multimedya platformu
- Doğrudan tarayıcıda deneyimlenebiliyor
- HyperCard ve klasik MacOS'un görsel estetiğini devralırken, HyperCard'ın sunduğu sadelik ve öğrenme kolaylığını koruyor
- Kullanılabilirlik iyileştirmeleri, eski kart tabanlı üretim araçlarının hissini korurken modern giriş ortamlarına uyum sağlamaya odaklanıyor
-
Derin geri alma geçmişi
- Kaydırma tekerleği ve dokunmatik ekran desteği
- Daha modern klavye gezinmesi
- Toplu düzenleme işlemleri
- Üretilebilecek örneklerin yelpazesi geniş
- E-Zine
- Not tutma
- Sunum materyalleri
- Macera oyunları
- 1 bit piksel sanatı karalamaları
- Tamamlanan deck, web tarayıcısında kendi kendine çalışan bağımsız bir
.htmlbelgesi olarak kaydedilebilir; web sayfası barındırılabilen veya gömülebilen her yerde paylaşılabilir - Decker, MacOS, Windows, BSD ve Linux üzerinde yerel olarak da çalışır
-
Lil, widget'lar ve metin tabanlı geliştirme akışı
- Daha karmaşık projelerde Lil adlı bir betik dili kullanılabilir
- Lil, araçlara ve oyun motorlarına gömülen emirsel dil Lua'dan etkilenmiştir
- Zaman serisi veritabanlarıyla kullanılan APL ailesinden fonksiyonel dil Q'dan da etkiler taşır
- Mevcut programlama deneyimi olan kullanıcılara tanıdık gelen yapıyı korurken, örtük skaler-vektör aritmetiği ve bütünleşik SQL benzeri bir sorgu dilini içerir
- Arayüz üretiminde yerleşik etkileşimli widget koleksiyonu kullanılabilir ve yeni widget tanımları da yapılabilir
- Özel widget'lar ve tanımları sistem panosu üzerinden kopyalanıp yapıştırılabilir
- Metnin paylaşılabildiği veya kaydedilebildiği her yerde özel widget'lar da paylaşılabilir
- Her deck, başka projelere aktarılabilecek yeniden kullanılabilir bileşenler koleksiyonu olarak değerlendirilebilir
- Kaynaktan derlendiğinde, bağımsız Lil yorumlayıcısı Lilt de birlikte gelir
- Lilt, Decker belgelerini okuyabilir, yazabilir, değiştirebilir ve headless çalıştırabilir
- Decker'a göre daha az bağımlılığa sahip olduğu için platformlar arası APE yürütülebilir dosyaları olarak derlenebilir
- POSIX AWK üzerinde çalışan bir Lil yorumlayıcısı da vardır
- Deck'ler satır tabanlı metin biçiminde kaydedildiğinden Git ve SVN gibi mevcut kaynak yönetim araçlarıyla iyi entegre olur
- Decker; reklam, telemetri, oyunlaştırma, slop-generator entegrasyonu veya kullanıcı gizliliği ve özerkliğini ihlal eden unsurlar içermez
Örnek deck'ler ve genişletme kütüphaneleri
-
Örnek deck'ler
- Decker: A Guided Tour: Decker rehberli turu
- 5GUIs: GUI örnekleri
- Sokoban: A Block-Pushing Puzzle Game: blok itmeli bulmaca oyunu
- Breakout: Three Ways: Breakout uygulama örneği
- A CHIP-8 Interpreter: CHIP-8 yorumlayıcısı
- Gamepad Input Demo: gamepad giriş demosu
-
Kütüphaneler
-
Belgeler ve öğrenme kaynakları
- The Decker reference manual: Decker başvuru kılavuzu
- The Lil programming language: Lil dil dokümantasyonu
- The Decker document format: Decker belge biçimi
- Learn Lil in 10 Minutes: Lil için hızlı öğrenme kaynağı
- The Lil playground: Lil playground
- Lilt: the Lil Terminal: Lil terminali
Kaynak, dağıtım ve topluluk
- Gezilebilir kaynak kodu ve hata takip sistemi GitHub üzerinde bulunuyor
- Decker, MIT lisanslı ücretsiz açık kaynaklı bir araçtır
- MacOS ve Windows için düzenli ikili sürümler Itch.io üzerinden edinilebilir
- Itch sayfasında, Decker tartışmaları ve Decker ile yapılan projelerin paylaşımı için bir topluluk forumu bulunuyor
- Decker temalı “Game Jam” etkinlikleri her yıl Temmuz ve Aralık aylarında düzenleniyor; sıradaki etkinlik Decker Fantasy Camp, July 2026
1 yorum
Hacker News yorumları
Çok güzel! Burada hedeflenen bir estetik olduğunu biliyorum ama 1 bit grafikten biraz daha ileri gidip 2 bit grafike geçilse gerçekten okunabilir fotoğraflar da mümkün olur gibi geliyor
Benzer bir estetiğe sahip sevdiğim bir site var; buradaki tüm görseller en fazla 6 renk kullanıyor. Yalnız her görselin paleti farklı: https://solar.lowtechmagazine.com/
Topluluk forumunda[0] dithering ve renkli fotoğraf içe aktarma hakkında tartışmalar var ve kullanıcılar rengi kullanarak oldukça hoş projeler[1] üretiyor
[0]: https://itch.io/t/2668739/16-color-dithered
[1]: https://crowmorbid.itch.io/desker-deckmonth
Kendiniz denemeyi de unutmayın!
https://www.beyondloom.com/decker/tour.html
Bunu görünce şaşırtıcı derecede tatlı anılar canlandı; yoksa bunu yaşayan sadece ben miyim? Tek istediğim mobilde pinch-to-zoom olması
Fazla küçük olduğu için yazılar okunmuyor ve pinch-to-zoom da kapalı olduğu için yaklaştırıp bakamıyorum
Bu projenin tercihine saygı duyuyorum ama bana göre HyperCard'ın en büyük kusuru, Mac renkli döneme geçerken rengi hayata geçirememiş olmasıydı
Lisede okurken okuldaki tüm Mac'ler renkli cihazlardı ama HyperCard'a hiçbir zaman gerçek yerel renk desteği gelmedi
HyperCard yerel renk güncellemesi almadı ve herkesin en çok istediği özellik de buydu
İlgili ürün olarak sanırım SuperCard adında bir araç renk desteği sunuyordu; kullandım ama hantaldı. Nedenini tam hatırlamıyorum ama sonuçta tutmadı
HyperTalk'un sınırlı API'si de sorundu. Bir eklenti pazarı vardı ve bazı geliştiriciler bir süre bu alanı domine etti. J5erson'a ne oldu acaba. Gerçekten çok iyiydi
Eklentiler genelde Pascal ile yazılırdı ve HyperTalk'a pek çok özellik ekleyebilirdi; bu da HyperCard'ın ötesine geçip programlamayı daha fazla keşfetmek isteyenler için iyi bir basamak olurdu
Decker sanki HyperCard'ın sadelik ve taşınabilirlik gibi güçlü yanlarının çoğunu almış gibi görünüyor. Yine de HyperTalk'a daha yakın bir dil kullanmaması biraz üzücü. O dil kendi içinde gerçekten epey iyiydi
Decker çoğunlukla 1 bit olduğu için ilk bakışta HyperCard'a benziyor ama aslında tamamen yeniden öğrenmeyi gerektirecek kadar farklı
Kullanması epey zor; yeni ve kendine özgü bir dil olan Lil'i öğrenmek gerekiyor ve HyperCard ya da MacPaint beklentisiyle aranan birçok kullanım kolaylığı da eksik
Sonuç olarak HyperCard sanatçılarının geçiş yapması zor oluyor ve Infinite Mac sayesinde tarayıcıda HyperCard kullanmaya devam ediyorlar. Çok yakın ama bir o kadar uzak. Benziyor ama aynı değil
Okulda, içinde bir sürü shuttle bilgisi bulunan bir NASA lazerdiski vardı
Gezinme ve bilgi gösterimi için HyperCard çalıştıran bir Mac'e bağlıydı; oldukça havalıydı ama sanırım o zamanlar bunu gerektiği kadar takdir edememiştim
90'lardaki multimedya patlamasından önceki erken dönem multimedya gibiydi :-)
Apple ya da Microsoft'un neden işletim sisteminde gündelik geliştiriciler için buna benzer araçlar üretmeye daha fazla önem vermediğini anlamıyorum
VB ve Python güzel ama bazen küçük uygulamalar yapmaya gerçekten özel olarak uyarlanmış bir araç gerekiyor
Ayrıca SwiftUI da olabildiğince kolay
Ama Xcode kullanmak ve App Store ayarlarını da yapmak gerektiğinde hâlâ kafa karıştırıcı yapılandırmalar ve Xcode IDE hakkında belli bir anlayış gerekiyor :-)
HyperCard’e gerçekten büyük bir sevgi var
Ben doğrudan deneyimlemedim ama insanların çok sayıda küçük ve faydalı araç yapabilmesini sağlıyor gibiydi. Genel amaçlılık açısından elektronik tablolara benziyor ama kullanım hissi farklı.
O dönemi yaşamış insanlar için, bugün hangi modern aracın o hissi verdiğini merak ediyorum.
Ben biraz daha genç bir kuşaktanım; Delphi/VB ya da Macromedia Flash gibi araçlara nostalji duyuyorum. Kusursuz değillerdi ama yaratıcılığı teşvik ediyorlardı.
Bugünün araçları çok daha iyi ama bu süreçte sanki bir şeyler kayboldu
HTML, HyperCard’ın sunduğu şeylerin büyük kısmını devraldı ama web yazma araçları hiçbir zaman onun kadar kolay olmadı; ayrıca HyperCard’ın bir özelliğini, yani arayüzün görünüm ve hissinin tutarlı olmasını da sunmadı. Bu bir avantaj da olabilir dezavantaj da ama bazı kullanıcılar sayfaya sadece iki adet ileri/geri düğmesi ekleyerek bir flipbook yapabilmeyi seviyordu.
Eğitim materyallerini HyperCard stack’leri halinde paketleyip satan işletmeler kuranlar da olmuştu.
HyperTalk programlama dili harika değildi; daha çok hippilerin seveceği türden bir dildi ama ortalama kullanıcı da C ya da Pascal gördüğünde olduğu kadar zorlanıyordu.
Apple’ın onunla yapılabilecek şeyleri aşırı kontrol etmeye çalıştığı hissi hep vardı. Bu, bir programlama dili ve etrafındaki araçlardan beklediğimin tam tersiydi.
Nasıl bir his olduğunu anlamak istiyorsanız AppleScript ile bir şeyler kodlamayı deneyin
VB ve Macromedia araçlarını hatırlıyorum; günümüz araçlarının kullanımı daha zor geliyor
Ama üzücü olan, Flash üreticileri ile Flash tüketicileri arasında büyük bir uçurum yaratmış olmasıydı. Hevesli bir tinkerer .swf dosyalarını decompile edip değiştirebilirdi belki ama bu, her kullanıcıya düzenleme araçları veren ve tüm stack’leri yeniden kullanılabilir parça koleksiyonları haline getiren HyperCard modelinden oldukça uzaktı.
Decker, editörü gizleyen “kilitli” bağımsız deck’ler dışa aktarabiliyor ama bunu yeniden etkinleştirme süreci önemsiz. Oyunu bitirdiğinizde kendini “kilit açılmış” hale getirecek şekilde tasarlanmış örnekler de gördüm; bence oldukça hoş bir ödül
Pek çok açıdan HyperCard ile birebir örtüşmüyor ama ilgili üç alanda özellikle güçlü bir aday. İlk indirme boyutu küçük (<100MB), yükleme/çalıştırma süreleri kısa ve “çalışan bir şey” ortaya çıkarmaya yönelik ilk keşif-geliştirme aşamasına uygun, yinelemeli ve hack odaklı bir geliştirme akışını destekliyor. GDScript bunun için çok uygun; yakın zamanda eklenen kademeli tipleme gibi özelliklerle zaman içinde sağlamlığı da artıyor.
Godot’nun dağıtım/kurulum modeli de çok güçlü. Bu alanda diğer tüm ekosistemlerin[0] birkaç ışık yılı önünde olduğunu düşünüyorum. Desteklemek istediğiniz platformların export template’lerini, yani platforma özgü genel ikili çalıştırılabilir dosyaları indiriyorsunuz; ardından proje bazlı kod ve kaynakları paketleyip dışa aktarıyorsunuz[1]
Şu anda Godot’nun HyperCard ya da “klasik” Visual Basic ile kıyaslandığında şaşırtıcı biçimde en zayıf kaldığı alan sürükle-bırak UI oluşturma. Godot’da oldukça güçlü bir UI sistemi var ama zaman zaman opak kalıyor; mevcut UI oluşturma kullanıcı deneyimi de pencere üzerine araç çubuğundan widget sürükleyip bırakmaktan çok, sahnenin node ağacını sürekli bilinçli şekilde takip etmenizi gerektiriyor
Bu kullanıcı deneyimi bir Editor Plugin ile nispeten kolay iyileştirilebilir gibi görünüyor; belki bir gün o tavşan deliğine yönelik bir prototip bile yaparım :)
Mükemmel çözüm değil ama bugünlerde GUI tabanlı yardımcı araçlar yaparken kesinlikle varsayılan tercihim bu. Hatta bunlardan birkaçını gerçekten “yayınlayacak” kadar tamamladım :D
[0] Bu noktada özellikle Python çok kötü çuvallıyor
[1] Web için WASM export da mümkün; böylece insanlar önce yardımcı aracın web tabanlı sürümünü deneyip yeterince faydalı bulurlarsa yerel çalıştırılabilir dosyayı da indirebildiği iki kollu bir dağıtım modeli kurulabiliyor
Decker gerçekten harika ve çok eğlenceli.
HyperTalk betikleme arıyorsanız Wyldcard da keyif verebilir
https://github.com/defano/wyldcard
Geçen hafta HyperCard alternatifleri tartışmasında adı geçtikten sonra Decker’ı kurcalamaya başladım.
Deck paketleme konusu gerçekten ilgimi çekiyor. Redbean gibi, Lua, SQLite vb. her şeyin tek dosyada olduğu; zip aracıyla açıp içine HTML ve Lua kodu koyduktan sonra adını değiştirerek dağıtıma hazır hale getirebildiğiniz yaklaşımı seviyorum.
Decker’ın da dağıtımı kolaylaştırmak için bu tür bir yaklaşımı değerlendirip değerlendirmediğini merak ediyorum