- रोज़मर्रा के काम के दौरान सहकर्मी अक्सर टेक्स्ट का स्क्रीनशॉट लेकर भेज देते हैं, और यह एक बेहद अलाभकारी तरीका है जो कोड खोजने और कॉन्टेक्स्ट समझने को बहुत कठिन बना देता है
- स्क्रीनशॉट में मिले कोड से variable definition, module location, exception handling जैसे कॉन्टेक्स्ट का बिल्कुल पता नहीं चलता, इसलिए सर्च बॉक्स में एक-एक करके टाइप करना पड़ता है या coding agent का सहारा लेना पड़ता है
- जब build error log का स्क्रीनशॉट भेजा जाता है, तो क्या build किया गया, किस line पर failure हुआ, और सटीक error message क्या है यह पता नहीं चलता, इसलिए समस्या हल करना लगभग असंभव हो जाता है
- अगर text copy-paste किया जाए या file/GitHub link share किया जाए, तो IDE search feature का उपयोग और पूरे कॉन्टेक्स्ट की पुष्टि संभव हो जाती है
- screen display से जुड़ी समस्या न हो, तो टेक्स्ट को स्क्रीनशॉट नहीं बल्कि copy किए जा सकने वाले रूप में साझा करना चाहिए ताकि सहयोग की दक्षता बनी रहे
स्क्रीनशॉट समस्या उदाहरण 1: कोड
- सहकर्मी से code-related issue पर चर्चा करते समय कोड का स्क्रीनशॉट मिलता है
slug variable की definition, baseUrl कैसे बनाया गया, domain hardcode क्यों किया गया, exception handling कैसे हो रही है, वह module कहाँ है — जैसे मुख्य कॉन्टेक्स्ट का बिल्कुल पता नहीं चलता
- स्क्रीनशॉट में दिख रहे कोड को सर्च बॉक्स में हाथ से टाइप करना पड़ता है या coding agent का उपयोग करके संबंधित module ढूँढ़ना पड़ता है
- copy-paste का उपयोग करने पर उसी line के लिए भी अधिक कॉन्टेक्स्ट देखा जा सकता है, और उसे सीधे IDE search feature में paste किया जा सकता है
- file खुद साझा करना या GitHub link share करना कहीं ज़्यादा प्रभावी है
स्क्रीनशॉट समस्या उदाहरण 2: build error log
- "build fail हो गया है, क्या आप देख सकते हैं?" जैसे अनुरोध के साथ error log का स्क्रीनशॉट मिलता है
- क्या build किया गया, किस line पर fail हुआ, और सटीक error message क्या है — यह बिल्कुल पता नहीं चलता
- कई बार अपने workstation पर पूरा rebuild चलाने पर वह सफल हो जाता है
- पूरा error log copy करके या log को file में dump करके भेज दिया जाए, तो यह समस्या आसानी से हल हो सकती है
टेक्स्ट साझा करने का सही तरीका
- टेक्स्ट को स्क्रीनशॉट में न भेजें, बल्कि copy किए जा सकने वाले रूप में साझा करें
- स्क्रीनशॉट का उपयोग केवल तब करें जब screen display की दृश्य समस्या दिखानी हो, या जब शुद्ध टेक्स्ट में कुछ संबंधित जानकारी खो जाती हो
- file share करना या GitHub link देना कॉन्टेक्स्ट समझने और code search के लिए सबसे अच्छा तरीका है
4 टिप्पणियां
कभी-कभी मैं कोड का screenshot लेकर पोस्ट कर देता हूँ, क्योंकि capture करने पर editor में दिखने वाली readability और OS के built-in capture shortcut की आसानी काम आती है.
अगर कोई ऐसा प्रोग्राम हो जो एक shortcut से captured image में मौजूद code को Text fragments जैसी link में बदल दे, ताकि उसे बाहर share किया जा सके और तुरंत paste भी किया जा सके, तो शायद मैं वही इस्तेमाल करूँगा.
ताकि Slack में पोस्ट करने पर preview दिखे, और link खोलकर code copy भी किया जा सके
ध्यान खींचने के लिए, मैं एक ऐसी साइट साझा कर रहा हूँ जो code को देखने में सुंदर image screenshot में बदल देती है. haha
https://ray.so/
मैं भी messenger या mail से कुछ भेजते समय जितना हो सके text-आधारित चीज़ें ही इस्तेमाल करने की कोशिश करता हूँ, लेकिन सच यह है कि कुछ मामलों में सिर्फ text इस्तेमाल करना उल्टा ज़्यादा असुविधाजनक भी हो सकता है।
उसकी तुलना में screenshot capture में बस कोई shortcut key दबाकर स्क्रीन का हिस्सा चुनो और paste कर दो, तो GUI पर ही काम हो जाता है, इसलिए भेजने वाले को यह ज़्यादा सुविधाजनक लगना स्वाभाविक है।
लेकिन जैसा कि मूल लेख में भी कहा गया है, पाने वाले की तरफ़ से देखें तो कई बार सिर्फ screenshot से पूरा context नहीं पहुँचता, और search या copy-paste भी असुविधाजनक हो जाता है, इसलिए असंतोष पैदा होता है। डेटा transfer और storage में ज़रूरत से कहीं ज़्यादा overhead पैदा होना तो अलग बात है ही।
खैर, व्यक्तिगत रूप से अगर ऐसी बातों को एक-एक करके गिनूँ, तो कंपनी के अंदर internal documentation को wiki की जगह Word file में करना जैसी चीज़ें भी मुझे खटकती हैं…
Hacker News की राय
जैसा कि दूसरे कमेंट्स में भी कहा गया है, Apple प्लेटफ़ॉर्म का ऑटो OCR वाकई क्रांतिकारी है
मेरा मानना है कि ऐसी सुविधा हर प्लेटफ़ॉर्म के डॉक्यूमेंट व्यूअर में डिफ़ॉल्ट रूप से होनी चाहिए
एक और चीज़ जिसकी मैं इच्छा करता हूँ, वह है स्क्रीनशॉट में metadata शामिल करना। उदाहरण के लिए, अगर Instagram फ़ोटो कैप्चर करें तो उसका URL शामिल हो, ब्राउज़र में मौजूदा URL और DOM path, मैप ऐप में coordinates, और PDF viewer में दस्तावेज़ का SHA1 hash और offset शामिल हों
बेशक privacy concerns होंगी, लेकिन मुझे लगता है कि इस तरह के आइडिया पर अकादमिक जगत में पहले से काम हुआ होगा
आजकल फ़ाइल का कॉन्सेप्ट काफ़ी abstract हो गया है, इसलिए लगता है कि स्क्रीनशॉट मोबाइल computing युग की common language बन गया है
वैसे Screenshot Conf का ज़िक्र भी ज़रूर करना चाहूँगा
स्क्रीनशॉट OS level पर प्रोसेस होते हैं, और ऐप को यह पता चलना कि उसका स्क्रीनशॉट लिया गया या location data मिलना, ख़तरनाक है
Evernote या CloudApp जैसी कंपनियों ने यह कोशिश की थी, लेकिन आख़िरकार असफल रहीं। स्क्रीनशॉट जितने simple रहें, उतने उपयोगी होते हैं
जो सिस्टम मैं बना रहा हूँ, उसमें URL में काफ़ी context information होती है, लेकिन स्क्रीनशॉट में वह शामिल नहीं होती
इसलिए मुझे हमेशा URL text के रूप में अलग से माँगना पड़ता है
स्क्रीनशॉट के बाद UI में AI insights, product search, Gemini/LLM conversation जैसी सुविधाएँ जोड़ी जा रही हैं
क्योंकि हर कोई स्क्रीनशॉट को जानकारी सहेजने या खोजने के लिए इस्तेमाल कर रहा है
लेकिन लोगों के उसे word processor की तरह इस्तेमाल करने के डर से इसे release version से हटा दिया गया
मैं स्क्रीनशॉट काफ़ी इस्तेमाल करता हूँ
वजह यह है कि 80-character width बनाए रखने से readability अच्छी रहती है, और monospace font व syntax highlighting वैसे ही सुरक्षित रहते हैं
अगर कोड या terminal output को email या mobile chat में बिगड़ने से बचाना हो, तो स्क्रीनशॉट सबसे पक्का तरीका है
हाँ, जब पूरी फ़ाइल चाहिए होती है तो मैं उसे attach करता हूँ, लेकिन संबंधित हिस्सा स्क्रीनशॉट में साथ भेजता हूँ
स्क्रीनशॉट को zoom करना पड़ता है, और accessibility के लिहाज़ से भी यह कमज़ोर है
text में भेजने पर search और copy आसान हो जाते हैं
ज़्यादातर सिस्टम पहले से monospace font सपोर्ट करते हैं, और असली समस्या अक्सर Gmail rendering जैसे environment factors होते हैं
GMail में न width limit है, न font size एक जैसा रहता है, इसलिए पढ़ना मुश्किल होता है
लंबी URL या चौड़ी स्क्रीन पर तो readability और भी ख़राब हो सकती है
क्योंकि color, format और context ज्यों का त्यों दिखते हैं
किसी समस्या को समझाने में “एक तस्वीर हज़ार शब्दों के बराबर होती है” वाली बात सही बैठती है
तब मैं अपने editor में font, width, color को अपनी पसंद के अनुसार देख सकता हूँ, और search व edit भी कर सकता हूँ
स्क्रीनशॉट आख़िरकार दूसरे व्यक्ति के लिए असुविधा पैदा करते हैं
Mac और iOS की text recognition और copy feature सच में क्रांतिकारी है
स्क्रीनशॉट या फ़ोटो के भीतर का text सीधे copy करके notes में paste किया जा सकता है
उस पल सच में लगा कि मैं भविष्य में जी रहा हूँ
Safari में image के अंदर के text का translation भी किया जा सकता है, जो खासकर Japanese webpages के translation में उपयोगी है
फ़ाइल सेव किए बिना ही काम हो जाता है, इसलिए सुविधाजनक है
पहले लोग स्क्रीनशॉट Word दस्तावेज़ में चिपकाकर भेजते थे
लेकिन अब LLM से फिर से text निकालने का सुझाव बहुत फ़िज़ूलखर्ची लगता है
असल ज़रूरत तो ऐसे UI innovation की है जिससे text को भी स्क्रीनशॉट जितनी आसानी से share किया जा सके
जब aspiring programmers ऐसा करते हैं तो काफ़ी निराशा होती है
दस्तावेज़ के अंदर दूसरे Word फ़ाइलों को वास्तविक object के रूप में paste किया जाता था
मेरे लिखे लेख ‘Slack में मदद कैसे माँगें’ का 7वाँ नियम है “text screenshots पोस्ट मत करो”
Apple का OCR अच्छा है, फिर भी search न हो पाने की समस्या बनी रहती है
मूल लिंक
मैं पूरी दस्तावेज़ या code link के साथ संबंधित हिस्से का स्क्रीनशॉट भी जोड़कर भेजना पसंद करता हूँ
visual context बना रहता है, इसलिए बाद में दोबारा देखने पर याद बेहतर रहती है
नए डेवलपर्स शुरुआती कुछ हफ्तों में अक्सर text screenshots शेयर करते हैं
लेकिन मोबाइल पर उन्हें पढ़ना असुविधाजनक होता है, और Slack images को compress करता है, इसलिए zoom भी काम का नहीं रहता
इस वजह से ज़्यादातर लोग आख़िरकार text में शेयर करना सीख जाते हैं
MS Teams में code block support इतना ख़राब है कि कई बार स्क्रीनशॉट का सहारा लेना पड़ता है
फीचर मौजूद है, लेकिन ठीक से दिखता नहीं
स्क्रीनशॉट तेज़ और एकसमान तरीका हैं
web apps, native apps, sites—हर जगह एक ही तरह से काम करते हैं
पाने वाले के लिए यह असुविधाजनक हो सकता है, लेकिन भेजने वाले के लिए efficient है
Linux पर मैंने xfce4-screenshooter की custom action को tesseract OCR script से जोड़ा हुआ है
selection area capture करते ही text अपने आप clipboard में copy हो जाता है
जिन मामलों में पहचान मुश्किल होती है, वहाँ मैं Gemma3-4B + llama.cpp इस्तेमाल करता हूँ
आजकल ज़्यादातर browsers में Text Fragment नाम की एक सुविधा होती है, और मैं इसका काफ़ी उपयोगी तरीके से इस्तेमाल कर रहा हूँ.
देखिए कि क्या यह इस लेख के highlighted link की तरह काम करता है।