Stack Overflow का पतन
(observablehq.com)- पिछले डेढ़ साल में Stack Overflow के ट्रैफिक में लगभग 35% की गिरावट को time-series डेटा के ज़रिए ट्रैक करने वाला Observable डेटा नोटबुक; डेटा स्रोत stackoverflow.com/site-analytics है
- शुरुआत में इसे लगभग 50% गिरावट के रूप में मापा गया था, लेकिन देखे गए नुकसान में लगभग 15% हिस्सा मई 2022 के आसपास Google Analytics cookie reclassification से जुड़ा हुआ लगता है, इसलिए चार्ट को उस बदलाव के बाद के डेटा तक सीमित करके संशोधित किया गया
- ट्रैफिक में गिरावट उसी तरह प्रश्न·उत्तर की संख्या में लगभग 50% कमी और पोस्ट्स को मिलने वाले वोट्स की कमी में भी दिखाई देती है
- चार्ट उपयोग को 49-दिन moving average के रूप में दिखाते हैं, और dataset की सीमा 2008-07-31 से 2023-07-23 तक है
- मूल लेख कई chart cells से बना है; दिए गए टेक्स्ट में ग्राफ render नहीं होते, इसलिए traffic / posts / votes इन तीन datasets की raw table values ही देखी जा सकती हैं
मुख्य बदलावों का सारांश
- पिछले डेढ़ साल में Stack Overflow के ट्रैफिक में लगभग 35% की गिरावट
- शुरुआती माप लगभग 50% गिरावट का था, लेकिन बाद में संशोधित किया गया
- देखे गए नुकसान का लगभग 15% हिस्सा मई 2022 के आसपास Google Analytics cookie reclassification (strictly necessary के रूप में परिभाषित और स्टोर किए जाने वाला बदलाव) से जुड़ा हुआ लगता है
- चार्ट को अपडेट करके केवल उस बदलाव के बाद का डेटा शामिल किया गया
- ट्रैफिक में गिरावट साइट usage metrics में भी उसी तरह दिखाई देती है
- प्रश्न·उत्तर की संख्या में लगभग 50% कमी
- उन पोस्ट्स को मिलने वाले वोट्स की संख्या में भी गिरावट
- चार्ट में उपयोग को 49-दिन moving average के रूप में दिखाया गया है
- डेटा स्रोत stackoverflow.com/site-analytics है
ट्रैफिक डेटा (traffic)
- traffic_2008Jul31_2023Jul23 dataset, 418 rows
- तारीख और तीन integer metrics से बना है; values की range लगभग 3M–22M / 1.5M–9.5M / 120k–520k
- दिखाया गया सेक्शन 2022-06-01 से शुरू होने वाले daily values का है
- 2022-06-01 → 18,524,758 / 7,945,523 / 351,184
- 2022-06-14 → 20,002,931 / 8,485,223 / 390,082
- 2022-06-04 जैसी कुछ तारीखों में 6,346,105 के स्तर तक, सप्ताह के दिनों की तुलना में कम मान दर्ज हुए
पोस्ट डेटा (posts)
- posts_2008Jul31_2023Jul23 dataset, 1,992 rows
- तारीख और तीन integer columns, values की range लगभग 4k–23k / 2k–12k / 1.5k–12k
- दिखाया गया सेक्शन 2018-02-08 से शुरू होने वाले daily values का है
- 2018-02-08 → 21,397 / 10,148 / 11,249
- 2018-02-22 → 21,631 / 10,356 / 11,275
वोट डेटा (votes)
- votes_2008Jul31_2023Jul23 dataset, 1,991 rows
- तारीख और चार integer columns, values की range लगभग 400–3,600 / 10k–75k / 10k–65k / 2,000–9,500
- दिखाया गया सेक्शन 2018-02-08 से शुरू होने वाले daily values का है
- 2018-02-08 → 3,347 / 65,834 / 57,278 / 8,556
- 2018-02-21 → 3,206 / 66,063 / 57,693 / 8,370
1 टिप्पणियां
Hacker News की राय
ये आँकड़े दिखाते हैं कि मई 2022 में कुछ ही दिनों के भीतर ट्रैफिक अचानक और स्थायी रूप से घट गया। रोज़ाना नए विज़िट लगभग 10 लाख से 3 लाख पर, कुल दैनिक pageviews लगभग 2 करोड़ से 1.4 करोड़ पर, और दैनिक sessions लगभग 94 लाख से 61 लाख पर आ गए।
लेकिन उसी अवधि में posts या votes की संख्या में वैसी गिरावट नहीं दिखी, और फरवरी 2023 में दोनों के तेज़ी से गिरने से पहले तक, मौसमी उतार-चढ़ाव छोड़ दें तो वे काफ़ी स्थिर थे। ट्रैफिक डेटा Google Analytics से आया था, जबकि posts/votes डेटा StackOverflow की आंतरिक गणना से; इसलिए मई 2022 की गिरावट शायद Google Analytics द्वारा ट्रैफिक/visitor tracking का तरीका अचानक बदलने से बना measurement artifact भी हो सकती है।
https://i.imgur.com/qMj7Lge.png
https://news.ycombinator.com/item?id=36856249
कर्मचारी Catija ने भी जवाब दिया था: “अप्रैल और मई 2022 के बीच ‘traffic’ संख्या प्रति सप्ताह 4 करोड़ घट गई, और उसी समय cookie tracking बदली थी। बाद में दिसंबर तक यह फिर सामान्य हो गई। cookie बदलाव से पहले traffic लगभग 14 करोड़–15 करोड़ प्रति सप्ताह था। हालांकि हमें यह पता है और हम इसे ‘adjust’ करते आए हैं।”
चूँकि इनके vote या post करने की संभावना कम होती है, अचानक कमी का मतलब हो सकता है कि organic search traffic के साथ कुछ बहुत बुरा हुआ। जैसे Google में बदलाव, कोई बेहद खराब नई search engine optimization strategy, या ad buying बंद करना। नए content का ratio काफ़ी पहले से निराशाजनक रूप से लगातार घट रहा था, लेकिन 2023 की शुरुआत के कुछ महीने खास तौर पर गंभीर थे।
SO पर जो सवाल पहले से मौजूद नहीं थे, उनमें मुझे सबसे ज़्यादा मदद दरअसल उनकी सख्ती से मिली। न्यूनतम reproducible example, साफ़ सोचने की प्रक्रिया, और पहले से आज़माई गई चीज़ों के साथ high-quality सवाल लिखने की प्रक्रिया में, ज़्यादातर समस्याएँ post करने से पहले ही खुद हल हो जाती थीं।
https://en.m.wikipedia.org/wiki/Rubber_duck_debugging
मेरा SO account लगभग 12 साल पुराना है और reputation 2 हज़ार से थोड़ा ऊपर है, लेकिन मुझे इसकी ज़्यादा परवाह नहीं। आज भी मैं mobile development tags में basic सवालों के कुछ जवाब देता हूँ, और SO से मेरी एकमात्र शिकायत ऊँची reputation वाले कुछ moderators की hostility है।
कुछ लोग मानो उसमें मज़ा लेते हैं, और यह भूल गए हैं कि reputation expertise का मतलब नहीं होता। 12 साल में वे यह समस्या हल नहीं कर पाए। मैं रोज़ देखता हूँ कि नए users बिल्कुल valid सवाल डालते हैं और फिर कभी जवाब नहीं देते। पहले आसान और basic सवालों को भी उदारता से upvote मिल जाता था, लेकिन अब ऐसा नहीं है।
Forums की गिरावट भी इससे जुड़ी लगती है। Reddit अभी भी इसलिए चल रहा है क्योंकि app दिन में 200 notifications भेजती है; अगर ऐसा न होता तो वह आज जितना popular नहीं होता। SO में अगर आप expert नहीं हैं तो participate करना hostile लगता है, इसलिए beginners के लिए सवाल पूछने या lurking के अलावा कुछ करने को नहीं है। लगता है जैसे वे qualified नहीं हैं।
JavaScript, Python, pandas, Git जैसे basic सवाल पूछकर या उनका जवाब देकर 100k से ज़्यादा reputation वाले बहुत लोग हो गए हैं।
SO या दूसरी SE sites पर जब भी कुछ post करता था, मुझे हमेशा साफ़-साफ़ लिखना पड़ता था: “मुझे पता है कि A अच्छा idea नहीं हो सकता और B बेहतर solution हो सकता है, लेकिन मेरी specific situation में मैं सच में A करना चाहता हूँ।”
फिर भी लोग उस सवाल को B का duplicate बताकर बंद करने की कोशिश करते थे।
फिर जब मैं कहता हूँ कि आपने मेरी लिखी बात पूरी तरह ignore की है, तो उल्टा मुझ पर misleading होने का आरोप लगता है और downvotes मिलते हैं। यही SO का तरीका है।
समस्या यह लगती है कि Google स्पैमर्स के खिलाफ लड़ाई हार रहा है। स्क्रैप किए हुए content sites से बचने के लिए search query में stackoverflow डालना पड़े, यह हुए काफी समय हो गया है
उस स्पैम में Google Ads/Analytics हो सकता है, और जब user स्पैम पर क्लिक करके search results page पर लौटता है और कुछ और आज़माता है, तो engagement बढ़ती है। उनमें से कोई एक ad result भी हो सकता है। यह सब Google के revenue में योगदान देता है
कुछ साल पहले programming-related search करने पर Stack Overflow पहला या दूसरा result होता था। अब top 2–3 spots में स्पैम वाला कचरा बहुत बार दिखता है
मैंने पहले एक मिलते-जुलते सवाल का जवाब दिया था, पर याद नहीं रहा, और 2 मिनट में नया जवाब लिख दिया, फिर downvote bomb मिला और मैंने SO छोड़ दिया। अपने पुराने answer को खोजने में नया answer लिखने से कहीं ज़्यादा समय लगता
जब मैंने कहा कि duplicates खोजने की ज़िम्मेदारी answer देने वाले की नहीं, question पूछने वाले की है, तो मुझसे कहा गया कि फिर भी समय लगाना चाहिए, नहीं तो answer मत दो
हर user moderator है। explicit moderators भी होते हैं, लेकिन वे अक्सर close या downvote नहीं करते, दूसरे issues संभालते हैं। छोटी sites पर वे सामान्य user permissions से vote और close ही करते हैं
SO उन समस्याओं के लिए library बना रहेगा जिन्हें उसने अभी तक नहीं देखा है, और वह मूल रूप से उसी role के लिए अच्छा fit है
यह लेख मुझे ChatGPT के उभार के बारे में लगता है, लेकिन मैं इस बात से भी सहमत हूँ कि over-moderation एक बड़ी समस्या है
gamedev StackExchange पर OpenGL सीखते समय जब मैं अटका, तो मेरा अनुभव खराब रहा। moderator ने OpenGL ES से जुड़े एक similar question के आधार पर मेरे question को तुरंत duplicate mark कर दिया, जबकि OpenGL ES related तो है लेकिन अलग API है। मैंने विरोध करने की कोशिश की, पर उसे नज़रअंदाज़ कर दिया गया। कुछ ही समय बाद मैंने वह game छोड़ दिया जिसे मैं कई सालों से बना रहा था, और उस moderator के decision का भी इसमें असर था। ऐसा लगा जैसे answer तक पहुँचने के रास्ते में दीवार खड़ी हो। over-moderation सिर्फ असुविधा नहीं है; यह user की काम पूरा करने की क्षमता को नुकसान पहुँचा सकता है
मैं भी Stack Overflow पर ज़्यादातर तब जाता हूँ जब search engine में कोई question type करता हूँ
याद है कि करीब 2013 में मैं front-end development सीखने की कोशिश कर रहा था, और responsive web design व Twitter Bootstrap से बहुत प्रभावित था। मैंने उस site पर कुछ questions post किए, पर amateur जैसे सवाल कहकर कई बार मज़ाक उड़ाया गया, और मैंने फिर कभी वह site इस्तेमाल नहीं की, न ही आखिरकार front-end सीखा
SO पर मेरा अनुभव अच्छा ही रहा, लेकिन फिर भी उम्मीद है कि average से कम समझदार या tact-less लोगों की वजह से आप निराश नहीं होंगे
moderation hell भी था, लेकिन SO questions के answer देना बंद करने की मेरी मुख्य वजह यह थी: अच्छा answer लिखने में समय लगता है, fast copy-paste answers गलत होने पर भी upvotes पा जाते हैं, और कई answers में accepted answer चुनने वाला आम तौर पर वही questioner होता है जिसके पास उसे judge करने का knowledge नहीं होता
इसके अलावा कई बार answer accepted नहीं होता, जैसे questioner को अब परवाह ही नहीं रही। SO score race को gamify करने वाले पुराने articles पर काफी backlash हुआ था, लेकिन broken system ठीक करने की कोशिश करने के बजाय SO वैसा ही रहा। जैसे SO Experts Exchange आदि से आगे निकला था, वैसे ही अब community के लिए post-SO Q&A site शुरू करने का अच्छा समय है
इसके उलट, कम documentation वाले software के कठिन हिस्से, जैसे low-level areas में answer दो, तो बहुत हुआ तो कुछ votes मिलते हैं। accepted हो जाए तो किस्मत अच्छी। कठिन और obscure SO tags में कुछ unknown heroes हैं। वे बहुत समय लगाते हैं, लेकिन reward लगभग नहीं मिलता। SO के बाद जो भी आए, उसे इसे ठीक करने का तरीका ढूँढना होगा
Stack Overflow में महसूस हुई समस्याओं को कुछ ही बातों में समेटना मुश्किल है, लेकिन मोटे तौर पर ये हैं। पहले Google, SO के बहुत relevant results अच्छे से दिखाता था, लेकिन किसी समय के बाद ऐसा होना बंद हो गया, और SO की moderation लगातार और भयानक होती गई
गिनती नहीं है कि कितनी बार मुझे वही अजीब सवाल मिला जिसे मैं ढूंढ रहा था, लेकिन उसमें बस एक संभावित जवाब वाला comment था और moderator ने “topic से बाहर है” जैसी वजह देकर उसे आक्रामक तरीके से बंद कर दिया था। नतीजा यह कि सही जवाब comment में दबा रह जाता है और अक्सर negative reaction भी मिलता है। ये सब मिलकर desired information को noise से छांटना धीरे-धीरे मुश्किल बनाते गए, और solution GitHub comments या किसी random blog में ढूंढना ज्यादा आसान हो गया
आजकल Google w3schools या उससे भी खराब geeks4geeks जैसे content farms recommend करता है, जो Stack Overflow से हमेशा बदतर हैं। algorithm क्या कर रहा है पता नहीं, लेकिन इतना तो पक्का लगता है कि वह Google Search को जितनी जल्दी हो सके खत्म करना चाहता है। “[language] [symbol]” search करने पर भी docs के बजाय ऐसे content farms पर भेजना मजाक जैसा है। आजकल Google से कुछ उपयोगी ढूंढना सचमुच मुश्किल है
मगर मुझे सचमुच X की जरूरत होती है, इसलिए वे answers बेकार हैं। फिर अगर X करने का तरीका पूछने वाला कोई दूसरा सवाल मिलता है, तो moderators उसे पिछले सवाल का duplicate बताकर बंद कर देते हैं। सवाल पूछने वाला साफ लिखे कि “मुझे सचमुच X चाहिए, इसलिए यह उस सवाल का duplicate नहीं है”, तब भी बंद हो जाता है
सबसे ज्यादा upvoted answer के नीचे दबा हुआ sub-comment: “यह सवाल नहीं था। Y से X करना हो तो ऐसे करें” और जिसने सचमुच सवाल का जवाब दिया, उस पर सबसे ज्यादा upvoted answer वाले तरीके को न अपनाने के लिए 10 comments में हमला होता है
मैं SharePoint developer नहीं था और यह पहली बार था, लेकिन manuals या specifications पढ़कर system समझने के पुराने तरीके का आदी था। bitmap formats, solar inverters, embedded construction software आदि पर काम कर चुका था, इसलिए SharePoint भी आसान होना चाहिए था, लेकिन StackOverflow के बिना शायद नहीं हो पाता। 2023 में जब फिर SharePoint पर काम करना पड़ा, तो official docs इतने अच्छे थे कि किसी और चीज की जरूरत नहीं पड़ी। यह एक isolated example है, लेकिन आजकल जिन लगभग सभी चीजों से मैं deal करता हूं, उनमें यही दिखता है। 10 साल का और experience होना भी वजह है, लेकिन मेरा मानना है कि industry ने official channels को कहीं बेहतर तरीके से संभालना भी बड़ा factor है। समस्या आती है तो अब आप StackOverflow जाते हैं, या GitHub issues जैसी जगह?
लेकिन 100 से ज्यादा upvotes और 50 bounty के साथ auto-accepted A1 कहता है “काम करता है” और Y context में libS के लिए, context हटाए हुए F के सिर्फ एक हिस्से को लंबा समझाता है। comments में “यह सही answer नहीं है, A15 देखें” आता है, और एक दूसरा comment शिकायत करता है कि A15 का U-related आधार secondary site है इसलिए भरोसेमंद नहीं। A2~A7, A1 की ही rehash हैं, A8 Y context वाले question का link देकर इसे duplicate कहता है, A9~A14 अलग तरह से काम करने वाली libT examples देकर “काम करता है” कहते हैं। सिर्फ A15 कहता है, “सवाल X context में libS के लिए F पूछता है और साफ कहता है कि Y नहीं है, इसलिए libS के X context में देखें तो यह काम नहीं करता। वजह foo है”, और libS docs या source code, examples link करता है। बाद में libS vN+1 में X context का F जुड़ने पर कई साल बाद comment आता है “यह answer अब valid नहीं है।” उसके बाद random answers चलते रहते हैं