HyperCard Simülatörü
(hcsimulator.com)- 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
mouseUpgibi 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 Pantechniconbö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
beepya dago next cardgibi işlemler gerçekleştirebilir - Örnek mesaj işleyicisi
on mouseUpiçindebeepçalıştırır, sonraki karta gider veend mouseUpile biter
1 yorum
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
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
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
Ç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
İ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
Giriş yapmak da mümkün
https://hcsimulator.com/mmphosis/Stack
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ü?
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...
gotoifadeleri, 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ı olduSı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
gotoifadesi çağırıp başka kartlara atladığı doğrusal olmayan PowerPoint slayt desteleri olarak görülebilirdi90'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
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?
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
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.
Sadece HTML ile sınırlı kalsak bile, bir şeyler üretmenin keyfi HyperCard’ın çok gerisinde kalıyor.
Temelde biraz HyperCard’a benziyor da sayılabilir. Düşük çözünürlüklü bir hissi var ama içinde renk de var.
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
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ı.