Как стать автором
Обновить

Комментарии 20

Ах, мечты, мечты…
Это самое 'Loading' как раз и позволяет пользователю понять (пока происходят какие-то внутренние процессы), что приложение не зависло, а занято делом.
В целом во многих местах можно отобразить результат действия на клиенте сразу, а в фоне его обработать.

Вот ВКонтакте к примеру, жмешь отправить сообщение в диалоге, оно сразу перезжает в верхнее окошко, но если нет интернета через некоторое время покажется ошибка.

Таким образом можно поступать с любыми действиями не входящими в цепочку действий.
Нажал отправить, и ушел. А там ошибка, но ты то видел, что оно отправилось.

Как для массового сервиса решение отличное, но вот как для профессионального инструмента весьма и весьма сомнительное.

В айфоне при отправке сообщения оно то же сразе переходит в ленту сообщений, но есть прогресс бар, который говорит о ходе отправки и если произошла ошибка, то я могу повторить отправку или отменить. Вот это и для массового отлично и для профессионала ясно.
Да, но только если лоадинг висит уже несколько минут, то фиг его знает грузится ли там что-то еще или уже все зависло?
И что показывает для вас прогресс бар — если нет интернета? Ужасный пример про IOS — они просто вас обманули.

Вы понятия не имеете, что подразумевается под этой полосой загрузки. Вот при копировании файлов, скачивании торрента, загрузке файлов в Chrome — это количество перекачанных байт, а вот в IOS боюсь это означает то же, что и заставка при загрузке Windows — просто отвлекающий маневр.

Да, но только если лоадинг висит уже несколько минут, то фиг его знает грузится ли там что-то еще или уже все зависло?
Нормальный лоадинг всегда имеет таймаут, после которого показывается ошибка, так же как и в вашем прогресс баре или вовсе без ничего.
Вы понятия не имеете, что подразумевается под этой полосой загрузки. Вот при копировании файлов, скачивании торрента, загрузке файлов в Chrome — это количество перекачанных байт, а вот в IOS боюсь это означает то же, что и заставка при загрузке Windows — просто отвлекающий маневр.


В айос это означает тоже самое — количество передаваемых байт на сервер, сотовому оператору или куда-то еще. В любом случае передаются байты.
В айос это означает тоже самое — количество передаваемых байт на сервер, сотовому оператору или куда-то еще. В любом случае передаются байты.


Странно, а у меня часто бывает, что Progress начинается даже при отсутствии интернета. Т.е. вы разбирали исходники IOS и можете с уверенностью сказать, что прогресс-бар отражает количество байт?

Да и в любом случае при отправке письма с IOS — единицей информации я считаю письмо и вот тут в случае получения писем IOS корректно показывает 1 из 6 в прогресс баре.
Видимо автор хочет показывать вместо Loading пользователю этот пост :-)
А разве сейчас не так? Всякие «pull to refresh» (просто один из примеров) этим и занимаются, нет? Уже достаточно давно не видел никаких «Loading», которые бы запрещали бы делать вообще всё.
флеш игры? lazy loading на фотостоке?
НЛО прилетело и опубликовало эту надпись здесь
Однако, статус можно вывести на весь экран/форму/модальный диалог (нужное подчеркнуть), заблокировав тем самым интерфейс, а можно — где-то в уголке, предоставив пользователю хоть минимальные возможности.
И что он будет делать без данных, если ему нужны именно они? Мотать туда-сюда список какой-нибудь от скуки?
На странице вполне может быть доступно много действий одновременно. Например, ставить плюсики к комментариям на хабре (я сам не ставил, но по логике можно сразу у 2 нажать?).
Ну да, вот сижу мотаю список писем в Thunderbird, пока тот грузит что-то тяжёлое через мой еле пыхтящий 3G :)
Мобильные устройства садятся быстрее при использовании wifi/3G. Сервера обработки данных придется делать более мощными ибо по вашей идее нужно постоянное подключение, а это огромное количество коннектов для сервера. Это может быть даже не рентабельно и не стоить усилий. Опрежение — опять же нужно пилить алгоритмы под конкретную задачу что может выйти очень дорого в разработке.
Я думаю, что нужно все же разделять природу ожидания.
Одно дело, когда в вашем приложении еще не произошла подгрузка ключевых данных для работы самого приложения, и совсем другое, когда природа ожидания не зависит от приложения.

В первом случае просто нечего показывать, в если и показать чего-либо, то это будет не полным, а пользователь будет думать, что приложение уже готово к работе, и тем самым мы введем его в заблуждение.

Второй случай связан, в основном, с потерей соединения, В любом случае уместно выполнить некоторые изменения в интерфейсе с параллельно запущенным асинхронным запросом на некоторые действия, и по ответу, содержащему результат этих действий или же таймауту выполнять перерисовку, так например идет отображение подвисания сообщения в скайпе.
Пару дней назад трелло тормозил не по-деццки, и как раз вот подобный индикатор загрузки давал понять, что действие началось и не нужно лишний раз тыкать.
Когда производители железа дадут загрузить игровой мир из 1 ГБ в видео память меньше чем за 1 секунду…
Когда программы, требующие проверки на сервере (логин, пароль, синхронизация пользователей) научатся перелопачивать пару миллионов записей за одну милисекунду…
Когда загрузка 4-ядерного телефона перестанет занимать 10-20 секунд…

Тогда и можно будет убрать надпись Подождите…

Но мы еще забываем про отстающее СНГ. Где интернет на мобиле пропадает и появляется, где вайфай то падает то восстанавливается, где провайдеры просто виснут, а потом летают. И где лишь серьезный и взрослый человек может себе позволить мощный телефон, когда играть уже давно поздно…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории