गोल कोनों वाले आयत हर जगह हैं
(folklore.org)- जब Macintosh के लिए QuickDraw को अभी LisaGraf कहा जाता था, तब Bill Atkinson ने तेज़ circle और ellipse routines बनाई, और Steve Jobs चाहते थे कि इसे UI में अधिक उपयोगी रूप तक बढ़ाया जाए
- उस समय 68000 processor में floating point नहीं था और multiplication·division भी धीमे थे, इसलिए Bill ने circle calculation को केवल addition और subtraction से संभालने का तरीका चुना
- ellipse demo बहुत तेज़ था, लेकिन Steve ने “गोल कोनों वाले आयत हर जगह हैं” कहते हुए कमरे के अंदर और बाहर के वास्तविक उदाहरण दिखाकर Bill को मनाया
- शुरू में Bill को यह अनावश्यक और कठिन लगा, लेकिन गोल कोनों वाला signboard देखने के बाद उन्होंने implementation की कठिनाई फिर से जाँचने का फैसला किया
- अगले दिन का demo सामान्य rectangle के क़रीब speed पर चला, और RoundRects बाद में Macintosh UI का एक अनिवार्य graphic element बन गया
तेज़ ellipse routine से शुरू हुई मांग
- Bill Atkinson ज़्यादातर घर से काम करते थे, लेकिन जब भी कोई महत्वपूर्ण प्रगति होती, वे Apple के Macintosh office वाले Texaco Towers दौड़कर जाकर दिखाते थे
- इस बार यात्रा का उद्देश्य नई बनाई गई oval routines का प्रदर्शन था, और उस समय QuickDraw को अभी LisaGraf कहा जाता था
- Bill ने circles और ellipses को बहुत तेज़ी से draw करने वाला code जोड़ा और Lisa screen को random sizes के ellipses से भरकर दिखाया
68000 की सीमाएँ और calculation का तरीका
- Macintosh पर circles को तेज़ी से draw करना उस समय hardware constraints के कारण आसान नहीं था
- circle calculation में आम तौर पर square root की ज़रूरत होती है
- Lisa और Macintosh के 68000 processor floating point operations को support नहीं करते थे
- 68000 पर multiplication और division भी तेज़ नहीं थे
- Bill ने multiplication या division के बिना केवल addition और subtraction से काम करने वाला तरीका इस्तेमाल किया
- मूल विचार यह था कि odd numbers की sequence का sum अगला perfect square बनता है
- उदाहरण:
1 + 3 = 4 - उदाहरण:
1 + 3 + 5 = 9 - उदाहरण:
1 + 3 + 5 + 7 = 16
- उदाहरण:
- इसी गुण का उपयोग करके threshold पार होने तक loop चलाया गया और तय किया गया कि dependent coordinate value को कब बढ़ाना है, जिससे QuickDraw ellipses को बहुत तेज़ी से draw कर सका
Steve Jobs की rounded rectangle की मांग
- जब Bill का demo उम्मीद से कहीं ज़्यादा तेज़ चला, तो Steve Jobs ने पूछा कि क्या circles और ellipses के साथ rounded rectangles भी draw किए जा सकते हैं
- Bill ने जवाब दिया कि इसे implement करने का कोई तरीका नहीं है, यह बहुत कठिन होगा, और वास्तव में इसकी ज़रूरत भी नहीं है
- Steve ने कहा, “rounded rectangles हर जगह हैं,” और तुरंत कमरे के अंदर के उदाहरणों की ओर इशारा किया
- whiteboard
- कुछ desks और tables
- उन्होंने यह भी जोड़ा कि खिड़की के बाहर भी लगभग जहाँ भी देखो, ऐसे और उदाहरण मिलेंगे
वास्तविक दुनिया के उदाहरणों ने implementation को आगे बढ़ाया
- Steve ने Bill को मनाकर block के आसपास थोड़ी देर टहलने चलाया और एक-एक करके नज़र आने वाले rounded rectangles दिखाए
- जब दोनों rounded corners वाले no-parking sign के पास से गुज़रे, तो Bill ने अपना विचार बदल दिया
- Bill घर लौटे और इस पर काम किया कि क्या यह सच में उतना ही कठिन है जितना वे सोच रहे थे
RoundRects UI का बुनियादी तत्व बन गया
- Bill अगले दिन दोपहर Texaco Towers लौटे और नया demo दिखाया, जिसमें rounded rectangles सुंदर और बहुत तेज़ी से draw हो रहे थे
- इसकी speed साधारण rectangles draw करने की speed के लगभग क़रीब थी
- Bill ने यह code LisaGraf में जोड़ते हुए इस नए basic graphic element का नाम RoundRects रखा
- इसके बाद अगले कुछ महीनों में roundrects user interface के कई हिस्सों में शामिल हो गए और जल्द ही अपरिहार्य तत्व बन गए
1 टिप्पणियां
Hacker News टिप्पणियाँ
Windows ने 1.0 से 3.11 तक buttons में rounded corners इस्तेमाल किए; फिर XP की themed UI आने तक यह sharp corners में बदल गया, XP में फिर थोड़ा rounded हुआ, 8 में फिर angular हो गया, और 11 में फिर से rounded हो गया
https://user-images.githubusercontent.com/7389110/64139289-3...
फिर भी मुझे अब भी sharp corners ज़्यादा पसंद हैं
Windows 10 ने भी काफ़ी अच्छा किया था, लेकिन समस्या यह है कि खासकर settings में घूमते समय एकदम अलग-अलग UI paradigms अचानक सामने आकर आपस में उलझे हुए जैसे किसी अराजक संसार में घुसने जैसा लगता है
अजीब बात है, मुझे याद है कि पूर्वी एशिया के एक hotel में, शायद Tibetan प्रभाव वाली जगह पर, ठहरा था जहाँ कमरे के सारे corners rounded थे। बस ज़्यादा अच्छा और आरामदेह लगा। पश्चिमी देशों में किसी craftsman को बुलाकर कमरे के सारे corners rounded करवाना बहुत महँगा पड़ेगा; plaster से किया जा सकता है, लेकिन 10 साल से ज़्यादा टिकना मुश्किल होगा और resale value भी शायद नहीं बढ़ेगी
साथ ही यह भी पक्का हो जाता है कि rounded corners हों या sharp corners, मुझे सचमुच ज़रा भी फर्क नहीं पड़ता
Developers के पास Solarized जैसे design color palettes हो सकते हैं, तो Microsoft क्यों अपनी मर्ज़ी थोपकर सबको एक जैसे भयानक blue के अधीन कर देता है, समझ नहीं आता। पक्का किसी ने corporate-style बातचीत की होगी: “yellow बहुत warning जैसा है, orange बहुत unclear है, red बहुत angry है, purple बहुत ज़्यादा अलग दिखता है। blue safe है” — इसी वजह से मुझे वह blue पसंद नहीं
मुझे modern widgets में shading न होना पसंद नहीं। समझता हूँ कि वे modern दिखना चाहते हैं, लेकिन यह बस बहुत lazy लगता है
Windows Vista/7 से buttons अचानक लगभग दोगुने बड़े हो गए और यहाँ-वहाँ margins और padding आ गई, यह भी दिखता है। UI जितनी जगह बरबाद कर रहा है, वह लगातार हास्यास्पद रूप से बढ़ती जा रही है
मैं यह कहानी दशकों से enjoy करता आया हूँ, लेकिन अभी सबसे ज़्यादा ध्यान देने वाली बात यह है कि Bill Atkinson Macintosh बनाते समय work from home कर रहे थे
https://news.ycombinator.com/item?id=19238322
Apple का rounded rectangle अब squircle नहीं है क्या?
https://medium.com/minimal-notes/rounded-corners-in-the-appl...
संबंधित लेख:
Round rectangles are everywhere - https://news.ycombinator.com/item?id=28679496 - सितंबर 2021, 26 comments
History of Rounded Corners - https://news.ycombinator.com/item?id=7062706 - जनवरी 2014, 1 comment
Steve Jobs and Rounded Corners - https://news.ycombinator.com/item?id=3096927 - अक्टूबर 2011, 1 comment
The story of round rectangles - https://news.ycombinator.com/item?id=1636358 - अगस्त 2010, 77 comments
Steve Jobs की पसंद कितनी शानदार थी, और “liberal arts और technology” वाला phrase कितना sincere था, इसे कम आंका गया है
फिर भी मैं सहमत हूँ कि ऐसी anecdotes सामने आने पर हर बार फिर से हैरानी होती है। दुनिया चलाने वाले अनगिनत narcissists में से, शायद मैं उन्हें सबसे अच्छे रूप में याद रखूँगा
purely aesthetic कारणों से जोड़े गए rounded rectangles का एक उदाहरण पुराने Mac की desktop window थी। Boot के दौरान display चालू होते समय वह स्वाभाविक रूप से rectangle होती थी, लेकिन software के शुरुआती कामों में से एक उसके corners को rounded करना था, और जब तक कोई दूसरा software full screen में switch नहीं करता था, वह वैसी ही रहती थी
Windows में ऐसा कुछ नहीं था, और यह साफ़ तौर पर “बेकार” काम था, लेकिन मुझे वह detail पसंद थी
“अगले कुछ महीनों में rounded rectangle यूज़र इंटरफ़ेस के कई हिस्सों में फैल गया, और जल्द ही अनिवार्य हो गया” वाला हिस्सा आखिरकार दिखाता है कि यह भी दूसरे डिज़ाइनों की तरह बस एक trend ही था। फिर हम नुकीले कोनों और flat design की तरफ गए, फिर वापस rounded corners पर आए, फिर फिर से कोणीय हुए, और फिर लौट आए
यह नरक जैसा cycle आंखों के सामने चलता दिखता है। करीब एक साल पहले भी Chrome में किसी ने, जैसा बड़ी कंपनियों में अक्सर होता है, “design को refresh करते हैं” वाला शानदार आइडिया निकाला, और अचानक tabs गोल हो गए और navigation bar के आसपास छोटे-छोटे rounded corners आ गए
Concentric circles की तरह मिलाए गए rounded corners parent-child संबंध को भी Gestalt के स्तर पर साफ़ तौर पर बता सकते हैं
जब Google ने rectangular corners को पूरी तरह गोल बनाया था, तब भी margin और padding और बढ़ा दिए थे। अगर textured design फिर से trend में आया, तो उस समय भी margin और padding और बढ़ेंगे, ऐसा लगता है
पूरी तरह circular window बनाने वाला Mac OS ROM hacking: https://web.archive.org/web/20201209143138/https://macgui.co...
Hacking असल में उस code को Finder में inject करने वाला हिस्सा है। एक तरीका floppy disk की desktop file के अंदर WDEF store करना था, और उस floppy को लगाते ही नई window shape बदली जा सकती थी
Finder floppy की file info पाने के लिए उस file का resource fork खोलता और उसे खुला रखता था। Window खोलने पर Finder Resource Manager से “WDEF #0” मांगता, और Resource Manager desktop file के अंदर उसे—ठीक कहें तो उसके रूप में pretend करने वाला WDEF—ढूंढ लेता था। उस OS में Trojan horse बनाना बहुत मुश्किल नहीं था
अभी 3D printing के लिए model design सीख रहा हूं, और rounded corners aesthetics जितने ही जरूरत का मामला भी हैं। नुकीले कोनों वाली चीज़ों को पकड़ना असुविधाजनक होता है, और material के हिसाब से चोट लगने का खतरा भी होता है। वे hygienic भी नहीं होते और धूल साफ़ करना भी मुश्किल होता है
इसके उलट, arbitrary shapes में rounded corners generate करने का गणित messy है, और print करते समय अक्सर supports की जरूरत पड़ती है; बाद में supports हटाकर curves को sandpaper से smooth करने वाली post-processing भी करनी पड़ती है
सोचता हूं Bill ने “नहीं, ऐसा करने का कोई तरीका नहीं है। दरअसल यह सच में मुश्किल होगा” क्यों कहा। उसकी ellipse optimization को quarter-circle पर apply करना मामूली काम क्यों नहीं था?
शायद वह rounded rectangle को एक ही mathematical formula से model करने के बारे में सोच रहा था। https://news.ycombinator.com/item?id=15073696
वह शायद असंभव होगा। क्योंकि rounded rectangle continuous नहीं होता। लेकिन quarter-circle pieces और straight pieces को अलग-अलग handle किया जा सकता है, इसलिए यह approach वैसे भी बिल्कुल जरूरी नहीं है
साथ ही वह सवाल अचानक आया था, और शाब्दिक रूप से ऐसा काम था जो पहले किसी ने नहीं किया था