इस हफ्ते, मैं आखिरकार डार्क मोड सपोर्ट को जोड़ने के लिए तैयार हो गया प्रतिनिधि और समूह, iPhone बॉडीबिल्डिंग ऐप जिसे मैं एक साइड हसल के रूप में विकसित करता हूं। यह Apple के लगभग एक साल बाद है सबसे पहले अपने वर्ल्डवाइड डेवलपर्स कॉन्फ्रेंस में इस फीचर की घोषणा की.
मुझे इतना समय क्या लगा? डार्क मोड को सपोर्ट करना उतना आसान नहीं है जितना लगता है। यह मेरे जैसे इंडी देव ही नहीं हैं जिन्होंने इसके साथ संघर्ष किया है। WhatsApp हाल ही में जोड़ा गया डार्क मोड सपोर्ट, और फेसबुक है अभी भी इसका बीटा परीक्षण.
इसलिए यदि आप अपने पसंदीदा ऐप के डार्क साइड में जाने का इंतजार कर रहे हैं, तो यहां इतना समय क्यों लग सकता है।
डार्क मोड: यह लाइट बंद करने जितना आसान नहीं है
एक डेवलपर के रूप में, जब आप पहली बार Xcode में डार्क मोड को सक्षम करते हैं, तो यह सुंदर नहीं दिखता है। (नीचे स्क्रीनशॉट देखें।) आपका ऐप फ्रेंकस्टीन के राक्षस जैसा दिखता है, जिसे प्रकाश और अंधेरे तत्वों के एक अजीब और झटकेदार संयोजन के साथ जोड़ा गया है।
समस्या यह है कि आपके उपयोगकर्ता इंटरफ़ेस के कुछ हिस्से - जैसे कि पृष्ठभूमि - स्वचालित रूप से अंधेरे में स्विच हो जाते हैं, अन्य नहीं। कुछ पाठ अपठनीय हो जाता है क्योंकि यह काले-पर-काले रंग का होता है। सफ़ेद बैकग्राउंड वाले हेडर बहुत चमकीले और परेशान करने वाले लगते हैं। हल्की पृष्ठभूमि के लिए डिज़ाइन किए गए चित्र और चिह्न भयानक लगते हैं।
हां, अगर ऐप ऐप्पल के डिफ़ॉल्ट बटन और शैलियों का उपयोग करके बनाया गया था, तो शायद यह इतना बुरा नहीं दिखता। लेकिन हकीकत में जीवन इतना आसान कभी नहीं होता। यहां तक कि ऐप्पल के बिल्ट-इन ऐप्स भी इन दिनों डिफ़ॉल्ट यूजर इंटरफेस तत्वों से विचलित हो जाते हैं।
जब मैंने पहली बार देखा कि डार्क मोड में मेरा ऐप कितना गड़बड़ है, तो मेरा दिल डूब गया। रेप्स एंड सेट्स एक बड़ा और जटिल ऐप है जिसमें कई अलग-अलग दृश्य हैं (विभिन्न स्क्रीन डिज़ाइनों के लिए डेवलपर शब्दजाल)। मुझे पता था कि उन सभी को अपडेट करने में बहुत बड़ी मात्रा में काम करना होगा। यह सुनिश्चित करने के लिए कि सभी तत्व अच्छे दिख रहे हैं, प्रत्येक दृश्य को सावधानीपूर्वक डिज़ाइन पर विचार करने की आवश्यकता होगी।
यह इस तथ्य से और जटिल था कि मेरा ऐप कोई स्प्रिंग चिकन नहीं है। इसे मूल रूप से नौ साल पहले आईओएस 6 के लिए विकसित किया गया था। तब से बहुत कुछ बदल गया है, इसलिए अब बहुत सारे विरासत कोड हैं (क्रूड के लिए एक डेवलपर की व्यंजना)। नतीजतन, जब भी आप कोड को स्पर्श करते हैं, तो आमतौर पर आपको इसे अपडेट करना पड़ता है।
डार्क मोड संपत्ति को देनदारियों में बदल देता है
हालाँकि, जब आप डार्क मोड समर्थन जोड़ने का प्रयास कर रहे हैं, तो विचारों को अपडेट करना समस्याओं की शुरुआत है। अधिकांश ऐप्स में आइकन, लोगो और चित्र जैसी संपत्तियां भी शामिल होती हैं जिनमें बदलाव की आवश्यकता होगी।
Apple आपको इसकी अनुमति देकर इसमें मदद करता है एक अलग टिंट रंग लागू करें डार्क मोड में आपकी संपत्ति के लिए। सरल, सपाट चिह्नों के लिए, यह दृष्टिकोण अच्छी तरह से काम करता है। लेकिन यह एनिमेशन या बहुरंगी ग्राफिक्स के साथ मदद नहीं करता है।
आपको आश्चर्य हो सकता है कि कुछ ऐप्स के पास कितनी संपत्ति है। रेप्स एंड सेट्स में, उदाहरण के लिए, मुझे १०० से अधिक आइकन और ३०० चित्रों में संशोधन करना पड़ा। अकेले इस कार्य को पूरा करने में मुझे 40 घंटे का ठोस कार्य लगा।
लाइट मोड को न भूलें
एक और जटिलता यह है कि डार्क मोड को सपोर्ट करने के लिए आप जो भी बदलाव करते हैं, उसे लाइट मोड में भी काम करना पड़ता है। तो अब आप एक के बजाय दो यूजर इंटरफेस डिजाइन कर रहे हैं।
एक बार जब आप डार्क मोड को लागू करना समाप्त कर लेते हैं, तब भी काम वहाँ नहीं रुकता है। यह एक सतत प्रतिबद्धता है। अब से, हर बार जब आप कोई अपडेट जारी करते हैं, तो आपको इसे डार्क मोड के साथ-साथ लाइट में भी टेस्ट करना होगा। और वह समय लेने वाला काम है। पहले, मैंने ओएस और हार्डवेयर के आठ अलग-अलग संयोजनों में रेप्स एंड सेट्स का परीक्षण किया था। डार्क मोड 16 संस्करणों को दोगुना कर देता है।
हो सकता है कि डार्क मोड ब्रांड पर न हो
इससे पहले कि आप डार्क मोड को लागू करना शुरू करें, विचार करने के लिए एक और मूलभूत समस्या है: ब्रांड पहचान।
फेसबुक जैसा प्रसिद्ध ब्रांड एक अमूल्य संपत्ति है जिसे अपनी अखंडता को बनाए रखने के लिए सावधानीपूर्वक प्रबंधन की आवश्यकता होती है। इसकी ब्रांड पहचान सभी प्लेटफार्मों पर एक जैसी होनी चाहिए, इसलिए इसे हमेशा तुरंत पहचाना जा सकता है। डार्क मोड इसे जटिल बनाता है। सभी लोगो और रंग योजनाएँ काले रंग पर अच्छी नहीं लगती हैं। इसे संबोधित करने के लिए ब्रांड दिशानिर्देशों को संशोधित करने की आवश्यकता हो सकती है।
यहां तक कि मेरे lil 'पुराने ऐप के लिए, इसके लिए कुछ विचार की आवश्यकता थी। उदाहरण के लिए, रेप्स एंड सेट्स ब्रांड का रंग गहरा नीला है। यह सफेद पृष्ठभूमि पर बहुत अच्छा काम करता है लेकिन यह काले रंग पर सुपाठ्य नहीं है। इसलिए मुझे डार्क मोड के लिए अपने ब्रांड रंग पैलेट में हल्का नीला रंग जोड़ना पड़ा।
मेरे लिए यह एक आसान बदलाव है, क्योंकि मैं वन-मैन बैंड हूं। लेकिन फेसबुक जैसी बड़ी कंपनी के लिए जिसमें कई हितधारक शामिल हैं, ब्रांड दिशानिर्देशों को बदलना आमतौर पर एक जटिल, समय लेने वाली प्रक्रिया है। इसके निहितार्थ हो सकते हैं जो ऐप से आगे बढ़ते हैं - जैसे वेबसाइट का डिज़ाइन या साइनेज और प्रदर्शनी का रूप, उदाहरण के लिए।
कोई आश्चर्य नहीं कि इतने बड़े संगठनों ने केवल डार्क मोड को पूरी तरह से अनदेखा करने का फैसला किया।
मैंने सोचा था कि अंधेरा पक्ष अधिक आकर्षक होना चाहिए था
रेप्स एंड सेट्स एक फ्रीमियम ऐप है। मूल डाउनलोड मुफ्त है, और फिर अतिरिक्त सुविधाओं तक पहुंचने के लिए प्रीमियम सदस्यता के लिए इन-ऐप खरीदारी विकल्प है। लेकिन डार्क मोड सपोर्ट को प्रीमियम यूजर्स तक सीमित रखना संभव नहीं है। तो सभी यूजर्स को इस सारे काम का फायदा बिना किसी कीमत के मिलता है।
विशुद्ध रूप से व्यावसायिक दृष्टिकोण से, मेरे लिए डार्क मोड को लागू करने के लिए कोई प्रोत्साहन नहीं था। लेकिन मैं इसमें सिर्फ पैसे के लिए नहीं हूं। अगर मैं होता तो मैं सालों पहले हार मान लेता। मैंने इसे करने का कारण यह चुना क्योंकि मुझे लगा कि यह अच्छा है और मुझे पता था कि यह अच्छा लगेगा। साथ ही, मैं खुद ऐप का इस्तेमाल करता हूं और मैं डार्क मोड का इस्तेमाल करता हूं। रेप्स एंड सेट्स को लॉन्च करते रहना और रोशनी के साथ बमबारी करना मुश्किल था।
इसलिए मैंने अंतहीन शामों और सप्ताहांतों के लिए कड़ी मेहनत करना चुना, सैकड़ों संपत्तियों को फिर से निकाला। मैंने इसे प्यार के लिए किया, पैसे के लिए नहीं। और प्यार कोई ऐसी मुद्रा नहीं है जिसे बड़े-बड़े लोग अच्छी तरह समझ सकें। अंततः, मुझे लगता है कि यही कारण है कि बड़ी कंपनियां, जितना मैं कभी सपना देख सकता था, उससे कहीं अधिक संसाधनों के साथ, डार्क मोड का समर्थन करने में मेरी तुलना में अधिक समय लग रहा है।