7 पॉइंट द्वारा GN⁺ 2023-12-23 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Heynote डेवलपमेंट के दौरान बिखर जाने वाले अस्थायी टेक्स्ट, API responses, मीटिंग नोट्स और to-do lists को एक जगह रखने वाला persistent text buffer-टाइप scratchpad है
  • काम की मूल इकाई block है, और ⌘-Enter से नया block बनाया जा सकता है तथा ⌘-A से सिर्फ मौजूदा block की सामग्री को जल्दी चुना जा सकता है
  • JavaScript, JSON, Markdown आदि के block-स्तरीय language settings के आधार पर syntax highlighting और auto-formatting लागू होती है
  • Math block variables, functions, unit conversion और currency conversion तक संभालता है, जिससे आसान calculations को उसी संदर्भ में आगे बढ़ाया जा सकता है
  • यह कई note buffers, directory organization, file mapping, inline images और annotation features देता है, और इसका फोकस डेवलपर्स के अस्थायी workspace को एक ही app में समेटने पर है

block-आधारित scratchpad

  • Heynote की बुनियादी संरचना कई blocks में बंटा हुआ एक बड़ा persistent text buffer है
  • नया block ⌘-Enter से बनाया जाता है, और block के भीतर ⌘-A दबाने पर पूरे document के बजाय सिर्फ मौजूदा block की सामग्री चुनी जाती है
  • यह ऐसे materials को जल्दी paste करने के लिए उपयुक्त है जिन्हें अस्थायी रूप से छोड़ देना थोड़ा असुविधाजनक हो
    • Slack message का draft जिसे गलती से भेजना नहीं चाहते
    • जिस API पर काम चल रहा है उसका JSON response
    • मीटिंग नोट्स
    • रोज़ की to-do list

code और documentation काम के लिए block features

  • हर block का अपना language setting हो सकता है, जैसे JavaScript, JSON, Markdown आदि
  • language setting के अनुसार syntax highlighting लागू होती है, और block-स्तर auto-formatting भी समर्थित है
  • यह कई programming languages को support करता है, इसलिए code snippets और documentation notes को एक ही buffer में साथ संभाला जा सकता है

calculator की तरह इस्तेमाल होने वाला Math block

  • Math block को आसान calculations के लिए calculator scratchpad की तरह इस्तेमाल किया जा सकता है
  • यह variables, functions और unit conversion को support करता है, और unit conversion में currency conversion भी शामिल है
  • यह नोट्स के flow के भीतर तेज़ “napkin calculations” करने के लिए उपयुक्त है

कई buffers और file organization

  • डिफ़ॉल्ट Scratch buffer के अलावा, जितने चाहें उतने note buffers बनाए जा सकते हैं
  • buffer काम के लिए मुख्य shortcuts इस प्रकार हैं
    • ⌘-N: नया buffer बनाना
    • ⌘-S: मौजूदा block को नए buffer में ले जाना
    • ⌘-P: buffers के बीच तेज़ switching
  • buffers को directories में व्यवस्थित किया जा सकता है, और हर buffer डिस्क पर एक file से मैप होता है

images और annotations

  • Heynote inline images को support करता है
  • clipboard से images paste की जा सकती हैं या image files को buffer में drag and drop किया जा सकता है
  • editor के भीतर image को चुनकर उसका size बदला जा सकता है, और image को फिर से system clipboard पर भेजने का काम भी तेज़ी से किया जा सकता है
  • built-in हल्के drawing tool से image पर freeform annotations जोड़े जा सकते हैं
  • annotated image को एक click या key input से clipboard पर नए version के रूप में update करके कहीं और paste किया जा सकता है

डाउनलोड

  • नवीनतम stable version 2.9.0 है
  • समर्थित downloads Mac Universal, Mac Arm, Mac Intel, Windows, AppImage, Snap के रूप में उपलब्ध हैं
  • beta version के रूप में 2.9.1-beta भी उपलब्ध है
  • सभी releases All releases पर देखे जा सकते हैं

1 टिप्पणियां

 
GN⁺ 2023-12-23
Hacker News की राय
  • सच में बेहतरीन। स्क्रैच पैड से जो उम्मीद थी, यह लगभग बिल्कुल वैसा ही है
    अगर एक फीचर request जोड़नी हो, तो अच्छा होगा कि यह “reverse order” flow support करे, जिसमें नया block नीचे नहीं बल्कि page के सबसे ऊपर जोड़ा जाए। स्क्रैच पैड हमेशा ऊपर से खुले, और समय के साथ पुराने blocks नीचे “डूबते” जाएँ, ताकि सबसे relevant चीज़ें ऊपर रहें
    मेरे सोचने के तरीके के साथ यह ज़्यादा फिट बैठता है। हालांकि इस thread में दूसरों ने जैसा कहा है, ऐसे ज़्यादातर feature requests को ignore करके अभी बनाई गई simplicity को बचाए रखने के पक्ष में मैं भी हूँ। मेरी request सहित

    • अच्छा लगा कि आपको पसंद आया :)
      “reverse order” idea समझ में आता है। सोच रहा हूँ कि क्या इतना काफी होगा कि C-Enter को current block से पहले नया block insert करने के लिए configurable बनाया जाए, और Heynote start होने पर current behavior की तरह आखिर में नहीं बल्कि buffer की शुरुआत में cursor रखे
    • मुझे भी यह तरीका पसंद है। लेकिन हर बार नई line बनाते समय cursor के नीचे के सारे blocks हिलते दिखें तो distracting लगेगा
      ideal UX यह होगा कि सबसे ऊपर नया buffer जोड़ा जाए, लेकिन input करते समय पुराने blocks की movement न दिखे, इसके लिए window भरने जितना padding रखा जाए
      मैंने अभी app download नहीं किया है, पर हो सकता है कि यह पहले से ही कुछ ऐसा behave करता हो। अच्छा दिख रहा है, इस्तेमाल करने का इंतज़ार है
    • यह extra feature बहुत उपयोगी लग सकता है। मैं पहले से Markdown documents में notes लिखने का order इसी तरह रखता हूँ
    • मैंने इसी तरह की एक notes app बनाई है। Notes सबसे ऊपर add होते हैं, और note edit करने पर उसे फिर से सबसे ऊपर “खींच” लिया जाता है: https://thinktype.app/
    • अगर यह feature हो तो इसे daily log के तौर पर भी इस्तेमाल किया जा सकेगा, अच्छा होगा
  • इन शर्तों पर शायद मैं पैसे देने को तैयार होऊँगा: vi key bindings, file location दिखाना ताकि उसे move किया जा सके या कई devices में sync/backup किया जा सके, और reverse sorting feature
    सच में बहुत बहुत अच्छा

  • शानदार दिख रहा है। blocks का idea पसंद आया, इसलिए download करके try करूँगा
    हमेशा की तरह Electron पर काफी चर्चा है, तो अगर अभी तक नहीं देखा है तो Tauri का भी ज़िक्र करना चाहूँगा। यह Rust-based Electron जैसा tool है और Chromium के बजाय system webview इस्तेमाल करता है, जिससे bundle size और memory usage काफी घट जाते हैं
    code देखकर लगता है कि Electron वाला code बहुत ज़्यादा नहीं है, इसलिए अगर Rust छूकर देखना चाहते हैं तो इसे replace करना शायद बहुत मुश्किल न हो। मेरी video editing app भी Electron से शुरू हुई थी और बीच में Tauri पर switch किया, जो काफी ठीक रहा
    यह request नहीं है, बस चाहें तो ignore कर दें

    • project की शुरुआत में Tauri को देखा था। Electron चुनने की वजह maturity और बड़ा user base था
      mobile के लिए दूसरे cross-platform tools इस्तेमाल करने के बाद मेरी expectations बहुत low थीं, लेकिन असल में Electron के साथ काम करना बहुत comfortable रहा और choice पर पछतावा नहीं है। Bugs भी लगभग नहीं थे, ecosystem बड़ा है, और multiple platforms के builds व auto updates को automate करना आसान था—यह अच्छा लगा
    • Tauri में मुझे जो कमी लगती है, वह यह है कि Linux पर यह WebKitGtk2 इस्तेमाल करता है। Performance के लिहाज़ से यह काफी कमजोर है, और macOS के WebKit या Windows के Webview2 की तुलना में feature support भी कम है
    • मैंने पढ़ा था कि Rust वाला हिस्सा इस्तेमाल में inconvenient है। जानना चाहूँगा कि क्या Tauri आपको productive लगा
  • सच में पसंद आया। Simple है और solid तरीके से implement किया गया है। कुछ समय से ऐसा ही कुछ बनाना चाहता था, शायद fork करके इधर-उधर experiment करूँ
    अभी मैं Obsidian में रोज़ नया note बनाकर Markdown horizontal rule (---) से “blocks” अलग करके कुछ ऐसा ही इस्तेमाल कर रहा था, लेकिन यह approach कहीं ज़्यादा साफ़ है
    इस approach की ताकत यह है कि यह capture को बेहद आसान बना देती है। नया block बनाइए और तुरंत लिखिए; इसे कहाँ रखना है या existing structure में कैसे fit करना है, यह सोचने की ज़रूरत नहीं। ऐसी चिंता करते-करते अक्सर idea डालने की जगह ढूँढते हुए idea ही खो जाता है
    downside स्वाभाविक रूप से बाद में फिर से ढूँढना है। अच्छा होगा अगर blocks में tags या titles जोड़े जा सकें और tag/title से search किया जा सके। और ज़्यादा ambitious रूप से, LLM और embeddings जोड़कर blocks को automatically tag, summarize, categorize और cluster करने के experiments भी cool होंगे
    दिशाएँ बहुत हैं, लेकिन मैं दूसरों की इस बात से भी सहमत हूँ कि बहुत features जोड़कर इसकी मूल appeal यानी simplicity न खो जाए। और buffer बहुत बड़ा हो जाने पर performance कैसे handle होती है, यह जानने की उत्सुकता है

    • यह open source नहीं है। Commons Clause का इस्तेमाल करता है, जो आप क्या कर सकते हैं उसे काफी गंभीर रूप से restrict करता है। नाम misleading है
    • Performance का ज़्यादातर हिस्सा Heynote के base editor CodeMirror(https://codemirror.net/) संभालता है। लगता है कि यह काफी बड़े buffers भी अच्छी तरह handle करता है
      हालांकि कुछ language modes में बहुत बड़े blocks handle करते समय छोटे performance issues दिखे
    • programming notes, problem-solving logs, “paper पर” thinking, writing और hypothesis validation के लिए Obsidian इस्तेमाल कर रहा हूँ। बहुत powerful है और performance भी काफी अच्छी है। कुछ भी पूछ सकते हैं
  • अभी download करके install किया और सच में impressive लगा। math block का concept अच्छा लगा, लेकिन नया block math block में बदलने का तरीका समझने में कुछ seconds लगे
    ऊपर के ⌘ + L Change block language text से “block language” का मतलब तुरंत “block type बदलना” नहीं जुड़ता। इसे थोड़ा बदलकर ⌘ + L Change block language (Math, Markdown, etc.) जैसा कर दें तो अच्छा होगा
    बाकी, यह सचमुच सही जगह पर खुजली मिटाने वाला शानदार project लगता है

    • अच्छा suggestion है, इसे बदलूँगा
  • पसंद आया। बिल्कुल वही चीज़ जिसकी ज़रूरत थी। अब तक मैं इसी काम के लिए एक WhatsApp group इस्तेमाल कर रहा था जिसमें सिर्फ़ मैं था
    Feature requests हैं: Arch package, mathematical results का buffer.txt और Ctrl+a के बाद copy होने वाली सामग्री में शामिल होना, font और color theme बदलना, Markdown blocks में image/media support, block timestamps, file reload, और mobile की संभावना
    खासकर colors के लिए, अभी की तरह कम-से-कम रंग ही रहें, लेकिन custom CSS के बजाय कुछ रंगों को configure करने का तरीका हो तो अच्छा होगा। Image paste के लिए VS Code Markdown जैसा हो—Ctrl+v से image डालने पर Markdown insert हो और image file के रूप में save हो। Markdown preview भी अच्छा होगा, लेकिन अगर उसे scope से बाहर मानें तो समझ सकता हूँ
    Timestamps खास तौर पर अच्छे होंगे अगर buffer.txt की infinity symbol वाली line में createdAt, updatedAt save हों, क्योंकि फिर उन्हें grep और cut से आसानी से extract किया जा सकेगा। नीचे आपने कहा था कि Git वगैरह से backup कर सकें, इसके लिए file reload पर काम कर रहे हैं; उसका भी इंतज़ार है

    • Math block से copy होने वाली lines में calculation result जोड़ना संभव लगता है, और मुझे भी यह idea पसंद है
      मैं सहमत हूँ कि buffer.txt में भी result आना अच्छा होगा, लेकिन implementation details की वजह से यह ज़्यादा मुश्किल लग रहा है
      Font और color theme settings के लिए फिलहाल मेरा रुझान configurable items की संख्या घटाने की ओर है, इसलिए इन्हें add करने की संभावना कम है
      Block timestamps todo list में हैं, और file reload भी। Mobile शायद मुश्किल होगा
    • नीचे देखा कि आप PWA और local storage वाला version add करने की योजना बना रहे हैं। तो mobile request को ignore कर सकते हैं; उसके बजाय mobile पर download button हो, ताकि Git या Drive जैसी चीज़ों के ज़रिए desktop से sync किया जा सके, तो अच्छा होगा
    • चूँकि यह Electron से बना है, अगर HTML page में CSS जोड़ने की सुविधा दे दें तो font और colors implement किए जा सकते हैं
      इससे कुछ notes में flashy CSS भी इस्तेमाल की जा सकेगी
  • सच में, बहुत, बहुत अच्छा। Dock में तुरंत permanent जगह मिल गई
    मेरी एक request है जिसके लिए मैं खुशी-खुशी पैसे दूँगा। अच्छा होगा अगर code blocks execute किए जा सकें और output generate हो सके। JS test करने के लिए मैं browser console अक्सर खोलता हूँ; अगर यह दूसरे notes के ठीक पास किया जा सके तो शानदार होगा

  • https://orgmode.org/ का org-mode बहुत याद आता है। जानना चाहूँगा कि क्या org-जैसे features, जैसे code block evaluation, जोड़ने की कोई योजना है
    निजी तौर पर शायद मैं org-mode से switch नहीं करूँगा, लेकिन Emacs इस्तेमाल करने से हिचकने वालों को single app के रूप में recommend करने लायक कुछ हो तो अच्छा होगा

    • मैंने orgmode देखा नहीं है, इसलिए नहीं जानता कि उसमें कौन-से features हैं। Math blocks को छोड़ दें तो code block evaluation complexity बढ़ा देता है, इसलिए उसे add करने की योजना नहीं है
  • शानदार। ऐसे काम के लिए मैं हमेशा TextEdit पर वापस चला जाता था; अब Heynote आज़माऊँगा और देखूँगा कैसा रहता है
    HN पर पुराने अच्छे दिनों की तरह ऐसी चीज़ें देखना अच्छा लगता है। क्या vi key bindings support करने की कोई योजना है?

    • बढ़िया है, लेकिन vi key bindings नहीं होंगे तो मेरे लिए practical value कम हो जाती है
      अब सोच रहा हूँ कि Vim plugin से कुछ ऐसा हासिल किया जा सकता है या खुद बनाया जा सकता है। Terminal के अंदर होने का फायदा यह भी है कि इसे persistent tmux session में रखकर remote access किया जा सकता है
    • मैं भी सहमत हूँ। vi/vim bindings हों तो अच्छा होगा
  • Feedback भी चाहूँगा :)
    Heynote GitHub repository: https://github.com/heyman/heynote

    • अच्छा app है। इस तरह के काम के लिए मेरे पास हमेशा एक scratch pad रहता था, लेकिन कोई खास अच्छा solution नहीं मिला। Soulver अच्छा है, पर math की तरफ़ बहुत ज्यादा झुका हुआ है; VS Code tabs भी ठीक हैं, लेकिन language-wise कई buffers manage करना झंझट है। यहाँ का feature set पसंद आया
      सुधार या clarification के लिए कुछ feedback है। Language change shortcut मुझे तब तक नहीं मिला जब तक मैंने status bar element पर mouse hover नहीं किया, इसलिए shortcut दिखाने वाला menu item होना चाहिए
      Light/dark mode toggle और update check दूसरे apps में status bar में नहीं होते, इसलिए इन्हें settings में भेजना बेहतर लगेगा। System light/dark mode को default रूप से follow करना चाहिए, और app-specific override हो तो अच्छा है
      अगर status bar में रखने के लिए पर्याप्त चीज़ें नहीं हैं तो उसे पूरी तरह हटाया भी जा सकता है। अभी ऐसा लगता है जैसे status bar को justify करने के लिए अलग-अलग चीज़ें इकट्ठी कर दी गई हैं
      Green branding ठीक है, लेकिन app की personality काफी strong है। सोचना चाहिए कि app की personality इतनी strong होनी चाहिए या नहीं। macOS से बेहतर match करने वाला neutral palette, या neutral option के साथ कई accent color choices भी consider किए जा सकते हैं
      427MB बड़ा है। राहत है कि छोटे documents में memory बहुत नहीं खाता, लेकिन इस size के हिसाब से bundle बहुत बड़ा है। सोच रहा हूँ कि इसमें ffmpeg क्यों शामिल है, क्या सच में GLES की ज़रूरत है, और क्या basic Electron framework सच में 300MB से ज़्यादा है
      Keymap option है, लेकिन initial content हटाने के बाद मैंने actual keymap खो दिया। App के अंदर help reference हो, या कम-से-कम Help menu से linked documentation page हो तो अच्छा होगा
      Font change करना भी possible हो तो अच्छा है। Storage model भी समझ नहीं आया। Data कहाँ store होता है, क्या उसे control किया जा सकता है, save करना ज़रूरी है या नहीं, और कितनी बार persist होता है—यह जानना चाहूँगा। क्या इसे cloud storage में रखकर devices के बीच sync किया जा सकता है, और अगर पहले से ऐसा होता है तो क्या उसे बंद किया जा सकता है—यह भी जानना चाहूँगा
      व्यक्तिगत रूप से मुझे app icon में app का नाम डालना पसंद नहीं। ज़्यादातर apps ऐसा नहीं करते, इसलिए कोई ज़्यादा subtle icon suggest करूँगा
    • एक छोटा suggestion: current date/time insert करने का shortcut हो तो अच्छा होगा
      या block creation time track करके हर block की UI में कहीं छोटा-सा दिखाने का option भी अच्छा है। ऐसी पुरानी notes को बाद में search करते समय date बहुत उपयोगी होती है
    • जानना चाहूँगा कि क्या variable-width font इस्तेमाल किया जा सकता है। Website देखकर clear नहीं है। मेरे लिए यह जरूरी feature है
    • Linux के लिए arm64 build की संभावना है क्या? खुद build कर सकता हूँ, लेकिन अगर न करना पड़े तो अच्छा होगा
    • सच में पसंद आया। Idea अच्छा है और implementation साफ़-सुथरा है। मेरी macOS arm installation size 100MB से कम है
      देखा कि किसी ने tabs की request भी की है, लेकिन मुझे multiple windows खोलने की सुविधा चाहिए होगी