Geliştiricilerdeki genel UI tasarım becerisinin eksikliğinin üstesinden gelmek [kapalı]


17

Bana söylendi ve kendim için, birçok geliştiricinin UI tasarımında iyi olmadığını (bunun ne kadar doğru olduğunu bilmiyorum) ama en azından benim için doğru olduğunu söyledim .

Web geliştirme iyi kod geliştirme becerileri onlarla gitmek için UI tasarım büyük becerileri olmadan yeterli değildir.

Yani benim için ve benim gibi birçok şeyin geliştiricilerinin sadece yarısı (iyi geliştirme becerileri) olan bir tasarımcı için ödeme yapmak yerine diğer yarımızı nasıl tamamlamalıyız?

Küçük değişikliklerle Açık Kaynak web şablonları kullanmak bunun için en iyi çözüm mü yoksa başka seçenekler var mı?


12
"Geliştirme becerileri zayıf olan bir UX üyesi olarak, bir geliştiriciye ödeme yapmadan nasıl site geliştirmeliyim?"
Steven Evers

Şimdi ne üzerinde çalıştığımı görmelisin - UI felaketi. Projede çalışan hiç kimsenin UI tasarım kılavuzlarına baktığını sanmıyorum. Aynı şey önceki projem için de geçerli, sadece bir konuyu zorladım ve grafik tasarımcıya dahil oldum, ancak kodun kontrolüm dışında gerçekten korkunç olan bazı kısımları vardı.
Skizz

7
Bir tasarımcı kirala. Emin olmanın tek yolu bu.
SF.

1
Bu soru sorunlu. Tasarımcılarda genel programlama becerisi eksikliğinin üstesinden gelmek hakkında da konuşabilirsiniz.
Alex Feinman

Yanıtlar:


11

Tasarımda o kadar da iyi olmayan bir geliştiriciyim. Tasarım yapmak zorunda olduğum bir proje üzerinde çalışırken, işleri olabildiğince basit tutmak için elimden gelenin en iyisini yapmaya çalışıyorum. Sadece kullanıcı deneyimi için çok mantıklı bir yaklaşım ve tasarım kullanıyorum. Gerçekten güzel görünmesini sağlayamıyorum, ancak kullanıcı dostu ve nispeten göze hoş gelebilir.

Bu kitaplardan birkaçını okudum: http://www.uxbydesign.org/2009/06/24/20-user-experience-books-you-should-own/ ve onlar gerçekten bana yardımcı oldular.

düzenlemek o listede benim favori Do Me Think Make değildir: Web Kullanılabilirliği Steve Krug tarafından 2nd Edition Sağduyulu Yaklaşım


Geliştiricilerin neden her zaman herkes için her şey olması gerektiğini düşündüklerini bilmiyorum. Ben zaten bir geliştirici, tasarımcı, mimar, iş analisti, üretim desteği ve KG'ım. Hala yeterli değil ve şimdi de bir DBA olmak zorundayım.
maple_shaft

3
Bir serbest çalışan olarak ya tüm becerilere sahip olmanız ya da bir projenin bazı bölümlerini dış kaynaklardan temin etmeniz gerekir. Tamamen bir şey yapamıyorsanız, çok kötü bir başkasını bulmanız gerekir. Ancak becerileri öğrenebilirseniz, neden olmasın ve potansiyel müşteriler açısından daha fazla kazanma ve daha çekici bir geliştirici olmanızı sağlayın.
Sydenam

2
Seni biliyorum ve seninle aynı fikirdeyim, sadece endüstrinin ne hale geldiğinden tiksiniyorum. İşlerinden nefret eden ve çok çalışan insanlar tarafından kuşatıldım ve bir sonraki Angry Birds olacağını umdukları aptalca bir fikrim var ve bana her işi yapmak için saat başına bir Hint $ 6 ödeyip ödeyemeyeceklerini soruyorlar ve sadece açıyorlar kaynak olmadan her şey için kaynak çünkü sonuçta açık kaynak ÜCRETSİZDİR. Sonra milyonlar kazanmayı ve işlerini bırakmayı umuyorlar. Bu kötü fikir sahipleri hemen hemen hiç para için gittikçe daha da fazla beklerler. Sadece beni hasta ediyor.
maple_shaft

5

Tasarım (herhangi bir şey), çeşitli paydaşların (müşteri, geliştirici, kullanıcılar) ihtiyaçları arasındaki bir müzakere. Paydaşların hiçbiri genellikle en iyi tasarımı oluşturmak için iyi bir konumda değildir, çünkü kendi ihtiyaçlarını en iyi anlama ve diğer paydaşların ihtiyaçlarına göre koyma eğilimindedirler. İyi bir tasarımcı, çeşitli paydaşların ihtiyaçlarını belirleyebilir - çoğu zaman paydaşın kendisinin farkında olmadığını fark eder - ve herkes için çalışan bir çözüm bulur.

Muhtemelen bunu birçok kez görmüşsünüzdür. Kullanıcılar bir sistemle nasıl etkileşimde bulunmaları gerektiğini, genellikle zaten aşina oldukları diğer bazı sistemler açısından düşünürler. Geliştiriciler çoğunlukla sistemin nasıl çalıştığını düşünürler. Müşteriler genellikle tüm sorunlarını çözecek bir şey ister, aksi takdirde en düşük maliyetle çok özel bir sorunu çözmek isterler.

İyi bir tasarımcı olmak için, bir şeyi nasıl uygulayacağınızı düşünmeyi bırakmayı öğrenmelisiniz. Bunun yerine, diğer paydaşların neye ihtiyaç duydukları ve istedikleri hakkında söylediklerine odaklanmalı ve satırlar arasında okuyabilmelisiniz. Geliştiriciler gibi, müşteriler ve kullanıcılar da genellikle önceden düşünülmüş bazı çözümlere sahiptir ve temel gereksinimler yerine bu çözümü tanımlama eğilimindedirler. (Bu, bazen bir müşterinin size tam olarak ne istediklerini söylediklerinde söylediklerini ifade ettiğini anlamak önemlidir; emin değilseniz sorun.)

Daha yüzeysel olarak, bir UI'nin estetik tasarımı da bazı geliştiricilerin sorun yaşadığı bir şeydir. Bence bu kısmen yazılım geliştiricilerin genellikle estetik konusunda çok fazla eğitime sahip olmamaları - CS öğrencilerinin sanat dersleri için fazla zamanları olmayabilir. Yine kısmen de öyle çünkü bir şeyin nasıl çalıştığına, göründüğümüzden daha fazla ilgi duyuyoruz; bir düğmenin köşelerinin 9 piksel yarıçapı mı yoksa 10 piksel yarıçapı mı olduğu umurumda değil. Bu iki faktör mutlaka ilişkilidir. Bazen UI çerçeveleri biçiminde konserve çözümlere güvenerek ve önceden tasarlanmış bileşenler kullanarak kendi çalışmanızı aynı sistemdeki diğer uygulamalarla görsel olarak birleştirmenin avantajına sahip olabilirsiniz. Estetik becerilerinizi okuyarak, başkalarının çalışmalarına bakarak geliştirebilir, ve geçmişte görmezden gelmiş olabileceğiniz görsel ayrıntılara çok dikkat etmek. Ayrıca görsel farklılıkların ardındaki mantığı anlamaya çalışmalısınız: Kare köşeli düğmeler yuvarlak düğmelerden farklı bir şey ifade ediyor mu? Renk nasıl kullanılır? vb.


1
gr8 cevabı için teşekkürler bu konu hakkında herhangi bir kaynak, kitap, site var: "görsel farklılıkların ardındaki mantık: Kare köşeli düğmeler yuvarlak düğmelerden farklı bir şey ifade ediyor mu? Renk nasıl kullanılır? vb."
Ali

Yan not ve tamamen meraktan, do yuvarlak düğmeler gelen kare köşeli düğmeler ortalama farklı bir şey? Acaba bu UX SE'de ele alındı ​​mı?
Sean Hanley

Renkli ve yuvarlak düğmeler grafikle ilgilidir ve UX ile gerçekten ilgisi yoktur. UX için daha iyi bir soru, "kullanıcı x renk şeması vs y renk şeması ile sitemizi ne düşünüyor" ve adı geçen düğmelerin yerleştirilmesi olacaktır.
Nic

@Yadyn, bu bağlama bağlıdır. Düğme geometrisi kullanıcıya işlev ve davranış hakkında ipucu verebilir: kare köşeli düğmeler çekici gruplar oluşturur ve genellikle seçenekleri veya modları seçmek için iyi çalışır. Yuvarlak düğmeler çok iyi istiflenmez ve genellikle farklı işlemleri gösterir. Ancak bu tür görsel ipuçları, yalnızca bir uygulamada sürekli olarak veya tüm GUI'de (daha iyi) kullanıldıklarında anlam taşır.
Caleb

@ melee, ben buna bir uygulama geliştirme açısından bakıyorum. Web üzerindeki arayüzlerde çok daha fazla çeşitlilik var ve bu bağlamda bu durumu yapmanın daha zor olduğunu kabul ediyorum. Ancak Mac'te tipik bir masaüstü uygulaması aldıysanız ve "Mavi düğmeler harika görünüyor - tüm düğmeleri mavi yapalım!" kullanıcılar bir düğme rengine ve biçimine anlam kattığı için kullanıcılar için çok fazla karışıklık yaratabilirsiniz. Buradaki örnekler (Apple HIG): tinyurl.com/6agv54v
Caleb

3

İşte bana yardımcı olduğunu düşündüğüm bazı şeyler:

  • Diğer yazılımlarda neyi sevdiğinizi / sevmediğinizi not alın. Biz programcıyız, hayatımızın büyük bir bölümünü bilgisayarda geçiriyoruz. Yazılımı kullanırken neyi sevdiğinizi / nefret ettiğinizi not edin. Bilgisayar yazılımı, video oyunları, mobil cihazlar, vb.'nin önemi yok, sadece kullanışlı ve kullanımı kolay olan ve olmayan şeylere dikkat edin.

  • Siz ve kullanıcılarınız için kullanıcı arayüzünü çizmek için kullanımı kolay bir çizim aracı bulun. Hızlı, basit ve web sürümü ücretsiz olduğu için Balsamiq'i kullanmayı seviyorum .

  • Bir şey tasarlamanıza yardımcı olmak için yazılım tasarımı konusunda uzmanlaşmış birini bulmanız gerekmediğini unutmayın - herhangi bir kullanıcı yapacak. Eskizlerimi, tüm gün yazılım etrafında olduklarını bildiğim ve bir şeyin yolunda görünüp görünmediğini veya kullanıcı dostu olup olmadığını söyleyebileceğim için projeyle tamamen ilgisi olmayan bazı kişiler tarafından sık sık çalıştırıyorum. Sadece size ne yapmanız gerektiği hakkında çılgın fikirler vereceğini ve ne yapacağınızı basitçe "havalı" olacağını ve verimliliği gerçekten artıracağını bilmeniz gerektiğini unutmayın.

  • Ayrıntılı sorularınız için /ux// adresinde soru sormaktan çekinmeyin.


1
İyi bir tavsiye, iyi bir araç
NoChance

2

Dürüst olmak gerekirse, UI tasarımı hep birlikte farklı bir şeydir. Bir geliştirici her zaman ince bir tasarım düşünür ve tasarım söz konusu olduğunda çok yaratıcı değildir. Hissettiğim kesin yaklaşım UI tasarımı için farklı bir geliştirici tutmaktır. Gerçi maliyeti artırır, ancak kesinlikle daha iyi sonuçlara ulaşmanıza yardımcı olacaktır.

Her iki şeyi de kendisi yapan biri için, asla en iyi sonucu vermez. Bu nedenle, IMHO'nun bu iki farklı yönü iki farklı geliştiriciye atanmalıdır. Farklı CMS durumunda, kaplama ve tema geliştirme için biraz HTML ve CSS bilgisi önerilir, ancak tamamen yeni bir tasarım geliştirmeniz gerektiğinde, bir UI tasarımcısına danışın.



2

UI tasarımı birçok insan için doğal olan bir şey değildir. Ancak, son zamanlarda birkaç kolay ilkeyi izleyerek çok daha iyi hale geldim.

  1. Çıldırmayın, düşündüğünüz kadar zor değil.

  2. Önce veri yapısını ve motorunuzu modelleyin. Net ve gerçek dünyaya karşılık gelen modeller oluşturun. Açıkçası bu, müşterinin neye ihtiyacı olduğunu anlamak için zaman ayırdığınızı varsayar.

  3. Şimdi, bir sayfa kağıt ve kalemle oturun ve ekranların mantıksal düzenini çizmeye başlayın. Bu normalde veri modelinizi kullanıcıya düzenli bir şekilde sunar. Hedefiniz basitçe:

    a. Uygulamanın dağıtılacağı ortamı taklit edin. Örneğin, bir windows uygulamasıysa, bir windows uygulaması gibi davranması gerekir, eğer bir web uygulamasıysa, sizinkinden daha popüler olan benzer web uygulamaları gibi davranması gerekir.

    b. Amacınız kullanıcıyı veri modelinizde THEY'nin tahmin edeceği şekilde yönlendirmektir. Bir kullanıcı arayüzü, bir kullanıcı uygulamanızda bir şey yaptığında ve tam olarak yapmasını beklediği şeyi yaptığında iyi tasarlanmıştır.

    c. Bu zaman alır ve bir öğrenme eğrisidir, ancak herkes bunu yapabilir.

  4. Grafikler, yani düğmeler, arka planlar vb. İçin endişelenmeyin ... bu noktada tek amacınız sayfanın mantıksal düzeni.

  5. Eğer html, gtk, kakao, android, Windows.Forms vb kullanmak olup olmadığını kullanmak gui lib ustalaşmak gerekir. Olay işleme mekanizmaları, düzen motoru ve giriş ve görüntüleme alma anlamak veri. Herhangi bir geliştirici en azından bunu yapabilmelidir.

  6. Bir grafik tasarımcının buradan devralınması utanç verici değil. Ancak en azından 5. adımı geçebilmeniz gerekir. Bu, tüm uygulama için iş yükünün% 95'idir.

İşte beni kötü bir gui tasarımcısından çok daha iyi bir gui tasarımcısına dönüştüren yararlı bir makale.

http://www.joelonsoftware.com/uibook/fog0000000249.html


İyi tavsiye, ama 2. noktaya katılmıyorum. Kullanıcıyı yukarıdaki adımlara daha fazla dahil ederim.
NoChance

1
@Emmad Uygulamanızı veriler üzerinde gerçekleştirilen bir dizi işlem olarak düşünüyorsanız, kullanıcı arayüzünün tek amacı veri modeline girdi almak ve veri modelini görüntülemek için organize bir yol sağlamaktır. Buraya 2 tane koymamın nedeni, verileri modelledikten sonra UI türünün yerine oturduğunu görmem. Ne tür verilerle ne yapmak istedikleri konusunda son kullanıcıyla kapsamlı görüşmeler yapıyorum? Uygulama budur. Sonra şeyleri sayfaya koydum ve sonra soruyorum, şimdi bunun nasıl görünmesini istersiniz? Beni hiç yanlış yapmadı.
Jonathan Henson

1
Dahası, grafik tasarımcıların gui'yi çizmesine izin verdiğimde, her zaman felaketle sonuçlanır. Verilerin nasıl organize edilmesi gerektiğini bilmiyorlar ve neredeyse ne olduğunu ve neyin mümkün olmadığını neredeyse hiç bilmiyorlar.
Jonathan Henson

Açıkladığınız için teşekkür ederim, grafik tasarımcıların bilgi yönetimi ile görevlendirilmeyeceklerini kabul ediyorum.
NoChance

1

Ayrıca, mizanpajlar, grafikler ve tasarımlar hakkında fikir edinmek için "benzer" sitelerin başarılı örneklerini de arayabilirsiniz. En sevdiğiniz boya programında biraz değişiklik yaparak birçok fikir ödünç alabilir ve bunları kendiniz yapabilirsiniz. Doğrudan kopyalamayın - bu sadece kötü davranışlar değil, çoğu durumda da yasadışıdır.

Birkaç kez ödünç aldıktan sonra, başarılı sitelerin tasarımları için daha iyi bir fikir edinmeye başlayacaksınız ve bu tasarımları yapmanın araçlarını da (küçük ayarlarınızla) öğreneceksiniz.


1

HTML'nin tanıtımı ile çirkin görünmeyen basit bir site oluşturmak zorlaştı. Konsepte sahip olsanız da, doğru olması için birkaç numara, araç, hazır grafik ve CSS bilgisi gerekir. Ayrıca, keskin görünümlü sayfalar elde etmek için kullanılabilirlik teknikleri ve tasarım sürecini etkileyen diğer insan faktörleri gereklidir.

Geliştiriciler, karmaşık dilleri, OOP, ORM, SQL, T-SQL, vb öğrenme öğrenme onların çoğu zaman harcamak. Ayrıca nadiren web siteleri oluşturmak için araçlar yatırım (çoğu pahalı).

Sonuç olarak, birçok geliştirici çarpıcı web sayfaları üretemediğinden muzdariptir. Gerekli araçları öğrenirseniz, iyi sayfalar da oluşturabileceğinize inanıyorum.

Uygulama geliştirme sürecinde rulonuzun ne olduğunu bilmek de önemlidir. Web tasarımının zorunlu bir beceri olmak yerine güzel bir beceri olduğunu görebilirsiniz. Büyük projelerde, en azından yukarıda belirtilen nedenlerden dolayı bir programcı görevi olmamalıdır.

Bu aracın harika bir araç olduğunu gördüm, size yardımcı olabilir:

Artisteer

Bir göz atın ve demo deneyin, gerçekten iyi.


1

hala web geliştirme iyi geliştirme becerileri tasarım büyük becerileri olmadan yeterli değildir

Bu ifadenin doğru olup olmadığını bilmiyorum, bence bu nerede çalıştığınıza bağlı.

Örneğin, daha küçük bir şirket muhtemelen yetenek setinizle daha esnek olmanızı gerektirecektir, oysa büyük bir şirket aynı beklentiye sahip olmayabilir ve aslında bir tasarım ekibi tasarım üzerinde çalışırken tüm zamanınızı geliştirebilirsiniz.

Microsoft, geliştiriciler ve tasarımcılar arasındaki açık ayrımı vurgulamak için araç setlerini güncelledi. WPF ile Expression Blend'i tanıttılar, bu da geliştiricinin bir yazılımın işlevselliği üzerinde çalışabileceği ve başka birinin bunun için tasarım yapabileceği anlamına geliyor. Her ikisi de farklı araçlar kullanıyor, her ikisi de aynı anda proje üzerinde çalışabiliyor, ancak biri işlevsellik yapıyor ve biri tasarım yapıyor.

Geliştirici veri noktalarını belirtir ve tasarımcı bunları görüntüler.


teşekkürler, yalnız freelancer olarak yaparken hiçbir ekiple yaparken bunu düşünüyordum!
Ali

Büyük bir şirket için kesinlikle doğru değil. Ayrı tasarım ve geliştirme ekiplerine sahiptir ve her ikisinin de birbirinden çok az bilgiye ihtiyacı vardır (neyin mümkün olduğunu, neyin kırıldığını bilin).
SF.

1

Tasarımın sadece kod değil, test edilebileceğini unutmayın. Basit başlayın, tasarımınızı küçük bir grup insan üzerinde deneyin, geri bildirimlerini kaydedin ve oradan gidin. Bu, tasarımınızla ilgili sorunları belirlemenize yardımcı olabilir ve size neyin farklı yapılabileceği / yapılması gerektiği hakkında fikir verebilir. Sonra tasarımı gözden geçirin ve tekrarlayın.


0

Sadece sahte ve diğer tasarımları kopyalamak zorunda kalacaksınız. Kullanıcılara büyük fayda sağlayacak bir veya iki özellik dışında hiçbir şeyden kaçının. Yazı tiplerini, renkleri ve dağınıklığı sınırlamak için bazı temel uygulamaları izleyin.

UI.stackexchange.com'a soru göndermekten korkmayın


+ 1- Renklerin, vb. Sınırlandırılması konusunda iyi bir nokta. İyi görünümlü web siteleri, birkaç harika sapma ile varsayılanları (beyaz arka plan, normal yazı tipleri vb.)% 90 kullanır.
Morgan Herlocker

0

Uzmanlık alanınız olmasa da, kullanıcı arayüzlerini nasıl oluşturacağınızı incelemek her zaman ilginç olduğunu düşünüyorum. Günümüzde çoğu web sayfası çok dinamiktir ve bazı UI becerilerini bilmek, bileşen oluştururken ve sayfanızın öğeleriyle etkileşimlerini ayarlarken kesinlikle yardımcı olacaktır. Ben sadece arka uç geliştirme geçmişinden geldim ve arayüzler oluştururken ne kadar yer aldığına şaşırdım.

Web tasarımı hakkında okuduğum ve geliştiricilere yönelik özellikle iyi bir kitap var:

Geliştiriciler için Web Tasarımı: http://pragprog.com/book/bhgwad/web-design-for-developers

Arayüzler oluştururken tüm aşamalara dokunan okuması kolay bir kitap: düz eskiz ve prototip oluşturma arayüzlerinden HTML + CSS ile tasarımlar oluşturmaya kadar.

Kullanıcı arayüzü becerilerinizi daha da geliştirmek için PeepCode'un Ryan Singer ile olan en son ekran görüntüsünü de öneririm: http://peepcode.com/products/ryan-singer-ux


0

UX / UI / grafik / tipografinin bazı temellerini almanın kesinlikle değerli bir çaba olduğunu düşünüyorum. Tabii ki her zaman "çok yönlü" bir uzman ekibiniz olamaz. Çoğu zaman insanlar birden fazla şapka giymek zorundadır. İyi bir geliştirici, kendi alanı dışındaki şeyleri öğrenmek için zaman harcamanın değerini görecek ve en azından tasarımdaki iyi çalışmaları tanıyabilecektir.

Bununla birlikte, tasarımcıların yaptıkları için söylenecek bir şey var. Bir geliştirici sadece tasarım alanında çok şey yapabilir (kuşkusuz diğerlerinden biraz daha fazla). Özellikle, dar bir nişin ötesine uzanan halka yönelik büyük projeler, gerçek tasarım profesyonelleri istihdam ederek büyük fayda sağlamaktadır. Ve sadece css ve html renk kodları etrafında sallanabilen insanlar demek istemiyorum. YILLAR'ı tipografi gibi şeyleri inceleyen, Josef Alber'ın renk üzerine kitabını okuyan ve anlayan , gazete kağıdında kömürü parçalayarak güzel çizimler yapabilen insanları kastediyorum . Bunlar değerli becerilerdir ve bunu tanıyan ve bu becerileri odaklanmış kullanıma sokabilen projeler rekabet konusunda kararlıdır.

Bununla birlikte, tasarımcıların ve geliştiricilerin becerilerini üst üste binebilecekleri bazı alanlar var. Özellikle UX ve alt etki alanı, UI. Ben tavsiye ediyorum ...


0

Bir profesyonel kiralayın.

Cidden, geliştiricilerden gelen arayüzlerin korkunç bir ünü var. Bunun nedeni, geliştiricilerin tasarımda ortalamanın altında olması değil, bunun yerine geliştiricilerin yardım istemede ortalamanın altında olmasıdır.

Bir geliştirici, yoluna çıkan her dijital zorluğu üstlenme eğilimindedir.

(10 yıldır profesyonel bir geliştiriciydim ve eşim 20 yıldır bir kullanıcı arayüzü tasarımcısıydı)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.