Kullanıcı Desteği (Chapter 11: User Support) Ozan ADIGÜZEL BTÖ 711 – İnsan-Bilgisayar Etkileşimi
Kullanıcı Desteğinin Şartları Kullanıcı Desteği Yaklaşımları Uyarlanabilir Yardım Sistemleri Kullanıcı Destek Sistemlerinin Tasarımı
Kullanıcı Desteği Etkileşimli bir sistemde; Kullanıcının sezgisel olarak ve yardıma çok az ihtiyac duyması ya da hiç duymadan kullanabilmesi varsayımı vardır. Daha yararlı bir yaklaşım, kullanıcıın çeşitli zamanlarda yardıma ihtiyacının olacağı ve bu yardımı sistem içinde tasarlayacğını varsaymaktır. Kullanıcıların ihtiyaç duydukları yardım türü değişiklik gösterir ve birçok etkene bağlıdır: sisteme aşina olmaları, yapmaya çalıştıkları iş vb.
Kullanıcının ihtiyaç duyduğu 4 temel destek türü: Hızlı referans – Quick reference Kullanıcının önceden bildiği ve aşina olduğu araçların detaylarını hatırlatmak için Örn. Kod yazım hatırlatıcıları Görev Özellikli Yardım– Task-specific help Belirli bir işi yaparken ya da belirli bir probleme yönelik olarak hangi aracı, nasıl kullanacağı konusunda sorun yaşadığında Detaylı açıklama – Full explanation Deneyimli ve meraklı kullanıcılara yönelik, bir araç ya da komutun detaylı açıklaması Öğretici – Tutorial Yeni kullanıcılar için bir aracın nasıl kullanılması gerektiğini adım adım anlatması
Kullanıcı Desteğinin Şartları Hazır Bulunma (Availability) Kullanıcı sistemle etkileşim içinde olduğu zaman dilimi içerisinde istediği her an yardıma erişebilmelidir. Kullanıcı yardıma ulaşmak için içinde bulunduğu uygulamayı kapatmak zorunda kalmamalıdır. Herhangi bir uygulama ile birlikte çalışabilmelidir. Doğruluk ve Eksiksizlik (Accuracy and Completeness) Yapılan güncellemeler ve versiyonlar kullanıcıya sorun yaşatmamalıdır. Yardım sistemin davranışlarını doğru bir şekilde yansıtmalıdır. Yardım tüm sistemi kapsamalı ve tüm parçaları içermelidir.
Kullanıcı Desteğinin Şartları Tutarlılık (Consistency) Yardım sistemi birden fazla bölümden oluşabilir, bölümler kendi içinde tutarlı olmalıdır. Çevrimiçi destek, kağıt belgeler, terminoloji ve sunum uyumlu olmalıdır. Sağlamlık (Robustness) Yardım sistemlerinin en önemli kısmıdır. Yardım sisteminin kendisi sağlam ve beklendik davranışlar sergiler nitelikte olmalıdır. Öngörülen davranış ve doğru hata düzeltme imkanı ile kullanıcıya güven vermelidir.
Kullanıcı Desteğinin Şartları Esneklik (Flexibility) Kullanıcının ihtiyaçlarına uygun şekilde etkileşime geçmesine izin verecek düzeyde esnek olmalıdır. Etkileşimli modüler bir yardım sistemi içerik duyarlı yardım tamamiyle uyarlanabilir bir yardım sistemi Hypertext kullanımı Göze Batmama (Unobtrusiveness) Yardım sistemi kullanıcıyı mevcut işinden alıkoymamalı ya da uygulamasına müdahale etmemelidir. Bölünmüş ekran sunumu, «öneride bulun» seçeneği
Kullanıcı Desteği Yaklaşımları Komut Yardımı (Command Assistance) Kullanıcı belirli bir komut hakkında yardım talep eder, ilgili yardım ekranında ya da kılavuz sayfasında bu komut hakkında bilgiler görüntülenir. Kullanıcının ne aradığını bildiği varsayılır. Kullanıcı ne aradığını bildiği sürece faydalıdır. Bu yaklaşım UNIX man yardım sisteminde ve DOS help komut yardım sisteminde kullanılmıştır.
Kullanıcı Desteği Yaklaşımları
Kullanıcı Desteği Yaklaşımları Komut Hatırlatmaları (Command Prompts) Kullanıcı komut yazarken genellikle komutun doğru kullanımıyla ilgili sorun yaşadığında yardımcı olur. Kullanıcının komutu bildiği varsayımı üzerine oluşturulmuştur. İkonlar ve menü kullanımıdır.
Kullanıcı Desteği Yaklaşımları İçerik Duyarlı Yardım (Context-Sensitive Help) Belirli bir kullanıcı hakkında spesifik bilgiler içeriğe göre yorumlanan fonksiyonlar Genellikle menü tabanlı olarak kullanılıp, menü seçenekleriyle ilgili yardım için kullanılır.
Kullanıcı Desteği Yaklaşımları Çevrimiçi Öğreticiler (Online Tutorials) Kullanıcı kendi hızında ilerleyebilir gerekirse tekrar edebilir, Ayrıca kullanıcının küçük örneklerle denemeler yapabilir ya da bir görevin nasıl gerçekleştirildiğine dair gösteri yaparak fikir sahibi olmasını sağlar. Çoğu çevrimiçi öğretici kullanıcının önceki deneyimlerine ilişkin bilgileri dikkate almaz. Akıllı öğreticiler (intelligent tutorials) bu sorunu ele almaktadır ancak uyarlanabilir yardım sistemlerine daha yakındır. Geleleneksel çevrimiçi öğreticilere alternatif olarak sınırlanmış versiyonlardır. Örn. Training Wheels (IBM) Risk almadan sistemi keşfedebilir Hatalardan öğrenme fırsatı
Kullanıcı Desteği Yaklaşımları Çevrimiçi Dokümantasyon (Online Documentation) Mevcut kağıt dokümantasyonunu etkin bir şekilde bilgisayar ortamına sunar. Bu, malzemeyi sürekli olarak kullanıcının işiyle aynı ortamda ve potansiyel olarak çok sayıda kullanıcıya eş zamanlı olarak erişmesini sağlar. Kağıt üstü dokümantasyonların kaybolma riski, fiziksel mekan bağımlılığı, her zaman erişilebilir olmama durumları söz konusudur. Yani çevrimiçi dökümantasyon bu problemlerden kaçış yoludur.
Kullanıcı Desteği Yaklaşımları Çevrimiçi Dokümantasyon İlkeleri Başlık ve klavuzlarla desteklenmiş açık ve sade bir yapı kullanılmalı, Bilgiler kullanıcı görevlerine göre düzenlenmeli, Kısa ve jargondan uzak cümleler kurulmalı, Sıralanmış ve numaralanmış adımlar içermeli, Mümkün olduğunda örnekler kullanılmalı, İndeks, içerik, özet ve serbest arama imkanı, Hata mesaj listeleri içermeli ve Açık cevaplar sunulan Sık Sorulan Soruları içermelidir.
Kullanıcı Desteği Yaklaşımları Sihirbaz ve Yardımcılar (Wizards and Assistants) Sihirbazlar kullanıcıya sorulan cevaplardan alınan sorulara göre kullanıcıyı adım adım yönlendiren araçlardır. Örn. Word’de özgeçmiş sihirbazı (Microsoft Word Resume)
Kullanıcı Desteği Yaklaşımları Sihirbaz ve Yardımcılar (Wizards and Assistants) Kullanıcının oldukça karmaşık görevleri güvenli, hızlı ve doğru bir şekilde gerçekleştirmesini sağlar. Ancak sihirbazlar kısıtlayıcı olabilir: kullanıcının istediği seçenekleri sunmayabilir ya da sahip olmadığı bilgileri sorabilir. İyi tasarlanmış bir sihirbaz kullanıcıya adımlar arasında gezinme imkanı tanır, görevin ne kadarının tamamlandığını gösterir, yanıtlama için yeterli bilgiyi verir.
Kullanıcı Desteği Yaklaşımları Sihirbaz ve Yardımcılar (Wizards and Assistants) Asistan/Yardımcı: Kullanıcı davranışlarını izleyerek öneri ve ipucu sunan yazılım araçlarıdır. Kullanıcının aynı işlemi tekrarladığını fark ederse bir sonraki adıma geçme konusunda yardım için ekranda belirir. Örn. Microsoft Office asistanı ‘Clippy’
Kullanıcı Desteği Yaklaşımları Sihirbaz ve Yardımcılar (Wizards and Assistants) İyi bir asistan; Kullanıcı kontrolünde olmalı, Göze batmamalı, İstenildiğinde kapatılabilmeli Örn. Microsoft XP Smart Tags (her ne emekli olmuş olsada)
Uyarlanabilir Yardım Sistemleri Kullanıcıların bir sistemi kullanırken ihtiyaçları ve anlama düzeyleri farklılık göstermektedir. Uyarlanabilir yardım sistemleri, talebi yapan bireysel kullanıcıya sağladıkları yardımı adapte ederek ve kullanıcının farkında olamayacağı alternatif eylemlerini aktif olarak önererek bu sorunu ele almaya çalışır. Uyarlanabilir yardım sistemleri etkileşimli sistemlerin özel bir türüdür ve «akıllı sistemler» olarak bilinir. Alana özgü uzman sistemler, Akıllı öğretici sistemleri ve Uyarlanabilir genel arayüzleri içerir. Uyarlanabilir yardım sistemleri kullanıcının faailiyetlerini izleyerek ve onun bir modelini inşa ederek çalışır. Bu da deneyimlerinin, hatalarının bir kısmını ya da hepsinin bir bir kombinasyonunu içerebilir.
Uyarlanabilir Yardım Sistemleri Uyarlanabilir yardım sistemleri için; Bilgi gereksinimleri dikkate değerdir ve etkileşimin yorumlanması zordur. Etkileşimdeki kontrol ve iniyasitif konuları önemlidir. Tam olarak hangi kısım uyarlanacak ve bu uyarlamanın sonuçları neler olacak? Uyarlanabilirliğin ve modellemenin kapsamı ne olacak? Konularına değinmelidir.
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme: Kullanıcı Modellemesi (Knowledge Representation: User Modeling) Uyarlanabilir olmayan sistemler: Tasarımcı aklında ‘tipik kullanıcı’ modeli vardır ve arayüzü buna göre tasarlar. Tüm kullanıcının esas olarak aynı olduğunu ve aynı gereksinimlere sahip olduğunu varsayar. Uyarlanabilir sistemler: Her kullanıcı için o kullanıcıya özgü, düzenlenebilir bir model sunar. Basitçe örnekleri; belirli ayarları kullanıcı gereksinimlerine göre değiştirilen tarayıcı ve e-posta tercihlerdir. Yani kullanıcı kendi ortamını kendi tercihine göre uyarlayabilir. Buda sistemin esnekliğini artırır.
1 2 3 Uyarlanabilir Yardım Sistemleri Nicelleştirme (Quantification) Bilgi Simgeleme: Kullanıcı Modellemesi (Knowledge Representation: User Modeling) Model oluşturma yaklaşımları 1 Nicelleştirme (Quantification) 2 Şablonlar (Stereotypes) 3 Örtüşme Modelleri (Overlay Models)
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme: Kullanıcı Modellemesi (Knowledge Representation: User Modeling) Kullanıcı modellemeye en basit yaklaşımlardan biridir. Sistem çok sayıda uzmanlık düzeyini tanır, kullanıcı bu seviyelerden birine yerleştirilir ve niceliksel bir ölçüsüne dayanarak aralarında hareket eder. Farklı etkinliklere farklı ağırlıklandırma yapılır ve kullanıcı gerçekleştirdiği etkinliklerin ağırlığına göre bir düzeye konur. Kullanıcı eşik düzeyine eriştiğinde farklı bir uzmanlık seviyesine geçer ve sistem de kendini bu düzeye uyarlar. 1 Nicelleştirme (Quantification)
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme: Kullanıcı Modellemesi (Knowledge Representation: User Modeling) Kullanıcı için bireysel bir model oluşturmak yerine kullanıcıyı bilinen bir kullanıcı kategorisi ya da şablona göre sınıfladırılır.. Bu şablonlar komut kullanım bilgisi, kullanıcı hataları veya yapay zeka yaklaşımlarına göre oluşturulabilir. 2 Şablonlar (Stereotypes)
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme: Kullanıcı Modellemesi (Knowledge Representation: User Modeling) Kullanılan en yaygın tekniklerden biridir. Uzman bir kullanıcı için oluşturulmuş bir idealize edilmiş model oluşturulur ve kullanıcının sistem içindeki davranışları bu model ile karşılaştırılır. Sistem sadece kullanıcının ne yaptığını dikkate almakla kalmaz aynı zamanda optimal davranışı da temsil eder. Bu da kullanıcının performansını karşılaştırma imkanı sunar. 3 Örtüşme Modelleri (Overlay Models)
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme: Alan ve Görev Modellemesi (K. R.: Domain and Task Modeling) Tüm uyarlanabilir yardım sistemleri uygun öneriyi sunmak için sistem hakkında detaylı bilgi sahibi olması gerekir. Bazı uyarlanabilir yardım sistemleri ise kullanıcının mevcut görevi ya da izlediği planın bir modelini oluşturur. Uzmanlık düzeyine göre uyarlanmış bile olsa bazen genel yardımlar kullanıcı için yeterli olmaz.
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme: Alan ve Görev Modellemesi (K. R.: Domain and Task Modeling) Kullanıcı komutları yazıp ilerledikçe yardım sistemi hafızasındaki görev akışıyla karşılaştırılır akışların eşleşmediği durumda yardım sunulur. Bu yaklaşım PRIAM sisteminde kullanılmıştır. Çekici bir fikir olmasına rağmen, görev tanıması sorunludur. Yani büyük alanlarda, olası her kullanıcı hedefine ulaşmak için mümkün olan her yöntemin temsil edilme olasılığı yoktur. Asistanlar ve temsilciler/ajanlar, kullanıcı davranışlarını yansıtmak ve ipuçları sunmak için görev hatırlama işlemini basit düzeyde gerçekleştirir.
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme: Öneri Stratejisi Modellemesi (K. R.: Modelling Advisory Strategy) Bu tür bilgilerle yardım sistemi sağlamak, kullanıcı için sadece uygun önerinin seçimini değil, aynı zamanda kullanıcı için uygun öneri sunma yönteminin de seçimini gerçekleştiren yardım sistemleridir. Uzmanlar (insan) kişilere öneri sunarken farklı (o kişiye özel) stratejiler izler. Bu stratejiler, kişinin yardımı arama girişimlerinden anlam çıkarma ve bu düzeye uygun olarak problem için çözüm önerileri sunma şeklindedir. İdeal olarak yardım sistemi bir dizi alternatif stratejiye erişebilir ve her durum için uygun rehberlik stratejisini seçebilir.
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme Teknikleri Kural Tabanlı Teknikler Çerçeve Tabanlı Teknikler Ağ Tabanlı Teknikler Örnek Tabanlı Teknikler 1 2 3 4
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme Teknikleri Kural Tabanlı Teknikler Çerçeve Tabanlı Teknikler Ağ Tabanlı Teknikler Örnek Tabanlı Teknikler Bilgi, bazı çıkarım mekanizmaları kullanarak yorumlanmış bir dizi kural ve olgu olarak temsil edilir. Kural tabanlı teknikler nispeten geniş alanlarda kullanılabilir ve çıkarım bilgisinin yanı sıra gerçekleşebilecek eylemleri de temsil edebilir. 1 2 3 4
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme Teknikleri Kural Tabanlı Teknikler Çerçeve Tabanlı Teknikler Ağ Tabanlı Teknikler Örnek Tabanlı Teknikler Yaygın olarak ortaya çıkan durumları ve varsayılan bilgileri temsil etmek için kullanılır. Çerçeve, etiketlenen yerleri içerir ve ilişkili özellikleri temsil eder. Etiketlenen yerlere bir değer atanabilir veya alternatif olarak varsayılan bir değer verilebilir. Kullanıcının girdileri çerçevedeki değerlerle karşılaştırılır ve başarılı eşleşmeler eylemlere dönüştürülür. 1 2 3 4
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme Teknikleri Kural Tabanlı Teknikler Çerçeve Tabanlı Teknikler Ağ Tabanlı Teknikler Örnek Tabanlı Teknikler Ağlar, kullanıcı ve sistemle ilgili bilgileri durumlar arasındaki ilişkiler açısından anlamlandırır. En yaygın örneklerinden biri Semantik Ağdır. Ağ bir hiyerarşidir ve ebeveynlerle bağlantılı özelliklerin çocuklara miras olarak aktarılabilir. 1 2 3 4
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme Teknikleri Kural Tabanlı Teknikler Çerçeve Tabanlı Teknikler Ağ Tabanlı Teknikler Örnek Tabanlı Teknikler Ağlar, çerçeve tabanlı sunumları bağlamak için de kullanılabilir. Ağlar, bilgiler arasında açık bir şekilde bağlantı oluşturmaları açısından faydalıdır. 1 2 3 4
Uyarlanabilir Yardım Sistemleri Bilgi Simgeleme Teknikleri Kural Tabanlı Teknikler Çerçeve Tabanlı Teknikler Ağ Tabanlı Teknikler Örnek Tabanlı Teknikler 1 Örnek tabanlı teknikler, bir sınıflandırma sisteminin bir karar yapısı içinde bilgiyi temsil eder. Karar yapısı, sınıflandırıcıya sunulan örneklere dayanarak otomatik olarak oluşturulmaktadır. Bu sınıfyalıyıclar tekrarlanan özelliklerden ortaya çıkar ve diğer girişleri sınıflandırmak için kullanılırlar. 2 3 4
Uyarlanabilir Yardım Sistemleri Simgeleme ve Modelleme Problemleri Özellikle bir alan uzmanı mevcut değilse bilginin temin edilişi zordur. Bilgi tabanının bütünlüğünden ve doğruluğundan emin olmak zordur. Bilgi miktarının büyüklüğü uyarlanabilir yardım sistemlerini pahalı yapar. Bilginin doğru şekilde yorumlanması problemi vardır. Etkileşim sırasında bilgi sadece kullanıcının hareketlerinden, yani sistem günlüklerinden edinilir. Sistem günlüklerini yorumlamak zordur, kullanıcının asıl niyetini ve hedefini kestirmek zordur. Yine de bu simgelemelerin sadece ‘kestirim’ olduğu unutulmamalıdır.
Uyarlanabilir Yardım Sistemleri Diğer Konular Girişim-Kontrol: Sistemin kontrolü tamamen kullanıcıda mı olmalı, etkileşimi sistem mi yönetmeli yoksa karma bir diyalogla mı desteklenmeli? Sistem faaliyetleri, özellikle kötü bir şekilde ele alındığında kullanıcı için zorlayıcı olabilir. Hiçbir kullanıcı süreklşi olarak, en verimli şekilde bir göre gerçekleştiremez. Bununla birlikte kullanıcnın büyük ölçüde sistem işlevselliğini bilmediği biliniyor. Çözüm: Etkileşimde karma kontrol. Kullanıcı istediği herhangi bir zaman sistemi sorgulayabilmeli, sistem zaman zaman kullanıcıya ipuçları sunmalı.
Uyarlanabilir Yardım Sistemleri Diğer Konular Etki: Tasarımcının dikkat etmesi gereken diğer bir konu ise modelleme ve uyarlamanın etkisidir. Uyarlanabilirliğin etkisi nasıl olmalı: tam olarak ne uyarlanacak ve bunu gerçekleştirmek için hangi bilgilere ihtiyaç var? Çözüm: Alan ya da strateji modellemesi yardım sisteminin gereksinimleri doğrultusunda yönlendirilmeli. Örneğin; acemi ve uzman kullanıcılar için farklı yardım önerileri sunmak gerekir, bu noktada sistem görevin yürütülmesiyle ilgili detaylara ihtiyaç duymaz.
Uyarlanabilir Yardım Sistemleri Diğer Konular Kapsam: Son olarak tasarımcı yardımın kapsamını göz önünde bulundurmalıdır. Yardımın kapsamı ne olacak: bir uygulama düzeyinde mi yoksa sistem çapında mı sunulacak? Çözüm: Eğer kullanıcılar sistem düzeyinde modellenecekse, modelin meşgul oldukları faaliyet düzeylerini dikkate alması gerekir ve uygulama düzeyinde de eylemleri ayırt edebilmesi gerekir.
Kullanıcı Destek Sistemlerinin Tasarımı Kullanıcı destek sunumunun pek çok farklı yolu vardır ve tasarımcının en uygun olanına karar vermesi gerekir. Tasarımcı özellikle şu iki noktayı dikkate almalıdır: Kullanıcı desteğinin tasarımı sistem tasarımına bir eklenti olarak görülmemeli, yani sistemle entegre olmalıdır. Bu şekilde yardım sistemi geri kalan sistem ile tutarlı olacaktır. Tasarımcı, yardımın içeriğini ve ihtiyaç duyulacak teknolojiden önce kullanılacağı bağlamı dikkate almalıdır.
Kullanıcı Destek Sistemlerinin Tasarımı Sunumla İlgili Konular (Presentation Issues) Yardım nasıl istenilecek? Tasarımcının yapması gereken ilk karar, kullanıcının nasıl yardım alacağıdır? Bununla ilgili bir dizi seçenekler vardır. Yardım bir buton, düğme veya komut aracılığıyla: kolaylıkla erişilebilir, çalışan uygulamalarla etkileşime girmez ancak her zaman kullanıcının ihtiyacına göre belirli bilgileri vermeyebilir. Yardım fonksiyonu: Esnek olduğundan istendiğinde açılıp kapatılabilir. Bağımsız bir uygulama: Esneklik ve çoklu yardım stilleri sağlar ama kullanıcının mevcut uygulamasına müdahale edebilir.
Kullanıcı Destek Sistemlerinin Tasarımı Sunumla İlgili Konular (Presentation Issues) Yardım nasıl görüntülenecek? Tasarımcı tarafından yapılması gereken ikinci önemli karar, kullanıcının yardımı nasıl göreceğidir. Pencere tabanlı sistemlerde yeni bir pencerede sunulabilir. Diğer sistemlerde ekranın tamamı ya da bir bölümünü kullanabilir. Alternatif olarak, ipucu ve yardımlar pop-up kutularda ya da komut satırı düzeyinde görüntülenebilir.
Kullanıcı Destek Sistemlerinin Tasarımı Sunumla İlgili Konular (Presentation Issues) Yardımın etkili sunumu: Etkili bir yardım sunumu şu hususları kapsamalıdır: Yardım ve öğretici materyaller açık, aşina, tutarlı ve uygun bir dille olmalıdır. Açıklayıcı değil öğretici olmalıdır. Kağıt üstü kılavuzlar ve öğreticiler mevcutsa, kullanılan terminoloji bunlar ve çevrimiçi destek materyallerinin tümünde aynı olmalıdır.
Kullanıcı Destek Sistemlerinin Tasarımı Uygulamayla ilgili Konular (Implementation Issues) Makinenin ekran alanı, bellek kapasitesi ve hız açısından fiziksel kısıtlayacıları nelerdir? Özellikle hız çok önemli. Ne kadar iyi tasarlanmış olursa olsun yardım sistemi geç dönüt verdiğinde kullanışsız hale gelir. Diğer konu yardım verilerinin nasıl yapılandırılacağıdır: tek bir dosya mı, bir dosya hiyerarşisi mi yoksa bir veritabanı mı kullanılacak? Esnek ve genişletilebilir olmalıdır. Kullanıcı istendiğinde basılı kopyasını alınabilir olmalıdır Son olarak tasarımcı kullanıcılar kadar yardım içeriğini hazırlayacak olan yazarları da dikkate almalıdır.
Konunun özeti olarak da