Decker: 1 bit grafik kullanan HyperCard’ın yeniden yorumu
(beyondloom.com)Decker multimedya platformuna giriş
- Decker, ses, görüntü, hipermetin ve betik davranışları gibi öğeleri içeren etkileşimli belgeler oluşturup paylaşmak için bir multimedya platformudur
- Doğrudan web tarayıcısında denenebilir
- HyperCard mirası ve klasik MacOS’un görsel estetiği üzerine kuruludur
- HyperCard’ın sunduğu sadeliği ve öğrenme kolaylığını korurken, derin geri alma geçmişi, kaydırma tekerleği ve dokunmatik ekran desteği, daha modern klavye dolaşımı, toplu düzenleme işlemleri gibi pek çok ince ve belirgin kullanılabilirlik iyileştirmesi ekler
Decker ile yapılabilecekler
- Herkes Decker ile E-Zine hazırlayabilir, notlarını düzenleyebilir, sunum yapabilir, macera oyunu geliştirebilir ve 1 bit piksel art karalamaları oluşturabilir
- Genel "ditherpunk" estetiği sıcak, biraz nostaljik, eğlenceli ve kendine özgü yaratıcı kısıtlar sunar
- Bir prototipleme aracı olarak Decker, taslak çıkarmayı ve kusurlu yaklaşımları benimsemeyi teşvik eder
- Tamamlanmış deck’ler bağımsız
.htmlbelgeleri olarak kaydedilir; web tarayıcısında kendi kendine çalışır ve web sayfası barındırılabilen ya da gömülebilen her yerde paylaşılabilir - Decker, MacOS, Windows ve Linux üzerinde de yerel olarak çalışır
Betik dili Lil’e giriş
- Daha karmaşık projeler için Decker, Lil adında yeni bir betik dili sunar
- Lil, araçlara ve oyun motorlarına gömülmek için yaygın biçimde kullanılan zorunlu programlama dili Lua’dan ve zaman serisi veritabanlarıyla kullanılan APL ailesinden fonksiyonel dil Q’dan güçlü biçimde etkilenmiştir
- Lil öğrenmesi kolaydır ve mevcut programlama deneyimi olan kullanıcıları rahatsız etmeyecek kadar yerleşik yaklaşımları takip eder; ama örtük skaler-vektör aritmetiği ve tümleşik SQL benzeri sorgu dili gibi hoş sürprizler de içerir
- Birkaç satır Lil ile bile çok iş yapılabilir
Decker’in çeşitli özellikleri
- Decker, arayüz oluşturmak için yerleşik etkileşimli widget’lar ve yeni widget’lar tanımlama imkanı sunar
- Özel widget’lar ve tanımlar sistem panosu kullanılarak kopyalanıp yapıştırılabilir ve metnin paylaşılabildiği ya da kaydedilebildiği her yerde paylaşılabilir
- Her deck, başka projelerde yeniden kullanılabilecek parçaların bir araç kutusudur
- Decker komut satırı dostudur. Kaynaktan derlendiğinde, Decker belgelerini "headless" olarak okuyabilen, yazabilen, değiştirebilen ve hatta çalıştırabilen Lil bağımsız yorumlayıcısı Lilt ile birlikte gelir
- Lilt, Decker’ın kendisine kıyasla çok daha az bağımlılığa sahip olduğundan, her yerde çalışabilen kabuk betikleri yazmaya imkan veren çalıştırılabilir çapraz platform APE olarak derlenebilir
- POSIX AWK üzerinde çalışan bir Lil yorumlayıcısı da vardır
- Deck’ler, Git ve SVN gibi mevcut kaynak kontrol araçlarıyla iyi uyum sağlayan satır odaklı bir metin biçiminde saklanır
Decker kullanım örnekleri ve modüller
- "Examples" bölümünde Decker kullanan çeşitli örnek projeler tanıtılır
- Decker rehber turu, 5GUIs, CHIP-8 yorumlayıcısı, Draggable hakkında her şey, ses hakkında her şey, blok itmeli bulmaca oyunu Sokoban gibi
- "Modules" bölümünde Decker için çeşitli eklenti modülleri tanıtılır
- Plot: Decker için basit grafikler
- Zazz: Decker için animasyon yardımcısı
- Ease: Decker için easing fonksiyonları
- Dialogizer: Decker için görsel roman modalı
- Puppeteer: Decker için görsel roman sprite animasyonu
Belgeler ve ek kaynaklar
- Decker referans kılavuzu, Decker belge biçimi, Lil programlama dili gibi çeşitli dokümanlar sunulur
- Lil dilini 10 dakikada öğrenme, Lil playground, Lil hızlı referans kartı gibi Lil öğrenme kaynakları da sağlanır
- Kaynak kodu ve hata takip sistemi GitHub üzerinden kullanılabilir
- Decker, MIT lisansı altında özgür ve açık kaynaklıdır
- MacOS ve Windows için düzenli ikili sürümler Itch.io üzerinden mevcuttur
- Itch sayfasında Decker’ı tartışmak ve Decker ile yapılmış projeleri paylaşmak için bir topluluk forumu da bulunur
GN⁺ görüşü
-
Decker’ın POSIX AWK ile uygulanmış olması oldukça ilginç bir deneme. AWK, metin işleme konusunda uzmanlaşmış bir betik dili olduğundan, Lil gibi bir betik dilini gerçekleştirmek için uygun bir temel gibi görünüyor. AWK ile uygulanması, farklı platformlara kolay taşınmasını ve çalıştırılmasını mümkün kılmış olabilir.
-
Decker’ın kayıt biçimini satır bazlı metin olarak seçmesi oldukça akıllıca görünüyor. Metin tabanlı biçimler, Git gibi VCS araçlarıyla iyi uyumludur; bu da sürüm yönetimini kolaylaştırır ve değişikliklerin diff ile izlenmesini sağlar. İkili biçimlerin ise bozulmaya daha açık olması ve sürüm yönetimini zorlaştırması gibi dezavantajları vardır.
-
Lil’in tasarım felsefesi ilgi çekici. Lua ve Q’dan etkilendiği söyleniyor; Lua oyun betikleme alanında yaygın kullanılırken, Q veritabanı sorgularına odaklanan APL kökenli bir dildir. Görünüşe göre bu iki dilin güçlü yanları birleştirilerek Lil’e özgü ayırt edici özellikler kazandırılmış. Özellikle skaler-vektör işlemleri ya da yerleşik sorgu söz dizimi gibi özellikler, mevcut dillerde sık görülmeyen yetenekler.
-
E-Zine, notlar, sunumlar, macera oyunları ve piksel art gibi kullanım alanları oldukça geniş görünüyor. Karmaşık uygulamalardan basit belgelere kadar pek çok farklı alanda işe yarayabilir. Ancak bu kadar genel amaçlı olması nedeniyle, her alan için özel geliştirilmiş araçlara kıyasla bazı özellikleri eksik kalabilir.
-
Klasik Mac OS tarzı arayüzü kişisel olarak beğensem de, modern kullanıcılara fazla retro gelebilir. Tema/skin desteğiyle daha modern görünümler sunulması iyi olabilir. Windows ya da Linux kullanıcıları için de biraz yabancı bir arayüz gibi görünebilir.
1 yorum
Hacker News görüşleri
1-bit grafikten 2-bit grafiğe küçük bir geçiş bile fotoğraf okunabilirliğini büyük ölçüde artırabilir. Örnek olarak, solar.lowtechmagazine.com en fazla 6 renk kullanarak harika bir estetik ortaya koyuyor.
Decker’ın paketlenmesiyle ilgili düşünceler. Redbean gibi Lua, SQLite vb. bileşenleri tek bir dosyada toplayıp zip olarak açılacak şekilde paketleyerek, içine HTML ve Lua kodu koyup ardından sadece adını değiştirerek dağıtmayı düşünüp düşünmediği merak ediliyor.
Decker daha önce HN’de birkaç kez tanıtılmıştı. 3 ay önce 191 puan, 36 yorum. 2 yıl önce 215 puan, 88 yorum.
Decker’ı bizzat deneme tavsiyesi. Demo sitesi bağlantısı verilmiş.
Decker’ın çocukluktan tatlı anıları hatırlattığı söyleniyor. Sadece mobilde pinch zoom özelliği olsa iyi olurdu görüşü var.
HyperCard’ın en büyük eksiği, Mac renk desteğine geçtiğinde kendisinin bunu desteklememiş olmasıydı. Lisede okulun tüm Mac’leri renkliyken HyperCard öyle değildi.
Okulda HyperCard ile yapılmış shuttle bilgi navigasyon sistemi için NASA laserdisc kullanıldığı hatırlanıyor. O zamanlar çok etkilenmemiş olsa da harika bir deneyimdi.
Decker, 1-bit grafik kullanması açısından HyperCard’a benziyor ama kullanım biçimi oldukça farklı. Kendine özgü "Lil" dilini öğrenmek gerekiyor ve HyperCard/MacPaint’in birçok kullanım kolaylığı özelliği eksik olduğundan beklentilerden farklı olabilir. HyperCard sanatçıları, Infinite Mac sayesinde tarayıcıda HyperCard kullanmaya devam edebilir.
Decker’ın eğlenceli olduğu düşünülüyor. HyperTalk script desteği sunan Wyldcard da öneriliyor.
Apple ya da MS neden bu tür gündelik geliştirme araçları yapmak için daha fazla çaba göstermiyor diye soruluyor. VB ve Python güzel ama küçük uygulamalar yapmaya özel optimize edilmiş araçlar olsa iyi olurdu.
HyperCard’a karşı büyük bir sevgi var. O dönemi yaşamamış olsa da, insanlara küçük ve faydalı araçlar yapma imkanı verdiği düşünülüyor. Elektronik tablolardan farklı olarak çok yönlü bir yapı sunuyordu.
O dönemi yaşamış kişiler için hangi modern aracın aynı hissi verdiği merak ediliyor. Biraz daha genç kuşak için Delphi/VB ve Flash nostaljisi var. Kusurlu olsalar da yaratıcılığı tetikleyen araçlardı.
Araçlar çok daha iyi hale geldi ama bu süreçte bir şeylerin kaybedildiği hissediliyor.