1 पॉइंट द्वारा GN⁺ 2024-05-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Decker एक मल्टीमीडिया प्लेटफ़ॉर्म है जिसमें साउंड, इमेज, हाइपरटेक्स्ट और scripted actions को एक ही डॉक्युमेंट में रखकर बनाया और शेयर किया जा सकता है, और इसे सीधे ब्राउज़र में आज़माया जा सकता है
  • HyperCard और classic MacOS की visual feel बनाए रखते हुए इसमें deep undo, scroll wheel और touchscreen support, आधुनिक keyboard navigation और batch editing जोड़े गए हैं
  • इससे E-Zine, notes, presentations, adventure games, 1-bit pixel art जैसे काम बनाए जा सकते हैं, और तैयार deck को standalone .html डॉक्युमेंट के रूप में सेव किया जा सकता है
  • जटिल projects को Lua और Q से प्रभावित Lil के साथ extend किया जा सकता है, जबकि widgets, clipboard sharing और text-based document format reuse और version control में मदद करते हैं
  • विज्ञापन, telemetry, gamification या slop-generator integration के बिना यह MIT-licensed free open source tool है, जो GitHub source और Itch.io binaries distribution देता है

HyperCard वाली feel के interactive documents बनाना

  • Decker एक multimedia platform है जिससे sound, images, hypertext और scripted actions वाले interactive documents बनाए और share किए जा सकते हैं
  • इसे web browser में सीधे आज़माया जा सकता है
  • यह HyperCard और classic MacOS की visual aesthetics को आगे बढ़ाता है, साथ ही HyperCard की simplicity और learning ease को बनाए रखता है
  • usability improvements का focus पुराने card-based authoring tools की feel बनाए रखते हुए modern input environments के अनुरूप बनाना है
    • Deep undo history

      • scroll wheel और touchscreen support
      • ज्यादा modern keyboard navigation
      • batch editing operations
      • बनाए जा सकने वाले examples काफी diverse हैं
      • E-Zine
      • notes organize करना
      • presentation materials
      • adventure games
      • 1-bit pixel art doodles
      • तैयार deck को web browser में self-running standalone .html document के रूप में save किया जा सकता है, और जहाँ भी web page host या embed किया जा सकता हो वहाँ share किया जा सकता है
      • Decker MacOS, Windows, BSD और Linux पर native रूप से भी चलता है

Lil, widgets और text-based development flow

  • complex projects के लिए Lil नाम की scripting language इस्तेमाल की जा सकती है
    • Lil, tools और game engines में embed होने वाली imperative language Lua से प्रभावित है
    • यह time-series databases के साथ इस्तेमाल होने वाली APL-family functional language Q से भी प्रभावित है
    • पहले से programming experience रखने वाले users के लिए familiar structure बनाए रखते हुए, इसमें implicit scalar-vector arithmetic और integrated SQL-like query language शामिल है
  • interface बनाने के लिए built-in interactive widgets का collection इस्तेमाल किया जा सकता है, और नए widgets define करना भी possible है
    • custom widgets और definitions को system clipboard से copy-paste किया जा सकता है
    • जहाँ भी text share या store किया जा सकता है, वहाँ custom widgets भी share किए जा सकते हैं
    • हर deck दूसरे projects में इस्तेमाल हो सकने वाले reusable components के collection के रूप में काम आता है
  • source से build करने पर standalone Lil interpreter Lilt भी साथ मिलता है
    • Lilt, Decker documents को read, write, manipulate और headless run कर सकता है
    • Decker की तुलना में इसकी dependencies कम हैं, इसलिए इसे cross-platform APE executable के रूप में compile किया जा सकता है
    • POSIX AWK में चलने वाला Lil interpreter भी मौजूद है
  • deck line-oriented text format में save होता है, इसलिए Git, SVN जैसे existing source management tools के साथ अच्छी तरह काम करता है
  • Decker में ads, telemetry, gamification, slop-generator integration, या user privacy और autonomy का उल्लंघन करने वाले elements नहीं हैं

Example decks और extension libraries

Source, distribution और community

  • browsable source code और bug tracker GitHub पर हैं
  • Decker MIT License के तहत free open source है
  • MacOS और Windows के लिए periodic binary releases Itch.io से मिलते हैं
  • Itch page पर Decker discussions और Decker से बने projects share करने के लिए community forum है
  • Decker-themed “Game Jams” हर साल जुलाई और दिसंबर में आयोजित होते हैं, और अगला scheduled event Decker Fantasy Camp, July 2026 है

1 टिप्पणियां

 
GN⁺ 2024-05-09
Hacker News की राय
  • सुंदर! मुझे पता है कि यहाँ जिस aesthetic को साधा जा रहा है वह है, लेकिन 1-bit graphics से बस थोड़ा आगे बढ़कर 2-bit graphics तक जाएँ तो शायद सच में पढ़ी जा सकने वाली तस्वीरें भी संभव होंगी
    मुझे इसी तरह की aesthetic वाली एक पसंदीदा साइट पता है, जहाँ सभी images अधिकतम 6 रंगों का ही इस्तेमाल करती हैं। बस हर image का palette अलग है: https://solar.lowtechmagazine.com/

    • Decker का UI मुख्यतः black-and-white है, लेकिन असल में यह user-customizable 16-color palette इस्तेमाल करता है
      community forum[0] में dithering और color photos import करने पर चर्चा है, और users रंगों का इस्तेमाल करके काफी शानदार projects[1] बना रहे हैं
      [0]: https://itch.io/t/2668739/16-color-dithered
      [1]: https://crowmorbid.itch.io/desker-deckmonth
  • खुद आज़माना भी मत भूलिए!
    https://www.beyondloom.com/decker/tour.html
    इसे देखकर हैरान कर देने वाली मीठी यादें ताज़ा हो गईं—क्या सिर्फ मेरे साथ ऐसा है? बस इतना चाहता हूँ कि mobile पर pinch zoom हो जाए

    • किसी वजह से लगता है कि यह iPhone screen का सिर्फ करीब 20% ही इस्तेमाल कर रहा है
      इतना छोटा है कि text पढ़ा नहीं जाता, और pinch zoom भी disabled है, इसलिए पास से देख भी नहीं सकते
    • हो सकता है Firefox की समस्या हो या मुझे इस्तेमाल करना न आता हो, लेकिन New Card दबाने पर सिर्फ blank screen आती है और लिखने या draw करने का कोई तरीका नहीं मिलता
  • मैं इस project की choices का सम्मान करता हूँ, लेकिन मुझे लगता है HyperCard की सबसे बड़ी कमी यह थी कि जब Mac ने color अपनाना शुरू किया, तब यह color implement नहीं कर पाया
    high school में हमारे school के सारे Mac color machines थे, लेकिन HyperCard में असली native color आखिर तक नहीं आया

    • मेरी याद भी लगभग ऐसी ही है। HyperCard खासकर बच्चों को programming से परिचित कराने के tool के रूप में बहुत popular था, लेकिन जैसे ही Quadra Mac series color लेकर आई, हर कोई color चाहता था
      HyperCard को native color update नहीं मिला, और वही feature सबको सबसे ज्यादा चाहिए था
      related product के तौर पर शायद SuperCard नाम का कोई tool था जो color देता था; मैंने इस्तेमाल किया था, लेकिन वह clunky लगा। ठीक वजह याद नहीं, पर आखिरकार वह चल नहीं पाया
      HyperTalk का limited API भी समस्या था। extensions का एक market था, और कुछ developers ने कुछ समय तक उस area पर पकड़ बनाए रखी। J5erson का क्या हुआ, सोचता हूँ। वे वाकई जबरदस्त थे
      extensions आमतौर पर Pascal में लिखे जाते थे और HyperTalk में बहुत सारी capabilities जोड़ सकते थे, इसलिए HyperCard से आगे programming explore करना चाहने वालों के लिए यह अच्छा stepping stone बना
      Decker लगता है HyperCard की simplicity और portability जैसी खूबियाँ काफी हद तक लेकर आया है। बस थोड़ा अफसोस है कि यह HyperTalk के ज्यादा करीब वाली language नहीं इस्तेमाल करता। वह language अपने आप में वाकई अच्छी थी
  • Decker मुख्यतः 1-bit है, इसलिए दिखने में HyperCard जैसा लगता है, लेकिन असल में इतना अलग है कि लगभग बिल्कुल नए सिरे से सीखना पड़ता है
    इसे इस्तेमाल करना काफी कठिन है, Lil नाम की नई और अलग language सीखनी पड़ती है, और HyperCard या MacPaint की उम्मीद करने पर जिन कई convenience features को ढूँढते हैं, वे गायब हैं
    नतीजा यह कि HyperCard artists के लिए shift करना मुश्किल है, और Infinite Mac की वजह से वे browser में HyperCard इस्तेमाल करते रहते हैं। बहुत करीब, फिर भी दूर। मिलता-जुलता, लेकिन अलग

    • अगर language सबसे अहम है, तो https://livecode.com/ HyperTalk से बहुत मिलती-जुलती language देता है और modern hardware पर भी चलता है
    • बिल्कुल पुराने जैसा तो नहीं, लेकिन browser में HyperCard https://hypercardsimulator.com पर इस्तेमाल किया जा सकता है
  • हमारे school में NASA laserdisc था जिसमें shuttle information भरी हुई थी
    वह navigation और information display के लिए HyperCard चलाने वाले Mac से जुड़ा था, और काफी cool था, पर शायद उस समय मैं उसकी उतनी कद्र नहीं कर पाया

    • ऐसी चीजें याद हैं! वह वाला तो नहीं देखा, लेकिन यह पक्का है कि images वाले शानदार mini-database जैसे HyperCard stacks इधर-उधर घूमते रहते थे
      90s के multimedia boom से पहले के शुरुआती multimedia जैसा एहसास था :-)
  • समझ नहीं आता कि Apple या Microsoft operating system में casual developers के लिए ऐसे tools बनाने पर ज्यादा मेहनत क्यों नहीं करते
    VB और Python भी ठीक हैं, लेकिन कभी-कभी छोटी applications बनाने के लिए सचमुच tailored tool चाहिए होता है

    • Apple के पास Swift Playgrounds तो है
      और SwiftUI जितना हो सके उतना आसान है
      फिर भी Xcode इस्तेमाल करने और App Store setup तक जाने के लिए अब भी कठिन settings और Xcode IDE की कुछ समझ चाहिए होती है :-)
  • HyperCard के लिए वाकई बहुत लगाव है
    मैंने इसे खुद अनुभव नहीं किया, लेकिन लगता है इसने लोगों को कई छोटे और उपयोगी टूल बनाने में सक्षम बनाया। सामान्य उपयोगिता के लिहाज से यह spreadsheet जैसा था, लेकिन इस्तेमाल का तरीका अलग लगता था
    जिन्होंने वह दौर देखा है, उनके लिए कौन-से आधुनिक टूल वही एहसास देते हैं, यह जानने की उत्सुकता है
    मैं थोड़ी नई पीढ़ी से हूं, इसलिए Delphi/VB या Macromedia Flash जैसे टूल्स के लिए nostalgia है। वे परफेक्ट नहीं थे, लेकिन creativity को उकसाते थे
    आज के टूल्स कहीं बेहतर हैं, लेकिन लगता है इस प्रक्रिया में हमने कुछ खो दिया है

    • Flash काफी करीब था, लेकिन औसत user के लिए बहुत जटिल और महंगा था। HyperCard शुरुआत में मुफ्त था, लेकिन Performa Mac लाइन के साथ bundled नहीं आता था
      HTML ने HyperCard द्वारा दी जाने वाली कई चीजें अपने में ले लीं, लेकिन web authoring tools आखिर तक उतने आसान नहीं हुए, और HyperCard की एक खूबी—यानी UI का look and feel लगातार एक जैसा रहना—भी नहीं दे पाए। यह फायदा भी हो सकता है और नुकसान भी, लेकिन कुछ users को यह पसंद था कि वे page में सिर्फ previous/next के दो buttons जोड़कर flipbook बना सकते थे
      कुछ लोगों ने educational material को HyperCard stacks के रूप में पैक करके बेचने का business भी शुरू किया था
      HyperTalk programming language शानदार नहीं थी, और वह hippies को पसंद आने वाली किस्म की language थी, लेकिन औसत user इसे देखकर उतना ही भटकता था जितना C या Pascal देखकर
      हमेशा यह एहसास रहता था कि Apple इससे किए जा सकने वाले कामों को जरूरत से ज्यादा control करना चाहता था। programming language और उसके आसपास के tools से मेरी अपेक्षा के उलट था
      अगर जानना है कि वह कैसा लगता था, तो AppleScript में कुछ code करके देखिए
    • मैं भी दूसरी पीढ़ी से हूं, और सोचता हूं कि HyperCard की खास बात क्या थी
      VB और Macromedia tools याद हैं, और लगता है कि आजकल के tools इस्तेमाल में ज्यादा कठिन हैं
    • Flash तेजी से कुछ बनाने और बड़े user base तक वितरित करने के लिए बेहतरीन tool था, और browser-based तथा multi-platform होने के मामले में उसने उस समय HyperCard के वादे को कई मायनों में उससे भी बेहतर पूरा किया
      लेकिन अफसोस की बात यह थी कि उसने Flash creators और Flash consumers के बीच बड़ा अंतर बना दिया। कोई उत्साही tinkerer .swf को decompile करके modify कर सकता था, लेकिन यह HyperCard के उस model से बहुत दूर था जिसमें हर user को editing tool मिलता था और हर stack reusable parts के collection की तरह होता था
      Decker editor को छिपाने वाले “locked” standalone deck export कर सकता है, लेकिन उसे फिर से enable करने की प्रक्रिया मामूली है। मैंने ऐसे उदाहरण भी देखे हैं जिन्हें game पूरा करने पर खुद “unlock” होने के लिए design किया गया था, और मुझे लगता है यह काफी शानदार reward है
    • इतना प्यार मिलने के बावजूद HyperCard गायब क्यों हो गया और वैसी कोई चीज उसकी जगह क्यों नहीं ले पाई, यह भी जानने की उत्सुकता है
    • “बहुत सारे छोटे और उपयोगी tools बनाने में मदद की” वाले पहलू को ही देखें, तो आज जो सबसे करीबी चीज याद आती है वह Godot “game” engine है: https://godotengine.org
      कई मायनों में यह HyperCard से बिल्कुल मेल नहीं खाता, लेकिन संबंधित तीन क्षेत्रों में यह खास तौर पर मजबूत candidate है। शुरुआती download size छोटा है (<100MB), load/run time कम है, और यह iterative, hacking-style development flow को support करता है जो “कुछ चलने वाली चीज” बनाने की शुरुआती exploratory development stage के लिए अच्छा है। GDScript इसके लिए बहुत उपयुक्त है, और हाल में gradual typing जैसी additions से समय के साथ robustness भी बेहतर हो रही है
      Godot का distribution/installation तरीका भी बहुत मजबूत है। इस क्षेत्र में मुझे लगता है कि यह किसी भी दूसरे ecosystem[0] से कई light-years आगे है। जिन platforms को support करना हो उनके export templates, यानी platform-specific generic binary executables, download कीजिए और project-specific code व resources को package करके export कर दीजिए[1]
      फिलहाल HyperCard या “classic” Visual Basic की तुलना में Godot में हैरानी की बात यह है कि जिस हिस्से की सबसे ज्यादा कमी है, वह drag-and-drop UI creation है। Godot में काफी powerful UI system है, लेकिन कभी-कभी opaque लगता है, और अभी UI बनाने का user experience window पर toolbar से widgets खींचकर रखने वाला नहीं, बल्कि scene की node tree के प्रति बहुत सचेत रहने वाला है
      यह user experience Editor Plugin से अपेक्षाकृत आसानी से सुधर सकता है, और शायद किसी दिन मैं उस rabbit hole के लिए prototype बनाऊं :)
      यह perfect solution नहीं है, लेकिन आजकल GUI-based utilities बनाते समय यह निश्चित रूप से default choice है। उनमें से कुछ को मैंने सचमुच “release” करने लायक पूरा भी किया है :D
      [0] इस मामले में खासकर Python बुरी तरह ढह जाता है
      [1] web के लिए WASM export भी संभव है, इसलिए dual-track distribution किया जा सकता है: लोग पहले web-based version में utility आजमा सकते हैं और अगर वह काफी उपयोगी लगे तो local executable भी download कर सकते हैं
  • Decker वाकई अच्छा है, और बेहद मजेदार भी
    अगर आप HyperTalk scripting ढूंढ रहे हैं, तो Wyldcard भी पसंद आ सकता है
    https://github.com/defano/wyldcard

  • पिछले हफ्ते HyperCard alternatives पर चर्चा में इसका जिक्र आने के बाद मैंने Decker को गहराई से देखना शुरू किया
    deck packaging सचमुच दिलचस्प लगती है। Redbean की तरह Lua, SQLite आदि को शामिल करके सब कुछ एक ही file में होना, और zip tool से खोलकर HTML व Lua code डालना और बस नाम बदल देना ताकि distribution के लिए ready हो जाए—यह तरीका मुझे पसंद है
    सोचता हूं कि Decker भी distribution आसान बनाने के लिए ऐसा कोई तरीका consider कर रहा है या नहीं