1 puan yazan GN⁺ 2024-05-09 | 1 yorum | WhatsApp'ta paylaş
  • 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 .html belgesi 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 .html belgesi 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

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

 
GN⁺ 2024-05-09
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/

  • 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ı

    • Nedense iPhone ekranının yalnızca %20'si kadarını kullanıyor gibi görünüyor
      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
    • Firefox sorunu olabilir ya da ben nasıl kullanılacağını bilmiyor olabilirim ama New Card'a basınca sadece boş bir ekran çıkıyor ve yazmanın ya da çizmenin bir yolu görünmüyor
  • 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

    • Benim hatırladığım da büyük ölçüde böyle. HyperCard özellikle çocuklara programlamayı tanıtmak için inanılmaz popülerdi ama Quadra Mac serisi renkle gelince herkes renk istedi
      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

    • Böyle şeyleri hatırlıyorum! Bunu görmedim ama görseller içeren havalı şeylerin mini veritabanları gibi HyperCard stack'lerinin ortalıkta dolaştığı kesin
      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

    • Apple tarafında Swift Playgrounds var
      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

    • Flash buna epey yakındı ama ortalama kullanıcı için fazla karmaşık ve pahalıydı. HyperCard başlangıçta ücretsizdi ama Performa Mac serisine paket olarak eklenmedi.
      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
    • Ben de farklı bir kuşaktanım ve HyperCard’ın özel yanının ne olduğunu merak ediyorum.
      VB ve Macromedia araçlarını hatırlıyorum; günümüz araçlarının kullanımı daha zor geliyor
    • Flash, hızlıca bir şeyler üretip geniş bir kullanıcı kitlesine dağıtmak için mükemmel bir araçtı ve tarayıcı tabanlı, çok platformlu olması açısından bu vaadini o dönemin HyperCard’ından bile daha iyi gerçekleştirdiği birçok yön vardı.
      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
    • Bu kadar sevilmişken HyperCard neden yok oldu ve neden benzeri bir şey onun yerini alamadı, bunu da merak ediyorum
    • “Çok sayıda küçük ve faydalı araç yapabilmeyi sağlama” açısından bakarsak, bugün aklıma gelen en yakın şey Godot “oyun” motoru: https://godotengine.org
      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