我的iOS應用程序正在使用異步下載從互聯網上讀取數據。所以我有事件:開始,完成,錯誤。IOS異步下載
問題與用戶體驗有關。 當數據下載用戶看到活動指標和我阻止所有的UI
問題是,如果阻止用戶界面是一個很好的做法?
我的iOS應用程序正在使用異步下載從互聯網上讀取數據。所以我有事件:開始,完成,錯誤。IOS異步下載
問題與用戶體驗有關。 當數據下載用戶看到活動指標和我阻止所有的UI
問題是,如果阻止用戶界面是一個很好的做法?
如果你正在異步下載數據,那麼很難有理由阻止用戶界面,因爲你經歷了麻煩以解除封鎖。
如果您有一個特定的功能需要阻止,因爲它需要數據繼續。但其他一切都應該像平常一樣自由和快速響應。
此應用程序使用網站的服務。所以當用戶點擊操作時(登錄,發帖等) - 他必須等待結果。阻塞UI看起來簡單(開始/停止忽略UI事件)VS使所有領域只讀,並檢查是否呼叫正在進行 –
阻塞UI總是會更容易。這並不意味着它是正確的。 iOS設備是全部觸摸。因此,如果用戶觸摸並且屏幕沒有響應,則感覺破裂或更糟,被凍結。我無法告訴你什麼是最適合你的應用的。但我可以告訴你,阻止用戶界面永遠不是最佳實踐。 –
我正在研究一個類似用例的應用程序:當我們連接到一個給定的系統時,有一個描述它的XML文件,我們必須下載(這是異步完成的)。在XML下載之前,用戶無法使用所述系統,除此之外,用戶無法做其他事情(除非打開另一個系統,但這是同樣的問題)。在這種情況下,應用程序中會顯示阻止旋轉器。
但是,有些情況下XML不會更新,我們可以檢查時間戳。如果我們不需要更新它,我們不會,並且用戶看不到阻止微調器。
另一個應用程序,並這是Sonos的 - 他們有一個阻擋微調,而搜索無線網絡(在其系統中的一個),因爲他們不能沒有這方面東西。
請注意,在這兩個示例中,用戶仍然可以離開應用程序,但他們不能在應用程序中執行。
基本上這樣做的結果是:不要阻止用戶,除非他們在請求完成之前什麼也不做。
取決於:如果用戶未被阻止,用戶是否可以執行其他任務或者在當前任務上取得進展?另外,考慮到UX是否由於某種原因需要取消當前下載。 – warrenm
假設這是登錄屏幕。您輸入密碼並等待登錄/錯誤。 –