1 पॉइंट द्वारा GN⁺ 2024-05-29 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • WordPress को Matt Mullenweg और Mike Little द्वारा b2/cafélog को fork करके पहली रिलीज़ जारी किए हुए 21 साल हो चुके हैं, और आगे के विकास में भी उन शर्तों को फिर से पकड़ना होगा जिन्होंने इसकी शुरुआती सफलता बनाई थी
  • प्रोडक्ट की दिशा इस सिद्धांत पर आधारित है कि आसान काम सहज हों, और जटिल काम भी संभव हों
  • ब्लॉगिंग, टिप्पणियाँ, pingback जैसी dynamic web features वेबसाइटों को अधिक रोचक बनाती हैं, और static वेबसाइटों की तुलना में dynamic वेबसाइटों को अधिक महत्व दिया जाता है
  • plugin और theme ecosystem के पास WordPress core के स्तर का development infrastructure होना चाहिए, और 2024 में ZIP upload पर निर्भर रहने वाला तरीका उपयुक्त नहीं है
  • उपयोगकर्ताओं के करीब feedback loop, community-केंद्रित forums, अच्छे theme preview, और Playground आगे के WordPress अनुभव को तय करेंगे

WordPress की 21वीं वर्षगांठ और प्रोडक्ट सिद्धांत

  • WordPress को Matt Mullenweg और Mike Little द्वारा Michel के b2/cafélog पर किए गए काम को fork करके पहली रिलीज़ जारी किए हुए 21 साल हो चुके हैं
  • आगे के विकास में भी उन तत्वों को लगातार ध्यान में रखना चाहिए जिन्होंने WordPress की शुरुआती सफलता में योगदान दिया
  • मुख्य प्रोडक्ट सिद्धांत यह है कि सरल चीज़ें आसान और सहज होनी चाहिए, और जटिल चीज़ें भी संभव होनी चाहिए

ब्लॉग, दस्तावेज़ और community features

  • ब्लॉगिंग, टिप्पणियाँ, pingback मज़ेदार होने चाहिए
    • static वेबसाइटें भी ठीक हैं, लेकिन दृष्टिकोण यह है कि dynamic वेबसाइटें बेहतर हैं
    • लगभग हर साइट एक बेहतरीन ब्लॉग होने पर बेहतर हो सकती है
  • दस्तावेज़ों को wiki की तरह आसानी से edit किया जा सकना चाहिए
    • wiki को एक “अद्भुत” टूल माना गया है
  • community में forums केंद्र में होने चाहिए
    • bbPress और BuddyPress को अधिक ध्यान की आवश्यकता है

plugin और theme ecosystem

  • हर plugin और theme के पास WordPress को बनाने में उपयोग होने वाले स्तर का development infrastructure होना चाहिए
    • version control
    • bug tracker
    • forums
    • documentation
    • internationalization
    • chat rooms
    • P2
    • contribution और community तक पहुँचने के आसान रास्ते
  • 2024 में plugin और theme को ZIP upload तरीके से संभालना उपयुक्त नहीं है
  • theme preview बेहतरीन होने चाहिए
  • विविध सौंदर्यबोध और कार्यक्षमता वाले non-commercial themes का collection महत्वपूर्ण है

नियमों से अधिक feedback loop और पारदर्शिता

  • guidelines और requirements पर अत्यधिक झुकाव नहीं होना चाहिए
  • अच्छे marketplace dynamics, automated feedback loop, और उपयोगकर्ताओं के प्रति पारदर्शिता को डिज़ाइन करना बेहतर है
  • functionality और design की सीमाओं को और आगे बढ़ाया जाना चाहिए
  • spam और spam-जैसे व्यवहार के प्रति zero tolerance होना चाहिए
  • feedback loop को gatekeepers पर निर्भर होने के बजाय उपयोग और पूरी community के अनुसार scale होना चाहिए

core का चरित्र और उपयोगकर्ता संपर्क बिंदु

  • WordPress core अपनी राय रखने वाला और विशिष्ट होना चाहिए
    • Easter egg
    • अनुवाद करना कठिन हो तब भी व्यक्तित्वपूर्ण भाषा
    • jazz जैसा चरित्र
  • software विकसित करने और निर्णय लेने वाले सभी लोगों को उस software का उपयोग करना चाहिए
  • developers और decision-makers को support कार्य, meetup, event जैसी गतिविधियों के माध्यम से सामान्य end users के करीब रहना चाहिए

Playground और शुरुआती अनुभव

  • Playground से सब कुछ बदल जाने की उम्मीद है
  • 27 मई 2003 को, जब पहली WordPress रिलीज़ आई, Matt Mullenweg ने अपने माता-पिता के घर के बरामदे से लिखी 953-शब्दों की ब्लॉग पोस्ट में यह वाक्य छोड़ा: “I released WordPress and felt good.”
  • उस रात उन्होंने अपने दोस्त Ramie Speight के लिए WP सेट किया, और स्थानीय blogger meetup में मिले Mike Tremoulet को फोन पर technical support दिया
  • उनके high school के दोस्त अपने-अपने domain पर WordPress इस्तेमाल करते थे, और उस feedback loop ने software को आकार देने में बड़ी भूमिका निभाई

1 टिप्पणियां

 
GN⁺ 2024-05-29
Hacker News की राय
  • अफसोस होता है कि WordPress development standards का पालन करना तो दूर, उन्हें सक्रिय रूप से तोड़ने की कोशिश करता दिखता है
    global variables everywhere इस्तेमाल करना और classic themes के जरिए spaghetti code को बढ़ावा देना काफी नहीं था, अब नए themes में HTML comments के अंदर JSON डालने को कहता है, जिससे editor support भी नहीं मिलता, errors भी आसानी से होते हैं, और कुल मिलाकर design अजीब हो जाता है
    सच में सोचता हूं कि क्या senior engineers ने HTML comments के अंदर JSON templates डालने का फैसला किया होगा; और conspiracy theory वाले नजरिए से देखें तो ऐसा भी लगता है जैसे freelancers या digital agency market को खत्म करके लोगों को WP.com के WYSIWYG site builder की ओर धकेलना चाहते हों

    • WordPress वाकई बहुत सारी bad practices को बढ़ावा देता है। basic theme structure ही देख लें: CSS file के comments में theme metadata समझाया जाता है, और composition के बजाय string concatenation everywhere इस्तेमाल होती है, जिससे HTML fragments reuse करना मुश्किल हो जाता है
      PHP के अंदर HTML, उसके अंदर JS, उसके अंदर CSS जैसी स्थिति है, और पूरा page बनाने के लिए कौन-सी file किस order में पढ़ी जाएगी, यह एक implicit structure पर निर्भर करता है
      शुरू में सुविधाजनक लगता है, लेकिन HTML elements को उसी file में ठीक से close न करके किसी दूसरी file में खत्म कराया जाता है, जिससे reuse भी नामुमकिन हो जाता है
      यह beginner की गलती जैसा दिखता है, लेकिन हजारों themes इसी पर निर्भर हैं, इसलिए अब सब इसमें बंध गए हैं; इसकी तुलना Jinja2 templates में blocks और macros render करने के तरीके से करें
    • freelancers को खत्म करना? पिछले 15 सालों में cheap संभावित clients से मेरी सबसे पसंदीदा बात यही रही है कि WordPress से site बना लो और कोई WordPress “expert” ढूंढ लो
      WordPress उन बिना budget वाले clients और low-cost clients के लिए मौजूद है जिन्हें लगता है कि उन्हें बस एक simple website चाहिए, और मेरे हिसाब से ऐसी simple site की अवधारणा खुद भी अब पुरानी/मरी हुई बात है
    • अगर WP पर काम करना पड़े, तो block/classic versions के बजाय मैं हमेशा Timber framework इस्तेमाल करता हूं
      https://timber.github.io/docs/v2/
    • मैं WordPress expert बिल्कुल नहीं हूं, लेकिन कभी-कभी client sites migrate करनी पड़ी हैं, और database के अंदर serialized PHP में hardcoded absolute file system paths ठुंसे होने की याद आज भी ताजा है
      install path थोड़ा भी अलग हो तो नए server पर ले जाते ही सब टूट जाता था
    • development standards का पालन करने से users platform में lock-in नहीं रहते। वे बेहतर काम करने वाले और manage करने में आसान CMS पर जा सकते हैं, या मजबूरी में किसी को पैसे देने के बजाय hosted solution अपना सकते हैं
      दुर्भाग्य से, ऐसा हुआ तो “हमारा platform पूरी websites की 43.4% को power करता है” जैसी marketing line पर असर पड़ सकता है
  • अफसोस है कि जल्दबाजी में फैसले और तीखी राय community का हिस्सा बन गई हैं
    पिछले 2–3 महीनों में WordPress development काफी करने के बाद, मैं कहना चाहूंगा कि blocks (Gutenberg) जो code isolation देते हैं, वह शानदार है
    standalone plugin की तरह इस्तेमाल करें या Advanced Custom Fields के साथ, तो आप HTML तक 100% direct control वाली पूरी modular website और development flow, यानी design system, बना सकते हैं
    मैं सभी को WordPress को सही से समझने और सीखने की सलाह दूंगा। मेरा WordPress से कोई संबंध या affiliation नहीं है

    • मैं अभी ठीक इसी सुझाव के मुताबिक काम कर रहा हूं, और production में दिलचस्प 500 errors झेल रहा हूं
      आज अचानक Gutenberg और ACF Blocks nested media field के content parsing को लेकर कहीं टकरा रहे हैं
      वजह “user ने ऐसी image description डाल दी जो नहीं डालनी चाहिए थी” भी हो सकती है, या “plugin के global object ने acf_register_block_type() को pass होने वाले किसी दूसरे global object को pollute कर दिया” भी हो सकती है
      शायद मुझे पहले से नाराज client को phone करके कहना पड़े कि जल्दबाजी में फैसले और तीखी राय से बचें
    • मेरा मानना है कि ज्यादातर राय 21 साल में बनी हैं। WordPress ने शुरुआत में websites जल्दी और आसानी से बनाने के तरीके के रूप में नाम कमाया, और बाद में security nightmare के रूप में reputation बना ली
      हो सकता है अब ऐसा न हो, लेकिन skepticism स्वाभाविक है। हर हफ्ते जो updates देखता हूं उनमें काफी CVEs दिखते हैं, हालांकि वे सभी low-risk या बहुत कम इस्तेमाल होने वाले plugins से जुड़े हो सकते हैं
    • बचपन में मेरी शुरुआती programming experiences में से एक WordPress का index.php मासूमियत से खोलकर यह समझने की कोशिश करना था कि यह काम कैसे करता है
      file के सबसे ऊपर “code is poetry” comment के अलावा मुझे कुछ भी समझ नहीं आया था—यह याद रह गया
      उसी ने code के बारे में मेरी सोच बदल दी और मुझे programming में और ज्यादा डुबो दिया
    • थोड़ा और गहराई में जाएं तो तुरंत दिख जाता है कि WordPress कितना mess है
      posts में metadata चाहिए तो ACF install करें, और उसी metadata से filter करना चाहें तो कुछ filters साथ लगते ही SQL query timeout हो जाती है। WP का अजीब schema देखें तो वजह समझ आ जाती है
      Gutenberg WYSIWYG से editable React components का वादा करता है, लेकिन attributes को HTML में store करने, database में rendered HTML डालने, और component developer से हर बदलाव पर deprecated changes की array maintain कराने जैसे अजीब decisions लेता है
      WordPress को refactor करके Laravel जोड़कर इसे सुलझाने की कोशिशें भी हैं[1], लेकिन हर layer nightmare है, और अलग-अलग हिस्सों के authors भी शायद ठीक से नहीं समझ पाते कि चीजें randomly क्यों टूटती हैं
      plugin ecosystem आकर्षक हो सकता है, लेकिन plugins की implementations अलग-अलग हैं, इसलिए users पर bloated CSS और JS के ढेर धकेले जाने की संभावना बड़ी है
      मैं Directus और Astro पर चला गया हूं, और ज्यादा सामान्य PHP deployment के लिए शायद October या Statamic जैसे Laravel-based CMS इस्तेमाल करूंगा
      [1]: https://roots.io/
    • जानना चाहूंगा कि WordPress को सही से समझने और सीखने का कोई बेहतर तरीका सुझा सकते हैं क्या
      2009–2011 में plugins लिखने और modify करने समेत इसके साथ काफी काम किया था, लेकिन कभी लगा नहीं कि मैंने इसे सही से समझ लिया है; बस मोटे तौर पर समझा या स्वीकार कर लिया था
  • WordPress पसंद है। लोग इसे खुद इंस्टॉल करते हैं, दर्जनों बेकार, असुरक्षित और bug-भरे plugins लगाते हैं, और जब समय के साथ site खराब हो जाती है तो उनसे ज़्यादा सुरक्षित और ठोस solution के पैसे लिए जा सकते हैं

    • 2011 में plugin ranking में नंबर 2 रहे sociable plugin को देखने का मौका मिला था, और वह मेरे देखे हुए code में सबसे vulnerable और फूले हुए code में से एक था
      ऐसा लगता था जैसे कोई अधूरा weekend project बहुत लंबे समय तक खिंचने के बाद public कर दिया गया हो; किसी विशाल global variable के ऊपर घूमती हुई 5-screen लंबी for loop duplicate होकर कुछ process कर रही थी
    • लोगों को plugin इंस्टॉल करने के लिए लुभाने में यह निश्चित रूप से सफल रहा। खासकर सिर्फ उस UI को सामने रखने से ही, और चूंकि images default रूप से compress नहीं होतीं, यह उन कई SEO analyzers का भी perfect साथी बन गया जो images compress करने को कहते हैं
  • WordPress “perfect होने की ज़रूरत नहीं, बस चलना चाहिए” का मेरा पसंदीदा उदाहरण है
    बहुत से शानदार projects इसलिए मर जाते हैं क्योंकि वे पहले कदम को जरूरत से ज्यादा जटिल बना देते हैं। लोग इस्तेमाल करना शुरू कर दें तो बाद में कभी भी सुधार किया जा सकता है, लेकिन पहले launch करना जरूरी है

    • मुझे तो लगता है कि यह उल्टा साबित करता है। WordPress ने effectively पूरे codebase को public API बना दिया, और इसलिए plugins मौजूदा state पर निर्भर हो गए; नतीजतन यह हमेशा के लिए legacy code से बंध गया और meaningful improvements करना मुश्किल हो गया
      हालत इतनी खराब है कि PHP language developers भी कुछ features या fixes implement नहीं कर पाते। क्योंकि WordPress team code migrate नहीं करना चाहती, और PHP usage का बड़ा हिस्सा WordPress से आता है
    • लोगों ने करीब 25 साल पहले WP इस्तेमाल करना शुरू किया था, यही तथ्य “बाद में कभी भी सुधार कर सकते हैं” के खिलाफ counterexample नहीं है क्या?
  • WP काम के 95% हिस्से के लिए perfect tool है, लेकिन आखिरी 5% को adjust करना बेहद frustrating है
    मैंने इसे काफी इस्तेमाल किया है, और इतने लंबे समय तक टिके रहना इसकी usefulness का सबूत मानता हूं। उम्मीद है यह आगे भी 21 साल और चलता रहे

  • सच कहूं तो मुझे WordPress कभी use करने में आसान नहीं लगा। जब तक अच्छे themes और plugins मिल जाते हैं, सब गुलाबी लगता है; लेकिन जैसे ही बहुत छोटा सा custom change चाहिए होता है, चीजें उलझने लगती हैं

    • मैं खुद को average से बेहतर web developer मानता था, और जब दोस्त WordPress site में कुछ चीजें ठीक करने को कहते थे तो बिना हिचक कह देता था कि आसानी से बदल दूंगा
      लेकिन site और plugin/theme code, CSS files खोलते ही desired effect लाने के लिए घंटों जूझना पड़ता था, और अगर सफल भी हो जाता तो site का कोई दूसरा हिस्सा टूट जाता था
      अपमानजनक किस्से अपनी जगह, Matt ने अच्छा किया और आखिरी कहानी भी अच्छी थी
    • WordPress की initial setup बहुत आसान है, लेकिन समय बीतने के साथ maintenance बहुत मुश्किल हो जाती है
      updates में manual intervention चाहिए होता है, themes ठीक करने पड़ते हैं, और plugins abandon हो जाते हैं। मैं यह बोझ नहीं उठाना चाहता था, इसलिए लगभग 2017 से सभी sites को Hugo/Jekyll/MkDocs वगैरह पर move कर दिया
    • Ghost पर move किया; शुरुआत में थोड़ा rough था, लेकिन global CLI आने के बाद काफी ठीक हो गया
      अगर blog हो तो मैं WP की बजाय Ghost इस्तेमाल करना चाहूंगा, और PHP की तुलना में JS भी पसंद करता हूं
  • यह दिलचस्प है कि कई लोग “मैं WordPress developer हूं” कहते हैं, लेकिन असल में उसका मतलब बिल्कुल अलग अनुभव और skills के set से होता है
    किसी के लिए इसका मतलब WordPress admin screen में themes और plugins install करना और page content लिखना है
    किसी और के लिए इसका मतलब PHP templates से HTML लिखना और WordPress behavior customize करने वाला old-school PHP code, यानी classic theme है
    और किसी तीसरे के लिए इसका मतलब Docker, CI/CD के साथ JS+React लिखना वाला नया block theme है

    • अगर customer base काफी diverse रखा हो, तो किसी व्यक्ति के लिए इसका मतलब ये सब कुछ भी हो सकता है
  • काश और कंपनियां Automattic की sabbatical policy अपनाएं
    https://automattic.com/benefits/sabbatical/

    • यह ध्यान रखना चाहिए कि US में सालाना छुट्टी 2 हफ्ते होती है, इसलिए 3 महीने की sabbatical हो तब भी यह Europe से कम पड़ती है
  • उम्र बढ़ने का एहसास तब होता है जब “WP” देखकर WordPress नहीं बल्कि WordPerfect(https://en.wikipedia.org/wiki/WordPerfect) याद आता है
    WordPress अब सबसे conservative देशों में भी adult माने जाने की उम्र का हो चुका है, और WordPerfect अब midlife crisis वाली उम्र में पहुंच रहा है

    • मुझे अब भी WordPerfect की याद आती है। MS Word से ज्यादा पसंद था, हालांकि आखिरी बार इस्तेमाल किए 25 साल हो गए
  • WordPress में impression छोड़ने वाली बात यह है कि web nerds मानकर चलते हैं कि यह obviously आसान होगा, और अगर ऐसा नहीं होता तो नाराज़ हो जाते हैं
    बाकी हर चीज की तरह WordPress भी सीखना पड़ता है, और इसका अपना viewpoint है
    इसकी अजीब history भी है, और खासकर media items handle करने का तरीका मुझे सच में पसंद नहीं, लेकिन फिर भी इसका methodology है
    अगर मैं कहूं कि मुझे Go, JS, Perl, Java, Ruby, C आते हैं और फिर Rust सीखना मुश्किल है कहकर नाराज़ होऊं, तो जाहिर है लोग जवाब देंगे
    WordPress दिखने में simple काम करता लगता है, लेकिन असल में यह काफी बड़ा platform है। शायद आपको documentation थोड़ी पढ़नी पड़े
    अगर आपको Elementor इस्तेमाल करने वाली site विरासत में मिली है, तो जिसने बनाई उससे simple changes का तरीका पूछें, वह मदद कर सकता है
    अगर आपको Visual Composer या Divi इस्तेमाल करने वाली site विरासत में मिली है, तो बनाने वालों को गोली मार देने का मन करेगा
    अगर आपको Gutenberg खराब लगता है, तो अब ऐसा बिल्कुल नहीं है। Divi वाले दिनों को याद करें तो वह सच में बहुत बुरा था

    • मुझे एक website विरासत में मिली जिसमें पूरे styling के लिए Divi इस्तेमाल हुआ था, और यह अब तक देखे commercial software में सबसे खराब के करीब है
      WordPress के ऊपर चढ़े भयानक JavaScript UI execution में ज़रा-सा भी timeout हो जाए तो सिर्फ blog post save करने भर से पूरी website recover न होने वाली state में जा सकती है
      Italian और French localization 90s के Japanese games के स्तर की खराब है, और responsive options practically काम नहीं करते, जब तक कि किसी खास breakpoint पर content छिपाने-दिखाने को responsive न कहें
      frontend “theme” jQuery-era JavaScript के unreadable dump जैसी है, इसलिए हर चीज बेहद fragile है
      मुझे 100% यकीन है कि अगर Elegant Themes ads पर इतना पैसा न खर्च करती, तो कोई इसे इस्तेमाल नहीं करता
    • उत्सुकता है कि वह अजीब history क्या है