Есть список опций в некотором мастер-диалоге, из шагов типичных для какого-то ETL (это неважно), и представленных как обычный список из checkbox-ов на подготовительном шаге. Типа:
[x] легковесная опция 1
[ ] безобидное название тяжеловесной и долгой опции 2
[x] легковесная опция 3
Допустим опция 2 — занимает, например 50% всей работы если нажать кнопку мастера «Next >». Накидайте примеры, где и как лучше всего эта проблема решалась. То есть вопрос, как пользователя предупредить, что до запуска визарда, что для пользователя опция 2 — долгая. Пока идеи у меня какие-то: от черепашки в скобочках в строке названия, до всплывающей подсказки при нажатии на check box.
⸻ ❧ “Our greatest glory is not in never falling, but in rising every time we fall.” — Confucius
Да, пояснение в скобках в строке названия опции 2, словами.
Либо при выборе 2 опции показывать messagebox с тем же пояснением и просьбой подтвердить выбор.
Здравствуйте, r0nd, Вы писали:
R>То есть вопрос, как пользователя предупредить, что до запуска визарда, что для пользователя опция 2 — долгая. Пока идеи у меня какие-то: от черепашки в скобочках в строке названия, до всплывающей подсказки при нажатии на check box.
Во время операции меняющийся прогресс бар, чтобы было видно, что программа не зависла. А так оформить в виде запуска операций, вроде кнопки начать.
Если совсем параноить, то всплывающее сообщение при выборе галки типа операция займёт много времени, продолжить да нет больше не напоминать. Но на мой взгляд это не нужно, только раздражать.
А вот спец. символы в названии чекбокса никто кроме тебя не поймёт. Да и слова неизвестно будут ли читать. Но слова вроде длительная операция ещё ладно, символы однозначно плохо.
Я и в документации советовал бы писать слова, а не выдумывать оформление спец. символами и графикой. Потом сам забудешь, что это.
R>[x] легковесная опция 1 R>[ ] безобидное название тяжеловесной и долгой опции 2 R>[x] легковесная опция 3 R>как пользователя предупредить, что до запуска визарда, что для пользователя опция 2 — долгая. Пока идеи у меня какие-то: от черепашки в скобочках в строке названия, до всплывающей подсказки при нажатии на check box.
Операции написать в виде дерева, прогнозируемое соотношение времени показать разной максимальной шириной прогрессбара напротив каждого пункта.
А всякие дурацкие крутилки с 0 информации по делу, которые продолжают крутиться даже если рабочий тред давно повис — это издевательство.
On Apr 11, 2024, 3:10 PM, Osaka <26973@users.rsdn.org> wrote:
O>Операции написать в виде дерева, прогнозируемое соотношение времени показать разной максимальной шириной прогрессбара напротив каждого пункта.
На подготовительном этапе (когда пользователю предложено выбрать из списка операций с check-box) нет информации ни о предположительном времени выполнения, ни о количество обработанной информации. Сильно зависит от многих факторах — природы, неопределенности, количества данных итд. Вариант с полосой прогресса выглядит не применимым.
⸻ ❧ “No one changes the world who isn’t obsessed.” — Billie Jean King
Здравствуйте, r0nd, Вы писали:
R>На подготовительном этапе (когда пользователю предложено выбрать из списка операций с check-box) нет информации ни о предположительном времени выполнения, ни о количество обработанной информации.
Так сделайте оценки, по похожим данным (простую линейную модель) R>Сильно зависит от многих факторах — природы, неопределенности, количества данных итд. Вариант с полосой прогресса выглядит не применимым.
Просто в абстрактных "work units" сделайте, мол операция обычно 2 в 32 раза дольше чем операция 1. А операция 3 в два раза быстрее чем 1.
On Apr 11, 2024, 7:57 PM, Wawan <57148@users.rsdn.org> wrote:
W>не лишай пользователя времени для отдыха и чаепития, может быть вторая галочка у него поэтому самая любимая
Это смешно, когда такая длительная операция занимает меньше 9 часов, иначе шеф прикажет приходить в 8 утра, чтоб успеть запустить еще перед уходом второй раз. У тебя не было опыта использования подобных продуктов?
⸻ ❧ “If we take care of the moments, the years will take care of themselves.” — Maria Edgeworth
On Apr 11, 2024, 8:21 PM, kov_serg <39543@users.rsdn.org> wrote:
KS>Просто в абстрактных "work units" сделайте, мол операция обычно 2 в 32 раза дольше чем операция 1. А операция 3 в два раза быстрее чем 1.
Не понял, можете продемонстрировать как это выглядит например на этом конкретном примере с тремя опциями:
Поиск и исправление в потерянных сущностях;
Исправление некорректных данных агрегатов в моделях <название>;
Исправление мето-данных сущностей;
Будем считать что второй пункт сильно тяжелее других. Пример с 3 пунктами, он не окончателен, а лишь для демонстрации концепции, пунктов может быть и 20, и тяжелых операций моет быть не одна а, допустим, 5.
⸻ ❧ “Courage is like a muscle. We strengthen it by use.” — Ruth Gordo
Здравствуйте, r0nd, Вы писали:
R>Не понял, можете продемонстрировать как это выглядит например на этом конкретном примере с тремя опциями:
Вот с 6-тью на lua
options={
{ params={1, 1},title="Поиск и исправление в потерянных сущностях" },
{ params={1,10},title="Исправление некорректных данных агрегатов в моделях <название>" },
{ params={1, 2},title="Исправление мето-данных сущностей" },
{ params={1, 3},title="Исправление мето-данных сущностей" },
{ params={1,20},title="Допустим еще операция" },
{ params={1,15},title="Допустим еще одна операция" },
}
selected={2,3,5}
--------------------------------------------------------------------------------
model=function(data_estimation,params)
-- простая линеёная модель на основе одного параметра (кол-во элементов)
return data_estimation.count*params[2]+params[1]
end
-- оценка кол-ва элементов. Например ~100
data_estimation={ count=100 }
--------------------------------------------------------------------------------
total=0 map={}
for k,v in pairs(selected) do
map[v]=true
total=total+model( data_estimation, options[v].params )
end
for k,v in pairs(options) do
if map[k] then x="x" else x=" " end
est=model(data_estimation,v.params)
print(string.format("%6d [%s] %s",est,x,v.title))
end
print(("-"):rep(78))
print(string.format("%6d ⏳ total",total))
101 [ ] Поиск и исправление в потерянных сущностях
1001 [x] Исправление некорректных данных агрегатов в моделях <название>
201 [x] Исправление мето-данных сущностей
301 [ ] Исправление мето-данных сущностей
2001 [x] Допустим еще операция
1501 [ ] Допустим еще одна операция
------------------------------------------------------------------------------
3203 ⏳ total
Здравствуйте, r0nd, Вы писали:
R>Есть список опций в некотором мастер-диалоге, из шагов типичных для какого-то ETL (это неважно), и представленных как обычный список из checkbox-ов на подготовительном шаге. Типа:
R>
R>[x] легковесная опция 1
R>[ ] безобидное название тяжеловесной и долгой опции 2
R>[x] легковесная опция 3
R>
R>Допустим опция 2 — занимает, например 50% всей работы если нажать кнопку мастера «Next >». Накидайте примеры, где и как лучше всего эта проблема решалась. То есть вопрос, как пользователя предупредить, что до запуска визарда, что для пользователя опция 2 — долгая. Пока идеи у меня какие-то: от черепашки в скобочках в строке названия, до всплывающей подсказки при нажатии на check box.
Непонятно, что есть "тяжелая опция": программа думает лишние несколько секунд или час? Если час, то разумнее запускать думанье в конце, по отдельной кнопке "старт процесс" на последней странице визарда. Вот прям сильно нехорошо заставлять человека ждать на промежуточной странице, когда сделано полдела. А если "старт" в конце — сделал дело, все настроил, запустил и занялся другими делами с чистой совестью.
Если человек пользуется программой постоянно, он и так знает, какие опции тяжелые. Например, если я буду рендерить рейтрэйсингом, то это надолго, или этот тяжелый проект будет пересобираться полчаса. Но если все же необходимо подчеркнуть тяжесть какой-то опции, я бы скорее написал об этом около нее в скобках, может, выделил текст жирным шрифтом или цветом. Можно перед стартом показывал диалог ("старт/вернуться к настройкам"), где расписаны опции и сказано, из-за чего процесс будет долгим. И индикатор прогресса нужен. Многое зависит от того, на какого пользователя ориентировано.
Добавлю. Тяжелая опция или нет, может зависеть от других настроек, которые могут находиться на других страницах визарда. Тогда — спагеттизация, и визард может стать не лучшим вариантом UI.
Если таких пунктов мало, нарисовать с жёлтым фоном. Что-то вроде предупреждения. При выборе раскрывать текст предуждения, в котором написать, что операция займёт длительное время.
Визард в основном хорош для новичков, или когда требуется именно последовательное прохождение "квеста". А так, это может быть диалог опций со свободно переключаемыми табами, возможно, с кнопками next тоже, а кнопка "старт" там может быть расположена отдельно и доступна всегда, возможно, иногда задизэйблена. Допустим, я хочу изменить 1 параметр и сразу запустить. Зачем для этого проходить визард? Тут главное — не перемудрить, и чтоб юзеру было понятно.
Здравствуйте, r0nd, Вы писали:
R>На подготовительном этапе (когда пользователю предложено выбрать из списка операций с check-box) нет информации ни о предположительном времени выполнения, ни о количество обработанной информации.
А откуда тогда вы знаете, что опция 2 — "тяжеловесная и долгая"?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, r0nd, Вы писали:
R>Экспериментально это было выяснено, да и вообще по логике поведения получается что вторая должна быть тяжелее.
Значит есть статистика по времени исполнения и можно спокойно строить прогнозы на время выполнения операций
R>Но, если абстрагироваться от конкретики проблемы, то как отображать красную/оранжевую/зеленую области:
Очень просто красным оранжевым и зелёным цветом