स्वतंत्र उत्पाद विकास शृंखला का पहला लेख
एक मोबाइल डेवलपर के रूप में मेरी सबसे बड़ी इच्छा स्वाभाविक रूप से यही है कि एक ऐप लिखूँ और बैठकर कमाई आते देखूँ ( ͡° ͜ʖ ͡°)।
अपने दम पर ऐप बनाते समय कौन-कौन सी समस्याएँ सामने आ सकती हैं? मैंने हाल ही में अपना एक ऐप जारी किया है और यहाँ उन दिक्कतों तथा उनके समाधानों को साझा करना चाहता हूँ।
1. ज़रूरत तय करें
स्वतंत्र ऐप बनाने की इच्छा के पीछे हर व्यक्ति की वजह थोड़ी अलग हो सकती है।
बड़े स्तर पर देखें तो शायद आपको कोई ऐसी तात्कालिक ज़रूरत दिखे जिसका समाधान दुनिया बदल सकता है—बस एक प्रोग्रामर की कमी हो।
छोटे स्तर पर आप केवल App Store में अपना ऐप देखना चाहते हों। वह नई तकनीक का प्रयोग हो सकता है—iOS 8 में Today extensions आने के बाद उन पर आधारित कई अलग ऐप दिखाई दिए थे। या वह जीवन की कोई असुविधा दूर करने वाली उपयोगिता हो सकती है, जैसे फ़ाइल मैनेजमेंट ऐप या सोच-समझकर बनाए फीचर वाला मौसम ऐप।
ज़रूरत छोटी हो या बड़ी, उसे पहचानना ही आगे बढ़ते रहने की प्रेरणा देता है।
मैंने अपनी पत्नी की ज़रूरत के जवाब में “File Manager” नाम का फ़ाइल प्रबंधन ऐप बनाया।
File Manager फ़ोन को सर्वर में बदल देता है। उसी Wi-Fi नेटवर्क पर मौजूद दूसरे डिवाइस ब्राउज़र से उसकी फ़ाइलें संभाल सकते हैं: फ़ोल्डर व्यवस्थित करना, फ़ाइलें कॉपी या स्थानांतरित करना और उन्हें अपलोड या डाउनलोड करना।
ज़रूरत तय होने के बाद परियोजना को जारी करने में लगभग तीन महीने लगे। इस दौरान मैंने कुछ Swift भी सीखी।
2. ऐप प्रोटोटाइप और इंटरैक्शन
ज़रूरत और समाधान मिलने पर प्रोटोटाइप और उपयोग के तरीके की धुँधली तस्वीर मन में बन जाती है। अगला कदम वास्तविक स्क्रीन और इंटरैक्शन तय करना है।
मैंने कुछ प्रोटोटाइप टूल आज़माए और फिर छोड़ दिए।
मुझे लगा कि किसी प्रोटोटाइप टूल को सीखने और स्क्रीन सजाने में जितना समय लगता, उतने में मैं xib से स्क्रीन बना सकता था। अंततः मैंने हाथ से बनाए स्केच से प्रोटोटाइप की समस्या हल की।
बाद में दूसरे उत्पाद बनाते समय समझ आया कि प्रोटोटाइप आवश्यक हैं। प्रोटोटाइप बनाना वास्तव में तर्क को व्यवस्थित करने और उसे भीतर से सुसंगत बनाने की प्रक्रिया है।
3. ऐप में लगने वाले छोटे आइकन कहाँ से आएँ?
प्रोटोटाइप तय होने पर परियोजना की समग्र संरचना का अंदाज़ा हो गया। लेकिन कोड के अलावा एक समस्या अब भी थी जिससे हर स्वतंत्र डेवलपर को जूझना पड़ता है!
पूरी परियोजना में इस्तेमाल होने वाले छोटे-छोटे आइकन का क्या करूँ?
यहाँ कुछ आइकन लाइब्रेरी हैं जिन्हें मैंने इस्तेमाल किया है:
- Alibaba की आइकन लाइब्रेरी → पूरे वेक्टर आइकन सेट, जिनके रंग और आकार आसानी से बदले जा सकते हैं—बहुत उपयोगी संसाधन। व्यावसायिक उपयोग के लिए फिर भी रचनाकार की अनुमति चाहिए।
- icons8 → 56,500 मुफ़्त फ़्लैट आइकन! अलग-अलग प्लेटफ़ॉर्म के आइकन और Mac ऐप भी उपलब्ध हैं।
- iconfinder → यहाँ भी पूरे आइकन सेट हैं और इसका व्यावसायिक मॉडल अधिक स्पष्ट है।
4. स्वयं परीक्षण और बीटा परीक्षण
किसी कंपनी में परीक्षक, उत्पाद सहयोगी और बाकी टीम ऐप बेहतर बनाने में मदद करते हैं। स्वतंत्र डेवलपर जल्द-से-जल्द अधिकतम बग कैसे खोज और रोक सकता है?
4.1 स्वयं परीक्षण
अब वह काम भी मुझे करना है जिसे पहले टेस्टिंग टीम को सौंपता था। हाथ से परीक्षण के अलावा हम अपने लिए एक टेस्टिंग मंकी भी पाल सकते हैं।
4.2 बीटा परीक्षक जुटाना
स्वतंत्र ऐप बनाते समय डेवलपर के अलावा उत्पाद, संचालन, ग्राहक सहायता और कई दूसरी भूमिकाएँ भी निभानी पड़ती हैं। प्रचार भी अपनी ज़िम्मेदारी है। दोस्तों, सहपाठियों और परिवार से शुरू करें और सोशल नेटवर्क पर कहें: मेरा ऐप लगभग तैयार है, इसे आज़माने में मेरी मदद करें!
बीटा उपयोगकर्ता केवल बग नहीं खोजते। उनकी नई माँगें और सलाह ऐप को समृद्ध और बेहतर बनाने में और भी बड़ा योगदान दे सकती हैं।
4.3 टेस्ट बिल्ड बाँटना
यदि बीटा परीक्षकों के डिवाइस पहचानकर्ता आसानी से मिल सकते हों, तो Pgyer या fir.im जैसे बीटा होस्टिंग प्लेटफ़ॉर्म इस्तेमाल किए जा सकते हैं। डिवाइस संबंधी सीमाएँ लागू होती हैं।
यदि डिवाइस पहचानकर्ता लेना कठिन हो, तो iOS 8 के बाद उपलब्ध Apple TestFlight का इस्तेमाल किया जा सकता है, जिसमें 10,000 तक बीटा स्थान हैं।
5. App Store स्क्रीनशॉट
रिलीज़ स्क्रीनशॉट के लिए अलग भाग क्यों? स्वतंत्र डेवलपरों के प्रचार माध्यम कम होते हैं। App Store उत्पाद पेज के स्क्रीनशॉट और विवरण ही ऐप का प्रवेश-द्वार और दुकान की खिड़की हैं।
यदि वे स्क्रीनशॉट खराब दिखें, तो ऐप अभी-अभी खोजने वाला व्यक्ति भी खो सकता है।
कंपनी में UI डिज़ाइनर और उत्पाद सहयोगी स्क्रीनशॉट बनाने में मदद करते हैं। अकेले काम करते हुए सही आकार के स्क्रीनशॉट कैसे मिलें?
5.1 सिम्युलेटर में स्क्रीनशॉट
ऐप की स्क्रीन सीधे सिम्युलेटर में कैप्चर की जा सकती हैं, हालाँकि परिणाम थोड़ा साधारण लग सकता है।
5.2 थोड़ा सँवारने का तरीका
मैं shotbot नाम की मुफ़्त वेबसाइट सुझाता हूँ। सामग्री अपलोड करने पर यह समान शैली वाले उत्पाद स्क्रीनशॉट का पूरा सेट बना देती है।
टिप्पणी, 2022-04-11: बाद में मैंने अपनी App Store रिलीज़ के स्क्रीनशॉट बनाने के लिए अलग से एक Mac ऐप लिखा।
6. मेरे इस्तेमाल किए दूसरे संसाधन
किसी खास इंटरैक्शन या डिज़ाइन पर काम करते समय तृतीय-पक्ष टूल और तैयार आइकन हमेशा मनचाहा परिणाम नहीं देते।
तब चित्रों को खुद संपादित करें!
निस्संदेह अधिकतर डेवलपर Photoshop में बहुत निपुण नहीं होते और कुछ ने उसे कभी इस्तेमाल भी नहीं किया। तब क्या करें?
दो वेबसाइटें हैं: Online PS और Meitu का वेब एडिटर
भारी Adobe सॉफ़्टवेयर डाउनलोड किए बिना ब्राउज़र में साधारण चित्र संपादन किया जा सकता है। Photoshop में कमज़ोर लोगों के लिए यह अच्छी खबर है।
चित्र संपादन के अलावा ऐप आइकन भी सिरदर्द बन सकता है। मैं MakeIcon की भी सलाह देता हूँ: 1024×1024 लोगो अपलोड करें और यह बाकी सभी आकार अपने-आप बना देता है। यह iOS 10 के iMessage को भी समर्थन देता है।
7. अंतिम विचार
मैंने UI डिज़ाइनर की मदद के बिना मौजूदा संसाधनों से विकास पूरा किया। यदि आपके पास डिज़ाइनर है, तो आप यहाँ से जा सकते हैं  ̄ヘ ̄।
अपना ऐप बनाने की इच्छा बहुत पहले से थी। हाल में ज़रूरी चीज़ें स्पष्ट करने के बाद ही सचमुच काम शुरू किया। सबसे महत्वपूर्ण बात यह थी कि हल करने योग्य ज़रूरत स्पष्ट हुई, और रास्ते में कुछ Swift भी सीख ली।
विकास के दौरान एक हफ़्ता ऐसा भी गया जब मैंने लगभग कोई कोड नहीं लिखा। तभी समझ आया कि स्वतंत्र ऐप बनाते समय असली प्रेरणा ज़रूरत ही होती है। उसका आकार मायने नहीं रखता; समस्या हल होना मायने रखता है।
काम बढ़ा तो आवश्यकताएँ भी बढ़ीं: AirDrop शेयरिंग, iCloud एकीकरण और ShareExtension विकास अभी बाकी थे। आगे बढ़ते रहें और थोड़ा-थोड़ा सुधार करें! ʘʚʘ (मैं यह बिल्कुल नहीं मान रहा कि इस ऐप को बनाने की मूल वजह PC, फ़ोन और iPad पर अपना “collection.avi” बाँटना थी।)
मेरे ऐप का लिंक यहाँ है: फ़ाइलों को सँभालने का सबसे सरल तरीका—File Manager
टिप्पणी, 2022-04-11: ऐप अब खोज में नहीं मिलता। कमाई का अच्छा तरीका न होने के कारण मैंने इसे एक आउटसोर्सिंग कंपनी को बेच दिया। बिक्री ने बहुत सोचने पर मजबूर किया; अगले लेख में इसका विस्तार है।
मूल लेख Jianshu पर प्रकाशित हुआ था। बाद में मेरा Jianshu खाता हैक हो गया और दूसरे लेख बार-बार ब्लॉक होते रहे। अब मैं अपने सभी ब्लॉग लेख github.io पर स्थानांतरित कर रहा हूँ।