कुछ डेवलपर्स के लिए अच्छा यूआई डिज़ाइन इतना कठिन क्यों है? [बन्द है]


206

हममें से कुछ के पास यूआई डिज़ाइन ( विशेष रूप से स्वयं ) के नरम पहलुओं के साथ एक कठिन समय है । क्या "बैक-एंड कॉडर्स" केवल व्यावसायिक तर्क और डेटा परतों को डिज़ाइन करने के लिए बर्बाद हैं? क्या कुछ ऐसा है जिसे हम अपने मस्तिष्क को फिर से तैयार करने के लिए कर सकते हैं ताकि मनभावन और उपयोगी प्रस्तुति परतें डिजाइन करने में अधिक प्रभावी हो सकें?

सहकर्मियों ने कुछ पुस्तकों की सिफारिश की है जिनमें द डिज़ाइन ऑफ साइट्स , मुझे मत सोचो और क्यों सॉफ़्टवेयर बेकार है , लेकिन मैं सोच रहा हूं कि दूसरों ने इस क्षेत्र में अपनी कमियों को दूर करने के लिए क्या किया है?


1
अपने लिए (मैं एक ही समस्या से पीड़ित हूं) मैं एक अच्छा यूआई जानता हूं जब मैं एक का उपयोग करता हूं। और मैं निश्चित रूप से एक यूआई को जानता हूं जो मुझे परेशान करता है। लेकिन मेरे पास खुद को डिजाइन करने के लिए बहुत मुश्किल समय है। यह उस महत्वपूर्ण आंख की तरह है जो मेरे पास है जब मैं किसी और के यूआई का उपयोग कर रहा हूं तो अपने स्वयं के डिजाइनों पर काम नहीं करता है।
जेएमडी

1
मुझे "बैक-एंड कोडर" शब्द से नफरत है और इसे शीर्षक से बाहर रखने की कोशिश कर रहा था
क्रिस बैलेन्स

20
ग्राफिक डिजाइन! = यूआई डिजाइन। पूर्व चीजों को सुंदर बनाने के बारे में है। उत्तरार्द्ध चीजों को उपयोगी और उपयोगी बनाने के बारे में है।
एस्को लुओंटोला

2
+1 @ ईस्को। अक्सर 'सुंदर' का मतलब पूरी तरह से संयुक्त राष्ट्र-प्रयोग करने योग्य होता है। लेकिन देखभाल और विचार के साथ संभाला जा सकता है।
ड्राफ्ट

12
यूआई डिजाइनरों के लिए सॉफ्टवेयर को विकसित करना इतना कठिन क्यों है?
ग्रेग हर्लमैन

जवाबों:


360

मुझे इसे सीधे कहने दें:

इस पर सुधार दिशानिर्देशों के साथ शुरू नहीं होता है। यह आपको सॉफ्टवेयर के बारे में कैसे सोचते हैं, इसकी समीक्षा करने से शुरू होता है।

अधिकांश कट्टर डेवलपर्स के पास अपने सॉफ़्टवेयर के उपयोगकर्ताओं के साथ व्यावहारिक रूप से शून्य सहानुभूति है। उनके पास कोई सुराग नहीं है कि उपयोगकर्ता कैसे सोचते हैं, उपयोगकर्ता उनके द्वारा उपयोग किए जाने वाले सॉफ़्टवेयर के मॉडल कैसे बनाते हैं और सामान्य रूप से कंप्यूटर का उपयोग कैसे करते हैं।

यह एक विशिष्ट समस्या है जब एक विशेषज्ञ एक आम आदमी से टकराता है: पृथ्वी पर एक सामान्य व्यक्ति इतना गूंगा कैसे हो सकता है कि विशेषज्ञ को 10 साल पहले समझ में नहीं आया?

यह स्वीकार करने वाले पहले तथ्यों में से एक है कि लगभग सभी अनुभवी डेवलपर्स के लिए समझ लेना मुश्किल है:

सामान्य लोगों के पास आपके सॉफ्टवेयर की तुलना में बहुत अलग अवधारणा है। उनके पास प्रोग्रामिंग का कोई सुराग नहीं है। कोई नहीं। शून्य। और वे भी परवाह नहीं है। वे यह भी नहीं सोचते कि उन्हें देखभाल करनी है। यदि आप उन्हें मजबूर करते हैं, तो वे आपके कार्यक्रम को हटा देंगे।

अब यह एक डेवलपर के लिए अविश्वसनीय रूप से कठोर है। वह अपने द्वारा निर्मित सॉफ्टवेयर पर गर्व करता है। वह हर एक सुविधा से प्यार करता है। वह आपको बता सकता है कि इसके पीछे का कोड कैसे काम करता है। हो सकता है कि उन्होंने एक अविश्वसनीय चालाक एल्गोरिथ्म का भी आविष्कार किया, जिसने इसे पहले की तुलना में 50% तेज काम किया।

और उपयोगकर्ता परवाह नहीं करता है।

क्या बेवकूफ है।

कई डेवलपर्स सामान्य उपयोगकर्ताओं के साथ काम नहीं कर सकते। वे प्रौद्योगिकी के अपने गैर-मौजूदा ज्ञान से उदास हो जाते हैं। और यही कारण है कि अधिकांश डेवलपर्स शर्म करते हैं और सोचते हैं कि उपयोगकर्ताओं को बेवकूफ होना चाहिए।

वो नहीं हैं।

यदि कोई सॉफ्टवेयर डेवलपर एक कार खरीदता है, तो वह उम्मीद करता है कि यह आसानी से चलेगी। वह आमतौर पर टायर के दबाव की परवाह नहीं करता है, यांत्रिक ठीक-ट्यूनिंग जो इसे उस तरह से चलाने के लिए महत्वपूर्ण था। वह यहाँ है विशेषज्ञ नहीं है। और अगर वह एक ऐसी कार खरीदता है जिसमें फाइन-ट्यूनिंग नहीं होती है, तो वह उसे वापस दे देता है और वह खरीदता है जो वह चाहता है।

कई सॉफ्टवेयर डेवलपर्स फिल्मों को पसंद करते हैं। अच्छी तरह से की जाने वाली फिल्में जो उनकी कल्पना को चिंगारी देती हैं। लेकिन वे फिल्मों का निर्माण करने, दृश्य प्रभाव पैदा करने या अच्छी फिल्म स्क्रिप्ट लिखने में विशेषज्ञ नहीं हैं। अधिकांश नर्ड बहुत, बहुत, अभिनय में बहुत खराब हैं क्योंकि यह सभी जटिल भावनाओं को प्रदर्शित करने और एनालिटिक्स के बारे में बहुत कम है। यदि कोई डेवलपर एक खराब फिल्म देखता है, तो वह सिर्फ नोटिस करता है कि यह पूरी तरह से खराब है। Nerds ने अच्छी और बुरी फिल्मों के बारे में जानकारी इकट्ठा करने के लिए IMDB का निर्माण भी किया है ताकि वे जान सकें कि किसे देखना है और किससे बचना है। लेकिन वे फिल्में बनाने के विशेषज्ञ नहीं हैं। यदि कोई फिल्म खराब है, तो वे फिल्मों में नहीं जाएंगे (या बिटटोरेंट से डाउनलोड नहीं करेंगे;)

तो यह उबलता है: एक विशेषज्ञ के रूप में सामान्य उपयोगकर्ताओं को चौंकाने वाला अज्ञानता है। क्योंकि उन क्षेत्रों में (और ऐसे बहुत सारे हैं) जहां वे विशेषज्ञ नहीं हैं, वे अन्य क्षेत्रों के विशेषज्ञों से अपेक्षा करते हैं कि वे सामान्य लोगों के बारे में पहले से ही विचार करें जो अपने उत्पादों या सेवाओं का उपयोग करते हैं।

आप इसका उपाय क्या कर सकते हैं? एक प्रोग्रामर के रूप में आप जितना अधिक कट्टर होंगे, आप सामान्य उपयोगकर्ता की सोच के लिए उतने ही खुले रहेंगे। यह आपके लिए पराया और अनाड़ी होगा। आप सोचेंगे: मैं कल्पना नहीं कर सकता कि ज्ञान की कमी के साथ लोग कभी कंप्यूटर का उपयोग कैसे कर सकते हैं । लेकिन वे कर सकते हैं। प्रत्येक UI तत्व के लिए, इस बारे में सोचें: क्या यह आवश्यक है? क्या यह उस अवधारणा पर फिट बैठता है जो किसी उपयोगकर्ता के पास मेरे टूल के पास है? मैं उसे कैसे समझ सकता हूं? कृपया इसके लिए प्रयोज्य पर पढ़ें, कई अच्छी किताबें हैं। यह विज्ञान का एक संपूर्ण क्षेत्र भी है।

आह और इससे पहले कि आप कहते हैं, हाँ, मैं एक Apple प्रशंसक हूँ;)


8
बहुत बढ़िया टिप्पणी! आपने सॉफ़्टवेयर डिज़ाइन में सबसे मौलिक बाधाओं में से एक को पकड़ लिया है। कठोर डेवलपर्स (मेरे जैसे) को निगलने के लिए एक कठिन तथ्य, लेकिन सच्चाई अक्सर है।

12
+1। मैं पढ़ने की सलाह देता हूं "कैदियों को शरण दे रहे हैं", यह उपयोगकर्ता / देव मानसिकता में अंतर, साथ ही साथ कुछ उपायों के बारे में अच्छी जानकारी देता है।
रिचर्ड लेवासेयूर

9
+1 ईमानदार होना, कोई भी डेवलपर जो उपयोगकर्ता के बारे में परवाह नहीं करता है, एक गरीब डेवलपर है!
गैरी विल्बोबी

7
बहुत ही मान्य बिंदु, और मुझे लगता है कि यह मानसिकता भी इस कारण का हिस्सा है कि कई डेवलपर द्वारा संचालित परियोजनाएं (जैसे खुला स्रोत या क्या-क्या-आप हैं) का उपयोग करना मुश्किल हो गया है - द्वारा और बड़े, अधिकांश डेवलपर्स उपयोगकर्ता के रूप में खुद के लिए लिखें, "वास्तविक" अंत उपयोगकर्ता के लिए नहीं।
CloudyMusic

25
+1 यह वह कारण है जो लिनक्स अभी भी औसत उपयोगकर्ता के डेस्कटॉप के लिए तैयार नहीं है।
ब्रायन एंडरसन

215

यूआई डिजाइन है मुश्किल

प्रश्न के लिए:

अधिकांश डेवलपर्स के लिए UI डिज़ाइन इतना कठिन क्यों है?

उलटे सवाल पूछने की कोशिश करें:

अधिकांश UI डिज़ाइनरों के लिए प्रोग्रामिंग इतना कठिन क्यों है ?

UI को कोड करना और UI डिजाइन करना अलग-अलग कौशल और एक अलग मानसिकता की आवश्यकता होती है। यूआई डिज़ाइन अधिकांश डेवलपर्स के लिए कठिन है, कुछ डेवलपर्स नहीं , जैसे कि कोड लिखना अधिकांश डिजाइनरों के लिए कठिन है , कुछ डिजाइनरों के लिए नहीं ।

कोडिंग कठिन है। डिजाइन भी कठिन है। कुछ लोग दोनों अच्छा करते हैं। अच्छा यूआई डिजाइनर शायद ही कभी कोड लिखते हैं। वे यह भी नहीं जानते होंगे कि कैसे, फिर भी वे अच्छे डिजाइनर हैं। तो यूआई डिजाइन के लिए अच्छे डेवलपर्स को जिम्मेदार क्यों मानते हैं?

UI डिज़ाइन के बारे में अधिक जानने से आप बेहतर डेवलपर बन जाएंगे, लेकिन इसका मतलब यह नहीं है कि आपको UI डिज़ाइन के लिए ज़िम्मेदार होना चाहिए। डिजाइनरों के लिए उल्टा सच है: कोड लिखना जानना उन्हें बेहतर डिजाइनर बना देगा, लेकिन इसका मतलब यह नहीं है कि उन्हें यूआई कोडिंग के लिए जिम्मेदार होना चाहिए।

UI डिज़ाइन में बेहतर कैसे प्राप्त करें

यूआई डिज़ाइन में बेहतर पाने के इच्छुक डेवलपर्स के लिए मेरे पास 3 बुनियादी सलाह हैं:

  1. डिज़ाइन को एक अलग कौशल के रूप में पहचानें । कोडिंग और डिज़ाइन अलग हैं लेकिन संबंधित हैं। यूआई डिज़ाइन कोडिंग का सबसेट नहीं है। इसके लिए एक अलग मानसिकता, ज्ञान का आधार और कौशल समूह की आवश्यकता होती है। वहाँ बाहर लोग हैं जो UI डिजाइन पर ध्यान केंद्रित करते हैं।
  2. डिजाइन के बारे में जानें । कम से कम थोड़ा सा। नीचे दी गई लंबी सूची में से कुछ डिजाइन अवधारणाओं और तकनीकों को सीखने का प्रयास करें। यदि आप अधिक महत्वाकांक्षी हैं, तो कुछ किताबें पढ़ें, एक सम्मेलन में भाग लें, एक कक्षा लें, एक डिग्री प्राप्त करें। डिजाइन के बारे में जानने के बहुत सारे तरीके हैं। यूआई डिज़ाइन पर जोएल स्पोल्की की पुस्तक डेवलपर्स के लिए एक अच्छा प्राइमर है, लेकिन इसके लिए बहुत कुछ है और जहां डिजाइनर चित्र में आते हैं।
  3. डिजाइनरों के साथ काम करें । अच्छा डिज़ाइनर, अगर आप कर सकते हैं। जो लोग यह काम करते हैं वे विभिन्न शीर्षकों द्वारा जाते हैं। आज, सबसे आम शीर्षक उपयोगकर्ता अनुभव डिजाइनर (UXD), सूचना वास्तुकार (IA), इंटरेक्शन डिज़ाइनर (ID) और प्रयोज्य इंजीनियर हैं। वे डिजाइन के बारे में सोचते हैं जितना आप कोड के बारे में सोचते हैं। आप उनसे बहुत कुछ सीख सकते हैं, और वे आपसे। हालांकि आप उनके साथ काम कर सकते हैं। अपनी कंपनी में इन कौशलों वाले लोगों को खोजें। हो सकता है कि आपको किसी को काम पर रखने की आवश्यकता हो। या कुछ सम्मेलनों में जाएं, वेबिनार में भाग लें, और यूएक्सडी / आईए / आईडी की दुनिया में समय बिताएं।

यहाँ कुछ विशिष्ट बातें आप सीख सकते हैं। सब कुछ सीखने की कोशिश मत करो । यदि आप नीचे सब कुछ जानते थे तो आप खुद को एक इंटरेक्शन डिजाइनर या एक सूचना वास्तुकार कह सकते हैं। सूची के शीर्ष के पास चीजों से शुरू करें । विशिष्ट अवधारणाओं और कौशल पर ध्यान दें। फिर नीचे जाएं और बाहर शाखा। यदि आप वास्तव में इस सामान को पसंद करते हैं, तो इसे कैरियर पथ के रूप में मानें। कई डेवलपर्स प्रबंधन में चले जाते हैं, लेकिन UX डिजाइन एक और विकल्प है।

क्यों UI डिजाइन कठिन है

अच्छा यूआई डिज़ाइन कठिन है क्योंकि इसमें 2 अलग-अलग कौशल शामिल हैं:

  • मशीन की गहरी समझ । इस समूह के लोग पहले कोड के बारे में चिंता करते हैं, दूसरे लोग। उनके पास गहन तकनीकी ज्ञान और कौशल है। हम उन्हें डेवलपर्स, प्रोग्रामर, इंजीनियर और आगे कहते हैं।
  • लोगों और डिजाइन की गहरी समझ : इस समूह के लोग पहले लोगों के बारे में चिंता करते हैं, दूसरा कोड। उन्हें इस बात का गहरा ज्ञान है कि लोग सूचना, कंप्यूटर और उनके आसपास की दुनिया के साथ कैसे संपर्क करते हैं। हम उन्हें उपयोगकर्ता अनुभव डिजाइनर, सूचना आर्किटेक्ट, इंटरैक्शन डिजाइनर, प्रयोज्यता इंजीनियर और आगे कहते हैं।

यह इन 2 समूहों के बीच आवश्यक अंतर है - डेवलपर्स और डिजाइनरों के बीच:

  • डेवलपर्स इसे काम करते हैं । वे आपके TiVo, आपके iPhone, आपकी पसंदीदा वेबसाइट आदि पर कार्यक्षमता को लागू करते हैं, वे सुनिश्चित करते हैं कि यह वास्तव में वही करता है जो इसे करना चाहिए। उनकी सर्वोच्च प्राथमिकता यह काम कर रही है।
  • डिजाइनर लोगों को इसे पसंद करते हैं । वे यह पता लगाने के लिए कि इसके साथ बातचीत कैसे करें, यह कैसे दिखना चाहिए, और इसे कैसा महसूस करना चाहिए। वे एप्लिकेशन, वेब साइट, डिवाइस का उपयोग करने के अनुभव को डिजाइन करते हैं। उनकी सर्वोच्च प्राथमिकता आपको डेवलपर्स के प्यार में पड़ना है। यह उपयोगकर्ता अनुभव से अभिप्राय है, और यह ब्रांड अनुभव के समान नहीं है।

इसके अलावा, प्रोग्रामिंग और डिज़ाइन के लिए अलग-अलग मानसिकता की आवश्यकता होती है , न कि अलग-अलग ज्ञान और अलग-अलग कौशल की। अच्छे यूआई डिज़ाइन के लिए दोनों माइंडसेट, नॉलेज बेस, दोनों स्किल ग्रुप की आवश्यकता होती है। और किसी एक को मास्टर करने में कई साल लग जाते हैं।

डेवलपर्स को यूआई डिज़ाइन को खोजने की उम्मीद करनी चाहिए, जैसे यूआई डिजाइनरों को लेखन कोड को खोजने की उम्मीद करनी चाहिए।


8
यह यहाँ का सबसे अच्छा जवाब है। महान लिंक BTW!
बर्नार्ड इगिरि

यूआई डिजाइन का उत्कृष्ट अवलोकन! मैंने भी अलग-अलग मानसिकता वाले आपके विचार देखे हैं। मैं यूआई डिजाइन और प्रोग्रामिंग दोनों करता हूं, और यह सबसे अच्छा है कि मैं एक समय में उनमें से केवल एक पर ध्यान केंद्रित करता हूं। [...]
एस्को लुओंटोला

यदि आप प्रोग्रामिंग करते समय UI डिज़ाइन निर्णय लेते हैं, तो आप सोचते हैं कि इसे लागू करने का सबसे सरल तरीका क्या है, जो अक्सर खराब UI डिज़ाइन की ओर जाता है। और यदि आप UI डिज़ाइन करते समय कार्यान्वयन के बारे में सोचते हैं, तो आप UI डिज़ाइन पैटर्न चुन सकते हैं, जिन्हें लागू करना आसान है, लेकिन उपयोगकर्ता के लिए उतना अच्छा नहीं है।
एस्को लुओटोला

2
इसे सर्वश्रेष्ठ उत्तर के रूप में चिह्नित क्यों नहीं किया गया है? यह Thorsten79 के जवाब से कहीं बेहतर लगता है।
अब्दुल्ला सी सी

1
काश मैं इस जवाब को सीधे पसंद कर पाता। :)
डैन जे

70

क्या वास्तव में मेरे डिजाइन को बेहतर बनाने में मेरी मदद करता है एक साथी डेवलपर, एक क्यूए लोग, पीएम, या कोई भी व्यक्ति जो किसी के द्वारा चलने के लिए होता है और किसी विशेष विजेट या स्क्रीन को आज़माता है।

इसका कमाल आपको तब महसूस होगा जब आप किसी और को पहली बार अपने सॉफ्टवेयर का उपयोग करते हुए देखेंगे


मैंने इस दृष्टिकोण की बहुत कोशिश की है और इसे बहुत प्रभावी पाया है। कभी-कभी मेरे पास एक गैर-तकनीकी मित्र होता है, इसका उपयोग यह देखने के लिए करता है कि इसका उपयोग करने की कोशिश करते समय उन्हें क्या दर्द होता है।
क्रिस बैलेन्स

यह वही दृष्टिकोण है जो मैं लेता हूं।
एड एस।

क्या इस दृष्टिकोण को "प्रयोज्य परीक्षण" कहा जा सकता है? ;) हाँ, यह दृष्टिकोण है जिसे आपको पहले, दौरान और बाद में लेना चाहिए।
एटिस गोरल

यह लगभग मेरा सटीक उत्तर होगा। क्यूए और तकनीक का समर्थन बहुत बढ़िया है। डेवलपर्स यूआई डिज़ाइन, पुनरावृति को चूसते हैं और दूसरों को अक्सर इसका परीक्षण करते हैं।
बिल K

7
मेरा मानना ​​है कि इसका "दालान उपयोगिता परीक्षण" कहा जाता है
केविन

32

अंततः, यह वास्तव में सहानुभूति के बारे में है - क्या आप अपने उपयोगकर्ता के जूते में खुद को डाल सकते हैं?

एक चीज जो निश्चित रूप से मदद करती है, वह है "अपने खुद के डॉगफूड को खाना" - अपने अनुप्रयोगों को एक वास्तविक उपयोगकर्ता के रूप में उपयोग करना, और यह देखकर कि क्या परेशान है।

एक और अच्छा विचार यह है कि अपने एप्लिकेशन का उपयोग करके एक वास्तविक उपयोगकर्ता को देखने का एक तरीका खोजा जाए, जो एक तरह से दर्पण, स्क्रीन वीडियो कैप्चर, उपयोगकर्ताओं पर वीडियो कैमरा, आदि के साथ एक प्रयोज्य प्रयोगशाला के रूप में जटिल हो सकता है, या उतना ही सरल हो सकता है। हॉल के नीचे चलने वाले अगले व्यक्ति का उपयोग करके पेपर प्रोटोटाइप के रूप में।

यदि बाकी सभी विफल हो जाते हैं, तो याद रखें कि यूआई के लिए बहुत जटिल होने की तुलना में बहुत सरल होना हमेशा बेहतर होता है। यह कहना बहुत आसान है "ओह, मुझे पता है कि कैसे हल करना है, मैं सिर्फ एक चेकबॉक्स जोड़ूंगा ताकि उपयोगकर्ता यह तय कर सके कि वे किस मोड को पसंद करते हैं"। जल्द ही आपका UI बहुत जटिल हो जाएगा। एक डिफ़ॉल्ट मोड चुनें और वरीयता को एक उन्नत कॉन्फ़िगरेशन विकल्प सेट करें। या बस इसे बाहर छोड़ दें।

यदि आप डिजाइन के बारे में बहुत कुछ पढ़ते हैं, तो आप आसानी से गिराए गए छाया और गोल कोनों और इसके आगे के ऊपर लटका सकते हैं। यह महत्वपूर्ण सामान नहीं है। सादगी और खोज महत्वपूर्ण सामान हैं।


अच्छे से कहा। अक्सर, लचीलेपन को जोड़ने का प्रयास सिर्फ अव्यवस्था के परिणामस्वरूप होता है। सरल == बेहतर।
स्क्वायरकॉग

क्या आप अपने उपयोगकर्ता के जूते में खुद को डाल सकते हैं यदि वे ग्रह के दूसरी तरफ हैं, जिस संस्कृति में आपने पहले कभी अनुभव नहीं किया है? अंतर्राष्ट्रीयकरण ठोस UI डिज़ाइन में एक प्रमुख विचार है। यह मानकर न चलें कि हर कोई अमरीका में रहता है।

पूर्ण रूप से; मेरी वर्तमान परियोजना वास्तव में पूरे ग्रह पर उपयोगकर्ताओं को लक्षित है (मूल रूप से अमेरिका के अलावा हर देश में, जहां मैं हूं)। यह सहानुभूति को कठिन बनाता है, कोई सवाल नहीं - और इसे गंभीरता से और सख्ती से प्रयास करने के लिए और अधिक महत्वपूर्ण है।
जैकब मैटिसन

इसके अलावा, मुझे लगता है कि एक बार आपको इसे देखने के लिए एक वास्तविक उपयोगकर्ता मिल जाए, तो मुझे लगता है कि प्रयोज्य समस्याओं के विशाल बहुमत चौंकाने वाले स्पष्ट हैं। हां, ऐसे सूक्ष्म होंगे जो संस्कृति-विशिष्ट हैं, लेकिन आप हॉल के नीचे चलने वाले अगले व्यक्ति का उपयोग करके जबरदस्त सुधार कर सकते हैं।
जैकब मैटिसन

+1, केवल इसलिए कि मैं खुद को +100 नहीं कर सकता! मैं उन विभिन्न अनुप्रयोगों का उपयोग करते हुए अनुभव प्राप्त करूंगा, जैसा कि उनका इरादा था कि आप UI डेवलपर के रूप में विकसित होने में मदद करें। केवल विजुअल स्टूडियो या अन्य देव टूल्स जैसे उपकरणों का उपयोग करने से इस क्षमता में बाधा आएगी ...
बीक्यू।

26

लोकप्रिय मिथक के विपरीत, यूआई डिज़ाइन में शाब्दिक रूप से कोई नरम पहलू नहीं हैं, कम से कम कोई अच्छा बैक एंड डिज़ाइन करने के लिए ज़रूरत से ज़्यादा नहीं।

निम्नलिखित को धयान मे रखते हुए; अच्छा बैक एंड डिज़ाइन, काफी ठोस सिद्धांतों पर आधारित होता है और किसी भी अच्छे डेवलपर के तत्वों से परिचित होता है:

  • कम युग्मन

  • उच्च सामंजस्य

  • वास्तु पैटर्न

  • उद्योग सर्वोत्तम प्रथाओं

  • आदि

अच्छा बैक एंड डिज़ाइन आमतौर पर कई इंटरैक्शन के माध्यम से पैदा होता है, जहां परीक्षणों या वास्तविक उपयोग के दौरान प्राप्त औसत दर्जे की प्रतिक्रिया के आधार पर धीरे-धीरे सुधार होता है। कभी-कभी आपको बैक एंड के छोटे पहलुओं को अलग करने और उन्हें अलगाव में परीक्षण करने आदि की आवश्यकता होती है।

अच्छा यूआई डिज़ाइन ध्वनि सिद्धांतों पर आधारित है:

  • दृश्यता

  • affordance

  • प्रतिपुष्टि

  • सहनशीलता

  • सादगी

  • संगति

  • संरचना

यूआई भी परीक्षण और परीक्षण के माध्यम से, पुनरावृत्तियों के माध्यम से पैदा हुआ है, लेकिन संकलक + स्वचालित परीक्षण सूट के साथ नहीं, बल्कि लोग। इसी तरह बैक टू एंड में उद्योग के सर्वोत्तम तरीके, माप और मूल्यांकन तकनीक, यूआई के बारे में सोचने के तरीके और उपयोगकर्ता मॉडल, सिस्टम छवि, डिजाइनर मॉडल, संरचनात्मक मॉडल, कार्यात्मक मॉडल आदि के संदर्भ में लक्ष्य निर्धारित हैं।

यूआई को डिजाइन करने के लिए आवश्यक कौशल सेट बैक-एंड डिजाइनिंग से काफी अलग है और इसलिए पहले कुछ सीखने के बिना अच्छा यूआई करने में सक्षम होने की उम्मीद नहीं है। हालाँकि ये दोनों गतिविधियाँ सामान्य रूप से डिज़ाइन की प्रक्रिया है। मेरा मानना ​​है कि जो कोई भी अच्छा सॉफ्टवेयर डिजाइन कर सकता है, वह अच्छा यूआई डिजाइन करने में सक्षम है, जब तक कि वह कुछ समय सीखने में बिताए।

मैं मानव कम्प्यूटर इंटरेक्शन में एक पाठ्यक्रम लेने की सलाह देता हूं, ऑनलाइन सामग्री के लिए उदाहरण के लिए एमआईटी और येल साइट की जांच करें:

समझ और उपयोग में संरचनात्मक बनाम कार्यात्मक मॉडल

थोरस्टेन79 द्वारा पहले की उत्कृष्ट पोस्ट में सॉफ्टवेयर विकास विशेषज्ञों बनाम उपयोगकर्ताओं के विषय और सॉफ्टवेयर की उनकी समझ कैसे अलग है। मानव शिक्षण विशेषज्ञ कार्यात्मक और संरचनात्मक मानसिक मॉडल के बीच अंतर करते हैं। अपने दोस्त के घर जाने का रास्ता दोनों के बीच अंतर का एक उत्कृष्ट उदाहरण हो सकता है:

  • पहले दृष्टिकोण में विस्तृत निर्देशों का एक सेट शामिल है: मोटरवे का पहला निकास लें, फिर 100 गज की दूरी पर बाएं मुड़ने आदि के बाद यह कार्यात्मक मॉडल का एक उदाहरण है: एक निश्चित लक्ष्य को प्राप्त करने के लिए आवश्यक ठोस चरणों की सूची। कार्यात्मक मॉडल का उपयोग करना आसान है, उन्हें बस सीधे आगे निष्पादन के लिए बहुत सोच की आवश्यकता नहीं है। जाहिर है सादगी के लिए एक दंड है: यह सबसे कुशल मार्ग नहीं हो सकता है और कोई भी असाधारण स्थिति (यानी ट्रैफिक डायवर्जन) आसानी से पूरी तरह से विफल हो सकती है।

  • कार्य से निपटने का एक अलग तरीका एक संरचनात्मक मानसिक मॉडल का निर्माण करना है। हमारे उदाहरण में यह एक ऐसा मानचित्र होगा जो "कार्य वस्तु" की आंतरिक संरचना के बारे में बहुत सारी जानकारी देता है। हमारे और मित्र के घर के नक्शे और रिश्तेदार स्थानों को समझने से हम कार्यात्मक मॉडल (मार्ग) में कटौती कर सकते हैं। स्पष्ट रूप से इसके लिए अधिक प्रयास की आवश्यकता है, लेकिन संभावित विचलन के बावजूद कार्य को पूरा करने का अधिक विश्वसनीय तरीका है।

UI (उदाहरण के लिए, विज़ार्ड बनाम उन्नत मोड) के माध्यम से कार्यात्मक या संरचनात्मक मॉडल को समझाने के बीच का विकल्प यह नहीं है कि सीधे आगे है क्योंकि यह थोरस्टेन79 के पोस्ट से लग सकता है। उन्नत और लगातार उपयोगकर्ता संरचनात्मक मॉडल को अच्छी तरह से पसंद कर सकते हैं, जबकि समसामयिक या कम समाप्ति वाले उपयोगकर्ता - कार्यात्मक।

Google मानचित्र एक महान उदाहरण है: इनमें कार्यात्मक और संरचनात्मक दोनों प्रकार के मॉडल शामिल हैं, इसलिए कई बैठे हुए नेवी करते हैं।

समस्या का एक और आयाम यह है कि यूआई के माध्यम से प्रस्तुत संरचनात्मक मॉडल को सॉफ़्टवेयर की संरचना के लिए मैप नहीं करना चाहिए, बल्कि स्वाभाविक रूप से हाथ या कार्य ऑब्जेक्ट में उपयोगकर्ता कार्य की संरचना के लिए मैप करना होगा।

यहां कठिनाई यह है कि कई डेवलपर्स के पास उनके सॉफ़्टवेयर इंटर्नल का एक अच्छा संरचनात्मक मॉडल होगा, लेकिन उपयोगकर्ता के केवल कार्यात्मक मॉडल में सॉफ़्टवेयर का उद्देश्य सहायता करना है। अच्छा UI बनाने के लिए टास्क / टास्क ऑब्जेक्ट स्ट्रक्चर को समझना होगा और यूआई को उस स्ट्रक्चर को मैप करना होगा।

वैसे भी, मैं अभी भी औपचारिक रूप से पर्याप्त रूप से औपचारिक एचसीआई पाठ्यक्रम लेने की सिफारिश नहीं कर सकता। वहाँ सामान का एक बहुत तरह के रूप में शामिल किया गया है heuristics , से प्राप्त सिद्धांतों गेस्टाल्ट phychology , तरीके मनुष्य सीखना आदि


MIT OCW लिंक के लिए +1 :) वे व्याख्यान नोट अमूल्य हैं
प्लेगहैमर

आप सही हैं, उपयोगकर्ता स्वयं एक सॉफ़्टवेयर के विशेषज्ञ बन सकते हैं, और वे इसे पसंद करते हैं जब कोई व्यक्ति उनके लिए "अच्छा" UI के माध्यम से तेजी से होने के लिए एक रास्ता बनाता है। उदाहरण के लिए, सभी प्रमुख शॉर्टकट इस प्रकार हैं। प्रयोज्य एक बहुत ही दिलचस्प विषय है!
Thorsten79

25

मेरा सुझाव है कि आप अपने सभी UI को उसी तरह से करना शुरू करें जैसे आप अभी कर रहे हैं, जिसमें प्रयोज्य और सामान पर कोई ध्यान नहीं दिया गया है।

alt text http://www.stricken.org/uploaded_images/WordToolbars-718376.jpg

अब इस पर विचार करें:

एक डिजाइनर जानता है कि उसने पूर्णता तब हासिल की है जब जोड़ने के लिए कुछ भी नहीं बचा है, लेकिन जब लेने के लिए कुछ भी नहीं बचा है। - सेंट-एक्सुप्री

और इसे अपने डिजाइन में लागू करें।


यही कारण है कि मैं अब तक, कार्यालय 2007 को पसंद करता हूं!
रिचर्ड ईव

अगर कोई सोच रहा है कि मैंने उस कब्र को किस कब्र से खोदा, तो मैंने इसे सभ्यता से सुना। 4. महान खेल। मुझे पता नहीं है कि लेखक कौन है, लेकिन उन्हें यकीन है कि नरक शब्द से डिजाइनरों की तुलना में बेहतर यूआई लिख सकता है।
हॉफमैन

ए। आइंस्टीन का एक और ऐसा ही अच्छा उद्धरण है: "जितना संभव हो उतना सरल बनाओ, लेकिन सरल नहीं।" मैंने इन विचारों को UI डिज़ाइन के लिए भी लागू किया है: www.pretationzen.com। ... और +1
प्यारे जहकोला

सेंट-एक्सुपरी एक पायलट और विमान डिजाइनर की तुलना में बहुत अधिक था; उसे उद्धृत करने के लिए +1। उनके बच्चों की किताब ("द लिटिल प्रिंस") पढ़ने लायक है, लेकिन मैं यहां विषय से दूर हो रहा हूं।
डेविड थॉर्नले

5
आपको प्रिंट दृश्य चुनना चाहिए ... अब शासक नहीं देख सकते।
मुसनून

16

बहुत सारे डेवलपर्स को लगता है कि क्योंकि वे कोड लिख सकते हैं, वे यह सब कर सकते हैं। एक इंटरफ़ेस डिजाइन करना एक पूरी तरह से अलग कौशल है, और जब मैंने कॉलेज में भाग लिया तो यह बिल्कुल भी सिखाया नहीं गया था। यह सिर्फ प्राकृतिक रूप से आने वाली चीज नहीं है।

एक और अच्छी किताब है द डिज़ाइन ऑफ़ एवरीडे थिंग्स बाय डोनाल्ड नॉर्मन।


धन्यवाद, "हर दिन के डिजाइन की झलक" मेरे अमेज़न विशलिस्ट पर है
क्रिस बैलेन्स

+1। "रोजमर्रा की चीजों का डिज़ाइन" अनुशंसित पढ़ने (डेवलपर्स के लिए पुस्तकों की अच्छी सूची) के कोडिंग हॉरर सूची पर भी है। हाल ही में इसे पढ़ना समाप्त हो गया है, और यह अत्यधिक अनुशंसा भी कर सकता है।
मुन

मैं इस समय "हर दिन की चीजों का डिजाइन" पढ़ रहा हूं - यह निश्चित रूप से बहुत अच्छा है, लेकिन जैसा कि एक अन्य जवाब पर टिप्पणियों में उल्लेख किया गया है, एलन कूपर के "इनमेट्स असाइलम चल रहे हैं" बिल्कुल इसी विषय पर पते। एक डेवलपर के रूप में, पुस्तक "जीवन बदल रही थी"!
स्टुअर्ट हेलविग

मेरे पिवे: बहुत सारे डेवलपर्स (और डिजाइनर, और अन्य) सोचते हैं कि क्योंकि मैं कोड कर सकता हूं, मैं उपयोगकर्ता इंटरफ़ेस को डिज़ाइन नहीं कर सकता। मैं फ़ोटोशॉप को बहुत अच्छी तरह से नहीं जानता, लेकिन मुझे लगता है कि मेरे पास काम करने और क्या नहीं करने के लिए एक अच्छी नज़र है। (हर दिन की डिजाइन मेरी पहली यूआई बाइबिल थी।)
बैरी ब्राउन

14

डिजाइन और सौंदर्यशास्त्र के बीच एक बड़ा अंतर है, और वे अक्सर भ्रमित होते हैं।

एक सुंदर यूआई को कलात्मक या कम से कम सौंदर्य कौशल की आवश्यकता होती है जो कई, खुद सहित, उत्पादन करने में असमर्थ हैं। दुर्भाग्य से, यह पर्याप्त नहीं है और यूआई को प्रयोग करने योग्य नहीं बनाता है, जैसा कि हम कई हैवीवेट फ्लैश-आधारित एपीआई में देख सकते हैं।

प्रयोग करने योग्य यूआई का निर्माण करने के लिए मनुष्यों को कंप्यूटर के साथ बातचीत करने, मनोविज्ञान में कुछ मुद्दों (जैसे, फिट्स का नियम, हिक के नियम) और अन्य विषयों की समझ की आवश्यकता होती है। बहुत कम सीएस कार्यक्रम इसके लिए प्रशिक्षित करते हैं। बहुत कम डेवलपर्स जो मुझे पता है कि एक JUnit पुस्तक, आदि पर एक उपयोगकर्ता-परीक्षण पुस्तक चुनेंगे।

हम में से कई "कोर प्रोग्रामर" भी हैं, जो UI को फैक्टर के रूप में सोचने के लिए प्रेरित करते हैं, बल्कि एक ऐसे कारक के रूप में हैं जो हमारी परियोजना की सफलता को बना या बिगाड़ सकता है।

इसके अलावा, अधिकांश यूआई विकास अनुभव बेहद निराशाजनक है। हम या तो पुराने GUB की तरह खिलौना GUI बिल्डरों का उपयोग कर सकते हैं और बदसूरत गोंद कोड से निपट सकते हैं, या हम ऐसे API का उपयोग करते हैं, जो हमें किसी भी छोर तक निराश नहीं करते हैं, जैसे कि स्विंग में छंटनी की कोशिश करना।


"हम या तो पुराने वीबी जैसे खिलौना जीयूआई बिल्डरों का उपयोग कर सकते हैं और बदसूरत गोंद कोड से निपटना होगा, या हम एपीआई का उपयोग करते हैं जो हमें बिना किसी अंत के निराश करते हैं, जैसे कि स्विंग में छंटनी की कोशिश करना।" आपने वास्तव में GUI भवन के साथ मेरे अनुभवों को उबाला। अगर मैं जोड़ सकता हूं: "या क्रेजी डोम और सीएसएस संयोजन"
हॉफमैन

मुझे यकीन है कि हर कोई पूरी तरह से ग्रिडबाग से परिचित है? " madbean.com/anim/totallygridbag "
उरी

12

Slashdot पर जाएँ, और Apple के साथ किसी भी लेख पर टिप्पणियों को पढ़ें। आप बड़ी संख्या में लोगों से बात करेंगे कि कैसे Apple उत्पाद कुछ खास नहीं हैं, और ट्रेंडी या हिप होने की कोशिश कर रहे लोगों को iPod और iPhone की सफलता के बारे में बताना। वे आमतौर पर फीचर सूचियों के माध्यम से जाते हैं, और बताते हैं कि वे पहले कुछ नहीं करते हैं एमपी 3 प्लेयर या स्मार्ट फोन नहीं करते थे।

फिर ऐसे लोग हैं जो आइपॉड और आईफोन को पसंद करते हैं क्योंकि वे वही करते हैं जो उपयोगकर्ता मैनुअल के संदर्भ के बिना, बस और आसानी से चाहते हैं। इंटरफेस के बारे में के रूप में सहज ज्ञान युक्त के रूप में इंटरफेस, यादगार और खोज योग्य हैं। मैं मैकओएसएक्स पर यूआई का शौकीन नहीं हूं क्योंकि मैं पहले के संस्करणों पर था, मुझे लगता है कि उन्होंने ग्लिट्ज के पक्ष में कुछ उपयोगिता छोड़ दी है, लेकिन आईपॉड और आईफोन शानदार डिजाइन के उदाहरण हैं।

यदि आप पहले शिविर में हैं, तो आपको नहीं लगता कि जिस तरह से औसत व्यक्ति करता है, और इसलिए आपको खराब उपयोगकर्ता इंटरफेस बनाने की संभावना है क्योंकि आप उन्हें अच्छे लोगों से नहीं बता सकते हैं। इसका मतलब यह नहीं है कि आप निराशाजनक हैं, बल्कि यह कि आपको अच्छे इंटरफ़ेस डिज़ाइन सिद्धांतों को स्पष्ट रूप से सीखना है, और एक अच्छे यूआई को कैसे पहचानना है (जितना कि एस्परगर के साथ किसी को सामाजिक कौशल को स्पष्ट रूप से सीखने की आवश्यकता हो सकती है)। जाहिर है, बस एक अच्छा यूआई की भावना रखने का मतलब यह नहीं है कि आप एक बना सकते हैं; उदाहरण के लिए, साहित्य के लिए मेरी प्रशंसा, युवा कहानियों को लिखने की क्षमता (वर्तमान में) तक नहीं लगती है।

इसलिए, अच्छे यूआई डिज़ाइन के लिए एक समझ विकसित करने का प्रयास करें। यह सिर्फ सॉफ्टवेयर से अधिक तक फैली हुई है। डॉन नॉर्मन की "द डिज़ाइन ऑफ़ एवरीडे थिंग्स" एक क्लासिक है, और वहाँ अन्य किताबें हैं। सफल यूआई डिज़ाइन के उदाहरण प्राप्त करें, और अंतर महसूस करने के लिए उनके साथ पर्याप्त खेलें। यह स्वीकार करें कि आप अबू चीजों को सोचने का एक नया तरीका सीख सकते हैं, और इसका आनंद ले सकते हैं।


+1 सुझाव के लिए
रोज़मर्रा की

बहुत अच्छे उत्तर के लिए +1। मुझे लगता है कि यह बता रहा है कि आप अभी भी 1 अप-वोट (अब 2) पर मँडरा रहे हैं; जो आपके विवरण को फिट करते हैं, वे शायद ऐसा नहीं सोचेंगे कि वे ऐसा करते हैं, या बस बहुत ही विचार को खारिज कर देते हैं :-(
mghie

यह एक कंबल का बयान है। Slashdot पर प्रत्येक Apple विरोधी टिप्पणी उसके UI की आलोचना या UI समझ की कमी का सत्यापन नहीं है। Apple के पास अच्छा UI है और इसलिए वे अपने कई प्रतिस्पर्धियों को करते हैं।
बर्नार्ड इगिरि

एक और विचार: एक Apple हर किसी के लिए नहीं है; उदाहरण के लिए, यह अभूतपूर्व भयानक शक्ति प्रदान नहीं करता है जो एक CLI करता है।
जे। पॉल्फर

2
मैं व्यक्तिगत रूप से Apple उत्पादों का उपयोग करने के लिए बेहद अनपेक्षित है। मुझे लगता है कि मैं अकेला ऐसा व्यक्ति नहीं हूं जो तब निराश हो गया था जब उनका पहला आईपॉड हर बार जब मैं जॉगिंग करना शुरू करता था, या क्यों iPhone स्क्रीन लगातार अपने आप को निष्क्रिय कर रहा था। मुझे लगता है कि चीजें केवल प्रत्यक्ष, अस्पष्ट उपयोगकर्ता कार्यों से होनी चाहिए।
लोटस नोट्स

10

अंगूठे का मुख्य नियम, मैं कभी भी दोनों को करने की कोशिश नहीं करता। अगर मैं बैक-एंड कोड पर काम कर रहा हूं, तो मैं ऐसा करना समाप्त कर दूंगा, एक ब्रेक ले लूंगा, और अपने UI टोपी के साथ वापस आ जाऊंगा। यदि आप इसे कोड के अनुसार काम करने की कोशिश करते हैं, तो आप इसे गलत मानसिकता के साथ देखेंगे, और परिणामस्वरूप कुछ भयानक इंटरफेस के साथ समाप्त हो जाएंगे।

मुझे लगता है कि यह निश्चित रूप से एक अच्छा बैक-एंड डेवलपर और एक अच्छा यूआई डिजाइनर दोनों हो सकता है, आपको बस इस पर काम करना है, इस विषय पर कुछ पढ़ना और शोध करना है (मिलर के # 7 से, नीलसन के अभिलेखागार तक), और बनायें सुनिश्चित करें कि आप समझते हैं कि UI डिज़ाइन का अत्यधिक महत्व क्यों है।

मुझे नहीं लगता कि यह रचनात्मक होने की जरूरत का मामला है, बल्कि बैक-एंड डेवलपमेंट की तरह, यह एक बहुत ही व्यवस्थित, बहुत ही संरचित चीज है जिसे सीखने की जरूरत है। यह लोगों को UI के साथ 'रचनात्मक' हो रहा है जो कुछ सबसे बड़ी प्रयोज्य मोनस्ट्रॉइट्स बनाता है ... मेरा मतलब है, एक शुरुआत के लिए 100% फ़्लैश वेबसाइटों पर एक नज़र डालें ...

संपादित करें : क्रुग की पुस्तक वास्तव में अच्छी है ... इसे पढ़ें, खासकर यदि आप वेब के लिए डिज़ाइन करने जा रहे हैं।


और इस
क्रुग

@ यह शीर्ष पोस्ट में प्रमुखता से जुड़ा हुआ था, इसलिए मैंने उस समय इसे लिंक नहीं किया था, लेकिन यह एक है: Librarything.com/work/12322
James B

8

इसके लिए कई कारण हैं।

(1) डेवलपर चीजों को उपयोगकर्ता के दृष्टिकोण से देखने में विफल रहता है। यह सामान्य संदेह है: सहानुभूति की कमी। लेकिन यह आमतौर पर सच नहीं है क्योंकि डेवलपर्स उतने विदेशी नहीं हैं जितना कि लोग उन्हें बाहर कर देते हैं।

(2) एक और, अधिक सामान्य कारण यह है कि डेवलपर अपने सामान के इतना करीब होने के बावजूद, अपने सामान के साथ इतने लंबे समय तक रहा, यह महसूस करने में विफल रहता है कि उसका सामान अन्य लोगों के लिए इतना परिचित (सहज ज्ञान से बेहतर) शब्द नहीं हो सकता है ।

(3) फिर भी एक और कारण डेवलपर के पास तकनीकों का अभाव है।

मेरे बड़े कपड़े: किसी भी यूआई, मानव अंतःक्रियात्मक डिजाइन, प्रोटोटाइप बुक पढ़ें। उदाहरण के लिए डिजाइनिंग स्पष्ट: वेब अनुप्रयोग डिजाइन के लिए एक सामान्य ज्ञान दृष्टिकोण, मुझे मत सोचो: वेब उपयोगिता के लिए एक सामान्य भावना दृष्टिकोण, क्षण को डिजाइन करना, जो भी हो।

वे कार्य प्रवाह पर चर्चा कैसे करते हैं? वे निर्णय बिंदुओं का वर्णन कैसे करते हैं? यही है, किसी भी उपयोग के मामले में, कम से कम 3 रास्ते हैं: सफलता, विफलता / अपवाद, विकल्प।

इस प्रकार, बिंदु A से, आप A.1, A.2, A.3 पर जा सकते हैं। बिंदु A.1 से, आप A.1.1, A.1.2, A.1.3, और इसी तरह प्राप्त कर सकते हैं।

वे ऐसे ड्रिल-डाउन कार्य प्रवाह कैसे दिखाते हैं? वे नहीं करते। वे सिर्फ इस पर चमकते हैं।

चूंकि यूआई एक्सपट्र्स के पास तकनीक नहीं है, इसलिए डेवलपर्स के पास कोई मौका नहीं है। वह सोचता है कि यह उसके सिर में स्पष्ट है। लेकिन यह कागज पर भी स्पष्ट नहीं है, सॉफ्टवेयर कार्यान्वयन में अकेले स्पष्ट करें।

मुझे इसके लिए अपनी स्वयं की बनाई गई तकनीकों का उपयोग करना होगा।


7

मैं डिजाइन-विशिष्ट वेबसाइटों और ग्रंथों के साथ संपर्क रखने की कोशिश करता हूं। मुझे इन अध्ययनों में उत्कृष्ट रॉबिन विलियम्स की पुस्तक द-डिज़ाइनर की डिज़ाइन बुक भी बहुत दिलचस्प लगी।

मेरा मानना ​​है कि डिजाइन और प्रयोज्य सॉफ्टवेयर इंजीनियरिंग का एक बहुत ही महत्वपूर्ण हिस्सा है और हमें इसे और सीखना चाहिए और यह बहाना देना बंद कर देना चाहिए कि हम डिजाइन करने वाले नहीं हैं।

हर कोई एक बार में एक डिजाइनर हो सकता है, क्योंकि हर कोई एक प्रोग्रामर भी हो सकता है।


मैं इस बात से सहमत नहीं हूं कि हर कोई प्रोग्रामर हो सकता है। व्यापार के कुछ पहलुओं को पढ़ाया नहीं जा सकता है, आप या तो इसे हैक कर सकते हैं या आप (कोई भी इरादा नहीं कर सकते हैं।)
क्रिस बैलेन्स

2
मेरा मतलब है, एक बार थोड़ी देर में, इसका मतलब यह नहीं है कि आदमी एक अच्छा प्रोग्रामर होगा या हमेशा के लिए रहेगा।
एडविन जार्विस

7

UI डिज़ाइन के पास पहुंचने पर, यहाँ कुछ ऐसी चीज़ें दी गई हैं जिन्हें मैं ध्यान में रखता हूँ (अब तक पूरी सूची नहीं):

  • एक मॉडल का संचार । यूआई एक कथा है जो उपयोगकर्ता को एक मानसिक मॉडल की व्याख्या करता है। यह मॉडल एक व्यावसायिक वस्तु, रिश्तों का एक सेट हो सकता है, आपके पास क्या है। दृश्य प्रमुखता, स्थानिक प्लेसमेंट, और वर्कफ़्लो ऑर्डर करने वाले सभी उपयोगकर्ता के लिए इस मॉडल को संचार करने में एक भूमिका निभाते हैं। उदाहरण के लिए, एक अन्य प्रकार की सूची बनाम एक अलग तरह की चीजों का तात्पर्य है, साथ ही बाकी मॉडल में सूची में क्या है का संबंध। सामान्य तौर पर, मुझे यह सुनिश्चित करना सबसे अच्छा लगता है कि एक समय में केवल एक मॉडल का संचार होता है। प्रोग्रामर अक्सर एक ही यूआई स्पेस में एक से अधिक मॉडल या कई हिस्सों को संवाद करने की कोशिश करते हैं।

  • संगति । लोकप्रिय यूआई रूपकों का फिर से उपयोग करने से बहुत मदद मिलती है। आंतरिक स्थिरता भी बहुत महत्वपूर्ण है।

  • कार्यों का समूहन । उपयोगकर्ताओं को आदेशों के संबंधित अनुक्रम को सत्यापित करने या पूरा करने के लिए स्क्रीन भर में माउस को स्थानांतरित नहीं करना चाहिए। इस क्षेत्र में मोडल संवाद और फ्लाईआउट-मेनू विशेष रूप से खराब हो सकते हैं।

  • अपने दर्शकों को जानना । यदि आपके उपयोगकर्ता एक ही गतिविधियों को बार-बार कर रहे हैं, तो वे जल्दी से उन कार्यों पर बिजली उपयोगकर्ता बन जाएंगे और प्रारंभिक प्रवेश बाधा को कम करने के प्रयासों से निराश होंगे। यदि आपके उपयोगकर्ता कई अलग-अलग प्रकार की गतिविधियाँ करते हैं, तो यह सुनिश्चित करना सबसे अच्छा है कि UI पूरे समय उनके हाथ में रहे।


आप अपने दर्शकों को जानने के साथ एक अच्छी बात लाते हैं ... मुझे यह भी पसंद है कि "आप अपने उपयोगकर्ता नहीं हैं" (प्लाट) और "अपने उपयोगकर्ता को जानें।" (प्लाट) यह पर्याप्त जोर नहीं दिया जा सकता है
क्रिस बैलेंस

7

आप दिशानिर्देशों का मतलब है कि Apple अब खुद का पालन नहीं करते हैं?
ग्रेगर ब्रांट

"वे वैसे भी दिशा-निर्देशों को अधिक पसंद करते हैं" ^ _ ^
मार्को लुग्लियो

5

मुझे लगता है कि यूआई डिज़ाइन में सबसे अच्छा उपकरण सॉफ्टवेयर का उपयोग करने का पहली बार उपयोगकर्ता का प्रयास है। नोटों का भार लें और उनसे कुछ प्रश्न पूछें। कभी भी उन्हें निर्देशित न करें या यह समझाने का प्रयास न करें कि सॉफ़्टवेयर कैसे काम करता है। यह UI (और अच्छी तरह से लिखित प्रलेखन) का काम है।

हम सभी परियोजनाओं में लगातार इस दृष्टिकोण को अपनाते हैं। सॉफ़्टवेयर के साथ उपयोगकर्ता सौदा देखना हमेशा आकर्षक होता है जिसे आपने पहले कभी नहीं माना था।

यूआई डिजाइन इतना कठिन क्यों है? आम तौर पर क्योंकि डेवलपर और उपयोगकर्ता कभी नहीं मिलते हैं।


बिल्कुल सहमत हैं, लेकिन एक डेवलपर के लिए ठोस बुनियादी यूआई सिद्धांतों को लागू करना काफी संभव है।
नेलडाउन

ठोस मूल UI सिद्धांत हर देश में काम नहीं करते हैं। हम कई क्षेत्रों में सॉफ्टवेयर तैनात करते हैं और दुनिया के विभिन्न हिस्सों के लिए यूआई डिजाइन में बहुत अंतर है। अपने

5

duffymo ने मुझे याद दिलाया कि क्यों: कई प्रोग्रामर सोचते हैं "* Design" == "कला"।

अच्छा यूआई डिज़ाइन बिल्कुल कलात्मक नहीं है। यह ठोस सिद्धांतों का पालन करता है, यदि आपको अनुसंधान करने का समय मिला है, तो डेटा के साथ बैकअप लिया जा सकता है।

मुझे लगता है कि सभी प्रोग्रामर को सिद्धांतों को सीखने के लिए समय निकालना चाहिए। मुझे लगता है कि जब भी हम कर सकते हैं सबसे अच्छा अभ्यास लागू करना हमारी प्रकृति में है, यह कोड या लेआउट में होना चाहिए। हमें बस इतना करना चाहिए कि हम खुद को इस बात से अवगत कराएं कि हमारी नौकरी के इस पहलू के लिए सबसे अच्छे तरीके क्या हैं।


मुझे लगता है कि आप सौंदर्यशास्त्र को पूरी तरह से छूट नहीं दे सकते। शायद एक बदसूरत यूआई केवल एक सुंदर के रूप में उपयोग करने योग्य हो सकता है, लेकिन यह वह सब नहीं है जो एक यूआई के लिए है। सब के बाद, यूआई आपके कार्यक्रम का चेहरा है, बहुत कुछ एक पुस्तक के कवर की तरह: लोगों को एक सुंदर यूआई के साथ एक कार्यक्रम लेने की अधिक संभावना है।
तिखन जेल्विस

बिल्कुल, सौंदर्यशास्त्र महत्वपूर्ण हैं, लेकिन यह ग्राफिक डिज़ाइन है, यूआई डिज़ाइन नहीं।
नेलटिटैड

5

मैंने UI डिज़ाइन में बेहतर बनने के लिए क्या किया है?
इस पर ध्यान दो!

यह ऐसा समय है जब आप कभी भी समाचार या इलेक्ट्रॉनिक बस साइन पर चार्ट देखते हैं और आपको आश्चर्य होता है कि 'उन्हें यह डेटा कैसे मिला? क्या उन्होंने कच्चे sql के साथ ऐसा किया या वे LINQ का उपयोग कर रहे हैं? ' (या अपनी खुद की सामान्य geek जिज्ञासा यहाँ डालें)।

आपको ऐसा करना शुरू करना होगा लेकिन सभी प्रकार के दृश्य तत्वों के साथ।

लेकिन एक नई भाषा सीखने की तरह, यदि आप वास्तव में अपने आप को इसमें नहीं फेंकते हैं, तो आप इसे कभी नहीं सीखेंगे।

मेरे द्वारा लिखे गए एक अन्य उत्तर से लिया गया :

अपने आसपास की दुनिया को देखना, वास्तव में देखना सीखो। मुझे यूआई क्यों पसंद है लेकिन इस से नफरत है? इस रेस्तरां मेनू में नूडल व्यंजन ढूंढना इतना कठिन क्यों है? वाह, मुझे पता था कि इससे पहले कि मैं शब्दों को पढ़ता हूं, उस संकेत का क्या मतलब है। वैसा क्यों था? कैसे आया कि पुस्तक कवर इतना गलत लगता है? यह सोचने के लिए समय निकालें कि आप जिस तरह से आप सभी प्रकार के दृश्य तत्वों पर प्रतिक्रिया करते हैं, उस पर प्रतिक्रिया करें और फिर इसे अपने काम पर लागू करें।


देखने, और सोचने के लिए ज़ेन सलाह के लिए +1। बहुत कम लोग सवाल करते हैं कि आंख क्या मिलती है।
प्लेगहैमर

5

हालाँकि, आप इसे करते हैं (और ऊपर कुछ बेहतरीन बिंदु हैं), यह वास्तव में मेरी मदद करता है एक बार मैंने स्वीकार कर लिया है कि कोई भी ऐसा नहीं है जो सहज हो ...।

मैं क्षितिज पर बड़बड़ाते हुए तर्कों को सुन सकता हूं ... इसलिए मुझे थोड़ा समझाएं।

सहज ज्ञान युक्त: एक अचेतन विधि या भावना के आधार पर किसी को जो सही या सही लगता है उसका उपयोग करना।

यदि (जैसा कि कार्ल सगन ने पोस्ट किया) आप स्वीकार करते हैं कि आप उन चीजों को समझ नहीं सकते हैं जो आपके सामने आई किसी भी चीज के बिल्कुल विपरीत हैं तो आप संभवतः "कैसे" का उपयोग कर सकते हैं यदि आप किसी चीज का उपयोग नहीं करते हैं जैसे कि आपने कभी भी इसका दूर से उपयोग नहीं किया है?

इसके बारे में सोचें: बच्चे दरवाजे नहीं खोलने की कोशिश करते हैं क्योंकि वे "जानते हैं" कि एक डॉर्कनोब कैसे काम करता है, लेकिन क्योंकि उन्होंने किसी और को ऐसा करते देखा है ... अक्सर वे घुंडी को गलत दिशा में मोड़ते हैं, या जल्द ही खींचते हैं। उन्हें पता है कि एक डॉकर्नोब कैसे काम करता है। यह ज्ञान तब अलग-अलग लेकिन समान उदाहरणों में लागू होता है: एक खिड़की खोलना, एक दराज खोलना, एक बड़े, घुंडी-दिखने वाले हैंडल के साथ लगभग कुछ भी खोलना।

यहां तक ​​कि सरल चीजें जो हमें सहज लगती हैं, अन्य संस्कृतियों के लोगों के लिए बिल्कुल भी सहज नहीं होंगी। अगर किसी ने उनके सामने अपनी बांह पकड़ रखी हो और हाथ को ऊपर-नीचे करते हुए कलाई पर हाथ रख दिया हो, तो क्या वे आपको दूर कर रहे हैं? शायद, जब तक आप जापान में न हों। वहां, इस हाथ के संकेत का मतलब "यहां आना" हो सकता है। तो कौन सही है? दोनों, निश्चित रूप से, अपने स्वयं के संदर्भ में। लेकिन अगर आप दोनों की यात्रा करते हैं, तो आपको दोनों ... UI डिज़ाइन की जानकारी होनी चाहिए।

मैं उन चीजों को खोजने की कोशिश करता हूं जो पहले से ही मेरी परियोजना के संभावित उपयोगकर्ताओं के लिए "परिचित" हैं और फिर उनके आसपास यूआई का निर्माण करें: उपयोगकर्ता-केंद्रित डिजाइन।

एप्पल के आईफोन पर एक नजर। यहां तक ​​कि अगर आप इसे नफरत करते हैं, तो आपको उस विचार की मात्रा का सम्मान करना होगा जो इसमें चला गया था। क्या यह सही है? बिलकूल नही। समय के साथ एक वस्तु का कथित "अंतःकरण" विकसित हो सकता है या पूरी तरह से दूर हो सकता है।

उदाहरण के लिए। ज्यादातर सभी को पता है कि ऊपर और नीचे के छेद वाली दो पंक्तियों वाली काले रंग की एक पट्टी फिल्म की पट्टी जैसी लगती है ... या वे करते हैं?

अपने औसत 9 या 10 वर्ष के लोगों से पूछें कि वे क्या सोचते हैं। आप आश्चर्यचकित हो सकते हैं कि अभी कितने बच्चों को एक फिल्म स्ट्रिप के रूप में पहचानने में मुश्किल समय होगा, भले ही यह कुछ ऐसा है जो अभी भी हॉलीवुड का प्रतिनिधित्व करने के लिए उपयोग किया जाता है, या संबंधित कुछ भी फिल्म (फिल्म)। पिछले 20 वर्षों की अधिकांश फिल्मों को डिजिटल रूप से शूट किया गया है। और जब पिछली बार हम में से किसी ने किसी भी तरह की फिल्म, फोटो या फिल्म का एक टुकड़ा रखा था?

इसलिए, मेरे लिए यह सब उबलता है: अपने दर्शकों को जानें और "सहज" चीज़ों के रुझानों और परिवर्तनों के साथ बने रहने के लिए लगातार शोध करें, अपने मुख्य उपयोगकर्ताओं को लक्षित करें और उन चीज़ों को न करने का प्रयास करें जो अनुभवहीन के पक्ष में हों उन्नत उपयोगकर्ता या नौसिखियों को हाथ से पकड़ने के लिए उन्नत उपयोगकर्ताओं को धीमा कर देते हैं।

अंततः, प्रत्येक प्रोग्राम को इसका उपयोग करने के लिए उपयोगकर्ता की ओर से प्रशिक्षण की एक निश्चित राशि की आवश्यकता होगी। कितना प्रशिक्षण और किस स्तर के लिए उपयोगकर्ता उन निर्णयों का हिस्सा है जिन्हें बनाने की आवश्यकता है।

कुछ चीजें आपके लक्ष्य उपयोगकर्ता के पिछले अनुभव स्तर के आधार पर कम या ज्यादा परिचित हैं, जैसे कि एक इंसान, या कंप्यूटर उपयोगकर्ता, या छात्र, या जो भी हो।

मैं सिर्फ घंटी की वक्र के सबसे fattest भाग के लिए शूटिंग करता हूं और जितने लोगों को प्राप्त करने की कोशिश करता हूं, लेकिन यह महसूस करता हूं कि मैं हर किसी को कभी नहीं देखूंगा ...।


4

मुझे पता है कि Microsoft अपने स्वयं के दिशानिर्देशों के साथ असंगत है, लेकिन मैंने पाया है कि उनके विंडोज डिजाइन दिशानिर्देशों को पढ़ने से वास्तव में मेरी मदद मिली है। मेरी वेबसाइट पर मेरी एक कॉपी है , बस विस्टा यूएक्स गाइड को थोड़ा स्क्रॉल करें। इसने मुझे रंग, रिक्ति, लेआउट और बहुत कुछ जैसी चीजों के साथ मदद की है।


+1 प्लेटफ़ॉर्म के डिज़ाइन दिशानिर्देशों को पढ़ना निश्चित रूप से कुछ ऐसा करना चाहिए (और यह पता लगाना चाहिए कि Microsoft अपने स्वयं के नियमों को कितनी बार तोड़ता है?)
Oskar Duveborn

और इसके अलावा Apple वाले (मानव इंटरफ़ेस दिशानिर्देश) पढ़ें। उनमें मूल बातें और सिद्धांत अधिक हैं। यह आपको समझाता है कि क्या सार्वभौमिक होना चाहिए और मंच विशिष्ट क्या है
Stephan Eggermont

और जब आप इस पर हों, तो GNOME HIG को भी पढ़ें। उन तीनों के बीच यह दिखना शुरू हो जाता है कि एक ही मंच की एक विशिष्ट बात क्या है, और सामान्य रूप से क्या एक अच्छा विचार है।
22

इनमें से अधिकांश आईबीएम पर आधारित हैं, लेकिन अब यह बहुत पुराना है। उदाहरण के लिए, मानक कट और पेस्ट कमांड Shift + Del और Shift + Ins थे (वे अभी भी काम करते हैं, btw)।
साइमन बुकान

4

मेरा मानना ​​है कि मुख्य समस्या का विभिन्न प्रतिभाओं या कौशल से कोई लेना-देना नहीं है। मुख्य समस्या यह है कि एक डेवलपर के रूप में, आप बहुत कुछ जानते हैं कि आवेदन क्या करता है और यह कैसे करता है, और आप अपने यूआई को स्वचालित रूप से उस व्यक्ति के दृष्टिकोण से डिज़ाइन करते हैं, जिसके पास वह ज्ञान है।

जबकि उपयोगकर्ता आमतौर पर एप्लिकेशन के बारे में पूरी तरह से कुछ भी जानना शुरू कर देता है और उसे अपने आंतरिक कामकाज के बारे में कुछ भी जानने की आवश्यकता नहीं होती है।

यह बहुत कठिन है, लगभग असंभव है, आपके पास ज्ञान का उपयोग न करने के लिए - और इसीलिए यूआई को किसी ऐसे व्यक्ति द्वारा डिज़ाइन नहीं किया जाना चाहिए जो इसके पीछे ऐप को विकसित कर रहा है।


4

"स्क्रीन के दोनों किनारों से डिजाइनिंग" एक बहुत ही सरल लेकिन गहरा कारण प्रस्तुत करता है कि क्यों प्रोग्रामर यूआई डिजाइन को कठिन पाते हैं: प्रोग्रामर को किनारे के मामलों के बारे में सोचने के लिए प्रशिक्षित किया जाता है जबकि यूआई डिजाइनरों को सामान्य मामलों या उपयोग के संदर्भ में सोचने के लिए प्रशिक्षित किया जाता है।

इसलिए एक दुनिया से दूसरी दुनिया में जाना निश्चित रूप से मुश्किल है अगर डिफ़ॉल्ट ट्रांसफ़रिंग या तो दूसरे के बिल्कुल विपरीत है।


3

यह कहने के लिए कि यूआई डिज़ाइन में प्रोग्राम्स को चूसना याद रखना है। समस्या की बात यह है कि अधिकांश प्रशिक्षण प्राप्त करने वाले औपचारिक प्रशिक्षण प्रौद्योगिकी के साथ अप्रचलित हो जाते हैं। मानव - कंप्यूटर इंटरैक्शन एक सरल विषय नहीं है। यह कुछ ऐसा नहीं है कि मैं आपको एक सरल एक लाइन स्टेटमेंट प्रदान करके "माइंड-मेल्ड" कर सकता हूं जो आपको एहसास दिलाता है कि "यदि मैं y के बजाय x करता हूं तो उपयोगकर्ता इस एप्लिकेशन का अधिक प्रभावी ढंग से उपयोग करेंगे।"

ऐसा इसलिए है क्योंकि UI डिज़ाइन का एक हिस्सा है जिसे आप गायब कर रहे हैं। मानव मस्तिष्क। यूआई डिज़ाइन करने के तरीके को समझने के लिए, आपको यह समझना होगा कि मानव मन मशीनरी के साथ कैसे संपर्क करता है। इस विषय पर एक उत्कृष्ट पाठ्यक्रम है जो मैंने मिनेसोटा विश्वविद्यालय में मनोविज्ञान के प्रोफेसर द्वारा पढ़ाए गए विषय पर लिया था। इसे "ह्यूमन - मशीन इंटरैक्शन" नाम दिया गया है। यह कई कारणों का वर्णन करता है कि यूआई डिजाइन इतना जटिल क्यों है।

चूंकि मनोविज्ञान सहसंबंधों पर आधारित है, न कि कॉज़ेलिटी के कारण आप कभी भी यह साबित नहीं कर सकते कि यूआई डिज़ाइन का कोई तरीका हमेशा किसी भी स्थिति में काम करेगा। आप यह सहसंबंधित कर सकते हैं कि कई उपयोगकर्ता एक विशेष यूआई डिज़ाइन आकर्षक या कुशल पाएंगे, लेकिन आप यह साबित नहीं कर सकते कि यह हमेशा सामान्य रहेगा।

इसके अतिरिक्त, UI डिज़ाइन के दो भाग हैं जिन्हें बहुत से लोग याद करते हैं। सौंदर्यवादी अपील है, और कार्यात्मक वर्कफ़्लो है। यदि आप 100% सौंदर्यवादी अपील के लिए जाते हैं, तो निश्चित रूप से लोग आपके उत्पाद को देखेंगे। मुझे बहुत संदेह है कि सौंदर्यशास्त्र कभी भी उपयोगकर्ता की निराशा को कम करेगा।

इस विषय और पाठ्यक्रम पर कई अच्छी किताबें हैं (जैसे बिल बुक्सटन की स्केचिंग उपयोगकर्ता अनुभव , और कॉग्निशन इन द वाइल्ड द्वारा एडविन हचिन्स)। कई विश्वविद्यालयों में मानव - कंप्यूटर सहभागिता पर स्नातक कार्यक्रम हैं।

इस सवाल का समग्र जवाब हालांकि व्यक्तियों को कंप्यूटर विज्ञान सिखाया जाता है। यह सभी गणित आधारित, तर्क आधारित और उपयोगकर्ता अनुभव पर आधारित नहीं है। इसे प्राप्त करने के लिए, आपको सामान्य 4 साल की कंप्यूटर विज्ञान की डिग्री (जब तक आपके 4 साल के कंप्यूटर विज्ञान की डिग्री मनोविज्ञान में मामूली थी और मानव - कंप्यूटर इंटरैक्शन में जोर दिया गया था) से अधिक की आवश्यकता होती है।


मैं असहमत हूं: कंप्यूटर गणित और तर्क आधारित हैं, उनकी प्रकृति के आधार पर। कंप्यूटर प्रोग्रामिंग का कोई भी शिक्षण गणित और तर्क आधारित होना चाहिए।
पॉल नाथन

1
हाँ, आप सही पॉल हैं। कंप्यूटर गणित और तर्क हैं। यूआई डिज़ाइन में एक मानवीय तत्व शामिल है, जो कि इतिहास में बहुत कम गणित और तर्क आधारित साबित हुआ है।
jwendl

यह इतना नहीं है कि वे कम गणित और तर्क आधारित हैं, यह है कि गणित और उनके पीछे तर्क बहुत अधिक जटिल है, ज्यादातर आज किसी से परे है। उन्होंने कहा, मैं शर्त लगाता हूं कि अच्छे यूआई डिजाइन सभी हैं, कुछ हद तक, ज्यामिति के आधार पर।
तिखन जेल्विस

2

आइए अपने प्रश्न को घुमाएँ -

क्या "यूआई डिज़ाइनर्स" केवल सूचना वास्तुकला और प्रस्तुति परतों को डिज़ाइन करने के लिए प्रयासरत हैं? वहाँ कुछ है कि वे अपने दिमाग को फिर से तैयार करने के लिए मनभावन और कुशल सिस्टम परतों को डिजाइन करने में अधिक प्रभावी हो सकते हैं?

उन्हें "ui डिजाइनरों" की तरह लगता है कि उन्हें पूरी तरह से अलग परिप्रेक्ष्य लेना होगा - उन्हें बॉक्स के अंदर से बाहर की ओर देखना होगा; बॉक्स के बाहर से देखने के बजाय।

एलन कूपर के "इनमेट्स असाइलम चला रहे हैं" राय यह है कि हम दोनों दृष्टिकोणों को सफलतापूर्वक नहीं ले सकते - हम एक टोपी पहनना अच्छी तरह से सीख सकते हैं लेकिन हम सिर्फ टोपी नहीं बदल सकते।


2

मुझे लगता है कि इसका अच्छा UI तर्कसंगत नहीं है। एक अच्छा यूआई सहज है।

सॉफ्टवेयर डेवलपर्स आमतौर पर 'सहज' पर बुरा करते हैं


उत्कृष्ट बिंदु, मस्तिष्क के दूसरे पक्ष की आवश्यकता है
क्रिस बैलेन्स

यूआई के लिए सहज जैसी कोई चीज नहीं है। जैसा मैं पहले से जानता हूं, वैसा ही है, लेकिन यह कुछ अलग है।
स्टीफन एगरमोंट

कुछ भी नहीं "सहज" सब कुछ सीखा है। व्यवसायी लोगों द्वारा प्रोग्रामर को पसीना बहाने के लिए सहज ज्ञान युक्त शब्द है।
बर्नार्ड इगिरि

एक सच्चे प्रोग्रामर की तरह बात की .... और फिर इस मुद्दे की जड़ है।
ग्रेगर ब्रांट

@gbrandt सहज कुछ संयोजन "परिचित" और "सरल" है। यह अभी भी हालांकि के लिए प्रयास करने के लिए एक लक्ष्य है। प्रयोज्य के बारे में कठिन बात यह है कि जो कुछ के लिए सहज है, वह दूसरों के लिए जरूरी नहीं है। @ स्टेफ़न सही है कि "सहज" कुछ कठिन "तथ्य" नहीं है, यह उपयोगकर्ता के सापेक्ष है।
टीएम।

2

एक उपयोगी फ़्रेमिंग यह सक्रिय रूप से विचार करने के लिए है कि आप संचार की प्रक्रिया को डिजाइन करने के रूप में क्या कर रहे हैं। एक बहुत ही वास्तविक अर्थ में, आपका इंटरफ़ेस एक ऐसी भाषा है जिसका उपयोग उपयोगकर्ता को कंप्यूटर को यह बताने के लिए करना चाहिए कि क्या करना है। यह कई बिंदुओं पर विचार करता है:

  1. क्या उपयोगकर्ता पहले से ही इस भाषा को बोलता है? एक उच्च आदर्श वाक्य इंटरफ़ेस का उपयोग करना एक ऐसी भाषा में संवाद करने जैसा है जिसे आपने पहले कभी नहीं कहा है। इसलिए यदि आपका इंटरफ़ेस बिल्कुल भी निष्क्रिय होना चाहिए, तो यह सबसे अच्छा शर्तों और कुछ distractions के साथ सबसे अच्छा परिचय था। दूसरी ओर, यदि आपका इंटरफ़ेस उन मुहावरों का उपयोग करता है जो उपयोगकर्ता के आदी हैं, तो वे शुरू से ही आत्मविश्वास प्राप्त करेंगे।
  2. संचार का दुश्मन शोर है। श्रवण शोर बोले गए संचार में हस्तक्षेप करता है; दृश्य शोर दृश्य संचार के साथ हस्तक्षेप करता है। जितना अधिक आप अपने इंटरफेस से बाहर शोर कर सकते हैं, उतना आसान संचार होगा।
  3. मानव बातचीत के रूप में, यह अक्सर आप क्या कहते हैं, यह नहीं है कि आप इसे कैसे कहते हैं। जिस तरह से अधिकांश सॉफ्टवेयर संचार करते हैं, वह एक हद तक असभ्य है जो इसे एक व्यक्ति होने पर चेहरे में छिद्रित कर देगा। आपको कैसा लगेगा अगर आपने किसी से एक सवाल पूछा और वे वहां बैठ गए और कई मिनटों तक आपको घूरते रहे, जवाब देने से पहले किसी भी अन्य तरीके से जवाब देने से इनकार कर दिया? कई इंटरफ़ेस तत्व, जैसे प्रगति बार और स्वचालित फ़ोकस चयन, में राजनीतिकता का मूलभूत कार्य होता है। अपने आप से पूछें कि आप उपयोगकर्ता के दिन को कैसे अधिक सुखद बना सकते हैं।

वास्तव में, यह निर्धारित करने के लिए किया जा रहा है, के रूप में क्या प्रोग्रामर इंटरफेस बातचीत के बारे में सोच कुछ हद तक मुश्किल है अन्य संचार की एक प्रक्रिया से, लेकिन शायद समस्या यह है कि यह सब पर कुछ भी होने के रूप में के बारे में सोचा नहीं प्राप्त करता है।


2

बहुत कुछ ओ अच्छी टिप्पणियाँ पहले से ही हैं, इसलिए मुझे यकीन नहीं है कि बहुत कुछ है जो मैं जोड़ सकता हूं। फिर भी...

  • एक डेवलपर अच्छे यूआई डिजाइन करने में सक्षम होने की उम्मीद क्यों करेगा?
  • उस क्षेत्र में उन्होंने कितना प्रशिक्षण लिया?
  • उसने कितनी किताबें पढ़ीं?
  • उन्होंने कितने वर्षों में कितनी चीजों को डिजाइन किया?
  • क्या उसे उपयोगकर्ताओं की प्रतिक्रिया देखने का अवसर मिला?

हम उम्मीद नहीं करते हैं कि एक यादृच्छिक "जो प्लम्बर" अच्छा कोड लिखने में सक्षम हो। तो हम अच्छे UI को डिजाइन करने के लिए यादृच्छिक "जो प्रोग्रामर" की उम्मीद क्यों करेंगे?

सहानुभूति मदद करती है। UI डिज़ाइन और प्रोग्रामिंग को अलग करने से मदद मिलती है। प्रयोज्यता परीक्षण मदद करता है।

लेकिन यूआई डिज़ाइन एक शिल्प है जिसे किसी भी अन्य की तरह सीखना और अभ्यास करना पड़ता है।


वास्तव में मैं क्या सोच रहा था, कैसे "डेवलपर" "यूजर इंटरफेस डिजाइनर" से संबंधित है ??
जॉर्ज कॉर्डोबा

@ जोर्ज यहां अब संबंधित है: बहुत सारे डेवलपर्स को अपने नियोक्ताओं के लिए यूआई डिजाइन करना पड़ता है, भले ही वे डिजाइनर न हों। मेरी कंपनी में, हमारे पास कोई कलाकार नहीं है। हमारे ऐप्स बहुत बुरे नहीं लगते हैं। इस मामले में, आपको यह सुनिश्चित करने के लिए समूह समीक्षाएं और सामान मिला है कि डिजाइन अच्छा है।
टीएम।

@ टीएम: डिजाइन जरूरी नहीं है कि यूआई / यूएक्स डिजाइन हो। यकीन है कि यह अच्छा लग सकता है लेकिन इसका मतलब यह नहीं है कि यह अच्छा काम करता है
केविन पेनो

2

डेवलपर्स यूआई डिजाइन में अच्छे नहीं हैं (जरूरी) उसी कारण से जब वे बुनाई में अच्छे नहीं हैं (जरूरी); यह कठिन है, यह अभ्यास करता है, और किसी को आपको यह दिखाने के लिए चोट नहीं पहुंचाती है कि पहली जगह में कैसे।

अधिकांश डेवलपर्स (मुझे शामिल) ने यूआई को "डिजाइन करना" शुरू किया क्योंकि यह सॉफ्टवेयर लिखने का एक आवश्यक हिस्सा था। जब तक कोई डेवलपर इसे प्राप्त करने के लिए प्रयास नहीं करता, तब तक वह नहीं होगा।


2

केवल मौजूदा साइटों को देखने के लिए सुधार करने के लिए। पहले से सुझाई गई पुस्तकों के अलावा, आप रॉबिन विलियम्स की उत्कृष्ट पुस्तक "द नॉन-डिज़ाइनर्स डिज़ाइन बुक" ( sanitized Amazon लिंक ) पर एक नज़र डाल सकते हैं।

ज़ेन गार्डन के साथ-साथ विभिन्न सबमिशनों पर एक नज़र डालकर विज़ुअल डिज़ाइन में क्या संभव है, इस पर एक नज़र डालें ।

यूआई डिजाइन निश्चित रूप से एक कला है, हालांकि सी में संकेत की तरह, कुछ लोग इसे प्राप्त करते हैं और कुछ लोग नहीं करते हैं।

लेकिन कम से कम हम उनके प्रयासों पर चौका लगा सकते हैं । BTW थैंक्स ओके / कैंसिल फॉर ए फनी कॉमिक एंड थैंक्स जोएल इसे अपनी किताब "द बेस्ट सॉफ्टवेयर राइटिंग आई" ( sanitized Amazon लिंक ) में डालने के लिए ।


2

उपयोगकर्ता इंटरफ़ेस कुछ ऐसा नहीं है जिसे इस तथ्य के बाद लागू किया जा सकता है, जैसे कि पेंट का एक पतला कोट। यह कुछ ऐसा है जो शुरू में होने की जरूरत है, और वास्तविक शोध पर आधारित है। बेशक प्रयोज्य अनुसंधान के टन उपलब्ध है। यह सिर्फ शुरुआत में नहीं होना चाहिए, इसके लिए यह आवश्यक है कि जिस सॉफ्टवेयर को आप पहले स्थान पर बना रहे हैं, उसके मूल को बनाने की जरूरत है: दुनिया में कुछ अंतर है, कुछ समस्या है, और इसे बनाने की जरूरत है अधिक उपयोगी और अधिक कुशल।

सॉफ्टवेयर अपनी मर्जी से नहीं है। सॉफ्टवेयर के एक सहकर्मी के अस्तित्व का कारण लोगों के लिए है। यहां तक ​​कि यह समझने के लिए कि यह किसी को भी इसकी आवश्यकता क्यों होगी, सॉफ्टवेयर के एक नए समूह के लिए एक विचार के साथ आने की कोशिश करना पूरी तरह से अजीब है। फिर भी यह हर समय होता है।

कोड की एक पंक्ति लिखे जाने से पहले, आपको इंटरफ़ेस के पेपर संस्करणों के माध्यम से जाना चाहिए, और वास्तविक लोगों पर इसका परीक्षण करना चाहिए। यह अजीब और मूर्खतापूर्ण है, यह बच्चों के साथ सबसे अच्छा काम करता है, और कोई व्यक्ति "कंप्यूटर" के रूप में मनोरंजक अभिनय करता है।

इंटरफ़ेस को हमारी प्राकृतिक संज्ञानात्मक सुविधाओं का लाभ उठाने की आवश्यकता है। एक गुफावासी आपके कार्यक्रम का उपयोग कैसे करेगा? उदाहरण के लिए, हम चलती वस्तुओं पर नज़र रखने के लिए वास्तव में अच्छे हैं। यही कारण है कि इंटरफेस, जो iPhone की तरह भौतिकी सिमुलेशन का उपयोग करते हैं, उन इंटरफेस की तुलना में बेहतर काम करते हैं जहां परिवर्तन तुरंत होते हैं।

हम कुछ प्रकार के अमूर्त रूप में अच्छे हैं, लेकिन अन्य नहीं। प्रोग्रामर के रूप में, हम कुछ अजीब योगों को समझने के लिए मानसिक जिम्नास्टिक और बैकफ़्लिप करने के लिए प्रशिक्षित हैं। उदाहरण के लिए, हम समझते हैं कि आर्कन पाठ का एक अनुक्रम धातु के थाल पर विद्युत चुम्बकीय स्थिति के एक पैटर्न का प्रतिनिधित्व कर सकता है और इसका अनुवाद किया जा सकता है, जब ध्यान से डिज़ाइन किए गए उपकरण द्वारा सामना किया जाता है, तो इलेक्ट्रॉनिक पर लाइटस्पीड पर होने वाली अदृश्य घटनाओं का क्रम होता है। सर्किट, और इन घटनाओं को एक उपयोगी परिणाम उत्पन्न करने के लिए निर्देशित किया जा सकता है। यह एक अविश्वसनीय रूप से अप्राकृतिक बात है जिसे समझना होगा। यह समझें कि जब यह हमारे लिए एक पूरी तरह से तर्कसंगत व्याख्या है, तो बाहरी दुनिया के लिए, ऐसा लगता है कि हम अपनी बोली लगाने के लिए अदृश्य भावुक आत्माओं को बुलाने के लिए अतुलनीय झुकाव लिख रहे हैं।

सामान्य मनुष्यों को समझने वाले सार प्रकार नक्शे, आरेख और प्रतीक जैसी चीजें हैं। प्रतीकों से सावधान रहें, क्योंकि प्रतीक एक बहुत ही नाजुक मानव अवधारणा है जो प्रतीक को सीखने तक जागरूक मानसिक प्रयास करते हैं।

प्रतीकों के साथ चाल यह है कि प्रतीक के बीच एक स्पष्ट संबंध होना चाहिए, और जिस चीज का प्रतिनिधित्व करता है। जिस चीज़ का यह प्रतिनिधित्व करता है, उसे या तो एक संज्ञा होना चाहिए, जिस स्थिति में प्रतीक को बहुत प्रतिनिधित्व करना चाहिए जैसे कि वह जिस चीज़ का प्रतिनिधित्व करता है। यदि कोई प्रतीक अधिक अमूर्त अवधारणा का प्रतिनिधित्व कर रहा है, जिसे ADVANCE में समझाया जाना है। Msword, या फ़ोटोशॉप के टूलबार, और अमूर्त अवधारणाओं का प्रतिनिधित्व करने योग्य अयोग्य आइकन देखें। यह आवश्यक है कि फोटोशॉप में क्रॉप टूल आइकन का अर्थ है CROP TOOL। यह समझना होगा कि सीआरओपी का मतलब क्या है। उस सॉफ़्टवेयर का सही ढंग से उपयोग करने के लिए ये आवश्यक शर्तें हैं। जो एक महत्वपूर्ण बिंदु लाता है, ASSUMED ज्ञान से सावधान रहें।

हम केवल 4. 4 वर्ष की आयु के आसपास के नक्शे को समझने की क्षमता प्राप्त करते हैं। मुझे लगता है कि मैंने एक बार कहीं पढ़ा है कि चिम्पांजी 6 या 7 साल की उम्र के आसपास के नक्शे को समझने की क्षमता हासिल करते हैं।

कारण यह है कि guis के साथ शुरू करने के लिए सफल रहे हैं, यह है कि वे कंप्यूटर के लिए ज्यादातर शाब्दिक इंटरफेस के एक परिदृश्य को बदल दिया है, कुछ करने के लिए कि कंप्यूटर अवधारणाओं कुछ भौतिक जगह जैसा दिखता है। जहाँ प्रयोज्य के संदर्भ में अपराध विफल होते हैं, क्या वे वास्तविक जीवन में आपके द्वारा देखी जाने वाली चीज़ से मिलते जुलते हैं। एक कंप्यूटर में होने वाली अदृश्य, अप्रत्याशित, समझ से बाहर की चीजें हैं जो भौतिक दुनिया में आपके द्वारा देखी जाने वाली किसी भी चीज के समान नहीं हैं। इसमें से कुछ आवश्यक हैं, क्योंकि केवल एक वास्तविकता सिम्युलेटर बनाने का कोई मतलब नहीं होगा- विचार काम को बचाने के लिए है, इसलिए थोड़ा सा जादू करना होगा। लेकिन उस जादू को समझाना पड़ता है, और उसे अमूर्तता में जमीन पर उतारना पड़ता है जिसे इंसान अच्छी तरह से समझने के लिए अनुकूल हो जाता है। यह तब होता है जब हमारे अमूर्त गहरे होने लगते हैं, और स्तरित होते हैं, और हाथ में काम के साथ बेमेल है कि चीजें टूट जाती हैं। दूसरे शब्दों में, इंटरफ़ेस अंतर्निहित सॉफ़्टवेयर के लिए एक अच्छे मानचित्र के रूप में कार्य नहीं करता है।

बहुत सारी पुस्तकें हैं। दो मैंने पढ़ा है, और इसलिए प्रतिपूर्ति कर सकते हैं, डोनाल्ड मान्डन द्वारा "द डिज़ाइन ऑफ़ एवरीडे थिंग्स", और जेफ रस्किन द्वारा "द ह्यूमन इंटरफेस"।

मैं मनोविज्ञान में एक कोर्स भी करता हूं। "हर दिन की चीजों का डिजाइन" इस बारे में थोड़ी बात करता है। मनोविज्ञान के एक डेवलपर की "लोक समझ" के कारण बहुत सारे इंटरफेस टूट जाते हैं। यह "लोक भौतिकी" के समान है। गति में एक वस्तु गति में रहती है ज्यादातर लोगों के लिए कोई मतलब नहीं है। "आपको इसे गति में रखने के लिए इसे धक्का देना होगा!" भौतिकी नौसिखिया सोचता है। उपयोगकर्ता परीक्षण से अधिकांश डेवलपर्स को कोई मतलब नहीं है। "आप केवल उपयोगकर्ताओं से पूछ सकते हैं कि वे क्या चाहते हैं, और यह काफी अच्छा होना चाहिए!" मनोविज्ञान नौसिखिया सोचता है।

मैं फिलिप साइकोर्डो द्वारा होस्ट की गई एक पीबीएस डॉक्यूमेंट्री सीरीज़, डिस्कवरी साइकोलॉजी को दोबारा अपनाता हूं। असफल होना, कोशिश करना और एक अच्छी भौतिकी की पाठ्यपुस्तक ढूंढना। महंगी किस्म। न कि पल्प फिक्शन सेल्फ हेल्प क्रैप जो आपको बॉर्डर्स में मिलते हैं, लेकिन मोटा हार्डबाउंड सामान आप केवल एक यूनिवर्सिटी लाइब्रेरी में पा सकते हैं। यह एक नॉलेडेसरी फाउंडेशन है। आप इसके बिना अच्छा डिजाइन कर सकते हैं, लेकिन आपको केवल एक सहज समझ होगी कि क्या चल रहा है। कुछ अच्छी किताबें पढ़ने से आपको एक अच्छा परिप्रेक्ष्य मिलेगा।


2

यदि आप "क्यों सॉफ्टवेयर बेकार है" पुस्तक पढ़ते हैं, तो आपने प्लाट का उत्तर देखा होगा, जो एक सरल है:

  1. उपयोगकर्ता-मित्रता पर डेवलपर्स का नियंत्रण है
  2. औसत लोग नियंत्रण पर उपयोगकर्ता-मित्रता को प्राथमिकता देते हैं

लेकिन आपके सवाल का एक और जवाब होगा "कुछ डेवलपर्स के लिए दंत चिकित्सा इतनी कठिन क्यों है?" - यूआई डिज़ाइन सबसे अच्छा यूआई डिजाइनर द्वारा किया जाता है।

http://dotmad.net/blog/2007/11/david-platt-on-why-software-sucks/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.