HTML पर दांव लगाना
(catskull.net)- बड़े language model-आधारित AI के फैलने के साथ, इंसानों को दिखने वाली स्क्रीन जितना ही मशीन द्वारा पढ़े जा सकने वाले semantic HTML का मूल्य भी बढ़ रहा है
- बड़े social media के closed garden डेटा पोर्टेबिलिटी और interoperability को रोकते हैं, और fediverse·Threads·Bluesky जैसे distributed प्रयासों में भी आम उपयोगकर्ताओं को खींचने की प्रेरणा कमज़ोर है
- आधुनिक HTML में
<details>,<dialog>, और तरह-तरह के<input>जैसे वेब ऐप्स के लिए ज़रूरी मूलभूत UI elements पहले से ही काफी हद तक मौजूद हैं - browser की default styling और reader mode का उपयोग करने से अत्यधिक CSS·JavaScript निर्भरता कम की जा सकती है, और सही tags machine readability तथा mobile input अनुभव को बेहतर बनाते हैं
- ऐसे दौर में जब RSS अब भी ज़िंदा है और ChatGPT जैसे interfaces डेटा तक पहुँचने के तरीके के रूप में उभर रहे हैं, विज्ञापन-केंद्रित interfaces की तुलना में structured HTML अधिक व्यावहारिक आधार बन सकता है
वेब के बुनियादी डेटा इंटरफ़ेस के रूप में HTML
- बड़े language model-आधारित AI के आगमन ने semantic HTML की अहमियत को फिर से बढ़ा दिया है
- इंटरनेट का मूल काम लोगों को दुनिया के साथ इंटरैक्ट करने के लिए ज़रूरी डेटा पहुँचाना है, लेकिन HTML/CSS/JavaScript की स्वतंत्रता का एक दूसरा पहलू यह भी है कि यह डेटा एक्सेस को सीमित कर सकती है
- बड़ी tech कंपनियों के social media, खुले और सुलभ data formats तथा APIs की बजाय उपयोगकर्ताओं को closed platforms के भीतर बाँधकर रखते हैं
- platforms के बीच interoperability व्यावहारिक रूप से कठिन हो गई है
- कंपनियाँ आसान data portability से बचती हैं, जिससे समस्या और जटिल हो जाती है
- हाल के social media अस्थिरता के दौर ने fediverse जैसे distributed platforms में रुचि फिर बढ़ाई है
- Meta का Threads और Jack Dorsey द्वारा बनाया गया Bluesky, बड़े fediverse के साथ interoperability को अपनी खासियत के रूप में पेश करते हैं
- लेकिन आम उपयोगकर्ता अक्सर सिर्फ इसी वजह से नया social media नहीं चुनते
- अब समय है कि पहले से प्रमाणित समाधान HTML को फिर से देखा जाए
- पहले browser में HTML content को ठीक-ठाक दिखाने के लिए बहुत CSS का इस्तेमाल करना पड़ता था
- अब कई modern HTML elements जुड़ चुके हैं, जो आधुनिक web applications के लिए ज़रूरी अधिकांश UI elements उपलब्ध कराते हैं
- reader mode styling पर लगाए गए समय को बेअसर कर सकता है, और इसे सकारात्मक रूप में देखा जा सकता है
- सही tags मशीन के लिए आसानी से पढ़े जा सकने वाला format देते हैं
- यह सिर्फ design समय बचाने से भी अधिक मज़बूत कारण है कि modern HTML को अपनाया जाए
- RSS अब भी ज़िंदा है
- ChatGPT जैसे interfaces भविष्य में इंसानों द्वारा डेटा एक्सेस करने का तरीका बन सकते हैं
उपयोगी या नए नज़रिए से देखने लायक HTML elements
- MDN की HTML elements की पूरी सूची देखना उपयोगी है
- नीचे दिए गए उदाहरणों में अलग styling के बिना सिर्फ browser की default styling का उपयोग किया गया है
- browser के अनुसार उनका रूप काफ़ी अलग हो सकता है, या वे बिल्कुल समर्थित न हों
<abbr>: abbreviation को घेरने वाला element- styling लगाकर इसे उभारा जा सकता है
- मुख्यतः machine parsing के लिए उपयोगी है
<datalist>: input candidates की सूची देने वाला element- typeahead जैसा दिखने वाला UI बनाया जा सकता है
- इसमें built-in validation नहीं दिखती
- Safari में
optiontag को बंद करना ज़रूरी है, नहीं तो यह काम नहीं करता
<details>: expand/collapse disclosure element- इसे छोटे dropdown की तरह इस्तेमाल किया जा सकता है
- इसमें मजबूत styling भी लागू की जा सकती है
<dialog>: dialog box element- यह buttons, forms, attributes और JavaScript से खोले-बंद किए जा सकने वाला built-in element है
- यह बिल्कुल modal जैसा नहीं है, लेकिन modal बनाना हो to अच्छा आधार हो सकता है
- यह संभवतः अगले elements के ऊपर render होता है
<i>aur<em>- इन दोनों elements के अंतर को समझना ज़रूरी है
<iframe>- इसे उदाहरण सूची में शामिल किया गया है, लेकिन मज़ाकिया अंदाज़ में लिया गया है
<input>: form input element- input के लिए उचित label और type का उपयोग करना चाहिए
- mobile पर संदर्भ के अनुसार OS अलग keyboard खोलता है, इसलिए input type तय करना महत्वपूर्ण है
- समय-संबंधित input के कई विकल्प होने से अलग JavaScript date picker की ज़रूरत कम हो सकती है
- उदाहरण के तौर पर
color,range,datetime-localinputs दिए गए हैं
<mark>: text highlight element- default रूप से Safari में यह पीले highlight के रूप में दिखता है
<meter>: measurement value दिखाने वाला element- Safari में सेट किए गए parameters के अनुसार यह लाल·पीला·हरा दिखता है
optimumvalue सेट की जा सकती है- यह 60fps music visualization demo में उपयोगी हो सकता है
<progress>: progress दिखाने वाला element- यह एक native HTML progress bar है, जिसमें fixed value या indeterminate state दी जा सकती है
- Safari में window active होने पर यह नीला और inactive होने पर धूसर दिखता है
- default रूप से यह system accent color का पालन करता है, और CSS की
accent-colorproperty से इसे सेट किया जा सकता है
1 टिप्पणियां
Hacker News की राय
यह कहना अजीब है कि HTML बंद ecosystem lock-in का समाधान है। ऐसी बंद services भी पहले से HTML इस्तेमाल करती हैं, और बताए गए कुछ semantic elements के साथ-साथ ज़्यादा refined ARIA semantic attributes भी इस्तेमाल करती हैं
यह दावा भी कि ChatGPT जैसे interfaces इंसानों के data access का भविष्य हैं—AI systems की खास बात तो यही है कि input process करने के लिए उन्हें विशेष “machine-readable” annotations की ज़रूरत नहीं होती। ChatGPT और आगे के models इंसानों की तरह सामान्य websites browse कर सकते हैं, और बिना explicit markup के भी समझ लेते हैं कि paragraphs का कोई समूह “list” है
लेखक जो समझा रहे हैं, वह आखिरकार HTML semantic elements के ज़रिए एक API जैसा ही है। लेकिन अगर API है, तो automated data access के लिए large language model की ज़रूरत नहीं; Beautiful Soup इस्तेमाल करने वाली एक साधारण Python script काफी है, और उसका फायदा यह भी है कि वह सिर्फ local पर run होती है
आखिर अच्छा और बुरा अलग करने वाली चीज implementation complexity है। कोई भी tool अच्छा या बुरा इस्तेमाल किया जा सकता है, और कोई beginner circular saw और charged battery से बड़ा हादसा भी कर सकता है। कोई craftsperson tool बिल्कुल न इस्तेमाल करने और बगल में ठोकने—यानी business requirements के खिलाफ जाने—का चुनाव भी कर सकता है
हाल में बनाई गई websites मेरी बनाई चीज़ों में सबसे ज़्यादा compatible हैं। अब मैं websockets इस्तेमाल नहीं करता, और JavaScript के server से टुकड़ों-टुकड़ों में बात करने के तरीके पर निर्भर नहीं रहता। JavaScript पूरी तरह बंद कर दें तो भी product का करीब 80% इस्तेमाल किया जा सकता है। समझ नहीं आता कि ऐसे engineering choices बंद ecosystem lock-in का समाधान कैसे नहीं हैं
large language models text और source code वगैरह पर train होते हैं, लेकिन जिसे reasoning device कहा जा सके वैसी चीज़ की कमी के साथ क्या वे DOM tree देखकर सच में समझ सकते हैं कि वह क्या है और क्या करता है? DOM text नहीं है, और bundling या componentization का नतीजा होने से उसे अच्छी तरह structured source code भी कहना मुश्किल है। यह लगभग ऐसा सुनाई देता है जैसे “large language model किसी भी .exe को देखकर तुरंत integrate कर सकता है”
मेरी भी मिलती-जुलती रुचि है, लेकिन उद्देश्य crawling और नए search engines हैं। अगर हर page को index करने से पहले headless browser में execute करना पड़े, तो नए search engine के लिए entry barrier काफी बढ़ जाता है
लेख का पहला वाक्य है, “large language model-आधारित AI के आने से semantic HTML पहले से कहीं ज़्यादा महत्वपूर्ण हो गया है,” लेकिन मेरे हिसाब से “large language model-आधारित AI के आने से semantic HTML पहले से कहीं कम महत्वपूर्ण हो गया है” कहीं ज़्यादा defend की जा सकने वाली बात है
semantic web विफल रहा, और उसकी जगह Google ने उस समय के top-tier AI से जुड़े तमाम heuristics पर बहुत पैसा खर्च करने वाले तरीके ने ले ली। AI जितना बेहतर होता जाएगा, किसी भी तरह बनाए गए jumble से जानकारी निकालने की क्षमता उतनी बढ़ेगी; और अगर ऐसा jumble पर्याप्त है, तो लोग मेहनत भी बस वहीं तक करेंगे। सिद्धांत रूप में आखिरकार semantic web और heuristics के ढेर—दोनों की जगह AI ले लेगा
यह भी अहम है कि शुरू में LLM लिखा गया और बाद में सामान्य शब्द AI पर switch कर दिया गया। large language model पूरी AI नहीं है; यह अभी लोकप्रिय एक शाखा भर है, और आखिरी लोकप्रिय शाखा भी नहीं। आने वाले दशकों की projection इस assumption पर करना ठीक नहीं कि large language models ही AI का final answer हैं
अगर लक्ष्य content के relevant हिस्सों का पर्याप्त अच्छे से index होकर rank करना है, तो कहा जा सकता है कि semantic HTML को पूरी तरह अपनाने का incentive कम था
अगर लक्ष्य “rank करना” से बदलकर “large language model को content की nuance और texture अधिकतम extract करने देना” हो जाए, तो कुछ specific elements को बेहतर इस्तेमाल करने का incentive बढ़ सकता है। ऐसा करने वाली websites large language model के output पर ज़्यादा प्रभाव रख सकती हैं
यह उतना जोर से बोलने और इतना स्पष्ट बोलने के फर्क जैसा लगता है कि बात समझ में आ जाए
सुना था कि Bard वाला नया results page announce हुआ है, लेकिन शायद ads ignore करने की आदत की वजह से या मेरे region में अभी नहीं आया इसलिए मैंने देखा नहीं; जाकर देखना पड़ेगा
मन से मैं semantic web camp के करीब था, लेकिन अगर machine उस jumble को ठीक-ठाक समझ सकती है, तो फिर मेहनत क्यों करनी—यह बात सही है
कुछ projects दावा करते हैं कि knowledge graph या दूसरे data assets AI को “true” knowledge search करने में मदद कर सकते हैं। व्यक्तिगत रूप से मुझे लगता है कि AI को अपने data assets बनाने देने के तरीके विकसित करना बेहतर होगा। neural network के weights भी ऐसे assets में से एक हैं
truth की समस्या अब भी बहुत कठिन है। AI को कैसे बताया जाए कि कौन-सा knowledge दूसरे knowledge से ज़्यादा भरोसेमंद है? बेशक इंसानों के साथ भी यही समस्या है
मैंने इन HTML elements में से ज़्यादातर के बारे में लगभग कभी नहीं सुना था, और यह काफ़ी अफ़सोस की बात है। क्योंकि ऐसी चीज़ें “हर चीज़ के लिए JavaScript चाहिए” वाले ecosystem को खत्म करने में काफी मदद कर सकती हैं
कम-से-कम JavaScript को उसकी मूल मंशा के ज़्यादा करीब वाली जगह पर वापस ला सकती हैं—यानी थोड़ी सजावट या interaction जोड़ने के साधन के रूप में। इसे सारे markup का विकल्प और पूरे DOM का manager बनने की ज़रूरत नहीं है
मेरे सपनों का browser शायद visurf https://sr.ht/~sircmpwn/visurf/ जैसा होगा, जिसमें अंदर का Netsurf engine ऐसे elements सहित modern HTML+CSS को support करने के लिए update किया गया हो। ऐसे browser से लगभग JavaScript-रहित छोटा web बनाया जा सकता है। screen reader, system theme, shortcuts वगैरह कम टूटेंगे तो accessibility बेहतर होगी, बदले जा सकने वाले भारी JavaScript उपकरणों की तुलना में बहुत कम resources लगेंगे, और आज के मध्यम स्तर के web apps से जिन ज़्यादातर चीज़ों की उम्मीद होती है वे भी संभव लगती हैं। WebGL जैसी चीज़ों के लिए Firefox खोल सकते हैं, लेकिन उदाहरण के लिए Matrix client भी websockets और end-to-end encryption भर के लिए थोड़ी-सी JavaScript जोड़कर बन सकता है
extensibility भी लगभग नहीं होती, इसलिए ज़रा-सी जटिल चीज़ करनी हो तो आखिरकार उसे छोड़कर JavaScript से फिर शुरू करना पड़ता है। तब शुरुआत से ही JavaScript से शुरू करना बेहतर है, क्योंकि वह ठीक काम करता है, पूरा control देता है और हर system पर एक जैसा चलता है
अंत में ऐसे extra components ऐसी bloating बनकर रह जाते हैं जिन्हें सभी browsers को implement करना पड़ता है, लेकिन कोई इस्तेमाल नहीं करता
datalistको पहली बार देखकर लगा था, “वाह, game changer है।” Behavior browsers में एक जैसा है, लेकिन look पूरी तरह browser-specific है और CSS से style नहीं किया जा सकताकभी-कभी सिर्फ data का text दिखता है, और कभी text के साथ
valueattribute भी दिखता है। इसलिए “Atlanta” चुनने के बजाय “234290780 Atlanta”, यानी ID और value साथ में चुननी पड़ती हैclick behavior में भी ID सीधे नहीं मिलती; पूरा content लेकर ID parse करनी पड़ती है। यह बस एक छोड़ा हुआ element जैसा महसूस होता है
लेख MDN को link करता है, और छोटे reference के तौर पर MDN सबसे उपयोगी में से है। बेशक WHATWG HTML specification भी है, और अगर वह बहुत विशाल लगे तो WHATWG HTML 2021·2023 snapshots के लिए SGML DTD format grammar और पुराने HTML 5.x series grammar भी हैं
[1]: https://sgmljs.net/docs/html200129.html
मैं semantic web पर भरोसा करना चाहता हूँ, और यह भी मानना चाहता हूँ कि browsers अच्छे default modules और ठीक-ठाक default styles दे सकते हैं, लेकिन अभी ऐसा नहीं है—यह स्वीकार करना ही पड़ता है
inputपर label लगाना ही लें: पहले यह सोचना पड़ता है कि यह attribute क्यों नहीं है, फिर यह भी पक्का नहीं होता कि इसे wrapper के रूप में इस्तेमाल करें याfor=attribute वाले sibling के रूप में रखें। यह तो बस हिमशैल की नोक है। हर tag के लिए उसका पूरा development history सीखना पड़ता है और आज सही तरीका क्या है, यह फिर से खोजना पड़ता हैहमारे पास अच्छी चीज़ हो सकती थी, लेकिन अब शायद शांत होकर उसे छोड़ देना चाहिए
निश्चित रूप से इसमें अजीब हिस्से और rough edges हैं, लेकिन अगर हर web developer semantic HTML का अधिकतम उपयोग करना जानता, तो browsers में JavaScript बहुत कम होता, accessibility bugs भी कम होते, और specification को जब ऐसी अजीब चीज़ों को ठीक या replace करना होता तो शायद उस पर ज़्यादा लोगों की नज़र होती
labelattribute शायद plain text content का मतलब रखता, जो बहुत सीमित लगता हैHTML कई दशकों से इस्तेमाल हो रहा है, इसलिए इसका history जटिल और कई layers वाला है। फिर भी हाल में यह बहुत ज़्यादा नहीं बदला है, और MDN की वजह से HTML5 में क्या संभव है यह सीखना और ज़रूरत पड़ने पर और गहराई में जाना काफी आसान है
labeltag कोinputtag के बाद रखना चाहता हूँ। इससे CSS pseudo-classes के जरिए input state के आधार पर label को select और style किया जा सकता हैबेशक किसी भी publishing system, बल्कि किसी भी system को प्रभावी ढंग से इस्तेमाल करने के लिए उसके दिए गए basic elements का उपयोग सीखना पड़ता है। इसलिए यह सिर्फ semantic web की समस्या नहीं है
Go HTML templates debug करने के लिए मैं
detailsबहुत इस्तेमाल करता हूँ{{if .DevMode}}से development mode में data डाल देता हूँ; बंद रहने पर यह page को ज्यादा खराब नहीं करता इसलिए ज्यादा ध्यान नहीं खींचता, और ज़रूरत पड़ने पर खोलकर पूरा content देखा जा सकता हैdetailselement का थोड़ा ज़्यादा इस्तेमाल करता हूँ। यह बहुत साफ-सुथरा है, समझ नहीं आता कि इसे ज़्यादा क्यों नहीं इस्तेमाल किया जाताGitHub Markdown में भी इस्तेमाल किया जा सकता है, और कुछ लोग इसे examples या inline explanations के लिए भी इस्तेमाल करते हैं
पढ़ने की सामग्री और interactive demos अच्छे लगे
Flutter के साथ कुछ साल काम करने के बाद फिर उसी निष्कर्ष पर पहुँचा: दांव HTML पर लगाना चाहिए
Astro / Tailwind / Daisy UI / Alpine.js का कॉम्बिनेशन ऐसे HTML साइट्स बनाने के लिए अच्छा है जिनमें सरल server-side rendering ज्यादा हो और client-side responsiveness थोड़ी छिड़की गई हो
नतीजा सरल और ठीक-ठाक HTML files होता है, जो desktop web browser और mobile-wrapped WebView में अच्छे दिखते हैं और ठीक काम करते हैं। मेरा ऐप असल में static है, इसलिए CDN में cache हो जाता है, offline भी चलता है, और View Source debugging को आसान बना देता है
सबसे अच्छी बात यह है कि नया developer चाहे React, Angular, PHP, या Python background का हो, मुझे भरोसा है कि वह 100-line build file को करीब 3 मिनट देखकर समझ जाएगा। यह सचमुच इतना सरल है कि अच्छा लगता है
मेरे हिसाब से semantic web की समस्या यह है कि चाहे इसे कितना भी आसान बना दिया जाए, developers इसे सही तरह इस्तेमाल करने से इनकार करते हैं। मेरा browser extension
maintag का इस्तेमाल करता है, इसलिए मैं इस tag पर ध्यान देता रहा हूँ; MDN docs में क्या करना चाहिए यह बहुत साफ है, और docs खुद भी अच्छे usage examples दिखाते हैं। फिर भी इसे सही इस्तेमाल करने वाली sites बहुत कम हैंयहाँ तक कि चमकदार professional sites भी अक्सर navigation, footer वगैरह सहित पूरे page content को
maintag के अंदर wrap कर देती हैं। यह tag सिर्फ page के मुख्य content के लिए होना चाहिएअगर इतना सरल element भी सही से इस्तेमाल नहीं हो पाता, तो बाकी elements से ज्यादा उम्मीद नहीं है
ऐसी चीजों को contract होने का दिखावा नहीं करना चाहिए
ptag इस्तेमाल किया, उसने सचमुच उसे सही इस्तेमाल किया। यहclass="card"जैसी चीज से अलग हैसमझ नहीं आता कि तकनीकी समझ रखने वाले इतने लोग semantic web की बेकारियत या उसकी विफलता पर इतना अफसोस क्यों जताते हैं। यह ऐसा सुनाई देता है जैसे कोई कहे, “काश car सफल हो जाए, लंबी दूरी की यात्रा आसान हो जाएगी”
लेकिन ऐसा दौर रहा है। HTML4 से पहले की चीजें मोटे तौर पर ऐसी ही थीं, और वह और भी खराब था
इसलिए शायद developer tools का गलत usage पर warnings या errors देना बेहतर होगा
दिलचस्प है कि यहाँ कई comments इस लेख को anti-JavaScript लेख की तरह देख रहे हैं। मुझे तो ये उल्टा उन tools जैसे लगते हैं जो modern enterprise app frontends में हमारे TypeScript-centric frameworks के साथ इस्तेमाल करने पर बेहद उपयोगी होंगे। क्योंकि ये HTML native tools हैं, इसलिए बहुत ज्यादा चीजों की मांग नहीं करते
उदाहरण के लिए,
metertag शायद आज office पहुँचते ही React में इस्तेमाल होने वाले हमारे सारे loading modules की जगह ले लेगा। क्योंकि यह अभी जो हम इस्तेमाल कर रहे हैं उससे काफी बेहतर हैहो सकता है मैंने लोगों को गलत समझा हो या लेख गलत पढ़ा हो, लेकिन आज की बड़ी applications की तरह frontend लगभग पूरा TypeScript होने पर भी यह बहुत दिलचस्प है
नई applications बन सकती हैं जिन्हें पहले से कहीं कम JavaScript में बनाया जा सके। मौजूदा enterprise TypeScript apps में यह in-place upgrade हो सकता है, लेकिन उम्मीद यह है कि नए app development में उन enterprise frameworks को ही avoid किया जा सके। सपने तो देख ही सकते हैं, है न?
मैं वेब डेवलपमेंट को पूरी तरह नीचा नहीं दिखाना चाहता, लेकिन यह सच में भयानक है। कच्चे HTML से लेकर scripting languages और frameworks तक, मैं यह काम कई सालों से कर रहा हूँ, और छोटी-सी चीज़ करने में लगने वाला समय बहुत बड़ा दिमागी अपव्यय लगता है
छुट्टी पर गया था तो बस खाने-पीने की जगहें या दिनभर घूमने की जगहें ढूँढना चाहता था, लेकिन ज़्यादातर साइटें बिखरी हुई, पुरानी या अपडेट न की हुई थीं। एक बार बनाकर भूल जाने वाली साइटें अब भी बहुत हैं। शायद बजट तंग है इसलिए अपडेट करने की गुंजाइश नहीं, या अपडेट करना तकनीकी रूप से बहुत कठिन है
साइट की जटिलता ही ठहराव ले आती है। जहाँ साधारण text और images के कुछ pages काफी होते, वहाँ बेवजह over-engineering करके बहुत सारे CPU cycles जलाए जा रहे हैं। यह भी काफी संभव है कि किसी तैयार CMS को तोड़-मरोड़कर बनाया गया हो, जिसे security updates चाहिए होते हैं
हाल में एक सिनेमा हॉल की साइट देख रहा था, और उस हफ्ते चल रही कुछ फिल्मों को सरसरी तौर पर देखना भी लगभग असंभव था। लगा कि spreadsheet में डालना पढ़ने में बेहतर होगा, और सच में API से JSON डाउनलोड करके देखा तो वही ज़्यादा पढ़ने योग्य था
ज़्यादातर चीज़ें सूअर पर lipstick लगाने जैसी थकाऊ पैकेजिंग हैं। Facebook के सफल होने की एक वजह आसान onboarding थी, और दूसरी वजह photos share करना आसान होना था। WhatsApp और Instagram भी ऐसे ही हैं। publishing आसान होनी चाहिए। साधारण FTP भी आसान तो है, लेकिन आम लोगों के लिए usability प्रक्रिया में एक अजीब टूटन है। लोग drag and drop, upload, छोड़कर भूल जाना, और आसान editing चाहते हैं। जो लोग data consume करना चाहते हैं, वे आखिर में सिर्फ मूल चीज़ चाहते हैं। यानी data
लोग जो चाहते हैं वह अच्छी तरह styled और usable webpage है। समस्या यह है कि प्रभावी और प्रतिभाशाली user experience designers पर्याप्त नहीं हैं, और company stakeholders में भी ठीक-ठाक UX sense की कमी है
इसलिए औसत company जिस कमजोर UX को afford कर सकती है, उससे बेहतर स्थिति औसत user के लिए सिर्फ core data देना बन जाती है। भले ही वह उनकी पसंद न हो, फिर भी वह बेहतर है
{खराब UX} << {raw data} < {अच्छा UX}WordPress ने जो workaround निकाला वह यह था कि professional styles और themes बनाए जाएँ और users उन्हें खरीदकर apply करें। लेकिन stakeholders की खराब पसंद को इससे भी ठीक नहीं किया जा सकता
मेरे हिसाब से Facebook इसलिए सफल हुआ क्योंकि उसने professional और standardized UX enforce किया।
{लोगों का data} + {professional और standardized UX} = {जीत}। शुरुआती Facebook UX आपको नापसंद हो सकता है, लेकिन उसे amateur-level काम कहना मुश्किल है। MySpace या Geocities वगैरह के बारे में आम धारणा इसके उलट थीअगर मुझे wire mesh जैसी कोई चीज़ ढूँढनी हो, तो पहले अपने WhatsApp groups—परिवार, मोहल्ले, high school दोस्तों के groups—में पूछता हूँ। आमतौर पर कुछ नंबर मिल जाते हैं, और service provider से WhatsApp पर संपर्क करने पर ताज़ा जानकारी मिल जाती है
वे service providers updated website afford नहीं कर सकते। WhatsApp में profile में catalog डालने का feature भी है, और यह free business accounts के लिए है
मैं “Wix Widgets” जैसी चीज़ देखना चाहूँगा। data-connected widgets, जिनमें REST service calls जोड़ने और data points को widget display से map करने जितनी customization हो। आजकल हर company में जो internal website requirements होती हैं, उन्हें संभालने में यह काफी मददगार होगा
webpages के 90–95% हिस्से को वाकई सरल समाधान चाहिए
शायद यह GUI की प्रकृति ही हो, ऐसा भी सोचता हूँ। हर instruction एक-एक करके देनी पड़ती है, बहुत cycles खाती है, और ऐसा न हो तो cross-platform काम नहीं करती—शायद इसकी बनावट ही ऐसी है
articleऔरsectionelements जोड़कर कोशिश की थीबेशक raw HTML code शायद शुरू से developers के अलावा किसी और के पढ़ने के लिए बना ही नहीं था, तो वह पहलू भी है
pure HTML modal आने की खबर से मैं सच में उत्साहित था, लेकिन यह जानकर निराशा हुई कि JavaScript के बिना उसे trigger करने का कोई तरीका नहीं है। pure HTML से उसे सिर्फ बंद किया जा सकता है, खोला नहीं जा सकता
https://github.com/whatwg/html/issues/3567
dialogelement शानदार addition है और खुशी है कि इसे implement किया जा रहा है, लेकिन इसकी core functionality का कुछ हिस्सा JavaScript पर निर्भर है।dialogखोलने के लिए JavaScript सेopenattribute set करना पड़ता हैअच्छा हो अगर
buttonयाaelement के पास dialog खोलने का कोई तरीका हो। HTML में built-in page interaction की मिसाल पहले से है। उदाहरण के लिए links page को scroll कर सकते हैं, औरdetailselement interaction के बाद elements छिपा सकता है, इसलिए कोई दूसरा page elementdialogखोल सके तो यह स्वाभाविक लगेगाउदाहरण के लिए यहाँ ऊपर दाईं ओर
?पर click करके देखें: https://aavi.xyz/proj/colors/onclickattribute में भी रखी जा सकती है