HyperCard Simulator
(hcsimulator.com)- HyperCard Simulator एक वेब-आधारित सिम्युलेटर है, जिसमें क्लासिक HyperCard स्टैक को आधुनिक वेब पर इम्पोर्ट करके चलाकर देखा जा सकता है
- स्टैक क्रमबद्ध कार्ड के बंडल की तरह काम करता है, और कार्ड जोड़ना·हटाना संभव है; अकाउंट के ज़रिए इन्हें ऑनलाइन साझा भी किया जा सकता है
- कार्ड में बटन और फ़ील्ड रखे जा सकते हैं, और बैकग्राउंड में बनाए गए एलिमेंट्स को कई कार्डों पर दोहराते हुए हर कार्ड का टेक्स्ट अलग रखा जा सकता है
- एडिटिंग सीधे कार्ड पर की जाती है, और pencil·paint bucket के साथ black-and-white·transparent pattern द्वारा सरल पेंटिंग को सपोर्ट किया जाता है
- इसे स्क्रिप्ट के बिना भी इस्तेमाल किया जा सकता है, लेकिन message box और Script Editor के ज़रिए xTalk commands और
mouseUpजैसे message handlers को संभाला जा सकता है
वेब पर चलने वाले HyperCard स्टैक
- HyperCard Simulator क्लासिक HyperCard स्टैक को इम्पोर्ट करके ब्राउज़र में चलाने देता है
- निर्माता ने HyperCard बनाने वालों से माफ़ी जताते हुए कहा है कि इसे उन्होंने फुर्सत के समय इस बात को देखने के लिए बनाया कि आधुनिक वेब पर HyperCard कैसे काम करेगा
- संबंधित संसाधनों के रूप में hypercard.org, Merveilles HyperJam, Internet Archive से लिंक दिए गए हैं
- और अधिक स्टैक खोजने के लिए
More stacks,A Few More Stacks,The "B–Roll",Collected Stacks,Lots More Stacks,The HyperCard Pantechniconउपलब्ध हैं
कार्ड और बैकग्राउंड-केंद्रित एडिटिंग मॉडल
- HyperCard स्टैक क्रम से पलटे जाने वाले कार्ड डेक जैसा है, और उपयोगकर्ता स्टैक में कार्ड जोड़ या हटा सकते हैं
- HyperCard स्टैक को अपने-आप सेव करता था, और इस सिम्युलेटर में अकाउंट बनाकर इन्हें ऑनलाइन साझा किया जा सकता है
- हर कार्ड में बटन और फ़ील्ड हो सकते हैं
- उपयुक्त टूल चुनने के बाद drag और resize करके एडिट किया जाता है
- बटन और फ़ील्ड कार्ड या बैकग्राउंड, दोनों पर बनाए जा सकते हैं
- properties को double-click या long-press से खोला जा सकता है
- बैकग्राउंड भाग कई कार्डों पर दोहराकर लागू होता है
- हर कार्ड के अपने parts और text हो सकते हैं
- हर कार्ड का एक बैकग्राउंड होता है, और बैकग्राउंड कार्ड समूह के पीछे की layer है
- एक ही बैकग्राउंड इस्तेमाल करने वाले हर कार्ड में बैकग्राउंड फ़ील्ड के भीतर कार्ड-विशेष टेक्स्ट रखा जा सकता है
पेंटिंग और स्क्रिप्टिंग
- पेंटिंग सीधे कार्ड पर की जाती है
- pencil या paint bucket का इस्तेमाल किया जा सकता है
- black के लिए Shift, white के लिए Option, और transparent के लिए Option+Shift pattern का इस्तेमाल होता है
- स्क्रिप्टिंग अनिवार्य नहीं है, लेकिन सिम्युलेटर की अपनी स्क्रिप्ट देखकर सीखी जा सकती है
- message box xTalk expressions और commands को evaluate करता है
- Script Editor को Information dialog से खोला जा सकता है, या Command-Option-click, touch-hold, और Shift दबाकर double-click से एक्सेस किया जा सकता है
- स्क्रिप्ट उपयोगकर्ता द्वारा भेजे गए messages लेकर
beepयाgo next cardजैसी क्रियाएँ चला सकती है - उदाहरण message handler
on mouseUpमेंbeepचलाता है, फिर अगले कार्ड पर जाता है औरend mouseUpपर समाप्त होता है
1 टिप्पणियां
Hacker News की राय
थोड़ा अफसोस है कि HyperCard मेरे दौर से पहले था। अगर बचपन में इसके बारे में पता होता, तो शायद मैं कुछ और करता ही नहीं; emulator में इसे आज़माकर देखा तो काफ़ी मज़ेदार लगा
लोगों के लिए programming को आसान बनाने की शुरुआती कोशिशें मुझे अच्छी लगती हैं। बहुत कम हद तक सही, लेकिन पहली बार इस्तेमाल करने पर Flash animation tool ने भी कुछ वैसा ही एहसास दिया था; C++ में OpenGL या SDL जोड़कर देखने की तुलना में यह कहीं ज़्यादा सीधे हाथ में आने वाला था, और कुछ बनाना सचमुच मज़ेदार लगता था। Flash के बाद development करते हुए उतना मज़ेदार tool मुझे नहीं मिला। GameMaker भी शानदार है और अभी भी मज़ेदार है, लेकिन Flash जितना smooth या “कुछ भी किया जा सकता है” वाला एहसास कम देता है। शायद बस मैं बूढ़ा हो गया हूँ
Flash के विकल्प आने से पहले ही Flash तेज़ी से गायब हो गया, और जब Flash गया तो यह बहुत साफ़ था कि अगर उस समय का HTML5 ही भविष्य और तुरंत विकल्प था, तो हमारी हालत खराब थी। अगली बार कुछ बनाने के लिए tool ढूंढूं तो Flutter, Flash के उस वादे को आगे बढ़ाता लगता है कि एक ही codebase हर जगह चले। इसके अलावा जिन technologies से उम्मीद है वे WebAssembly और कुछ हद तक Rust हैं
link पर mouse ले जाने पर cursor का हाथ के icon में बदलना सीधे HyperCard से प्रेरित था। कई मायनों में browser को HyperCard stack का विकसित रूप कहा जा सकता है
बचपन में HyperCard और SuperPaint मेरे Lego थे। मेरे पिता scientist थे जिन्हें calculations चलाने के लिए Macintosh चाहिए था, इसलिए उस समय मैं उन बहुत कम बच्चों में था जिनके परिवार के पास computer था
HyperCard से मैंने ढेरों छोटी-छोटी devices बनाईं, और black-and-white monitor apps व सिर्फ monochrome से patterns बनाने के उसके मज़ेदार तरीकों से मुझे बहुत लगाव है
मेरा पहला computer Apple II GS भी “Apple for a Teacher” program के तहत teachers को भारी discount पर मिल सकता था। वह color monitor के साथ Mac के पूर्ववर्ती जैसा machine था। 3-2-1 Contact magazine की creative writing contest में मुझे पसंद के 5 games prize के रूप में मिले, और बाकी समय वे games खेलने के लिए computer चाहिए, यह बात मैं अपने parents को मनवा पाया
नोट: ऊपर दाईं ओर window maximize box दबाने पर HyperCard Editor में zoom out हो जाता है
अभी भी यह समझ रहा हूँ कि खाली deck से कैसे शुरू किया जाए, और मेरी skills साफ़ तौर पर जंग खा चुकी हैं। यह भी जानना चाहूँगा कि इससे पूरी HyperCard-based website बनाना कितना संभव है
login भी किया जा सकता है
https://hcsimulator.com/mmphosis/Stack
HyperCard के दौर को अनुभव करने के लिए मैं बहुत छोटा था, इसलिए जानना चाहता हूँ कि इसका मुख्य आकर्षण क्या था। क्या यह तकनीक की accessibility थी, या बस यह सचमुच बहुत अच्छी तरह execute किया गया product था?
Widgets पर code को visually जोड़ने का तरीका था, इसलिए button click करने या text field में input देने पर यह साफ महसूस होता था कि code का यह टुकड़ा वह behavior बना रहा है। इसके अलावा HyperCard environment ने object persistence भी implement किया था, इसलिए file handling code या “state save” feature खुद लिखने की जरूरत नहीं पड़ती थी, जो उपयोगी था। हाँ, उन semantics की वजह से अगर stack खराब कर देते तो वजह ढूँढना और ठीक करना मुश्किल हो सकता था, लेकिन कुल मिलाकर transparent object persistence बड़ा फायदा था
और अगर आपके पास Mac था, तो यह सचमुच वहीं मौजूद होता था। Apple ने थोड़े समय के लिए इसे $49.95 के standalone product के रूप में बेचा, फिर करीब 10 साल तक हर नए Mac के साथ bundle करना शुरू कर दिया। System 6, 7, 8, 9 वाले Mac में HyperCard होता था, और उसी दौर में Apple IIGS में भी शामिल था। सीमाओं के बावजूद मुझे याद है कि HyperCard में काफी non-trivial apps भी implement किए गए थे
सबसे बढ़कर, HyperCard ने personal computing को फिर से personal बना दिया, उस तरह से जो उस दौर के बाद खो गया था जब computers सीधे BASIC interpreter में boot होते थे, और यह बहुत अच्छी बात थी। अगर यह explanation पर्याप्त न हो तो यह excerpt देख सकते हैं: http://www.cvxmelody.net/HyperCard%20IIGS%201.1%20-%20The%20...
यह एक अच्छी तरह बना Smalltalk जैसा language था, जिसमें सीमित सही, लेकिन RAD components जुड़े थे, जिन्होंने GUI बनाना PowerPoint इस्तेमाल करने जितनी complexity तक घटा दिया था। किसी “smart” बच्चे को दे दें तो बहुत कम explanation से वह कम से कम interactive fiction बना सकता था। HyperCard stacks की बड़ी संख्या को non-linear PowerPoint slide decks की तरह देखा जा सकता था—ऐसे cards जिनमें buttons goto statements call करके दूसरे cards पर jump करते थे
मैं 90s में बच्चा था, और family Mac पर चलने वाले कई छोटे games और programs की धुंधली यादें हैं। पहला Mac शायद Mac SE था। अब सोचता हूँ तो वे शायद HyperCard programs थे
एक interactive picture book जैसी चीज थी, एक black cat के बारे में; नाम भूल गया हूँ, लेकिन मुझे पता है कि वह Macintosh Garden पर है, और 99% लगता है कि वह HyperCard था। पिता ने मुझे Soroban नाम का program दिया था, जो basically abacus था; शायद वह simple arithmetic problems देता था और आपको abacus से calculate करके जवाब निकालना होता था। हो सकता है पिता ने खुद लिखा हो, लेकिन पक्का नहीं। अफसोस, अब मुझे abacus इस्तेमाल करना याद नहीं है। उस दौर में जिन कम-ज्ञात HyperCard programs से सामना हुआ था, वे क्या थे, यह जानने की curiosity है
ध्यान देने लायक: Carson Gross ने HyperCard से inspired language _hyperscript[0] बनाई, और यह language browser में interpret होती है
उसी Carson Gross ने htmx[1] भी बनाया। दोनों अलग projects हैं, लेकिन साथ में अच्छी तरह fit होते हैं
[0]https://hyperscript.org/
[1]https://htmx.org/
अरे वाह, इसमें वह stack है जो मैंने 30 साल पहले बनाया था! दुर्भाग्य से simulator में ठीक से काम नहीं करता
एक सवाल है जो लगातार दिमाग में अटका रहा। आज ऐसा कौन-सा modern tool है जो वही काम करता है जो उस समय HyperCard करता था? क्या वह HTML/JavaScript है?
HyperCard की असली ताकत इसमें थी कि इसने सामान्य users, यानी non-programmers, को pointing और clicking, और English जैसी scripting language HyperTalk के ज़रिए अपने apps—HyperCard की शब्दावली में “stacks”—बनाने की सुविधा दी
हमने broadly यह विचार छोड़ दिया है कि users को अपने apps बनाने में सक्षम होना चाहिए, इसलिए HyperCard का कोई popular modern analogue नहीं है। फिर भी कुछ लोग लगातार कोशिश कर रहे हैं। उदाहरण के लिए LiveCode, HyperCard से सीधे प्रेरित एक commercial product है, और CardStock एक open source HyperCard clone है जो English जैसी language के बजाय Python को basic scripting language के रूप में इस्तेमाल करता है
https://livecode.com/
https://github.com/benjie-git/CardStock
जब HyperCard आया था, वह हर Mac में included था, free था, और Mac पर उसके जैसा कुछ नहीं था। विकल्प थे: GUI builder के बिना code से UI widgets रखना, या बाद में CodeWarrior जैसे professional IDE के लिए बड़ी रकम चुकाना। बिना budget वाला beginner user अगर Mac के लिए GUI builder चाहता, तो या तो HyperCard इस्तेमाल करता या कुछ भी नहीं कर पाता; इसी ने HyperCard enthusiasts की community बनाई
साथ ही उस समय Mac की standard screen resolution थी। बिकने वाले सभी Macs की resolution 512x342 pixels थी, इसलिए यह निश्चित रूप से पता होता था कि किसी भी Mac पर card कैसा दिखेगा। Resizable GUI support किसी भी GUI builder में सबसे कठिन कामों में से एक है। वजह है कि screen phone जितनी छोटी हो जाए या 16:9 monitor जितनी चौड़ी, तो buttons कैसे रखे जाएँ जैसे सवाल। आज Xcode developers को GUI में resizable UI बनाने देने के लिए sophisticated constraint solver/theorem prover का इस्तेमाल करता है, और मुझे लगता है कि यह काफी अच्छा काम करता है, लेकिन यह “button को screen पर drag करके छोड़ो और वह हर जगह बिल्कुल वैसा ही दिखेगा” जितना सीखने में आसान नहीं हो सकता
Modern HyperCard बनने की कोशिश करने वाले tools के लिए आखिरी सचमुच घातक कारण यह है कि web GUI builder से raw HTML/CSS तक जाने की दूरी छोटी है। Professional-grade HTML, CSS, JavaScript तक पहुँचने के लिए बड़ी रकम देने की जरूरत नहीं है। सीखना आसान नहीं है, लेकिन किसी बच्चे को interactive webpage लिखना सिखाने में कोई समस्या नहीं है
इसलिए simple GUI builder की demand HyperCard के समय की तुलना में कम है, और भले ही वे users को आकर्षित कर लें, users जल्द ही product से आगे निकल जाते हैं; competition भी बेहद ज्यादा है, इसलिए किसी भी tool के लिए वास्तविक traction वाली community बनाना मुश्किल है
सिर्फ HTML तक सीमित करें तब भी बनाने का मज़ा HyperCard से काफी कम है
मूल रूप से यह HyperCard जैसा थोड़ा दिखता भी है। Low-resolution feel है, लेकिन अंदर colors भी हैं
HyperCard उस दौर में आया था जब personal computer users अभी सीख ही रहे थे कि computer use करना क्या होता है। वही क्षण था जब end-user programming और HyperCard जैसे malleable systems lead कर सकते थे। OpenDoc के बारे में भी कुछ हद तक ऐसा कहा जा सकता है, हालांकि वह थोड़ा अलग है
Corporate perspective से देखें तो HyperCard आखिर था क्या? Computer users को अपने basic apps बस खुद बना लेने देने का तरीका? तो फिर पैसा कैसे कमाते रहें? Computer की developer community का क्या होगा? ऐसे commercial concerns की वजह से आज users जिस तरह personal computing में हिस्सा लेते हैं और जिन tools से हम computing environment को manipulate करते हैं, वे सभी consumption model से बहुत strongly defined हैं, और users और programmers के बीच मजबूत separation मौजूद है
आज असली HyperCard counterpart न होने की वजह यह है कि personal computing दूसरी दिशा में चला गया
Decker से तुलना करें तो यह कैसा है?
https://beyondloom.com/decker/index.html
Decker एक open source standalone app है जो कुछ मायनों में HyperCard जैसा है, लेकिन details में काफी अलग है, जैसे यह APL से निकली अपनी scripting language इस्तेमाल करता है। Decker को HyperCard stacks के साथ compatible होने के लिए design नहीं किया गया है