Matplotlib प्रोजेक्ट

इस पेज में, Docs के Google सीज़न के लिए स्वीकार किए गए तकनीकी राइटिंग प्रोजेक्ट की जानकारी दी गई है.

प्रोजेक्ट की खास जानकारी

ओपन सोर्स संगठन:
मैटप्लोटलिब
तकनीकी लेखक:
जेरोमेव
प्रोजेक्ट का नाम:
Matplotlib एंट्री पाथ डेवलप करना
प्रोजेक्ट की अवधि:
मानक अवधि (तीन महीने)

प्रोजेक्ट का विवरण

शुरुआती जानकारी

इस साल के Google सीज़न के लिए, Matplotlib का प्रोजेक्ट सुझाव है. इसमें, ऐसा कॉन्टेंट बनाया गया है जिससे नए उपयोगकर्ताओं को Matplotlib का परिचय कराने में मदद मिलेगी. Matplotlib Entry पाथ बनाने के लिए, मेरे पास मौजूदा दस्तावेज़ के तौर पर, एक वैकल्पिक तरीका है. मैं इस इंडस्ट्री में एक नया तकनीकी लेखक हूं. हालांकि, मेरा बैकग्राउंड शिक्षा और शिक्षा से जुड़े क्षेत्रों में है. टेक्निकल राइटिंग और शिक्षा, दोनों एक साथ काम करते हैं. इनका फ़ोकस ऐसा कॉन्टेंट बनाने पर होता है जो लोगों को उनके बारे में जानकारी देता हो और दिए गए संसाधनों की मदद से अपने टास्क पूरे कर पाए.

इस संदर्भ में, Matplotlib दस्तावेज़ को बेहतर करके नए उपयोगकर्ताओं के साथ हमदर्दी करना फ़ायदेमंद होगा. फ़िलहाल, ज़्यादातर कॉन्टेंट में बिना किसी क्रम के इकट्ठा किया गया डेटा और बिना लेबल वाले विज़ुअल शामिल हैं. ये Matplotlib के विज़ुअल और उसकी सुविधाओं को तुरंत दिखाने के लिए बेहतरीन हैं. हालांकि, Matplotlib का इस्तेमाल करने के लिए किसी नए उपयोगकर्ता के लिए, डेटा को विज़ुअल में बदलना चुनौती भरा होता है.

रिपॉज़िटरी (डेटा स्टोर करने की जगह) में संदर्भ की मदद से, इस समस्या को हल किया जा सकता है. असल दुनिया के उदाहरण की मदद से प्रोसेस के बारे में लिखकर, हम यह पता लगा रहे हैं कि उपयोगकर्ता किस तरह के माहौल में काम करता है. इससे दस्तावेज़ और उपयोगकर्ता के बीच, किसी लक्ष्य को हासिल करने या काम को पूरा करने की उम्मीद करने के मामले में उनका रिश्ता बेहतर होता है.

किसी उपयोगकर्ता का मकसद एक जैसा होता है. उदाहरण के लिए, जूते बनाने वाली किसी कंपनी के डेटा साइंटिस्ट को ग्राहक से जुड़ा डेटा किसी टीम को दिखाना चाहिए, ताकि उसे समय के साथ शॉपिंग के रुझान दिखाए जा सकें. ऐसी स्थिति में, उपयोगकर्ता को Matplotlib को नेविगेट करना सीखना होगा. साथ ही, उसे लाइब्रेरी में मौजूद टूल का इस्तेमाल करके, उस काम को पूरा करना होगा.

दस्तावेज़ को सपोर्ट करने के लिए ज़्यादा जानकारी की मदद से, नया उपयोगकर्ता विषय को बेहतर तरीके से पहचान सकता है. उपयोगकर्ता का मकसद, दस्तावेज़ में मौजूद होता है. मुझे साल 2017 में हुए एक इंटरव्यू में लीड डेवलपर टॉम कैसवेल के बताए गए विज़न पर काम करने की उम्मीद है. "ऐसा व्यक्ति जो असल में लिख सके और लोगों के साथ सहानुभूति जताए, मुझे 200 पेजों वाली 'मैटप्लोटलिब का परिचय' किताब लिखनी है, और उसे दस्तावेज़ों में मुख्य एंट्री के तौर पर शामिल करना है."

एक्सपोज़िटरी राइटिंग का वैकल्पिक तरीका

मौजूदा दस्तावेज़ Matplotlib की सुविधाओं के बारे में बताता है, जैसे कि वे चीज़ें जो उपयोगकर्ता लाइब्रेरी से कर सकता है. उदाहरण के लिए, ट्यूटोरियल अक्सर ऐसे पैटर्न को फ़ॉलो करता है जिसमें बताए गए तरीके की जानकारी शामिल नहीं होती.

{what the method does} -> {parameters} -> {returns} -> {related links} -> {examples}

आम तौर पर, प्रोग्रामिंग से जुड़े दस्तावेज़ और सहायता की मदद से, उपयोगकर्ता को खुद ही कोड चलाने का सुझाव दिया जाता है, ताकि वह समझ सके कि क्या होता है. प्रोग्रामिंग की मानसिकता से उपयोगकर्ता को विषय की समझ बेहतर होती है, लेकिन ट्रांसफ़ॉर्मेशन सीखने की प्रक्रिया में इस पर सपोर्ट करने वाला बहुत कम कॉन्टेंट होता है. यह एक मुश्किल चुनौती हो सकती है, क्योंकि दस्तावेज़ों की संख्या सीमित है.

अतिरिक्त डायग्राम, इमेज या अन्य विज़ुअल उपलब्ध कराएं. इससे, सीखने के नए अवसर पैदा होंगे. यहां दिया गया स्ट्रक्चर, नए कॉन्टेंट के लिए टेंप्लेट की तरह भी काम करेगा. साथ ही, बिना टेक्स्ट वाली इमेज या ग्राफ़िक जोड़ने पर, कॉलआउट और कोचमार्क जैसी सुविधाओं का फ़ायदा मिल सकता है. कई बार इमेज को नेविगेट करना मुश्किल हो जाता है, लेकिन यह नहीं बताया जाता कि कोड को आउटपुट में कैसे या कहां बदला गया है. मुझे लगता है कि कॉन्टेंट में एक अच्छा विज़ुअल एलिमेंट नहीं है, जो विषयों को बेहतर तरीके से समझने में मदद कर सकता है.

{method explanation} -> {expository use case/scenario} -> {sample code} -> {parameters} -> {returns} -> {additional examples} -> {informational topic/subject affinity links}

दस्तावेज़ के लिए डेटा स्टोर करने की जगह का इस्तेमाल करने के इस वैकल्पिक तरीके की काफ़ी संभावना है. उपयोगकर्ताओं को बदलावों के लिए अलग-अलग तरह के कॉन्सेप्ट देखने से, वे डेटा के विज़ुअलाइज़ेशन को डेवलप करने की बुनियादी रणनीतियों को बेहतर तरीके से समझ पाएंगे. इस जानकारी की मदद से, उपयोगकर्ता नई सुविधाओं का इस्तेमाल कर सकते हैं. साथ ही, वे उन सुविधाओं का फ़ायदा ले सकते हैं जिन्हें असल में इस्तेमाल किए जाने वाले उदाहरणों के ज़रिए दिखाया गया है.

जैसे-जैसे Matplotlib की लोकप्रियता बढ़ती जा रही है, वैसे-वैसे उसे इस्तेमाल करना आसान हो जाएगा और लोग आसानी से इसका इस्तेमाल कर पाएंगे. इससे यह पता चलता है कि इस लाइब्रेरी की खासियत है या नहीं. ये विशेषताएं, पैटर्न और सामान्य रणनीतियों को दिखाने में मददगार होती हैं. ये तरीके न सिर्फ़ कोड में, बल्कि दस्तावेज़ में भी दिख सकते हैं. अगर Matplotlib उपयोगकर्ताओं के लिए सीधा और स्टैंडर्ड तरीका है, तो उसके बढ़ते इस्तेमाल और बढ़े हुए संसाधनों से साफ़ तौर पर पता चलता है कि यह तकनीकी दस्तावेज़ के लिए भी ऐसा ही हो सकता है.

जब लोगों को समस्याएं आती हैं, तो उनका समाधान करने के लिए खोज का इस्तेमाल करना आम बात है. नेविगेशन के मुख्य तरीके के तौर पर खोज पर निर्भर रहने के बजाय, लोगों से दस्तावेज़ में अपना पाठ्यक्रम बनाना ज़्यादा असरदार हो सकता है. इस लिहाज़ से, कोई उपयोगकर्ता अपनी समस्या का समाधान खोजता है. इसके बाद, जब उन्हें कोई दूसरी समस्या आती है या ज़्यादा जानकारी चाहिए, तो वे एम्बेड किए गए और पूरी जानकारी देने वाले लिंक का इस्तेमाल करते हैं.

इसमें संगठन के सिस्टम में बॉटम-अप आर्किटेक्चर शामिल होगा. Matplotlib में हर विषय के लिए, एक मज़बूत नेटवर्क बनाने में मदद करने के लिए, एक जैसे विषयों के लिंक और सूचना देने वाले विषय मौजूद हैं. इस बात की संभावना ज़्यादा है कि इस पूरे नेटवर्क में उपयोगकर्ता अपने विषय पर नेविगेट करते समय, उस विषय से जुड़ी ज़्यादा से ज़्यादा जानकारी एक्सप्लोर करने के दौरान, दस्तावेज़ का इस्तेमाल करना जारी रख सकें.

रुकावटें

किसी प्रोजेक्ट में हमेशा ऐसी चुनौतियां होती हैं जिनमें पूरी जानकारी दी गई हो और इस तरह की पूरी जानकारी दी गई हो. इस उद्योग में एक नया तकनीकी लेखक होने के नाते, मेरे पास दस्तावेज़ लिखने के लिए Sprint और ReST का इस्तेमाल करने का सीमित अनुभव है. Matplotlib और Git के मामले में भी मैं एक नौसिखिया हूं. इन चारों सिस्टम को मैनेज करने और मिलकर काम करने और रिसर्च के लिए इनका इस्तेमाल करने में समय लगेगा. कम्यूनिटी के साथ जुड़ने के चरण के दौरान और उससे पहले मुझे समय देना होगा, ताकि एंट्री लेवल के पाथ के लिए ज़रूरी आधार बनाया जा सके. इस दौरान, अगर मुझे कॉन्सेप्ट और बुनियादी बातों को लेकर कोई समस्या आती है, तो मुझे ज़्यादा मदद के लिए कम्यूनिटी से संपर्क करना होगा.

सभी टाइम ज़ोन और ऑनलाइन प्लैटफ़ॉर्म पर, साथ मिलकर काम करने से इसमें कुछ बदलाव भी करने लगेंगे. पूरी इंडस्ट्री के लोग, बातचीत के अलग-अलग तरीकों का इस्तेमाल करते हैं. इसलिए, यह पक्का करना ज़रूरी है कि मैं हर तरह से कनेक्ट रह सकूं और अपनी बात समझ सकूं. मैं अलग-अलग उम्मीदों के हिसाब से, अपनी प्राथमिकता को पारदर्शी बनाए रखूंगा. हालांकि, मैंने अभी-अभी इंडस्ट्री में इस तरह के काम को अपनाना शुरू किया है, लेकिन मैंने इस बात पर ध्यान दिया है कि हम खुद को ज़िम्मेदार बनाएं रखें. साथ ही, सुझाव/शिकायत/राय के लिए तैयार रहें. मुझे लगता है कि हर क्षेत्र के लिए ये गुण अहम हैं.

साथ ही, उपयोगिता की जांच करना दस्तावेज़ों का एक ऐसा सेक्शन है जिसके बारे में मुझे लगता है कि Matplotlib के एंट्री पाथ को फ़ायदा होगा. कॉन्टेंट के बारे में उपयोगिता के लिए सर्वे करने का मकसद, उपयोगकर्ता की प्रोफ़ाइल देना होता है. इसे पर्सोना कहा जाता है. उपयोगकर्ता का अनुभव, उनकी इंडस्ट्री, और समस्या के हल का इतिहास जैसी जानकारी अहम होती है. इन हिस्सों से इस प्रक्रिया के पीछे की भाषा बनाने में मदद मिलती है. जब लेखन, पाठकों से उनके स्तर पर मिलता है, तो सामग्री सिर्फ़ निर्देश देने की तरह नहीं, बल्कि ज़्यादा विकसित होती है.

उपयोगिता की टेस्टिंग का तरीका लगातार इस्तेमाल करने में काफ़ी मुश्किलें आती हैं. कॉन्टेंट डेवलपमेंट के दौरान एक ही बार टेस्ट करना बहुत आम बात है. समय-समय पर उपयोगिता की जांच करने से कॉन्टेंट को बेहतर तरीके से पेश करने में मदद मिलती है. मुझे उम्मीद है कि मैं कोई शेड्यूल सेट अप कर लूं या Matplotlib कम्यूनिटी की मदद से बार-बार उपयोगिता की जांच कराएं.

नतीजा

मुझे Python और Matplotlib का इस्तेमाल करने का थोड़ा-बहुत अनुभव है. पिछले कुछ महीनों में, मैंने खुद को मौजूदा दस्तावेज़ में दी गई जानकारी की मदद से और अपनी दिलचस्पी के हिसाब से जो कुछ सिखाया वह था. उस समय मैंने भी कुछ वीडियो और मेंटॉर देखे थे. मुझे अब भी बहुत कुछ सीखना है. मैं प्रोग्रामिंग का अपना पाठ्यक्रम बनाने की कोशिश करती हूं, जिसमें मेरी दिलचस्पी है. इसलिए, अभी मुझे सुधार करने की ज़्यादा गुंजाइश है.

GSoD के लिए, मैटप्लोटलिब और कम्यूनिटी के आइडिया को देखने के बाद, मुझे लगता है कि तकनीकी लेखक के तौर पर अपने कौशल को बेहतर बनाने का यह बेहतरीन अनुभव होगा. साथ ही, इससे मुझे पर्दे के पीछे के लोगों से सीखने का मौका मिलेगा. मैंने महसूस किया है कि Matplotlib प्रोजेक्ट सही है. साथ ही, मेरी विचारधारा में भी दिलचस्पी है.

इस्तेमाल की गाइड को बेहतर बनाने के लिए काम करने के दौरान, एक तकनीकी लेखक के तौर पर मेरा लक्ष्य, लोगों को उनके पसंदीदा काम पूरे करने में मदद करना है. इसके लिए, वे उपलब्ध सुविधाओं का इस्तेमाल नहीं करना चाहते. मुझे लगता है कि सबसे अच्छे दस्तावेज़ उपयोगकर्ताओं की संख्या के हिसाब से काम करते रहेंगे और उनके हिसाब से काम करते रहेंगे. साथ ही, किसी भी उपयोगकर्ता को खुद के समाधानों पर जाने की अनुमति मिलेगी.