1 puan yazan GN⁺ 2024-06-27 | 1 yorum | WhatsApp'ta paylaş
  • HyperCard Simulator, klasik HyperCard stack’lerini modern web’e taşıyıp çalıştırmayı sağlayan web tabanlı bir simülatördür
  • Stack’ler, sıralı bir kart destesi gibi çalışır; kart ekleyip silebilir ve bir hesap üzerinden çevrimiçi paylaşabilirsiniz
  • Kartlarda düğmeler ve alanlar bulunabilir; arka planda oluşturulan öğeler birden çok karta tekrar uygulanırken kartlara özgü metinler ayrı tutulabilir
  • Düzenleme doğrudan kart üzerinde yapılır ve kalem, boya kovası ile siyah-beyaz-şeffaf desenlerle basit boyama desteği sunulur
  • Betik yazmadan da kullanılabilir, ancak message box ve Script Editor ile xTalk komutları ve mouseUp gibi mesaj işleyicileri kullanılabilir

Web’de çalışan HyperCard stack’leri

  • HyperCard Simulator, klasik HyperCard stack’lerini içe aktararak tarayıcıda çalıştırmayı sağlar
  • Geliştirici, HyperCard yaratıcılarından özür dilediğini ve bunu boş zamanlarında HyperCard’ın modern web’de nasıl çalışacağını görmek için yaptığını söylüyor
  • İlgili kaynaklar olarak hypercard.org, Merveilles HyperJam, Internet Archive bağlantıları veriliyor
  • Daha fazla stack keşfetmek için More stacks, A Few More Stacks, The "B–Roll", Collected Stacks, Lots More Stacks, The HyperCard Pantechnicon bölümleri sunuluyor

Kart ve arka plan merkezli düzenleme modeli

  • HyperCard stack’leri, sırayla çevrilen bir kart destesine benzer ve kullanıcılar stack’e kart ekleyip kaldırabilir
  • HyperCard, stack’leri otomatik kaydederdi; bu simülatörde ise hesap oluşturup çevrimiçi paylaşabilirsiniz
  • Her kartta düğmeler ve alanlar bulunabilir
    • Uygun aracı seçtikten sonra sürükleyip yeniden boyutlandırarak düzenlenir
    • Düğmeler ve alanlar karta ya da arka plana eklenebilir
    • Özellikler çift tıklama veya uzun basma ile açılabilir
  • Arka plan bölümü birden çok karta tekrar uygulanır
    • Her kartın kendine ait parçaları ve metni olabilir
    • Her kartın bir arka planı vardır; arka plan, kart grubunun arkasındaki katmandır
    • Aynı arka planı kullanan kartların her birinde arka plan alanı içinde karta özel metin bulunabilir

Boyama ve betik yazımı

  • Boyama doğrudan kart üzerinde yapılır
    • Kalem veya boya kovası kullanılabilir
    • Siyah için Shift, beyaz için Option, şeffaf için Option+Shift deseni kullanılır
  • Betik yazımı zorunlu değildir, ancak simülatörün kendi betiklerine bakarak öğrenilebilir
    • message box, xTalk ifadelerini ve komutlarını değerlendirir
    • Script Editor, Information iletişim kutusundan açılabilir veya Command-Option-click, touch-hold, Shift basılıyken çift tıklama ile erişilebilir
    • Betikler, kullanıcının gönderdiği mesajları alıp beep ya da go next card gibi işlemler gerçekleştirebilir
    • Örnek mesaj işleyicisi on mouseUp içinde beep çalıştırır, sonraki karta gider ve end mouseUp ile biter

1 yorum

 
GN⁺ 2024-06-27
Hacker News yorumları
  • HyperCard'ın benim kuşağımdan önce gelmiş olması biraz üzücü. Çocukken bilseydim muhtemelen başka hiçbir şey yapmazdım; emülatörde kurcalayınca da epey eğlenceliydi
    İnsanların programlamaya kolayca yaklaşmasını sağlamaya çalışan ilk girişimleri seviyorum. Çok daha zayıf bir ölçekte olsa da, Flash animasyon aracını ilk kullandığımda da benzer bir his vermişti; C++ ile OpenGL ya da SDL'i bir araya getirmeye çalışmaktan çok daha doğrudan ve erişilebilirdi, bir şeyler yapmak da saf eğlenceydi. Flash'tan sonra geliştirirken o kadar eğlenceli bir araç bulamadım; GameMaker da harika ve hâlâ eğlenceli ama Flash kadar akıcı ya da “her şey mümkün” hissi vermiyor. Belki de sadece yaşlandım

    • Hâlâ HyperCard'ın son kullanıcıya yönelik uygulamalar geliştirmek için tarihteki en üretken geliştirme ortamı olduğuna inanıyorum
    • Bir de Macromedia Director vardı. Bugünlerde yazılıma âşık olmak gerçekten çok nadir bir şey oldu
    • Kolay dijital etkileşim arıyorsan p5.js hoşuna gidebilir. https://p5js.org/
      Flash, yerine gerçek bir alternatif çıkmadan daha hızlı yok oldu ve Flash ortadan kalktığında o zamanki HTML5 geleceğimiz ve anlık ikamemiz olacaksa mahvolduğumuz gayet açıktı. Bir dahaki sefere bir şeyler inşa etmek için araç ararsam, Flutter sanki Flash'ın tek bir kod tabanıyla her yerde çalıştırma vaadini sürdürüyor gibi geliyor. Bunun dışında umut bağladığım teknolojiler WebAssembly ve bir ölçüde Rust
    • P5js ve Processing'e bakmak, o özlemi biraz giderebilir
  • Linklerin üzerine gelince imlecin el simgesine dönüşmesi doğrudan HyperCard'dan ilham alınmış bir şey. Birçok açıdan tarayıcıyı, HyperCard stack'inin evrimleşmiş hâli olarak görebilirsiniz

    • HyperCard'ın içinde ağ desteği yerleşik olsaydı, yine de web ortaya çıkar mıydı diye merak ediyorum
  • Çocukken HyperCard ve SuperPaint benim legolarımdı. Babam hesaplama çalıştırmak için Macintosh'a ihtiyaç duyan bir bilim insanıydı, bu yüzden o dönemde ailesinde bilgisayar olan neredeyse tek çocuklardan biriydim
    HyperCard ile gerçekten çok sayıda küçük araç yaptım ve siyah-beyaz monitör uygulamalarına, yalnızca monokromla desenler üretmenin o eğlenceli biçimine karşı büyük bir sevgim var

    • Benzerdi. Annemle babam öğretmendi ve babam Mac laboratuvarından sorumluydu ama Mac konusunda özellikle yetkin değildi. Yine de yazları bilgisayarlar boşta kalıyordu, bu yüzden birini eve getirebiliyorduk; önce Apple IIe, sonra erken dönem bir Mac kullandım. HyperCard'da aylak aylak dolaşıp oynayarak gerçekten çok zaman harcadım
      İlk bilgisayarım olan Apple II GS'i de öğretmenlerin büyük indirim alabildiği “Apple for a Teacher” programıyla satın alabilmişlerdi. Renkli monitörlü, Mac'in öncülü gibi bir makineydi. 3-2-1 Contact dergisinin yaratıcı yazarlık yarışmasında istediğim 5 oyunu ödül olarak kazanmıştım ve kalan süre boyunca o oyunları oynamak için bilgisayara ihtiyacım olduğuna ailemi ikna edebilmiştim
  • Bilgi: sağ üstteki pencere büyütme kutusuna basınca HyperCard Editor'a zoom out yapıyor
    Hâlâ boş bir deck'ten nasıl başlanacağını çözmeye çalışıyorum ve becerilerim kesinlikle paslanmış. Bununla HyperCard tabanlı tam bir web sitesi yapmanın ne kadar mümkün olduğunu da merak ediyorum

    • Hamburger menüsünde “New Stack...” var
      Giriş yapmak da mümkün
      https://hcsimulator.com/mmphosis/Stack
    • Yeni bir card oluşturup, sonraki karta ya da doğrusal bir card stack'i içinde istediğin yere bağlanan düğmeler yapman yeterli. Geçişler, efektler ve zamanlamayla o muhteşem pikselli editörde uğraşabilirsin
  • HyperCard dönemini yaşamak için fazla genç biri olarak, asıl çekiciliğinin ne olduğunu merak ediyorum. Mesele teknolojinin erişilebilirliği miydi, yoksa sadece gerçekten iyi uygulanmış bir ürün müydü?

    • İkisi de. HyperCard, basit metaforlar ve sözdizimiyle GUI'nin gücünü kullanıcıların eline veriyordu. Dili, yazması kolay hissettirecek kadar İngilizceye benziyordu ama gerçekte yapamadığı şeyleri bile yapabildiğinizi düşündürecek kadar ileri gitmiyordu. Bana Inform 7'yi hatırlatıyor
      Kodun görsel olarak bileşenlere bağlanması sayesinde, bir düğmeye tıklayınca ya da bir metin alanına yazınca bu kod parçasının şu davranışı ürettiği hissi çok netti. Üstelik HyperCard ortamı nesne kalıcılığını da uyguluyordu; bu yüzden dosya işleme kodu ya da “durum kaydetme” özelliğini elle yazmanız gerekmiyordu, bu da çok kullanışlıydı. Elbette bu anlam modeli yüzünden bir stack'i bozarsanız sebebini bulup düzeltmek zor olabiliyordu, ama genel olarak bakınca şeffaf nesne kalıcılığı büyük bir avantajdı
      Ayrıca bir Mac'iniz varsa kelimenin tam anlamıyla zaten oradaydı. Apple bunu kısa bir süre için $49.95'lık bağımsız bir ürün olarak sattıktan sonra yaklaşık 10 yıl boyunca tüm yeni Mac'lerle birlikte vermeye başladı. System 6, 7, 8, 9 yüklü bir Mac'te HyperCard vardı ve o dönemde Apple IIGS'e de dahildi. Sınırlarına rağmen HyperCard ile yapılmış epeyce ciddi uygulamalar gördüğümü de hatırlıyorum
      Her şeyden önemlisi HyperCard, kişisel bilgisayarları, bilgisayarın doğrudan bir BASIC yorumlayıcısıyla açıldığı dönemlerden sonra kaybedilen bir anlamda yeniden kişisel hale getirdi ve bu çok iyi bir şeydi. Bu açıklama yetmezse şu alıntıya bakabilirsiniz: http://www.cvxmelody.net/HyperCard%20IIGS%201.1%20-%20The%20...
      1. sınıftayken HyperCard benim için erken dönem yazılım geliştirme gibiydi. Okuldan sonra saatlerce oyunlar ve seçmeli maceralar yapıyor, goto ifadeleri, döngüler, animasyonlar ve “buna tıklayınca şu sesi çal ve bu sayfaya git” gibi basit işlevler ekliyordum. Tamamen içine çekilmişti beni; muhtemelen bu, BBS geliştirmeye olan tutkumun da başlangıcı oldu
    • Web ya da Flash'tan bile önceydi. Programcı olmayanlar için nispeten basit bir multimedya/etkileşimli üretim aracıydı ve WYSIWYG düzen sunuyordu. Veritabanlarıyla etkileşimden çocuklar için okul hikâyelerine kadar her türlü şey HyperCard ile yapılabiliyordu
    • HyperCard ve birbirine bağlı kartlar fikriyle ilk karşılaştığımda, yani hipermetin adeta aklımı uçurmuştu. Muhtemelen birçok insan için de, farkında olmasalar bile, hipermetinle ilk tanışma buydu. O dönemin Adobe Flash'ıydı
    • Evet, bence öyleydi
      Sınırlı olsa da GUI oluşturmayı PowerPoint kullanmak kadar karmaşık hale indiren RAD bileşenleri eklenmiş, iyi tasarlanmış Smalltalk benzeri bir dildi. “Zeki” bir çocuğa verildiğinde çok az açıklamayla en azından etkileşimli kurgu yapabilirdi. HyperCard stack'lerinin çoğu, düğmelerin goto ifadesi çağırıp başka kartlara atladığı doğrusal olmayan PowerPoint slayt desteleri olarak görülebilirdi
  • 90'larda çocuktum ve aile Mac'inde çalışan çeşitli küçük oyunlar ile programlara dair belirsiz anılarım var. İlk Mac muhtemelen bir Mac SE'ydi. Şimdi dönüp bakınca, bunlar büyük ihtimalle HyperCard programlarıydı
    Siyah bir kedi hakkında etkileşimli bir resimli kitap gibi bir şey vardı; adını unuttum ama Macintosh Garden'da olduğunu biliyorum ve %99 olasılıkla HyperCard'dı. Babam bana Soroban adlı bir program vermişti; temelde bir abaküstü ve sanırım size basit aritmetik sorular veriyor, siz de abaküsle hesaplayıp cevabı buluyordunuz. Belki de bunu babam kendisi yazmıştı ama emin değilim. Ne yazık ki artık abaküs kullanmayı hatırlamıyorum. O dönemde karşılaştığınız az bilinen HyperCard programlarının neler olduğunu merak ediyorum

  • Bunu da not etmekte fayda var: Carson Gross, HyperCard'dan ilham alan bir dil olan hyperscript[0]'i yaptı ve bu dil tarayıcıda yorumlanıyor
    Aynı Carson Gross, htmx[1]'i de yaptı. Ayrı projeler ama birlikte iyi çalışıyorlar
    [0]https://hyperscript.org/
    [1]https://htmx.org/

  • Aman tanrım, burada 30 yıl önce yaptığım bir stack var! Ne yazık ki simülatörde düzgün çalışmıyor

    • Bunun hangi stack olduğunu merak ettim. Nostalji olsun diye kurcalamak isterseniz bugünlerde başka çalıştırma yöntemleri de var ve HC Simulator'un yapımcısı da düzgün çalışmayan şeyleri düzeltme konusunda epey hızlı tepki veriyor
  • Aklıma takılıp duran bir soru var. O dönemde HyperCard’ın yaptığı şeyi bugün birebir yapan modern araç hangisi? HTML/JavaScript mi?

    • HTML/JavaScript’in, HyperCard ile aynı anlamda bir “araç” olduğunu düşünmüyorum.
      HyperCard’ın asıl gücü, sıradan kullanıcıların, yani programcı olmayanların, işaretleyip tıklayarak ve İngilizceye benzeyen bir betik dili olan HyperTalk aracılığıyla kendi uygulamalarını — HyperCard terminolojisinde “stack”lerini — yapabilmesini sağlamasıydı.
      Kullanıcıların kendi uygulamalarını yapabilmesi gerektiği fikrinden büyük ölçüde vazgeçtiğimiz için, HyperCard’a denk düşen popüler bir modern analog yok. Yine de bunu denemeyi sürdürenler var. Örneğin LiveCode, doğrudan HyperCard’dan esinlenmiş ticari bir ürün; CardStock ise İngilizce benzeri bir dil yerine temel betik dili olarak Python kullanan açık kaynaklı bir HyperCard klonu.
      https://livecode.com/
      https://github.com/benjie-git/CardStock
    • Pek çok kişi bu soruyu sordu. Web için GUI builder’lar da dahil olmak üzere basit GUI oluşturma araçları epey var, ama HyperCard’ın yakaladığı talep ve arzın o kusursuz kesişim noktası yüzünden bunların hiçbiri kitleselleşmedi.
      HyperCard çıktığında her Mac’le birlikte geliyordu, ücretsizdi ve Mac üzerinde ona benzeyen başka bir şey yoktu. Alternatif, GUI builder olmadan kodla UI widget’larını yerleştirmek ya da daha sonra CodeWarrior gibi profesyonel IDE’lere yüklü para ödemekti. Bütçesi olmayan yeni kullanıcılar Mac için bir GUI builder istiyorsa ya HyperCard kullanıyordu ya da hiçbir şey kullanamıyordu; bu da HyperCard tutkunlarından oluşan bir topluluk yarattı.
      Ayrıca o dönemde Mac’in standart bir ekran çözünürlüğü vardı. Satılan tüm Mac’ler 512x342 piksel çözünürlüğe sahipti; bu yüzden kartın herhangi bir Mac’te nasıl görüneceğini kesin olarak biliyordunuz. Yeniden boyutlandırılabilir GUI desteği, her GUI builder’daki en zor işlerden biridir. Sebebi de ekran telefon gibi çok küçüldüğünde ya da 16:9 monitör gibi çok genişlediğinde düğmelerin nasıl yerleştirileceği gibi sorunlardır. Bugün Xcode, geliştiricilerin GUI içinde yeniden boyutlandırılabilir UI yapabilmesi için gelişmiş bir constraint solver / theorem prover kullanıyor ve bence oldukça iyi çalışıyor; ama “düğmeyi ekrana sürükleyip bırakırsın ve her yerde tam öyle görünür” yaklaşımı kadar öğrenmesi kolay olamaz.
      Günümüzde HyperCard olmak isteyen araçlar için gerçekten öldürücü son neden şu: bir web GUI builder’dan ham HTML/CSS’e geçiş mesafesi kısa. Profesyonel seviyede HTML, CSS ve JavaScript’e erişmek için yüklü para ödemeniz gerekmiyor. Öğrenmesi kolay değil ama bir çocuğa interaktif web sayfası yazmayı öğretmek gayet mümkün.
      Bu yüzden basit GUI builder’lara olan talep, HyperCard dönemine göre daha düşük; kullanıcı kazansalar bile kullanıcılar ürünü kısa sürede aşıp mezun olma eğiliminde; ayrıca rekabet de inanılmaz fazla olduğu için hiçbir aracın gerçek çekim gücüne sahip bir topluluk kurması kolay değil.
    • HyperCard daha kısıtlıydı ve bu kısıtlar yaratıcı çözümleri zorunlu kılıyordu. Aynı zamanda erişilebilirlik açısından HTML/JS’yi çok geride bırakıyordu. Yine de en yakın benzetme belki de HTML/JS olabilir.
      Sadece HTML ile sınırlı kalsak bile, bir şeyler üretmenin keyfi HyperCard’ın çok gerisinde kalıyor.
    • Bir örnek olarak şu var: https://internet-janitor.itch.io/decker
      Temelde biraz HyperCard’a benziyor da sayılabilir. Düşük çözünürlüklü bir hissi var ama içinde renk de var.
    • Bence böyle bir araç yok. Bunun nedeni bugün HyperCard’ın yaptığına “benzer işler” yapan araçların olmaması değil; bunun yerine, böyle araçların bu kadar doğal ve merkezi biçimde oturacağı kişisel bilişim ortamının artık kalmamış olması.
      HyperCard, kişisel bilgisayar kullanıcılarının bilgisayar kullanmanın ne demek olduğunu hâlâ öğrenmekte olduğu bir dönemde çıktı. Son kullanıcı programlamasının ve HyperCard gibi dönüştürülebilir sistemlerin öncülük edebileceği an tam da buydu. OpenDoc için de belli ölçüde benzer bir şey söylenebilir, ama biraz farklı.
      Şirketlerin gözünden bakınca HyperCard tam olarak neydi? Bilgisayar kullanıcılarının kendi temel uygulamalarını doğrudan yapabilmesini sağlamanın bir yolu mu? O zaman para kazanmayı nasıl sürdüreceksiniz? Bilgisayarın geliştirici topluluğu ne olacak? Bu tür ticari kaygılar nedeniyle, bugün kullanıcıların kişisel bilişimle kurduğu ilişki ve bilişim ortamını değiştirmek için kullandığımız araçlar, tüketim modeli tarafından güçlü biçimde belirleniyor ve kullanıcı ile programcı arasında keskin bir ayrım bulunuyor.
      Bugün gerçek bir HyperCard karşılığının olmamasının sebebi, kişisel bilişimin başka bir yöne gitmiş olması.
  • Bu, Decker ile kıyaslandığında nasıl?
    https://beyondloom.com/decker/index.html

    • HyperCard Simulator, tarihsel HyperCard stack’leri ve HyperTalk betik diliyle uyumluluğu hedefleyen merkezi bir web tabanlı hizmet.
      Decker ise bazı yönlerden HyperCard’a benzeyen açık kaynaklı, bağımsız çalışan bir uygulama; ancak APL’den türemiş kendine özgü bir betik dili kullanması gibi ayrıntılarda oldukça farklı. Decker, HyperCard stack’leriyle uyumlu olacak şekilde tasarlanmadı.
    • Bu simülatörü oturup düzgünce kullanma fırsatım henüz olmadı, ama hem Decker’ı hem de HyperCard’ı kullanmış biri olarak Decker’ın yeni başlayanlar için öğrenme eğrisi çok daha dik.