Arayüz sezgisel, ergonomik ve ud. LLC "Teknik belgeler

  • 14.05.2019

Sezgisel arayüz. Peki, bu ifadeyi ne sıklıkla duyduğunuzu / okuduğunuzu sayın? Yoksa sık sık kendin mi söylüyorsun? ;)

Aynı zamanda kendime her zaman çeşitli sinsi sorular soruyorum: kim anlıyor? Ne kadar net? Ve bunun gibi ... Bir kereden fazla, örneğin Kaptan ile genel olarak web siteleri hakkında tartıştığımızı hatırlıyorum (bu tür son dava).

Bu bir deyimdir. Ve işte peri masalı.Ücretli gönderiler yazmadım ve yazmayı da planlamıyorum: Bana kimin ödeme yapacağı hakkında olumlu konuşmam gereken gönderiler. Post almak isteyenlere bu şekilde cevap veriyorum. Ama bazen - zevkime göre - hazır olan yeterli insanlarla karşılaşıyorum. şansını denemek... Para almam ama hizmet / web sitesi / şirket hakkında ne düşündüğümü ifade edeceğime söz veriyorum. Dürüst bir risk mi? :))

Bu sefer yemime düşen Belarus hizmeti olduğuna sevindim. Ve sadece gördüklerimi tarif etmeye değil, böyle bir mikro kullanılabilirlik deneyi yapmaya karar verdim.

Ben kendim araba kullanmıyorum (ve - aman tanrım - kullanmayacağım). Ama harika bir deneysel konu var: annem deneyimli bir sürücü ve deneyimsiz bir İnternet kullanıcısı :) Annemi bilgisayarıma koydum, zavodi.by sitesini açtım ve şimdi onunla ilgili lastikleri bulmayı teklif ettim ...

Yani, kısa bir talimattan sonra - ne tür bir site - annem aramaya başladı ...

Yaptığı keşifler de benim için birer keşif oldu.

Örneğin, deneyimsiz bir İnternet kullanıcısı hemen anlamaz. nasıl arayabilirsin:)) Üstelik "hızlı arama" () aslında o kadar da küçük değil, değil mi? Ve genişletilmiş () den biraz farklıdır... Dürüst olmak gerekirse, HIZLI bir arama şahsen ben (annemle birlikte :)) daha az yapardım ...

Akşamın ikinci keşfi: Annem hevesli bir sürücü olmasına rağmen, lastiklerin tüm parametrelerini ezbere hatırlamıyor (evet ve onsuz hatırlanacak bir şey var ...) Çünkü asıl aksama doğru olanı hatırlıyordu. parametreler... Aralık»Benim için bile belirsiz görünüyordu (sürücü olmasam da, öte yandan her zaman Web'de yaşıyorum ...)

Bu arada, bu çıkmazdaki soruna iyi bir çözüm ... peki, en alakalı olanı hemen seçebileceğiniz (fiyata, duruma, türe ve yakın zamanda) ().

Ayrıca site sahiplerinin veri tabanında uygun lastik olmadığını bildirdiği sayfayı da not etmek isterim. Şu anda sıradan bir kullanıcı, daha büyük ve daha parlak olanın, yani Nokian logosunun ve bunlarla ilgili metnin dikkatini çekiyor. Ve hepsi bu kadar ... Geliştiricilerin yerinde olsaydım, mesajın kendisini ve "Sırada ne yapmalı?" talimatını en azından biraz daha parlak vurgulayarak bu küçük ama önemli sayfaya dikkat ederdim. ().

Uygun lastikleri bulan annem dikkatli bir şekilde (evet, bu onun için de önemli) açıklamayı okudu ve şimdiden sipariş verebilirdi... Bu sadece bir deney olmasaydı :) İşte kendi adıma devam edeceğim.

Ayrıca hizmetin öyle bir şekilde yapıldığını da belirtmek isterim ki “ kauçuk siparişleri yöneticimiz aracılığıyla yapılır! Bu, isteğinize mümkün olduğunca hızlı ve verimli bir şekilde hizmet etmek için yapılır."Bu yaklaşım bizi - alıcıları - zamandan ve sinirlerden kurtarıyor (örneğin, Çevrimiçi gibi sitelerin "kimin suçlanacağı" konusundaki sık sık çatışmalarını unutmayın: her durumda site veya satıcılar).

Belarusluların çoğu için önemli olan şey: site "hafif" ve oldukça hızlı ve sorunsuz yükleniyor (bildiğiniz gibi: "Ruslar YouTube'u izlerken Belaruslular Wikipedia'yı okuyor."

Benim cümlem? zavodi.by boşuna değil (özellikle anladığım kadarıyla bir aylık bile olmadıklarını düşünürsek). Yani bu hizmetler birçok alanda işe yarıyor. Ve şimdi körfezin her yerinde anneme uygun lastik aramama gerek kalmayınca hayatım nasıl daha kolay olacak: -D Tabii projede daha çok iş var, büyüyüp gelişecek yer var. , ama bence başlangıç ​​noktası fena değil.

Bir web sitesi veya program arayüzü oluştururken kullanabileceğiniz farklı kullanıcı arayüzü tasarımı yöntemleri hakkında birçok bilgi bulunmaktadır.
Başarılı bir kullanıcı arayüzünün anahtarı olduğunu düşündüğüm 8 özelliğin bir listesini derledim.

kullanılabilirlik

Erişilebilirlik en önemli tasarım öğesidir! Temel olarak, bir kullanıcı arayüzünün tüm amacı, kullanıcıların sisteminizle etkileşime girmesini sağlamaktır. Kişi uygulamanızın nasıl çalıştığını anlayamazsa, yalnızca kafası karışacak ve sonuçta hüsrana uğrayacaktır. Bu nedenle uygulamanızın veya web sitenizin arayüzünü tasarlarken, kullanıcınız için sezgisel olduğundan emin olun.

Bu tuş ne işe yarıyor? Üzerine gelin ve okuyun.

minimalizm

Aşırı yükleme, iyi bir kullanıcı arayüzünün düşmanıdır. Gereksiz kullanılabilirlik tuzağına düşmek kolaydır - giderek daha fazla kontrol ekleyerek büyük bir hata yaparsınız - arayüzü karmaşık hale getirirsiniz. Arayüzünüz büyür ve kullanıcının neyin, nerede ve neden bulunduğunu anlamak için çok okuması gerekir.
İşleri netleştirin, ancak minimum ek yük ile. Olasılıkları üç yerine bir cümleyle tanımlayabiliyorsanız, yapın. Bir öğeyi iki yerine bir sözcükle etiketleyebildiğiniz zaman yapın. Kullanıcılarınızın zamanından tasarruf edin, kolaylık ve minimalizm uzun zaman alırken, çabalarınız ödüllendirilecektir.

OS X'te ses seviyesi kontrol paneli. Özlü ve erişilebilir, başka bir şey değil.

Kendinden emin

Birçok tasarımcı, arayüzleri "sezgisel" hale getirmeye çalışır. Fakat “sezgisel olarak” gerçekten ne anlama geliyor? Bu, kullanıcıların içgüdüsel olarak projenin olanaklarını anlaması ve kavraması gerektiği anlamına gelir. Ama bir şeyi nasıl sezgisel hale getirebilirsiniz? Size tanıdık gelen şeyler tasarlıyorsunuz ve size bariz görünen şeyler kullanıcılar için itici ve zor olabilir.
Akrabalarınızdan ve arkadaşlarınızdan arayüzünüz üzerinden herhangi bir işlem yapmalarını isteyin, örneğin arayüzünüz bir şey satmayı gerektiriyorsa bir ürün sipariş edin. Her kullanıcı eylemini, yaptığı hataları izleyin. Bu şekilde, sistemin kullanıcı ile etkileşimini zorlaştıran arayüzde bir takım boşlukları toplayacaksınız. Ve ancak sorunlu alanları düzelttikten sonra arayüzünüz çalışmaya hazır hale gelebilir.

Sezgisel GoPlan arayüzü. Sekmelerdeki etiketler, kullanıcının bölümün içeriğini anlamasına yardımcı olur.

Cevaplanabilirlik

Duyarlılık birkaç anlama gelir. Web sitesi arayüzü çok hızlı olmalıdır. Sayfanın yüklenmesi için uzun süre beklemek can sıkıcı. Yavaş İnternet kanallarında bile sitenin olabildiğince hızlı yüklendiğinden emin olun.
Duyarlılık aynı zamanda tutarlı bir kullanıcı etkileşimi biçimi anlamına gelir. Arayüz, kullanıcıyı neler olduğu hakkında bilgilendirmelidir. Örneğin, mesaj gönder düğmesini tıklarsınız. Mesaj AJAX aracılığıyla gönderiliyorsa, "Gönderiliyor...", "Mesaj gönderildi" veya "Mesaj gönderme hatası" gibi gönderme durumlarının çıktısını almak akıllıca olacaktır. Kullanıcı ilerlemeyi gördüğünde daha sakin hisseder. Bu, özellikle yavaş İnternet kanallarında fark edilir.

Gmail yüklenirken bir ilerleme çubuğu görüntülenir.

Bağlam eşleştirme

Tasarım kararlarınızı verirken sayfanın içerik türünü göz önünde bulundurun. Farklı sayfalar farklı içerik türleri içerebilir. Her sayfayı içeriğine uyacak şekilde uyarlayın, kullanıcının siteyle etkileşimini kolaylaştıran kontroller oluşturun ve bunu yapmaya çalışın. Ama minimalizm hakkında unutma!
Böylece, kontrollerinizle çalıştıktan sonra, kullanıcı bunlara alışacak ve kaynaklarınızla daha fazla çalışmak onun için "rutin" olacaktır.


Her içerik türü için farklı MS Office kontrolleri.

çekicilik

Bu biraz tartışmalı olsa da, iyi bir arayüzün çekici olması gerektiğine inanıyorum. Kullanıcı dostu arayüz, onunla çalışmayı keyifli hale getirir. Evet, bir arayüzü kullanımı kolay, verimli ve duyarlı hale getirebilirsiniz ve işini mükemmel bir şekilde yapacaktır - ancak bu avantajlar listesine çekicilik eklerseniz, onunla çalışmak tamamen zevk olacaktır!
Ama herkesin beğeneceği bir arayüz yapmak zor. Herkesin kendi tercihleri ​​​​vardır ve birine güzel görünen diğerine iğrenç gelecektir. Ancak kullanıcılar, hedef kitle gruplarınızı da içerecek şekilde bazı sosyal/demografik gruplara ayrılabilir. Örneğin, "genç anneler" grubunun arayüzü, "otomobil parçaları satış müdürleri"nden temel olarak farklı olacaktır.

Yeterlik

Kullanıcı arayüzü bir yönetim aracıdır. Uygulamanızın veya web sitenizin çeşitli özelliklerine erişim sağlar. İyi bir arayüz, kullanıcının ilgilenilen eylemi en az çabayla gerçekleştirmesini sağlamalıdır.
Kullanıcının belirli bir sayfada en çok neyi başarmak istediğini anlamak çok önemlidir. Projenizin tüm özelliklerini listelemenize gerek yoktur, çoğu zaman kullanıcı bu listenin sadece küçük bir kısmıyla ilgilenir.
Kullanıcının en kullanışlı ve en gerekli işlevleri anında bulabilmesini sağlayın, bu proje ile iletişimini büyük ölçüde kolaylaştıracaktır.

Apple Iphone'daki fotoğraflarda en sık gerçekleştirilen üç işlem, anında erişim sağlayan ortak bir listede birleştirilir.

lütuf

Hiç kimse ve hiçbir şey mükemmel değildir. Kullanıcıların projenizle çalışırken hata yapacaklarına hazırlıklı olun. Bu, sizin hatanız veya kullanıcının hatası nedeniyle olabilir. Olası tüm hataları doğru bir şekilde ele almalısınız - bu, projenizin kalitesinin ana göstergelerinden biri olacaktır. Kullanıcıyı cezalandırmayın - “küçümseyen” bir arayüz geliştirin.
Verileri yanlışlıkla kullanıcı eylemlerinden korumalısınız. Örneğin, birisi önemli bilgileri silerse, onu kurtarmak için bir seçenek sağlayın. Bir kullanıcı var olmayan sayfalara gittiğinde, onları sunucu hatalarıyla korkutmayın, bunun yerine izleyebilecekleri alternatif talimatların bir listesini sağlayın.
Yandex'deki 404 hata sayfasının nasıl yapıldığını seviyorum.

Gmail'deki önemli bilgiler yanlışlıkla silindi. Sorun değil, eylemi geri alabiliriz!

Çözüm

Bu özelliklerden birini elde etmek için çalışarak diğerini elde etmek için problemler yaratabilirsiniz. Örneğin, arayüzü daha anlaşılır hale getirmeye çalışırken, sonunda arayüzü daha hantal ve garip hale getirecek çok sayıda açıklama ve açıklama ekleyebilirsiniz. Veya minimalizm elde etmek için malzemeyi azaltmak, işleri ortalama bir kullanıcı için anlaşılmaz hale getirebilir. Bir denge kurmak beceri ve çok zaman alır ve tasarım seçimlerinizin projeden projeye değişebileceğini unutmayın. Bir kişi için geçerli olan, bir başkası için kabul edilebilir olmayabilir.
Bu makale hakkındaki yorumlarınızı duymak isterim. 26 Aralık 2016, 22:23

Sezgisel programlama

  • hata ayıklama,
  • Programlama,
  • Mükemmel kod

Nispeten kısa iş deneyimim boyunca (yaklaşık 6 yıl), deneyimli ve acemi programcıların ifadelerini oldukça sık duydum - “Bunun işe yarayacağını hissediyorum”, “Bu yöntemin işe yaramayacağını hissediyorum”, “Hadi yapalım. sezgisel olarak. kullanıcı dostu arayüz "vb. Bütün bunlar, geliştirme ve programlama sürecinde sezginin bir tezahürüdür.
Onun hakkında ve daha fazla konuşma yapacak.

oprah.com'dan alınmıştır.

Başlangıç ​​olarak, "sezgi" kavramını tanımlamak istiyorum.

Sezgi (geç Latince sezgi - fiil intueor'dan "tefekkür" - Dikkatle bakıyorum) - bir kerelik bilinçaltı bir sonuçla problemleri çözme yöntemi, hayal gücüne, empatiye ve önceki deneyime, "sezgiye", içgörüye dayalı.

"Vikipedi"


Sezgi (Lat. Intueri'den - dikkatle, dikkatlice bakmak), mantıksal bağlantıların yetersiz farkındalığı ile bir soruna neredeyse anında bir çözüm bulmaktan oluşan bir düşünce sürecidir.

Sezgi (Lat. Intueri'den - dikkatle, dikkatlice bakmak), alınmasının yollarını ve koşullarını anlamadan ortaya çıkan bilgidir, çünkü konunun "doğrudan takdir" sonucunda sahip olduğu

Bu tanımların temeli, sezginin bir karar verme yolu olmasıdır. Bu yöntemin birkaç nedeni olabilir: önceki bir deneyim ve hayal gücü ve irrasyonel bir "içgüdü" vb.

Ve bu yöntemlerin her biri programlama sürecine yansıtılır ve hem olumlu hem de olumsuz bir etkisi olabilir.

Bu nedenle, her şeyden önce, "sezgisel" programlamayı 2 bileşene bölmek istiyorum: - iyimser ve kötümser

İyimser sezgisel programlama

Özü, bir kod oluşturma sürecinde sezginin iyimser veya olumlu etkisinde yatmaktadır. Bu durumda, sezgi bir yardımcıdır, "iyi bir arkadaştır", bir geliştiricinin elinde bir araçtır.

Deneyime dayalı sezgi

Buradaki ana fikir, geliştirme deneyimi biriktirme sürecinde, düşünce sürecine girmeden belirleyebilebildiğimiz, kodla ilişkili belirli klişeler, çağrışımlar geliştirmemizdir.

Bu tür sezgiyi iş süreçlerinde kullanmanın çok sayıda örneği, Acronis'ten Dmitry Chepel tarafından açıklanmıştır. Henüz okumadıysanız mutlaka okuyun.

Size başka bir deney örneği sunmak istiyorum. Aşağıda Sidef kodunun bir örneği verilmiştir (umarım çoğunuz bilmiyorsunuzdur). Gerçekten ayrıntılara girmemeye çalışın, ne hakkında olduğunu tahmin edin:

Döngü (var değiş tokuş edildi = yanlış (| i | if (dizi> dizi [i]) (dizi = dizi takas edildi = doğru)) * dizi.son takas edildi || mola) dönüş dizi

Belki bazılarınız bunun neyle ilgili olduğunu tahmin etmiş, kodda tanıdık kısımlar görmüş, belki bazılarınız görmemiştir. Bu deneyi programcı arkadaşlarımdan oluşan küçük bir grup üzerinde yapmaya çalıştım ve sonuç şu oldu - insanların yarısından fazlası (yaklaşık %65) çok kısa sürede ne söylendiğini anlayabildi.

Onlara nasıl tahmin edebileceklerini sordum - ve en popüler cevap şuydu:
"Tanıdık kod parçalarını gördük ve ne olduğunu hemen tahmin ettik."

Böylece, deneyim biriktiren beynimiz, ek bir zihinsel çaba sarf etmeden çok hızlı bir şekilde, çalıştığımız kod hakkında kararlar alabilir.

Bu nedenle, daha deneyimli programcıların bir proje veya herhangi bir programlama dili hakkında belirli bir "yeteneği" olduğunu düşünüyoruz.

Mantık tabanlı sezgi

Bir sonraki satırla devam etmeye çalışın:
Elbette bundan sonra hangi sayının geleceğini bir an bile düşünmediniz.
Bu, kelimenin tam anlamıyla düşünmeden devam edebileceğimiz bir modelin basit bir örneğidir.

Peki ya aşağıdaki Python kodunu örnek olarak alırsak:

Def toplam (a, b): ... def çok (a, b): ... def çıkarma (a, b): ... def bölme (a, b): ... def hesaplama (a, b) , strateji): ... hesapla (4, 2, toplam) # 6 hesapla (4, 2, çarp) # 8 hesapla (4, 2, çıkar) # 2 hesapla (4, 2, böl) # ??
Kaynak kodunu görmeden bile, listedeki son işlevi yürütmenin sonucunun nasıl olacağını "sezgisel olarak" hissediyoruz.

Bunun nedeni, işlevlerin adlarını analiz etmemiz, bunları elde edilen sonuçla karşılaştırmamız ve böylece analiz edilen kod hakkında bazı kalıplar, varsayımlar oluşturmamızdır. Böylece, bu kodu okumak için mantıkla desteklenen sezgimizi bağlarız.

Burada, varsayımlarımıza, sezgilerimize karşılık gelen kodun genellikle "okunabilir", "anlaşılabilir" kod olarak adlandırdığımızı belirtmek isterim. Bunun nedeni, sadece beynimizin kaynağını değil, aynı zamanda sezgimizi de kullanmamız ve böylece kodu okumayı ve anlamayı kolaylaştırmamızdır.

Sezgisel arayüz

Şimdi de "sezgisel arayüz" gibi sık kullanılan bir ifadeye geçmek istiyorum. Bu hem yazılım hem de kullanıcı arayüzü için geçerlidir.
Yukarıdaki noktaları göz önünde bulundurarak sezgisel bir arayüz, ister programcı ister son kullanıcı olsun, kullanıcının beklentilerini karşılayan bir arayüzdür diyebiliriz.

Bu beklentiler 2 bileşen temelinde oluşturulur - önceki deneyimlerimiz ve mantıksal kalıplar ve varsayımlar.

Web sitenizin tüm sayfalarının üstte bir menüsü varsa, ancak Geri Bildirim sayfasında solda bir menü varsa, “sezgisi” ona menünün üstte olması gerektiğini söylediği için son kullanıcının kafası biraz karışabilir.

Ama neden bazen özgün bir tasarıma veya yeni bir mobil uygulamaya sahip bir web sitesini ziyaret ettiğimizde, bu sitenin harika veya korkunç göründüğü hissine kapılıyoruz?

Mantıksız olarak sezgi

Bu yargının temeli, genellikle sezginin, herhangi bir sonuç, mantık veya deneyim tarafından desteklenmeyen, bir şeyin basit bir hissi olarak doğmasıdır.

Bu tür bir sezgi, geliştirmede en tehlikeli olanıdır, ancak aynı zamanda karmaşık sorunları hızlı bir şekilde çözmenin bir yoludur.

Bu tam olarak programlamada "sihir" olarak adlandırılan şeydir - bir değişkenin veya bayrağın değerini değiştiririz ve mucizevi bir şekilde kodumuz çalışmaya başlar, ancak bu karar kesinlikle içgüdüsel olarak verilmiş olsa da. Ve sadece bu tür bir sezgi onun gerçek tezahürüdür.

Kötümser içgüdüsel programlama

Ancak sezgi, gelişirken de olumsuz olabilir.

Yukarıda belirtildiği gibi, "irrasyonel" sezgi, bir programcının elinde hem cankurtaran hem de tehlikeli bir araçtır.

Bu tür içgüdüsel kararlara güvenerek, "sihrin" gerçekleşmeye başladığı, yazdığımız koda olan güvenimizi kaybederiz.

Daha da önemlisi, bu tür kararlar sonraki kararları verirken bir miktar endişe yaratır. Geliştirme sırasında duyguların, duyumların ve mantıksızlığın baskınlığı, her şeyi mantık yardımıyla haklı çıkarmanın imkansızlığına ve sonuç olarak - kodu anlamanın karmaşıklığına, okunabilirlik kaybına yol açar.

Sonuç olarak

Genel olarak, yazılım geliştirmede sezgi sorunu ilk kez gündeme gelmedi.
Bunun nedeni, mantık ve düşünme ile ilgili olmayan süreçlerin kod yazma süreci üzerindeki etkisinin sorununun, bu süreç duyguları, önyargıları ve "mantıksız" olan bir kişi tarafından işgal edildiğinden ilgili kalmasıdır.

not Yazılım geliştirmede sezgi konusuyla ilgilenenler için okumanızı tavsiye ederim.

Nispeten kısa iş deneyimim boyunca (yaklaşık 6 yıl), deneyimli ve acemi programcıların ifadelerini oldukça sık duydum - “Bunun işe yarayacağını hissediyorum”, “Bu yöntemin işe yaramayacağını hissediyorum”, “Hadi yapalım. sezgisel olarak. kullanıcı dostu arayüz "vb. Bütün bunlar, geliştirme ve programlama sürecinde sezginin bir tezahürüdür.
Onun hakkında ve daha fazla konuşma yapacak.

oprah.com'dan alınmıştır.

Başlangıç ​​olarak, "sezgi" kavramını tanımlamak istiyorum.

Sezgi (geç Latince sezgi - fiil intueor'dan "tefekkür" - Dikkatle bakıyorum) - bir kerelik bilinçaltı bir sonuçla problemleri çözme yöntemi, hayal gücüne, empatiye ve önceki deneyime, "sezgiye", içgörüye dayalı.

"Vikipedi"


Sezgi (Lat. Intueri'den - dikkatle, dikkatlice bakmak), mantıksal bağlantıların yetersiz farkındalığı ile bir soruna neredeyse anında bir çözüm bulmaktan oluşan bir düşünce sürecidir.

Sezgi (Lat. Intueri'den - dikkatle, dikkatlice bakmak), alınmasının yollarını ve koşullarını anlamadan ortaya çıkan bilgidir, çünkü konunun "doğrudan takdir" sonucunda sahip olduğu

Bu tanımların temeli, sezginin bir karar verme yolu olmasıdır. Bu yöntemin birkaç nedeni olabilir: önceki bir deneyim ve hayal gücü ve irrasyonel bir "içgüdü" vb.

Ve bu yöntemlerin her biri programlama sürecine yansıtılır ve hem olumlu hem de olumsuz bir etkisi olabilir.

Bu nedenle, her şeyden önce, "sezgisel" programlamayı 2 bileşene bölmek istiyorum: - iyimser ve kötümser

İyimser sezgisel programlama

Özü, bir kod oluşturma sürecinde sezginin iyimser veya olumlu etkisinde yatmaktadır. Bu durumda, sezgi bir yardımcıdır, "iyi bir arkadaştır", bir geliştiricinin elinde bir araçtır.

Deneyime dayalı sezgi

Buradaki ana fikir, geliştirme deneyimi biriktirme sürecinde, düşünce sürecine girmeden belirleyebilebildiğimiz, kodla ilişkili belirli klişeler, çağrışımlar geliştirmemizdir.

Acronis'ten Dmitry Chepel, Habré hakkındaki makalesinde bu tür sezgiyi iş süreçlerinde kullanmanın çok sayıda örneğini tanımladı. Henüz okumadıysanız mutlaka okuyun.

Size başka bir deney örneği sunmak istiyorum. Aşağıda Sidef kodunun bir örneği verilmiştir (umarım çoğunuz bilmiyorsunuzdur). Gerçekten ayrıntılara girmemeye çalışın, ne hakkında olduğunu tahmin edin:

Döngü (var değiş tokuş edildi = yanlış (| i | if (dizi> dizi [i]) (dizi = dizi takas edildi = doğru)) * dizi.son takas edildi || mola) dönüş dizi

Belki bazılarınız bunun neyle ilgili olduğunu tahmin etmiş, kodda tanıdık kısımlar görmüş, belki bazılarınız görmemiştir. Bu deneyi programcı arkadaşlarımdan oluşan küçük bir grup üzerinde yapmaya çalıştım ve sonuç şu oldu - insanların yarısından fazlası (yaklaşık %65) çok kısa sürede ne söylendiğini anlayabildi.

Onlara nasıl tahmin edebileceklerini sordum - ve en popüler cevap şuydu:
"Tanıdık kod parçalarını gördük ve ne olduğunu hemen tahmin ettik."

Böylece, deneyim biriktiren beynimiz, ek bir zihinsel çaba sarf etmeden çok hızlı bir şekilde, çalıştığımız kod hakkında kararlar alabilir.

Bu nedenle, daha deneyimli programcıların bir proje veya herhangi bir programlama dili hakkında belirli bir "yeteneği" olduğunu düşünüyoruz.

Mantık tabanlı sezgi

Bir sonraki satırla devam etmeye çalışın:
Elbette bundan sonra hangi sayının geleceğini bir an bile düşünmediniz.
Bu, kelimenin tam anlamıyla düşünmeden devam edebileceğimiz bir modelin basit bir örneğidir.

Peki ya aşağıdaki Python kodunu örnek olarak alırsak:

Def toplam (a, b): ... def çok (a, b): ... def çıkarma (a, b): ... def bölme (a, b): ... def hesaplama (a, b) , strateji): ... hesapla (4, 2, toplam) # 6 hesapla (4, 2, çarp) # 8 hesapla (4, 2, çıkar) # 2 hesapla (4, 2, böl) # ??
Kaynak kodunu görmeden bile, listedeki son işlevi yürütmenin sonucunun nasıl olacağını "sezgisel olarak" hissediyoruz.

Bunun nedeni, işlevlerin adlarını analiz etmemiz, bunları elde edilen sonuçla karşılaştırmamız ve böylece analiz edilen kod hakkında bazı kalıplar, varsayımlar oluşturmamızdır. Böylece, bu kodu okumak için mantıkla desteklenen sezgimizi bağlarız.

Burada, varsayımlarımıza, sezgilerimize karşılık gelen kodun genellikle "okunabilir", "anlaşılabilir" kod olarak adlandırdığımızı belirtmek isterim. Bunun nedeni, sadece beynimizin kaynağını değil, aynı zamanda sezgimizi de kullanmamız ve böylece kodu okumayı ve anlamayı kolaylaştırmamızdır.

Sezgisel arayüz

Şimdi de "sezgisel arayüz" gibi sık kullanılan bir ifadeye geçmek istiyorum. Bu hem yazılım hem de kullanıcı arayüzü için geçerlidir.
Yukarıdaki noktaları göz önünde bulundurarak sezgisel bir arayüz, ister programcı ister son kullanıcı olsun, kullanıcının beklentilerini karşılayan bir arayüzdür diyebiliriz.

Bu beklentiler 2 bileşen temelinde oluşturulur - önceki deneyimlerimiz ve mantıksal kalıplar ve varsayımlar.

Web sitenizin tüm sayfalarının üstte bir menüsü varsa, ancak Geri Bildirim sayfasında solda bir menü varsa, “sezgisi” ona menünün üstte olması gerektiğini söylediği için son kullanıcının kafası biraz karışabilir.

Ama neden bazen özgün bir tasarıma veya yeni bir mobil uygulamaya sahip bir web sitesini ziyaret ettiğimizde, bu sitenin harika veya korkunç göründüğü hissine kapılıyoruz?

Mantıksız olarak sezgi

Bu yargının temeli, genellikle sezginin, herhangi bir sonuç, mantık veya deneyim tarafından desteklenmeyen, bir şeyin basit bir hissi olarak doğmasıdır.

Bu tür bir sezgi, geliştirmede en tehlikeli olanıdır, ancak aynı zamanda karmaşık sorunları hızlı bir şekilde çözmenin bir yoludur.

Bu tam olarak programlamada "sihir" olarak adlandırılan şeydir - bir değişkenin veya bayrağın değerini değiştiririz ve mucizevi bir şekilde kodumuz çalışmaya başlar, ancak bu karar kesinlikle içgüdüsel olarak verilmiş olsa da. Ve sadece bu tür bir sezgi onun gerçek tezahürüdür.

Kötümser içgüdüsel programlama

Ancak sezgi, gelişirken de olumsuz olabilir.

Yukarıda belirtildiği gibi, "irrasyonel" sezgi, bir programcının elinde hem cankurtaran hem de tehlikeli bir araçtır.

Bu tür içgüdüsel kararlara güvenerek, "sihrin" gerçekleşmeye başladığı, yazdığımız koda olan güvenimizi kaybederiz.

Daha da önemlisi, bu tür kararlar sonraki kararları verirken bir miktar endişe yaratır. Geliştirme sırasında duyguların, duyumların ve mantıksızlığın baskınlığı, her şeyi mantık yardımıyla haklı çıkarmanın imkansızlığına ve sonuç olarak - kodu anlamanın karmaşıklığına, okunabilirlik kaybına yol açar.

Sonuç olarak

Genel olarak, yazılım geliştirmede sezgi sorunu ilk kez gündeme gelmedi.
Bunun nedeni, mantık ve düşünme ile ilgili olmayan süreçlerin kod yazma süreci üzerindeki etkisinin sorununun, bu süreç duyguları, önyargıları ve "mantıksız" olan bir kişi tarafından işgal edildiğinden ilgili kalmasıdır.

not Yazılım geliştirmede sezgi konusuyla ilgilenenler için okumanızı tavsiye ederim.

Ziyaretçiler abone / potansiyel müşteri / müşteri olmadan sitenizden ayrılıyor mu?

Belki de kaynağınızda genel olarak neler olup bittiğini anlayamazlar. Öyleyse anlamalarına yardım et! Sitenin kullanımını kolaylaştırın.

Sezgisel tasarımın kullanışlı olduğu yer burasıdır. Eminim birçok kişi onu duymuştur, ama kimse onun ne olduğunu tam olarak söyleyemez.

Ancak bugün sitenizi nasıl kullanıcı dostu hale getireceğinizi anlatacağım. Hadi başlayalım…

1. Sadelik başarının anahtarıdır

Sitenizi kullanmak ne kadar kolaysa okuyucularınız/aboneleriniz/potansiyel müşterileriniz o kadar büyük olur.Basitlik nedir? Bu, bir kişinin istediğini elde etmek için nereye gideceğini hemen anladığı zamandır. Hayatta böyle olurdu!

Süper modern zillere ve ıslıklara ihtiyacınız yok - sezgisel tasarım görünmez... Ancak aynı zamanda, hedefine ulaşması için kişiyi olması gerektiği yere yönlendirir. Bu bir ürün alımı ise, hızlı ve kolay bir şekilde bulunacaktır. Bu bir makale okuyorsa, bunu yapmak uygun ve keyifli olacaktır. Her yeni eylem kullanıcı için açıktır, bir sonraki adımda ne yapacağını düşünerek zaman kaybetmez.

Kullanıcı deneyimi burada önemli bir rol oynar. Durumu hayal edin: hayalinizdeki araba ile bir araba galerisine geldiniz. Boyalarda satıcıya nasıl olması gerektiğini söylediler. Ve sonra sana ihtiyacın olana sahip olduklarını söylüyor! Uzun zamandır beklenen bir tanıdık beklentisiyle, kelimenin tam anlamıyla "güzelliğinize" uçuyorsunuz ve ... Aniden hiçbir kapısının kulpunun olmadığı ortaya çıkıyor! Tam bir serseri! Salona nasıl gidilir?

Bu örnek, bir web sitesi tasarımının nasıl OLMAMASI gerektiğini gösterir. Bir kişinin dikkatini dağıtmamalı ve bariz bir çözüm olmadan onun için durumlar yaratmamalıdır. Ziyaretçinin ana fikrini kaybetmeden sitede dolaşması harika. Görevine odaklanmıştır ve tasarım, bunu yapmasına yardımcı olur. Bir kişinin sürekli olarak durması ve bundan sonra ne yapacağını düşünmesi gerektiğinde, asıl hedeften dikkati dağılır. Bu nedenle, kendisini komplikasyonlardan kurtarmak için siteyi kapatacaktır.

Basit ve anlaşılır bir sayfa örneği ister misiniz? Bilgi Laboratuvarımızı ziyaret edin. Buradaki hiçbir şey sizi yararlı makalelerden uzaklaştıramaz, çünkü burada onlardan başka hiçbir şey yok. Kaybolmak basitçe imkansızdır.

2. Asıl sorun: tasarımınızı kim anlıyor?

Web'de ziyaretçileri rahatsız eden tonlarca kaynak var. Neden herkes sezgisel bir tasarıma sahip web siteleri yapmıyor? Sonuçta, insanların ihtiyacı olan şey bu. Ancak bu o kadar basit değil çünkü tüm kullanıcılar farklı. Bir kişi için kolay ve anlaşılır olan, diğerine Çince karakterler gibi görünecektir.

Her web sayfasının iyi niyetle oluşturulduğuna eminim. Ancak çoğu zaman siteler yalnızca geliştiricileri için sezgiseldir. Niye ya? Banal, ama doğru: tasarımcılar ve düzen tasarımcıları, "sıradan" insanların beyin çocuklarını kullanmalarının uygun olup olmadığını kontrol etmekle uğraşmazlar.

Herkesin dünyayı aynı şekilde algıladığını düşünme eğilimindedirler. Ancak gerçekten sezgisel bir tasarım oluşturmak, kullanıcıları anlamakla başlar. Bu nedenle öncelikle sitenizi nasıl algılayacaklarını belirleyin.

3. Olan bilgi ve ihtiyaç duyulan bilgi

Bir kişi, her şeyin nasıl çalışması gerektiğine dair belirli bir anlayışla sitenize gelir. Bu onun zaten sahip olduğu bilgidir. Ancak web sitenizin tasarımında kullanıcının anlamadığı bir şey olabilir.

Olan ile ihtiyaç duyulan arasındaki fark “bilgi boşluğu”dur. Minimum düzeydeyse ve kullanıcı eksik bilgileri çabucak dolduruyorsa, arayüzünüz sezgiseldir. Ancak sorun şu ki, ziyaretçileriniz hem deneyimli kullanıcılar hem de bilgisayarı ilk kez bir hafta önce gören kişiler olabilir.

Dar bir hedef kitle ile çalışıyorsanız, rahat bir web sitesi oluşturmanız sizin için daha kolay olacaktır. Geniş bir kitleniz varsa, sezgisel bir tasarım oluşturmak bir "yıldız" bulmacası olacaktır. Böyle bir durumda, en "ileri düzeyde olmayan" ziyaretçiyi hedeflemenizi öneririm.

4. Kavramsal modeller nasıl kullanılır?

Kulağa karmaşık geliyor mu? Şimdi her şeyi anlatacağım :) Bir kişi sitenize ilk kez geldiyse bu onun bilgisinin sıfır olduğu anlamına gelmez.

Diyelim ki internetten hiç alışveriş yapmadınız. Ama gerçek dünyada, bunu binlerce kez yaptın. Bu nedenle, sizi bilgisayarın başına oturtursam, size belirli bir mağazayı gösterirsem ve burada ihtiyacınız olan her şeyi satın alabileceğinizi söylersem, nasıl yapacağınızı çabucak anlayacaksınız. Çevrimdışı alışveriş kavramsal modelini kullanacak ve yeni bir deneyim yaşayacaksınız.

İşte popüler bir çevrimiçi mağazanın sayfası. Tasarımının kendisi, seçilen ürünü almak için ne yapmanız gerektiğini söyler. "Satın Al" butonuna tıkladığınızda, ihtiyacınız olan ürün sanal alışveriş sepetinizdedir. Her şeyi normal bir mağazada olduğu gibi yaparsınız, ancak aynı zamanda monitörün önünde otururken hala çay içebilirsiniz.

Bir ziyaretçinin çevrimiçi alışveriş deneyimi varsa ancak bu siteden daha önce hiç alışveriş yapmadıysa, kavramsal modeli biraz farklı olacaktır. Neyi ve nasıl yapılacağını zaten biliyor ve deneyimini yeni bir kaynağa uygulayacak.

Bir web sitesi oluşturduğunuzda, potansiyelinizin zaten ne tür bir deneyime sahip olduğunu unutmayın. Kaynak kavramsal modeline uymuyorsa, kişi sitenin kullanımının zor olduğuna karar verecek ve ... ayrılacaktır.

5. Ziyaretçinizi inceleyin

Sezgisel bir tasarım oluşturmak için ziyaretçilerinizin zaten ne bildiğini ve ziyaretçilerinizin neleri bilmesi gerektiğini öğrenmek önemlidir. Bunu belirlemenin 2 harika yolu vardır:

1. Araştırmanızı yapın. Ziyaretçilerin tanıdık bir ortamda siteleri nasıl kullandığını gözlemleyin. Bu size mevcut bilgileri hakkında bir fikir verecektir. Bu yöntem kolay değildir, ancak bir alternatifi de vardır.

2. Uzaktan öğrenme. Siteyi kullanacak bir grup insan seçin. Onlara bir dizi görev verin ve kaynak hakkında ne düşündükleri hakkında yorum yapmalarını isteyin. Onlara göre ne ve nasıl yapılmalı? Onlara ne yardımcı olur ve onları ne engeller? Dikkati ne dağıtır? Bu, potansiyel bir ziyaretçinin hangi bilgileri edinmesi gerektiğini belirleyecektir.

Önemli! Her durumda, yalnızca gözlemlersiniz, sonuçlar çıkarırsınız ve müdahale etmezsiniz. Deneyin ve neyin yanlış olduğunu çabucak anlayacaksınız. Bu arada, çok sayıda katılımcıyla uğraşmayın, sorunların% 90'ını belirlemek için sadece 10 kişi yeterlidir.

Çıkarılan sonuçlar, sitenin oluşturulacağı kişileri tanımlamaya yardımcı olacaktır.

6. Sezgisel tasarımın formülü

İdeal olarak, şöyle görünür: mevcut bilgi = ilgili bilgi.

Kullanıcıların kendileri, site tasarımının sezgisel olduğu 2 koşulu ayırt eder:

  1. Mevcut bilgi ve gerekli bilgi noktası kabaca aynıdır. Kullanıcılar sitede amacına ulaşmak için ne yapmaları gerektiğini kolaylıkla belirleyebilirler.
  2. Mevcut bilgi ile ihtiyaç duyulan bilginin noktası birbirinden uzak ancak tasarım bu boşluğu doldurmaya yardımcı oluyor. Ziyaretçiler sorunsuz ve doğal bir şekilde öğrenirler.

Talimatları öğrenmek veya takip etmek zorunda kalmamak için tasarımınızı olabildiğince basit tutmak en iyisidir. İlk koşul, ideal olarak Google arama motoru tarafından gösterilmektedir. Kötüye kullanılamaz. Basit, ustaca her şey gibi.

Örnek olarak web sitemizi kullanarak ikinci koşulun yerine getirilmesini ele alalım. Burada gereksiz ayrıntılar yok, devasa dizi dikkatinizi dağıtmayacak ve düğmeler ve oklar nereye gideceğinizi ve neler öğrenebileceğinizi gösteriyor.

Yani bir tasarım geliştirirken, onu ziyaretçilerin sahip olduğu bilgi ve deneyime yaklaştırmak için mümkün olduğunca basitleştirebilirsiniz. Veya onlara talimatlarla yeni bilgiler verebilirsiniz. İsterseniz iki yaklaşımı da birleştirebilirsiniz.

7. Sezgisel gezinme ve arama

Alıcıların %76'sı web sitesi tasarımında kendileri için en önemli şeyin "ihtiyacım olanı ne kadar kolay bulabilirim" olduğunu söylüyor. Uygun aramalar için doğru navigasyon gereklidir.

Örneğin, bir çevrimiçi mağazada ürün kartlarının mantıksal olarak sıralanması önemlidir. Menü, hedefinize ulaşmak için nereye gideceğinizi söylemelidir. Menü öğelerini doğru bir şekilde adlandırmak için yakalama sözcükleri kullanın. Her bölümün arkasında nelerin gizlendiğini size söyleyecekler.

Unutma! Online mağazaların ziyaretçilerinin %50'si, aradıklarını bulamadıkları için satın almayı reddediyor. Bu nedenle, site araması olmadan yapamazsınız. Rozetka mağazasının geniş bir ürün yelpazesi var. Ancak ekranın tam ortasında bir arama çubuğu var. Bu nedenle, ne yapacağınızı uzun uzun düşünmenize gerek yoktur.

Küçük ipucu: site aramasını araca bağlayın. Bu, dönüşümü artıracaktır, çünkü Google'ın kendisi, kişiye burada ne bulabileceğini söyleyecektir.

8. Unutmayın: İnsanlar alışık oldukları siteleri daha rahat kullanırlar.

Web sitesi tasarımınızı sezgisel hale getirmek için uyulması gereken kurallar vardır:

  • Şirket logosuna (sol üst köşede bulunur) tıklamak her zaman ana sayfaya götürür;
  • Yatay menüdeki son bağlantı veya dikey menüdeki en alttaki bağlantı kişilerdir;
  • Altta, iletişim bilgileri çoğaltılır;
  • Tüm öğeler tutarlıdır: sitede nasıl gezindiğiniz önemli değil, menü öğeleri aynı yerde kalacaktır;
  • Bağlantılar, normal metnin arka planında öne çıkar;
  • Kullanıcılar aşağı kaydırabilir ve kaydırmalıysa, kaydırma çubuğu açıkça görülebilir;
  • Sola hizalanmış metnin okunması daha kolaydır;
  • Açılır mesajlar, arayüzün anlaşılmasına yardımcı olur;
  • Menü öğeleri anlaşılır kelimelerle adlandırılmıştır ("İletişim" öğesi yerine "Bilgi desteği" düğmesini kullanmamalısınız).

Herhangi bir kuralın istisnaları vardır. Ancak bu önerilere bağlı kalmak ve yenilikleri dikkatlice düşünmek daha iyidir. Web sitenizin arayüzünün insanların beklentilerini karşılamasını sağlayın.

9. Yeniden tasarımınızda dikkatli olun

Kullanıcıların %20'si gelirlerinin %80'ini çevrimiçi olarak harcıyor. Bunlar, yeniden tasarımdan en çok etkilenecek olan önemli kişilerdir. İşlerin yürüme şekline zaten alışmışlar. Bu nedenle, bir siteyi yeniden tasarladığınızda, onu öncelikle onlar için değiştirirsiniz. Ve birçok insan, bir şey her zamanki gibi olmadığında bundan hoşlanmaz.

Unutmayın, herhangi bir yeniden çalışma bilgi boşluğunu derinleştirebilir. Bu nedenle, site ziyaretçiler için sezgisel olmaktan çıkarsa, gözle görülür şekilde düşebilir, bu da karınızın bir kısmını kaybedeceğiniz anlamına gelir.

Yeniden tasarlamadan yapamıyorsanız, zaman zaman küçük değişiklikler yapın. Bu küresel değişimden daha iyidir. Bu şekilde insanların her yeniliğe nasıl tepki verdiğini analiz edebilirsiniz. Ancak, tasarım nedeniyle sitenizin trafiği azsa, büyük bir revizyon yapmaktan çekinmeyin.

Nihayet

Siteniz, önemli ziyaretçileriniz için sezgisel olmalıdır. Sonuçta, bu onların sadakatini ve dönüşüm artışını elde etmelerine yardımcı olacaktır. Bu nedenle, ziyaretçilerin davranışlarını inceleyin ve her zaman arayüz değişikliklerini test edin.

Bu 9 ipucunu pratikte deneyin. Dönüşümdeki artışın çok uzun sürmeyeceğini göreceksiniz.

Yardımcı oldu mu? "Beğen" koymaktan çekinmeyin! Bu, tasarım hakkında daha fazla bilgi edinmek istediğinizi gösterecek ve yakında bu konuyla ilgili yeni bir yazı hazırlayacağım.