इस हफ़्ते सिर्फ़ बताने के बजाय तीनों रास्तों से एक बिल्ड को असल में लाइव पुश करने में बिताया, तो यह रहा उसका लॉग — मैंने क्या किया, क्या टूटा, और दोबारा करूं तो क्या छोड़ूं।
दिन 1, सुबह — वन-क्लिक सबडोमेन
सबसे तेज़ विकल्प से शुरुआत की: पब्लिश पर क्लिक किया, बिना किसी DNS, अकाउंट बनाए या खर्च के yourname.buildmidas.com मिल गया। शायद चार सेकंड लगे। यह वह कदम है जब आपको बस यह जानना हो कि किसी को आइडिया में दिलचस्पी है या नहीं — लिंक शेयर करो, देखो क्या होता है, फिर सुधार करते जाओ। मुझे आधी उम्मीद थी कि जैसे ही ऐप को असली बैकएंड चीज़ों की ज़रूरत पड़ेगी — अकाउंट्स, डेटाबेस, WebSocket मल्टीप्लेयर लेयर — तो कहीं अटक जाऊंगा, पर नहीं, वह भी होस्ट और मैनेज किया हुआ मिला। मेरी तरफ़ से कुछ भी कॉन्फ़िगर करने की ज़रूरत नहीं थी। अच्छा पहला दिन रहा।
दिन 1, दोपहर — SFTP डिप्लॉय को तोड़ने की कोशिश
यह वह हिस्सा था जिसे लेकर मैं सबसे ज़्यादा घबराया हुआ था। जब कोई प्रोडक्ट सबडोमेन से आगे निकलकर अपने खुद के डोमेन की ज़रूरत महसूस करे, तो आप सीधे बिल्ड पेज से SFTP के ज़रिए डिप्लॉय करते हैं। मैंने इसे एक ऐसे सर्वर पर पॉइंट किया जिसमें पहले से पुरानी फ़ाइलों वाला वेबरूट मौजूद था, आधी उम्मीद थी कि सब कुछ मिट जाएगा। लेकिन इसके बजाय डिप्लॉय एजेंट ने सर्वर की जांच की, एक स्ट्रैटेजी चुनी, और — यही वह डिटेल थी जो मायने रखती थी — कुछ भी छेड़ने से पहले पहले से मौजूद वेबरूट को कैप्चर कर लिया। उसके बाद डिप्लॉय हुआ हर वर्जन भी सुरक्षित रखा जाता है, और रिवर्ट सिर्फ़ एक क्लिक दूर है। तो जब मैंने बीस मिनट बाद जानबूझकर एक टूटा हुआ बिल्ड शिप किया बस टेस्ट करने के लिए, तो रोलबैक में लगभग उतना ही समय लगा जितना यह नोटिस करने में लगा कि बिल्ड टूटा हुआ है। इसका महत्व क्यों है, इस बारे में मैंने Iterating without fear में और लिखा है — संक्षेप में कहें तो वर्जन हिस्ट्री डिप्लॉय को सांस रोककर किए जाने वाले पल से एक साधारण, बिना-टेंशन वाली घटना में बदल देती है।
अगली बार क्या छोड़ूंगा: मैंने एक अजीब सी नेस्टेड सबडायरेक्टरी स्ट्रक्चर से इसे धोखा देने की कोशिश में बीस मिनट बिता दिए, इससे पहले कि मुझे याद आए कि पूरी बात ही यह है कि यह आपका सर्वर है, आपका डोमेन है, आपकी फ़ाइलें हैं — यह टूल बस एक सावधान मूवर है, गेटकीपर नहीं। ऐसी चीज़ को टेस्ट करने में मेहनत बर्बाद हुई जो कभी जोखिम थी ही नहीं।
दिन 2 — स्टोर वाला रास्ता, जिसे मैं पूरा नहीं कर पाया
इसे असल में पूरा नहीं किया, और ईमानदारी से कहूं तो यही बात ज़्यादा काम की है। स्टोर पर शिपिंग — Android को Google Play पर, एक्सटेंशन्स को Chrome Web Store और Firefox Add-ons पर — आपके अपने डेवलपर अकाउंट्स से होकर गुज़रती है, जहां लिस्टिंग और प्राइवेसी घोषणाएं एजेंट्स द्वारा तैयार की जाती हैं। यह असली है, लेकिन यह अपने आप में एक कई दिनों की प्रक्रिया भी है जिसमें रिव्यू क्यू होते हैं जो किसी के नियंत्रण से बाहर हैं, इसलिए मैं लिस्टिंग तैयार करने वाले चरण के बाद रुक गया। अगर आप स्टोर डिस्ट्रिब्यूशन की तलाश में हैं, तो उसके लिए अलग से बजट रखें; मैंने पूरा रास्ता प्रॉम्प्ट से ऐप स्टोर तक में लिखा है।
किसी भी पल में किस रास्ते का चुनाव तय करता था
दूसरे दिन तक यह चुनाव लगभग खुद-ब-खुद हो गया:
| मैं क्या कर रहा था | जिस रास्ते की ओर मैं गया |
|---|---|
| यह जांचना कि आइडिया में दम है या नहीं | सबडोमेन, उसी दिन |
| एक असली ब्रांड डोमेन चाहिए था | पहले सबडोमेन, फिर अपने सर्वर पर SFTP |
| एक उपयोगी टूल जिसे लोगों को स्टोर में खोजना चाहिए | सबडोमेन लैंडिंग पेज + ऐप के लिए स्टोर शिपिंग |
| क्लाइंट का प्रोजेक्ट, उनके इंफ्रा पर | उनके सर्वर पर SFTP, वर्जन्ड |
हफ्ते के अंत तक
शुक्रवार तक मेरे पास अपने डोमेन पर एक मार्केटिंग साइट, सबडोमेन पर लाइव खुद प्रोडक्ट, और आधी तैयार स्टोर लिस्टिंग थी — तीनों रास्ते एक ही प्रोजेक्ट के लिए एक साथ चल रहे थे, और पूरे समय उसी चैट से बनाए और सुधारे गए। जाहिर तौर पर यही किसी भी गंभीर चीज़ के लिए सामान्य अंतिम स्थिति है, कोई अपवाद नहीं। काश मैंने पहले दिन से ही यह उम्मीद रखी होती, न कि तीनों रास्तों को अलग-अलग फैसले मानकर चला होता।



