1 पॉइंट द्वारा GN⁺ 2024-06-27 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 टिप्पणियां

 
GN⁺ 2024-06-27
Hacker News की राय
  • थोड़ा अफसोस है कि HyperCard मेरे दौर से पहले था। अगर बचपन में इसके बारे में पता होता, तो शायद मैं कुछ और करता ही नहीं; emulator में इसे आज़माकर देखा तो काफ़ी मज़ेदार लगा
    लोगों के लिए programming को आसान बनाने की शुरुआती कोशिशें मुझे अच्छी लगती हैं। बहुत कम हद तक सही, लेकिन पहली बार इस्तेमाल करने पर Flash animation tool ने भी कुछ वैसा ही एहसास दिया था; C++ में OpenGL या SDL जोड़कर देखने की तुलना में यह कहीं ज़्यादा सीधे हाथ में आने वाला था, और कुछ बनाना सचमुच मज़ेदार लगता था। Flash के बाद development करते हुए उतना मज़ेदार tool मुझे नहीं मिला। GameMaker भी शानदार है और अभी भी मज़ेदार है, लेकिन Flash जितना smooth या “कुछ भी किया जा सकता है” वाला एहसास कम देता है। शायद बस मैं बूढ़ा हो गया हूँ

    • मुझे अब भी लगता है कि HyperCard end-user apps बनाने के लिए इतिहास का सबसे productive development environment है
    • और Macromedia Director भी था। आजकल software से प्यार हो जाना सच में बहुत दुर्लभ हो गया है
    • अगर आप आसान digital interactive चीज़ें ढूंढ रहे हैं, तो p5.js आपको पसंद आ सकता है। https://p5js.org/
      Flash के विकल्प आने से पहले ही Flash तेज़ी से गायब हो गया, और जब Flash गया तो यह बहुत साफ़ था कि अगर उस समय का HTML5 ही भविष्य और तुरंत विकल्प था, तो हमारी हालत खराब थी। अगली बार कुछ बनाने के लिए tool ढूंढूं तो Flutter, Flash के उस वादे को आगे बढ़ाता लगता है कि एक ही codebase हर जगह चले। इसके अलावा जिन technologies से उम्मीद है वे WebAssembly और कुछ हद तक Rust हैं
    • P5js और Processing देखिए, शायद वह कमी कुछ हद तक पूरी हो जाए
  • link पर mouse ले जाने पर cursor का हाथ के icon में बदलना सीधे HyperCard से प्रेरित था। कई मायनों में browser को HyperCard stack का विकसित रूप कहा जा सकता है

    • सोचता हूँ, अगर HyperCard में networking built-in होती, तो क्या तब भी web बनता?
  • बचपन में HyperCard और SuperPaint मेरे Lego थे। मेरे पिता scientist थे जिन्हें calculations चलाने के लिए Macintosh चाहिए था, इसलिए उस समय मैं उन बहुत कम बच्चों में था जिनके परिवार के पास computer था
    HyperCard से मैंने ढेरों छोटी-छोटी devices बनाईं, और black-and-white monitor apps व सिर्फ monochrome से patterns बनाने के उसके मज़ेदार तरीकों से मुझे बहुत लगाव है

    • मेरा अनुभव भी मिलता-जुलता था। मेरे parents teachers थे, और मेरे पिता Mac lab संभालते थे, हालांकि वे Mac में खास माहिर नहीं थे। फिर भी गर्मियों में computers खाली पड़े रहते थे, इसलिए वे एक घर ला सकते थे; पहले Apple IIe, बाद में शुरुआती Mac इस्तेमाल किया। HyperCard में खेलते हुए मैंने सच में बहुत समय बर्बाद किया
      मेरा पहला 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 बनाना कितना संभव है

    • hamburger menu में “New Stack...” है
      login भी किया जा सकता है
      https://hcsimulator.com/mmphosis/Stack
    • नया card बनाइए, फिर buttons बनाइए जो अगले card या linear card stack में आपकी चुनी हुई जगह से link हों। transitions, effects और timing को शानदार pixelated editor में संभाला जा सकता है
  • HyperCard के दौर को अनुभव करने के लिए मैं बहुत छोटा था, इसलिए जानना चाहता हूँ कि इसका मुख्य आकर्षण क्या था। क्या यह तकनीक की accessibility थी, या बस यह सचमुच बहुत अच्छी तरह execute किया गया product था?

    • दोनों ही थे। HyperCard ने सरल रूपक और syntax के जरिए GUI की ताकत users के हाथ में दे दी थी। भाषा इतनी English जैसी थी कि लिखना आसान लगे, लेकिन इतनी भी नहीं कि आप भ्रम में पड़ जाएँ कि इससे वे काम भी हो जाएँगे जो असल में संभव नहीं हैं। Inform 7 याद आता है
      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...
    • 5वीं कक्षा में HyperCard मेरे लिए शुरुआती software development जैसा था। स्कूल के बाद घंटों games और choose-your-own-adventure बनाता था, और goto statements, loops, animations, “click करने पर यह sound play करो और इस page पर जाओ” जैसे simple functions डाल सकता था। मैं पूरी तरह उसमें डूब गया था, और शायद वही BBS development के passion तक ले गया होगा
    • यह web या Flash से भी पहले की बात थी। Non-programmers के लिए अपेक्षाकृत simple multimedia/interactive authoring tool था, जिसमें WYSIWYG layout था। Database से interact करने के तरीकों से लेकर बच्चों की school stories तक, HyperCard से हर तरह की चीजें बनाई जा सकती थीं
    • जब मैंने पहली बार HyperCard और linked cards का concept देखा, यानी hypertext, तो दिमाग उड़ गया था। बहुतों के लिए भी शायद वह hypertext से पहला परिचय रहा होगा, बस उन्हें इसका एहसास नहीं था। वह अपने समय का Adobe Flash था
    • मुझे भी ऐसा ही लगता है
      यह एक अच्छी तरह बना 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 में ठीक से काम नहीं करता

    • जानना चाहूँगा कि कौन सा stack है। अगर nostalgia के लिए उसे चलाकर देखना चाहें, तो आज भी उसे run करने के दूसरे तरीके हैं, और HC Simulator के creator भी जो चीजें ठीक से काम नहीं करतीं उन्हें fix करने में काफी तेजी से respond करते हैं
  • एक सवाल है जो लगातार दिमाग में अटका रहा। आज ऐसा कौन-सा modern tool है जो वही काम करता है जो उस समय HyperCard करता था? क्या वह HTML/JavaScript है?

    • मुझे नहीं लगता कि HTML/JavaScript उसी अर्थ में “tool” है जिस अर्थ में HyperCard था
      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
    • कई लोगों ने यह सवाल पूछा है। Web के लिए GUI builders समेत कई simple GUI builder tools हैं, लेकिन HyperCard ने demand और supply के जिस बेहतरीन sweet spot को साधा था, उसकी वजह से उनमें से कोई भी mainstream नहीं हुआ
      जब 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 बनाना मुश्किल है
    • HyperCard ज्यादा सीमित था, और वही सीमाएँ creative solutions को मजबूर करती थीं। साथ ही इसकी accessibility HTML/JS से कहीं बेहतर थी। फिर भी शायद सबसे करीबी analogy HTML/JS ही हो
      सिर्फ HTML तक सीमित करें तब भी बनाने का मज़ा HyperCard से काफी कम है
    • एक उदाहरण यह है: https://internet-janitor.itch.io/decker
      मूल रूप से यह HyperCard जैसा थोड़ा दिखता भी है। Low-resolution feel है, लेकिन अंदर colors भी हैं
    • मेरी राय में ऐसा कोई tool नहीं है। इसलिए नहीं कि आज ऐसा कोई tool नहीं है जो HyperCard के “मिलते-जुलते काम” करता हो, बल्कि इसलिए कि अब वह personal computing environment ही नहीं है जिसमें ऐसा tool इतना natural और core fit बैठता
      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

    • HyperCard Simulator एक centralized web-based service है जिसका लक्ष्य historical HyperCard stacks और HyperTalk scripting language के साथ compatibility है
      Decker एक open source standalone app है जो कुछ मायनों में HyperCard जैसा है, लेकिन details में काफी अलग है, जैसे यह APL से निकली अपनी scripting language इस्तेमाल करता है। Decker को HyperCard stacks के साथ compatible होने के लिए design नहीं किया गया है
    • मुझे अभी इस simulator को बैठकर ठीक से इस्तेमाल करने का मौका नहीं मिला, लेकिन Decker और HyperCard दोनों इस्तेमाल कर चुके व्यक्ति के तौर पर, Decker की learning curve beginners के लिए कहीं ज्यादा steep है