99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀設計出色的 tableau 儀表板擴展
設計出色的 tableau 儀表板擴展
2020-04-17
收藏

您是否已經(jīng)創(chuàng)建了一個 Tableau 儀表板擴展?

太棒了!

但是您是通過什么與用戶進行交互的?它容易使用嗎?它美觀且有效嗎?

本文將告訴您如何讓儀表板擴展為用戶提供友好的體驗!如果您剛剛開始構(gòu)建儀表板擴展,可查看下方鏈接學習更多相關知識。

來源 | Tableau社區(qū)

通過您的儀表板擴展提供出色的用戶體驗

在您的儀表板擴展運行后,確保它有很好的可用性是非常重要的一點。這將增加您儀表板擴展的價值,并讓人們一次又一次地使用它。

您可以將以下注意事項作為一個清單:


1

擁有簡單的控件和用戶界面模式(UI)。

儀表板擴展中的內(nèi)容應該清楚地向用戶表明如何與其進行交互。例如,對話不應該包含不相關或不必要的信息。您添加的任何額外信息都可能會給用戶帶來困惑。

確保您的設計易于學習和使用非常重要。這就是UI模式派上用場的地方,因為它們來自UI設計中的最佳實踐,它們是常見問題的可重用解決方案。


2

提供適當?shù)姆答伜湾e誤消息。

您的儀表板擴展應始終保證用戶能及時了解實際情況。例如,如果您的儀表板擴展所在的區(qū)域正在加載,并且它花費了比平時更長的時間,我們可以使用一個活動指標幫助用戶了解正在發(fā)生的事情。

否則,用戶可能想知道系統(tǒng)是否正在執(zhí)行任何操作或是否存在錯誤。如果出現(xiàn)錯誤,我們應用簡單的語言表達消息并描述問題,并提供如何修復錯誤的建議。


3

確保儀表板擴展布局的響應性。

確保儀表板擴展的容器內(nèi)容和控件以正確的大小顯示。用戶可以手動調(diào)整容器的大小,因此請確保使用常見的響應式 Web 設計實踐,例如斷點和基于百分比的寬度。

閱讀更多有關布局指南的信息,以確保您的樣式與圖庫中的其他擴展保持一致。


4

用最少的設計使您的擴展更美觀。

有目的和清晰地使用顏色是很重要的。請最低限度地使用它,僅突出顯示儀表板擴展中的功能。使用有效的顏色將向用戶傳達重要的內(nèi)容。

您可以查看 Tableau 的標準顏色系統(tǒng),以用于您的儀表板擴展。

至于字體和排版,這里應該有一個明確的內(nèi)容層次結(jié)構(gòu),通過使用不同的字體大小,顏色和間距來區(qū)分。通過這種方式,我們可以引導用戶首先去查看或點擊哪些內(nèi)容。

您可以使用 Tableau 的樣式指南使您的儀表板擴展看起來像 Tableau,但是您可能希望將儀表板擴展進行標記以將其區(qū)分。這里是有關如何有效標記儀表板擴展的指南。


5

鏈接到幫助和文檔。

對于設置或使用更復雜的儀表板擴展,為用戶提供獲取額外的幫助是一個加分項。另外,它還可以為用戶提供了解您或您公司的更多信息。


6

最后,在共享之前進行一些可用性測試。

對不熟悉您儀表板擴展的人進行一些快速測試。觀察他們?nèi)绾问褂媚?a href='/map/yibiaoban/' style='color:#000;font-size:inherit;'>儀表板擴展以及他們是否遇到任何問題。但也要注意這個人與某些東西的交互方式是否與您預期的方式不同,并注意他被困在哪里。這可以在很短的時間內(nèi)揭示您儀表板擴展的可用性。

設計很重要,但這經(jīng)常被開發(fā)人員遺漏?;〞r間設計將使您能夠建立真正優(yōu)秀的用戶體驗,并讓客戶愛上您的儀表板擴展。現(xiàn)在有了以上這些指導方針,希望給您一些有用的提示!

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }