2008-11-26 37 views
2

我相信你們都看過他們。具有以下邏輯的業務線用戶界面:「選擇ComboA時,根據該選擇查詢值並填充文本框B」或「按下ButtonC時,禁用文本框C和D」等等。當你可以有上述邏輯的多個排列時,它會變得特別糟糕。重新設計令人費解的用戶界面的技巧

如果帶有重新設計這些可​​愛的屏幕之一的機會,你會如何處理它?你會在界面上放置一個嚮導嗎?你會保持單屏幕模式,但使用其他模式,使UI狀態的邏輯可維護嗎?您將使用什麼過程來確定如何理想地呈現和實施?

不是我認爲這對應答很重要,但我目前只提供了這個「機會」,它是一個ASP.NET網頁,它使用javascript響應用戶的選擇,禁用控件並使ajax需要額外的數據。

回答

2

東西是否是一些人的依賴並不意味着,雖然看起來相似,服務這些內容應該在相似但實際上是不同的多個頁面被分割出相同的功能。有人可能會將它們分組到頁面上,因爲它們有足夠的相似性。

如果你可以嘗試看問題就好像它是不是在所有實施,你將如何構建用戶界面,如果你現在已經實現了。如果情況太不同而且現有用戶會遇到重大問題,則可能需要妥協。但正如Elie所說,從用戶的角度來看它。他們是那些必須與你的產品合作的人。

1

從KISS原則開始,並從那裏開始工作。不要過度設計解決方案,並嘗試從用戶的POV中思考問題。對於什麼可以構成良好的佈局,您的第一印象可能與您應該構建的接近,因爲良好的用戶界面非常直觀。

話雖這麼說,單屏與多屏JavaScript或AJAX,它其實並不重要。如果它看起來很好,很容易理解,並且在幕後,它是很好的評論和寫明確的代碼,它的工作原理。它應該是可維護的,所以要針對具有明確功能的模塊化代碼塊。你可能想看看

1

我認爲最重要的是用戶體驗,並在較小程度上的代碼的可維護性。在網絡上,我嘗試儘可能減少往返次數,所以我不確定我會採用嚮導方法,因爲這會導致用戶通過多個頁面或需要通過AJAX替換幾乎整個頁面(這似乎是錯誤的) 。我通常與我的客戶合作捕捉他們需要的功能,但我的目標是功能,而不是實現。我可能會嘲笑幾個例子來向他們展示替代品,或者只是在白板上畫出他們的想法。如果結果是大大改進的用戶界面,我不介意在應用程序中執行「硬」或「複雜」的事情。當然,我儘可能簡單地做到這一點,並且絕對使用良好的做法,即使在Javascript中也是如此。

2

我會模擬一個對象上整個UI的狀態。該對象應該跟蹤每個UI對象應該處於的狀態,包括組合框的選項列表(當然選擇哪個選項)。

這意味着,有一個狀態對象,你可以正確地重新繪製整個屏幕,並在破碎的狀態不是最終的用戶界面。當然,每次更改任何內容時都刷新所有組件並不是要走的路,所以我會通過狀態對象中每個setter的回調來刷新它們。如果你想要的話,這也可以讓你在同一個狀態下擁有兩個UI。