Re: Пределы глупости человеческой :)
От: fmiracle  
Дата: 17.09.20 13:50
Оценка: 10 (3) +24
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Вот как они, такие, вообще за компьютером работают?


А пользователь про себя подумал

Вот же, блин, разработчики, тоже мне. Окно рисуют, а что оно вдвое больше экрана им пофигу. И как они вообще программы писать-то могут?

Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.09.20 13:02
Оценка: -12 :))
Вчера один юзер купил несколько лицензий, для установки на разные компьютеры, собрался организовать какую-то навороченную систему голосовой связи. Сегодня пишет "успешно установил на два компьютера, а на третий не могу — у окна с текстом лицензионного соглашения нет кнопки "принять"! Что делать, помогите!". Приложил фото (не скриншот) экрана — экран что-то вроде 1024x600, нижняя часть окна тупо не влезла. Осторожно спросил, не пробовал ли он сдвинуть окно вверх. Через полчаса отписался — "спасибо, теперь все получилось!".

Вот как они, такие, вообще за компьютером работают?
Re: Пределы глупости человеческой :)
От: L.K. Марс  
Дата: 17.09.20 13:55
Оценка: +9
Глупость — это не проверить работу программы при разных разрешениях экрана.
Re[4]: Пределы глупости человеческой :)
От: Vlad_SP  
Дата: 18.09.20 07:52
Оценка: +6
Здравствуйте, Kernan,

ЕМ>>Да, начиная с 320x200.

K>Он прав. Это ТВОЙ косяк как разработчика и бизнесмена. Как минимум квадратные моники 15'' ещё где-то есть.

Ээээ.... А может быть как раз это правильное решение как разработчика и бизнесмена?
Не спорю, пользователи с квадратными мониками 15" в XXI веке все еще существуют. Однако их число стремится к исчезающе малой величине, и в финансовом плане они погоды не делают.

Условно, я бы применил такой подход:
А. оценить сколько денег (по меньшей мере время*зарплату) нужно на тестирование и допиливание интерфейса при "всех возможных разрешениях экрана", начиная если уж не с 320х200, то хотя бы с 640х480;
Б. оценить, сколько денег принесут дополнительно эти единичные пользователи с низкими разрешениями экранов.
Если А >= Б, то допиливать интерфейс под низкие разрешения — только себе в убыток. Нет?
Re[2]: Пределы глупости человеческой :)
От: fmiracle  
Дата: 18.09.20 06:22
Оценка: 3 (1) +1 :))
Здравствуйте, Shtole, Вы писали:

S>Первое место я отдаю Microsoft, которые в одном из инсталляторов УБРАЛИ кнопки снизу на одном из этапов (причём внезапно так, на 3-м или 5-м шаге), вместо них надо было кликать на надписи Install <ProductName> на самой странице (wizard page) установщика. Эта надпись была, оказывается, кнопкой, хотя как кнопка ни разу не выглядела.


Ну как тут не вспомнить эту игру про неочевидные интерфейсы. Начинается как раз с такой вот невыделенной кнопки
Отредактировано 18.09.2020 6:22 fmiracle . Предыдущая версия .
Re[11]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 23.09.20 07:49
Оценка: 1 (1)
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У меня главная беда — нет никого сверху, кто заставлял бы делать проекты, в которые я сам не особо верю

Я для себя сам делаю разное, для решения своих же задач да и порой так, проверить интересную идею, которое либо потом оседает в архивах либо в итоге пригождается и вырастает в что нить более полезное.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[3]: Пределы глупости человеческой :)
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 17.09.20 14:36
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Да, начиная с 320x200.

Он прав. Это ТВОЙ косяк как разработчика и бизнесмена. Как минимум квадратные моники 15'' ещё где-то есть.
Sic luceat lux!
Re: Пределы глупости человеческой :)
От: alzt  
Дата: 17.09.20 20:54
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Вчера один юзер купил несколько лицензий, для установки на разные компьютеры, собрался организовать какую-то навороченную систему голосовой связи.


Ещё в студенческие годы, когда писал не консольные программы для сдачи, считал обязательным проверить, что каждая адекватно масштабируется, красиво смотрится, если её развернуть или растянуть и прочие мелочи. Никто не заставлял, но стыдно было такое сдавать.

Сейчас, если что, я бэкэнд программист, и окна не программирую.

А ещё, я писал уже об этом, после обновления скайпа, я не смог ввести свой пароль. Ну тупооой. А до обновления вводил, теперь скайпом не пользуюсь. А надо было всего лишь...
Re[3]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 18.09.20 08:07
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>как можно работать с компьютером дольше нескольких дней, и ни разу не перемещать окон на рабочем столе?

Если стол маленький то натурально всё всегда держится maximized а переключаются alt-tabом
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[4]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 18.09.20 14:13
Оценка: +1
Здравствуйте, Shtole, Вы писали:

S>Исторически, эту моду (на гипертрофированные установщики) ввела Microsoft.


У меня установщик крайне минималистичный. Только сделан он не в виде "мастера", из одного окна с изменяемым наполнением, а в виде нескольких последовательных диалогов. Когда я его делал (начало 2000-х), это было нормально, а потом, из-за борьбы MS с приложениями, насильственно вытаскивающими окна наверх, некоторые вновь создаваемые диалоги стали отображаться где-то внизу Z-списка, поэтому пришлось сделать фоновое окно с логом, а диалоги создавать, как дочерние от него.

S>В наши дни обычно делают кастомный мини-инсталлятор.


Где это "обычно" делают? Что ни возьму — или MSI, или Inno, или NSIS, или самодельное, но похожее.

S>Самое трудоёмкое там -- зарегистрироваться в установленных программах, чтобы uninstall стандартный был.


У нас явно разные понятия о трудоемкости. Для регистрации достаточно лишь создать ветку в Uninstall с несколькими параметрами. Это сугубо локальная, синхронная и линейная операция. Для реализации любого "мастера" требуется создать несколько шаблонов диалогов (ну, или создавать каждый во время выполнения), написать кучку обработчиков оконных сообщений, сделать из всех этого нечто вроде конечного автомата, и т.д.

S>2. По центру горизонтально, по вертикали ближе к верху, большая синяя кнопка Install <ProductName>. (Теперь понятно, почему всё так, да?)


Непонятно. Где такое можно увидеть?

S>3. Чуть ниже другая кнопка, поменьше: Options, которая при нажатии меняется на поле выбора папки.


Зачем меняется? Чтобы смотрелось круто и непонятно?

S>4. Вместо лицензии внизу мелким шрифтом: "Устанавливая программу, вы соглашаетесь с лицензией: landing.com/eula".


Тогда придется на каждую выпущенную версию держать отдельный файл лицензии на сервере. Да и неправильно это — для несетевой программы иметь лицензионное соглашение только в сети. Пользователей, у которых какое-то время нет доступа к сети, значительно больше, чем обладателей мониторов 800x600.
Re[7]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 20.09.20 13:37
Оценка: +1
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Да, я уже задумывался, и пытался делать на фреймворках. Пока не понравился ни один. На WinAPI — просто писанина и лишний код, на фреймворках — или борьба с неочевидными косяками (MFC, WTL), или неадекватный размер бинарников (Qt).


При писанине на WinAPI сам собой формируется небольшой такой framework, который потом можно реюзать.

Я как то в стартапе за пару вечеров написал на WinAPI свой инсталлер, повторяющий MSI (WIX based) инсталлер по внешнему виду и той части функциональности что была нам надо (firewall config, services mgmt, drivers install/remove, custom binary actions) потому что WIX был просто pain in ass по части работы с external custom actions которые нам были нужны чтоб правильно поставить продукт.
Замечательно работал.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[9]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 20.09.20 14:40
Оценка: +1
Здравствуйте, Shtole, Вы писали:

S>>>restore point надо создавать.


S>На самом же деле, юзер хочет видеть, куда ему откатываться, после установки следующей глючно-системной программы, которая этого НЕ сделала (на то она и глючная, хе-хе), чтобы потерять по минимуму установленного софта.


Если юзер этого хочет (и знает про Restore Points) — пусть создает их руками. Создавать их при установке безобидных программ в надежде, что следующей юзер поставит "глючно-системную" — явная глупость.
Re: Пределы глупости человеческой :)
От: lpd Черногория  
Дата: 17.09.20 13:32
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Вот как они, такие, вообще за компьютером работают?


Недавно у знакомой возникла проблема с редактированием диплома в день защиты. Принесла ноутбук, выяснилось что у нее ворд перешел в полноэкранный режим, а сделать с этим она ничего не могла. Клавиша Esc выручила).
Хотя у меня иногда здесь ответ, который я пишу, выравнивается по правой границе окна ввода. Как вернуть сам не знаю, копирую, и пересоздаю ответ.
И кстати замечал, что молодежь отлично пользуется планшетом, но зачем нужны кнопки Home/End/PgUp/PgDown понятия не имеют.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Отредактировано 17.09.2020 13:34 lpd . Предыдущая версия .
Re[2]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.09.20 13:58
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>А пользователь про себя подумал

F>

F>Вот же, блин, разработчики, тоже мне. Окно рисуют, а что оно вдвое больше экрана им пофигу. И как они вообще программы писать-то могут?


Дык, сама винда на таких экранах сплошь и рядом именно так рисует свои собственные окна. Нужно быть чертовски везучим (или крайне невнимательным), чтоб на это не напороться. Ну, или каждый раз горестно качать головой и нажимать Esc с мыслью "блин, и тут не получится".
Re[2]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.09.20 14:02
Оценка:
Здравствуйте, L.K., Вы писали:

LK>Глупость — это не проверить работу программы при разных разрешениях экрана.


Да, начиная с 320x200.
Re[4]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.09.20 15:15
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Это ТВОЙ косяк как разработчика и бизнесмена. Как минимум квадратные моники 15'' ещё где-то есть.


У тех "квадратных моников" разрешение минимум 1024x768. Упомянутое окно имеет размеры 527x618, на них оно прекрасно смотрится.

Если что, я только в прошлом году увеличил разрешение тестовых виртуалок, в которых отлаживаю софт, с тех самых 1024x768 до 1280x800. Многие из вас, критиков, могут похвастаться тем, что весь свой софт проверяют под такими разрешениями?
Re[4]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.09.20 15:19
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Как минимум квадратные моники 15'' ещё где-то есть.


Да, и еще: я отображаю окно с центрированием, а на фотке экрана того юзера оно было смещено книзу, а сверху было прилично свободного пространства. Уж не знаю, каким образом оно так отобразилось, я такого предусмотреть не мог.
Re[5]: Пределы глупости человеческой :)
От: зиг Украина  
Дата: 17.09.20 18:29
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, Kernan, Вы писали:


K>>Как минимум квадратные моники 15'' ещё где-то есть.


ЕМ>Да, и еще: я отображаю окно с центрированием, а на фотке экрана того юзера оно было смещено книзу, а сверху было прилично свободного пространства. Уж не знаю, каким образом оно так отобразилось, я такого предусмотреть не мог.

бага значит какая-то у тебя там
Re: Пределы глупости человеческой :)
От: 0xCAFEDEAD  
Дата: 17.09.20 18:35
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Вчера один юзер купил несколько лицензий, для установки на разные компьютеры, собрался организовать какую-то навороченную систему голосовой связи. Сегодня пишет "успешно установил на два компьютера, а на третий не могу — у окна с текстом лицензионного соглашения нет кнопки "принять"! Что делать, помогите!". Приложил фото (не скриншот) экрана — экран что-то вроде 1024x600, нижняя часть окна тупо не влезла. Осторожно спросил, не пробовал ли он сдвинуть окно вверх. Через полчаса отписался — "спасибо, теперь все получилось!".


ЕМ>Вот как они, такие, вообще за компьютером работают?


Да как и я на машине езжу. Чуть что в сервис, не знаю даже сколько у меня лошадей и какая кокробка. (Да и модель точную забыл) Ну не надо мне это.
Re[6]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.09.20 18:55
Оценка:
Здравствуйте, зиг, Вы писали:

зиг>бага значит какая-то у тебя там


Это тупой диалог. В стилях диалога стоит DS_CENTER, отображается он через вызов DialogBox. В WM_INITDIALOG устанавливается только фокус на кнопку, никаких позиционирований нет. Где там может быть бага?
Re[2]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.09.20 18:57
Оценка:
Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF>Да как и я на машине езжу. Чуть что в сервис, не знаю даже сколько у меня лошадей и какая кокробка. (Да и модель точную забыл) Ну не надо мне это.


Не, более подходящей аналогией будет "если на парковке у тротуара спереди и сзади встали через полметра — вызываю эвакуатор, поскольку сам не выеду".
Re[5]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 17.09.20 19:42
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Многие из вас, критиков, могут похвастаться тем, что весь свой софт проверяют под такими разрешениями?


Ну у меня есть софтины которым всё равно какого размера окно — они позволяют скроллить контент в любом направлении, примерно как в PDF viewer.

Крупные (крупнее типичного OK/Cancel диалога) окна фиксированного размера таки в некотором роде зло, хотя с эстетической точки зрения выглядят лучше.
Хуже только мелкие окна с контролами, куда выводится много контента и которые не дают растянуть view пошире.
Впрочем я за большие экраны.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[7]: Пределы глупости человеческой :)
От: зиг Украина  
Дата: 17.09.20 20:41
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, зиг, Вы писали:


зиг>>бага значит какая-то у тебя там


ЕМ>Это тупой диалог. В стилях диалога стоит DS_CENTER, отображается он через вызов DialogBox. В WM_INITDIALOG устанавливается только фокус на кнопку, никаких позиционирований нет. Где там может быть бага?


ну раз говоришь само съехало из центра, хотя не должно было? значит где-то бага
Re[2]: Пределы глупости человеческой :)
От: Codealot Земля  
Дата: 17.09.20 23:50
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>А пользователь про себя подумал

F>

F>Вот же, блин, разработчики, тоже мне. Окно рисуют, а что оно вдвое больше экрана им пофигу. И как они вообще программы писать-то могут?

F>

Кстати говоря, вполне реально. У Paragon Backup в режиме загрузочной флэшки разрешение слишком маленькое и окна не помещаются на экран
Ад пуст, все бесы здесь.
Re[2]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 18.09.20 05:43
Оценка:
Здравствуйте, alzt, Вы писали:

A>когда писал не консольные программы для сдачи, считал обязательным проверить, что каждая адекватно масштабируется, красиво смотрится, если её развернуть или растянуть и прочие мелочи.


Речь не об окне программы, с которой работают много и часто, а о диалоге, однократно показывающем лицензионное соглашение (которого все равно никто не читает) при установке. На кой к нему приделывать масштабирование?
Re[3]: Пределы глупости человеческой :)
От: Je suis Mamut  
Дата: 18.09.20 05:47
Оценка:
LK>>Глупость — это не проверить работу программы при разных разрешениях экрана.

ЕМ>Да, начиная с 320x200.


1024x600 очень популярное разрешение когда-то, у меня до сих пор такой старый ноут валяется в рабочем состоянии
Re[8]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 18.09.20 05:52
Оценка:
Здравствуйте, зиг, Вы писали:

зиг>ну раз говоришь само съехало из центра, хотя не должно было?


А я не знаю, само оно съехало, или кто-то помог. Я видел только фото, которое прислал юзер.

зиг>значит где-то бага


Исходя из того, что у меня там просто нет кода, в котором могла бы быть такая бага, она или в винде, или в руках у юзера.
Re[5]: Пределы глупости человеческой :)
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 18.09.20 06:01
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У тех "квадратных моников" разрешение минимум 1024x768. Упомянутое окно имеет размеры 527x618, на них оно прекрасно смотрится.


ЕМ>Если что, я только в прошлом году увеличил разрешение тестовых виртуалок, в которых отлаживаю софт, с тех самых 1024x768 до 1280x800. Многие из вас, критиков, могут похвастаться тем, что весь свой софт проверяют под такими разрешениями?


Я на 800x600 тестирую. Но я не настоящий сварщик
Маньяк Робокряк колесит по городу
Re: Пределы глупости человеческой :)
От: Shtole  
Дата: 18.09.20 06:11
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Вчера один юзер купил несколько лицензий, для установки на разные компьютеры, собрался организовать какую-то навороченную систему голосовой связи. Сегодня пишет "успешно установил на два компьютера, а на третий не могу — у окна с текстом лицензионного соглашения нет кнопки "принять"! Что делать, помогите!". Приложил фото (не скриншот) экрана — экран что-то вроде 1024x600, нижняя часть окна тупо не влезла. Осторожно спросил, не пробовал ли он сдвинуть окно вверх. Через полчаса отписался — "спасибо, теперь все получилось!".


ЕМ>Вот как они, такие, вообще за компьютером работают?


У вас как вообще окно организовано? Не должно быть такого. Окно должно входить на экран, кнопки снизу иметь фиксированную высоту, окно текста лицензии сверху занимать всю оставшуюся площадь. Если такие layout'ы трудно писать на WinAPI (а я помню, вы что-то низкоуровневое под винду пишете, правильно? Много лет назад вас читал), пользуйтесь ML-based UI.

Что касается предела тупости: нет, это не предел. Ну, просто вы немного ошиблись, с кем не бывает. Первое место я отдаю разработчикам Microsoft, которые в одном из инсталляторов УБРАЛИ кнопки снизу на одном из этапов (причём внезапно так, на 3-м или 5-м шаге), вместо них надо было кликать на надписи Install <ProductName> на самой странице (wizard page) установщика. Эта надпись была, оказывается, кнопкой, хотя как кнопка ни разу не выглядела.
Do you want to develop an app?
Отредактировано 18.09.2020 6:35 Shtole . Предыдущая версия . Еще …
Отредактировано 18.09.2020 6:13 Shtole . Предыдущая версия .
Re[3]: Пределы глупости человеческой :)
От: Anton Batenev Россия https://github.com/abbat
Дата: 18.09.20 06:28
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ> На кой к нему приделывать масштабирование?


Для того, чтобы на маленьких разрешениях можно было нажать кнопку "Принять"?
Re[4]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 18.09.20 06:29
Оценка:
Здравствуйте, Je suis Mamut, Вы писали:

JSM>1024x600 очень популярное разрешение когда-то, у меня до сих пор такой старый ноут валяется в рабочем состоянии

У меня такой тоже есть. Думал его для E-Sys применить, поскольку он маленький но там какой то говёный enet и кабеля не видит.
А так я на него хожу по RDP а там разрешение сколько потянет монитор клиента.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[2]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 18.09.20 06:29
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Если такие layout'ы трудно писать на WinAPI

Такое как раз не трудно.

S>вместо них надо было кликать на надписи Install <ProductName> на самой странице (wizard page) установщика. Эта надпись была, оказывается, кнопкой, хотя как кнопка ни разу не выглядела.


Вбыв бы! (С)
Поди ещё и курсор не менялся при наведении, чтоб уж совсем поржать над тупым юзером.
Для того и нужны UI guidelines чтоб у юзера не возникало WTF который надо решать пиксельхантингом, пытаясь угадать.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[3]: Пределы глупости человеческой :)
От: Shtole  
Дата: 18.09.20 06:53
Оценка:
Здравствуйте, fmiracle, Вы писали:

F>Здравствуйте, Shtole, Вы писали:


S>>Первое место я отдаю Microsoft, которые в одном из инсталляторов УБРАЛИ кнопки снизу на одном из этапов (причём внезапно так, на 3-м или 5-м шаге), вместо них надо было кликать на надписи Install <ProductName> на самой странице (wizard page) установщика. Эта надпись была, оказывается, кнопкой, хотя как кнопка ни разу не выглядела.


F>Ну как тут не вспомнить эту игру про неочевидные интерфейсы. Начинается как раз с такой вот невыделенной кнопки


Спасибо за 5 минут здорового смеха! Прошёл
Do you want to develop an app?
Re[2]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 18.09.20 06:58
Оценка:
Здравствуйте, Shtole, Вы писали:

S>У вас как вообще окно организовано?


Статический диалог со статическим же текстовым блоком внутри.

S>Окно должно входить на экран, кнопки снизу иметь фиксированную высоту, окно текста лицензии сверху занимать всю оставшуюся площадь.


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

S>Первое место я отдаю разработчикам Microsoft, которые в одном из инсталляторов УБРАЛИ кнопки снизу на одном из этапов (причём внезапно так, на 3-м или 5-м шаге), вместо них надо было кликать на надписи Install <ProductName> на самой странице (wizard page) установщика. Эта надпись была, оказывается, кнопкой, хотя как кнопка ни разу не выглядела.


Да, явно дурацкое решение. Но здесь другой случай: как можно работать с компьютером дольше нескольких дней, и ни разу не перемещать окон на рабочем столе? Особенно на экране малой площади, где они все время норовят перекрыть друг друга?
Re[3]: Пределы глупости человеческой :)
От: Shtole  
Дата: 18.09.20 07:03
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>вместо них надо было кликать на надписи Install <ProductName> на самой странице (wizard page) установщика. Эта надпись была, оказывается, кнопкой, хотя как кнопка ни разу не выглядела.


CC>Вбыв бы! (С)

CC>Поди ещё и курсор не менялся при наведении, чтоб уж совсем поржать над тупым юзером.
CC>Для того и нужны UI guidelines чтоб у юзера не возникало WTF который надо решать пиксельхантингом, пытаясь угадать.

По гайдлайнам курсор и не должен меняться. Кнопка же. В общем, голову гайдлайнами не заменить. Хотя я всецело за ознакомление с гайдлайнами. Для общего развития
Do you want to develop an app?
Re[3]: Пределы глупости человеческой :)
От: Shtole  
Дата: 18.09.20 07:08
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

S>>Окно должно входить на экран, кнопки снизу иметь фиксированную высоту, окно текста лицензии сверху занимать всю оставшуюся площадь.

ЕМ>Это нормальный подход для рабочего окна, но для окна, однократно показываемого при установке, подобная автоматика уже явно лишняя.

Оказалось, что не совсем

S>>Первое место я отдаю разработчикам Microsoft, которые в одном из инсталляторов УБРАЛИ кнопки снизу на одном из этапов (причём внезапно так, на 3-м или 5-м шаге), вместо них надо было кликать на надписи Install <ProductName> на самой странице (wizard page) установщика. Эта надпись была, оказывается, кнопкой, хотя как кнопка ни разу не выглядела.

ЕМ>Да, явно дурацкое решение. Но здесь другой случай: как можно работать с компьютером дольше нескольких дней, и ни разу не перемещать окон на рабочем столе? Особенно на экране малой площади, где они все время норовят перекрыть друг друга?

Вы не поверите, я на тот момент несколько ЛЕТ проработал за компом. Несколько это 6 или 7. Так, программки всякие писал. Сиплюсплюс синьор девелопер. Но тот диалог сумел подобрать ключик к моему внутреннему идиоту
Do you want to develop an app?
Re[4]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 18.09.20 08:07
Оценка:
Здравствуйте, Shtole, Вы писали:

S>По гайдлайнам курсор и не должен меняться. Кнопка же.

Для того, чтобы быть кнопкой она должна соответствовать гайдлайнам для кнопок, что явно не было соблюдено.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 18.09.20 08:08
Оценка:
Здравствуйте, Vlad_SP, Вы писали:

V_S>Условно, я бы применил такой подход:

V_S>А. оценить сколько денег (по меньшей мере время*зарплату) нужно на тестирование и допиливание интерфейса при "всех возможных разрешениях экрана", начиная если уж не с 320х200, то хотя бы с 640х480;
V_S>Б. оценить, сколько денег принесут дополнительно эти единичные пользователи с низкими разрешениями экранов.
V_S>Если А >= Б, то допиливать интерфейс под низкие разрешения — только себе в убыток. Нет?

Это верный подход.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[4]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 18.09.20 08:20
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Вы не поверите, я на тот момент несколько ЛЕТ проработал за компом. Несколько это 6 или 7. Так, программки всякие писал. Сиплюсплюс синьор девелопер. Но тот диалог сумел подобрать ключик к моему внутреннему идиоту


Сколько раз за все это время Вам случалось двигать по экрану окна до того, как Вы впервые увидели ту странную "кнопку"? Я ж Вам об относительном, а Вы мне — об абсолютном.
Re[4]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 18.09.20 08:22
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Если стол маленький то натурально всё всегда держится maximized а переключаются alt-tabом


Я на маленьких экранах растягиваю только те окна, где большой объем информации. Какой смысл растягивать маленькие окна, если их можно поставить рядом? Да и не каждое главное окно позволяет менять размер. Доктор, я безнадежен?
Re[3]: Пределы глупости человеческой :)
От: Shtole  
Дата: 18.09.20 08:24
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

A>>когда писал не консольные программы для сдачи, считал обязательным проверить, что каждая адекватно масштабируется, красиво смотрится, если её развернуть или растянуть и прочие мелочи.


ЕМ>Речь не об окне программы, с которой работают много и часто, а о диалоге, однократно показывающем лицензионное соглашение (которого все равно никто не читает) при установке. На кой к нему приделывать масштабирование?


Встречный вопрос: а на кой вообще этот диалог делать было?

Исторически, эту моду (на гипертрофированные установщики) ввела Microsoft. Смысл был такой, что ПОКУПКА софта это событие. Ты приносишь домой/в офис коробку, достаёшь оттуда пачку дискет, наливаешь чай с плюшками, зовёшь всю семью/коллег и с чувством, с толком, смакуя каждое мгновение, устанавливаешь программу. Только вот было это 30 лет назад.

В наши дни обычно делают кастомный мини-инсталлятор. Кстати, на голом WinAPI (чтобы не тащить зависимости к установщику) пишется меньше, чем за день. Мы на обсуждение этой темы скоро больше потратим. А проблем решается дофигищща. (Каких проблем? А вот таких, как в заглавном сообщении). Самое трудоёмкое там -- зарегистрироваться в установленных программах, чтобы uninstall стандартный был. Сам же диалог принято делать так:

1. Таскабельный белый прямоугольник без заголовка (теперь вы понимаете, почему стоит экономить на заголовке?). Делается через NC_HITTEST, насколько я помню. Справа вверху крестик в client area.
2. По центру горизонтально, по вертикали ближе к верху, большая синяя кнопка Install <ProductName>. (Теперь понятно, почему всё так, да?)
3. Чуть ниже другая кнопка, поменьше: Options, которая при нажатии меняется на поле выбора папки. (Разумеется, диалог на кнопке ... должен открывать File Open dialog, а не Choose folder -- тут, как говорил Мавроди, "Даже объяснять лень").
4. Вместо лицензии внизу мелким шрифтом: "Устанавливая программу, вы соглашаетесь с лицензией: landing.com/eula". Можете запрограммировать гиперссылку, это полчаса работы. Но можете этого и не делать, юзер с подводной лодки никуда не денется и он сам это знает.

Всё остальное переносится в настройки программы.
Do you want to develop an app?
Re[5]: Пределы глупости человеческой :)
От: Shtole  
Дата: 18.09.20 08:44
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>По гайдлайнам курсор и не должен меняться. Кнопка же.

CC>Для того, чтобы быть кнопкой она должна соответствовать гайдлайнам для кнопок, что явно не было соблюдено.

Не было, да. Но проблема, как мне кажется, начинается раньше

Юзер щёлкает внизу: Next, Next, Next... БУМ! Кнопка Install, (не) выглядящая как кнопка, вдруг оказывается сверху. "Вот это поворот!"
Do you want to develop an app?
Re[5]: Пределы глупости человеческой :)
От: Shtole  
Дата: 18.09.20 09:00
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

S>>Вы не поверите, я на тот момент несколько ЛЕТ проработал за компом. Несколько это 6 или 7. Так, программки всякие писал. Сиплюсплюс синьор девелопер. Но тот диалог сумел подобрать ключик к моему внутреннему идиоту

ЕМ>Сколько раз за все это время Вам случалось двигать по экрану окна до того, как Вы впервые увидели ту странную "кнопку"? Я ж Вам об относительном, а Вы мне — об абсолютном.

Разумеется, какое-то разумное объяснение пользовательскому поведению есть. Но поскольку вы фотку не запостили, остаётся только гадать. Может, ваш диалог на том разрешении снизу обрезается так, что создаётся иллюзия, что внизу больше нет ничего. А может юзер не ту фотку прислал. А может... много чего ещё может быть.

Мой point в том, что вместо гадания лучше делать так, чтобы гадать не пришлось.

Выше я написал про custom installers. Но я кое о чём умолчал: когда коллеги мне предложили такой запилить, я очень долго сопротивлялся. Инерция мышления. Как же так: setup.exe, который не заколебёт до полусмерти своими Next'ами. Непорядок. А теперь я всё глубже понимаю, насколько они были правы. Ваш случай -- гирька на их чашу весов.
Do you want to develop an app?
Re: Пределы глупости человеческой :)
От: Gradiens  
Дата: 18.09.20 11:46
Оценка:
Хм, а попорбовать при инициализации автоматом сдвигать окно, так чтобы оно гарантированно влезло на экран, вы не пробовали?
Re[2]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 18.09.20 12:05
Оценка:
Здравствуйте, Gradiens, Вы писали:

G>автоматом сдвигать окно, так чтобы оно гарантированно влезло на экран, вы не пробовали?


Нет, как и обеспечить отображение этого окна на CGA.
Re[3]: Пределы глупости человеческой :)
От: Pavel Dvorkin Россия  
Дата: 18.09.20 14:19
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, Gradiens, Вы писали:


G>>автоматом сдвигать окно, так чтобы оно гарантированно влезло на экран, вы не пробовали?


ЕМ>Нет, как и обеспечить отображение этого окна на CGA.


Женя, зря ты так. CGA Windows нынешняя не поддерживает, а вот 640*480 теоретически быть может. Как минимум в Safe Mode. И проверить, что все в этом (и в других) режиме видно, вполне можно было. Пользователь, конечно, глуп по определению, но он не обязан разгадывать загадки.
With best regards
Pavel Dvorkin
Re[4]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 18.09.20 14:28
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>640*480 теоретически быть может. Как минимум в Safe Mode.


Начиная с висты — 800x600.

PD>Пользователь, конечно, глуп по определению, но он не обязан разгадывать загадки.


Судя по тому, что высоту окна я увеличил в январе, а первая жалоба (да и та неадекватная) поступила в сентябре, я таки правильно расставил приоритеты.
Re[4]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 18.09.20 19:16
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Самое трудоёмкое там -- зарегистрироваться в установленных программах, чтобы uninstall стандартный был.

Да в общем то нет, просто подветка в реестре с парой параметров.

S> Сам же диалог принято делать так:

S>1. Таскабельный белый прямоугольник без заголовка
Это где так принято?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[6]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 18.09.20 19:16
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Юзер щёлкает внизу: Next, Next, Next... БУМ! Кнопка Install, (не) выглядящая как кнопка, вдруг оказывается сверху. "Вот это поворот!"

Тоже верно.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[4]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 18.09.20 19:16
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Женя, зря ты так. CGA Windows нынешняя не поддерживает, а вот 640*480 теоретически быть может. Как минимум в Safe Mode.

Я как то натолкнулся что винда в Safe mode не поддерживает удаление программ, когда пытался откатить криво вставшие vmware tools, убившие видео. В нормальном режиме я получал чёрный экран а в safe не мог удалить кривой видеодрайвер. Вот такая вот засада вышла.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: Пределы глупости человеческой :)
От: Pavel Dvorkin Россия  
Дата: 19.09.20 05:42
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Я как то натолкнулся что винда в Safe mode не поддерживает удаление программ, когда пытался откатить криво вставшие vmware tools, убившие видео. В нормальном режиме я получал чёрный экран а в safe не мог удалить кривой видеодрайвер. Вот такая вот засада вышла.



Странно. Вообще-то Safe Mode и предназначен для того, чтобы войти, не загружая драйверы, кроме списка для Safe Mode, а потом удалить то, что вызывает проблемы. В противном случае зачем он нужен — не работать же в нем постоянно ?
With best regards
Pavel Dvorkin
Re[5]: Пределы глупости человеческой :)
От: Shtole  
Дата: 19.09.20 07:51
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

S>>В наши дни обычно делают кастомный мини-инсталлятор.

ЕМ>Где это "обычно" делают? Что ни возьму — или MSI, или Inno, или NSIS, или самодельное, но похожее.

Пожалуй, я погорячился про "обычно". Я в последнее время работал с компанией, через которую много софта проходило. Они его монетизировали и всеми правдами и неправдами повышали разные конверсии, в т.ч. "те, кто запустил инсталлер -> те, кто дошёл до установленной программы". Но не нарушая приличий, чтобы не забанили. (Отсюда крестик, eula и стандартный uninstall). Но не всем это нужно, видимо -- конверсию повышать. (Ирония).

S>>Самое трудоёмкое там -- зарегистрироваться в установленных программах, чтобы uninstall стандартный был.


ЕМ>У нас явно разные понятия о трудоемкости. Для регистрации достаточно лишь создать ветку в Uninstall с несколькими параметрами. Это сугубо локальная, синхронная и линейная операция. Для реализации любого "мастера" требуется создать несколько шаблонов диалогов (ну, или создавать каждый во время выполнения), написать кучку обработчиков оконных сообщений, сделать из всех этого нечто вроде конечного автомата, и т.д.


Я говорил о том, что в установщике, сделанном по описанной выше схеме, это [должно быть] самое трудное. Это критерий переусложнённости, если хотите. Если вам это не кажется самым трудным, возможно, стоит задуматься

S>>2. По центру горизонтально, по вертикали ближе к верху, большая синяя кнопка Install <ProductName>. (Теперь понятно, почему всё так, да?)


ЕМ>Непонятно. Где такое можно увидеть?


Таким был, если мне не изменяет память, установщик Chrome, пока они его ещё больше не упростили. (Я, кстати, как-то пропустил это изменение -- щас перезапустил установку, а он вообще молча всё ставит без вопросов. Вопросы там частично переехали на лендинг, частично были признаны риторическими Вот кто о конверсии думает).

S>>3. Чуть ниже другая кнопка, поменьше: Options, которая при нажатии меняется на поле выбора папки.


ЕМ>Зачем меняется? Чтобы смотрелось круто и непонятно?


Чтобы не делать всего того, о чём вы выше писали -- дополнительные диалоги etc. Такой, типа, рудиментарный wizard. Идея в том, что кнопка Options меньше замусоривает окно, чем само поле с абракадаброй "Program Files (x86)" или "Users\%UserName%", а львиная доля пользователей нажимать на неё всё равно не будет.

S>>4. Вместо лицензии внизу мелким шрифтом: "Устанавливая программу, вы соглашаетесь с лицензией: landing.com/eula".


ЕМ>Тогда придется на каждую выпущенную версию держать отдельный файл лицензии на сервере. Да и неправильно это — для несетевой программы иметь лицензионное соглашение только в сети. Пользователей, у которых какое-то время нет доступа к сети, значительно больше, чем обладателей мониторов 800x600.


Вам решать Я просто поделился опытом
Do you want to develop an app?
Отредактировано 19.09.2020 9:26 Shtole . Предыдущая версия .
Re[5]: Пределы глупости человеческой :)
От: Shtole  
Дата: 19.09.20 07:53
Оценка:
Здравствуйте, CreatorCray, Вы писали:

S>>Самое трудоёмкое там -- зарегистрироваться в установленных программах, чтобы uninstall стандартный был.

CC>Да в общем то нет, просто подветка в реестре с парой параметров.

S>> Сам же диалог принято делать так:

S>>1. Таскабельный белый прямоугольник без заголовка
CC>Это где так принято?

Несколько лет назад, мне помнится, любые установщики браузеров так делались. Если память меня подвела, покорнейше прошу простить и считать написанное моей творческой находкой.
Do you want to develop an app?
Re[6]: Пределы глупости человеческой :)
От: Shtole  
Дата: 19.09.20 10:05
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

CC>>Я как то натолкнулся что винда в Safe mode не поддерживает удаление программ, когда пытался откатить криво вставшие vmware tools, убившие видео. В нормальном режиме я получал чёрный экран а в safe не мог удалить кривой видеодрайвер. Вот такая вот засада вышла.


PD>Странно. Вообще-то Safe Mode и предназначен для того, чтобы войти, не загружая драйверы, кроме списка для Safe Mode, а потом удалить то, что вызывает проблемы. В противном случае зачем он нужен — не работать же в нем постоянно ?


Я его использовал для Restore Points. ИМХО, винда ненавязчиво намекает, что удалять глючнософт надо ролбэками, а не новыми транзакциями. (Кстати, это к вопросу о регистрации в списке программ и что в него входит -- restore point надо создавать. Я же помню, там не всё так просто).
Do you want to develop an app?
Отредактировано 19.09.2020 10:11 Shtole . Предыдущая версия .
Re[6]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 19.09.20 10:26
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Странно. Вообще-то Safe Mode и предназначен для того, чтобы войти, не загружая драйверы, кроме списка для Safe Mode, а потом удалить то, что вызывает проблемы.

Вот и я того же ожидал. Но получил в ответ message box что windows installer service не может работать в safe mode поэтому хрен мне по всей морде а не удалить сглючивший драйвер.
Плюнул и переустановил, оказалось банально быстрее.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[7]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 19.09.20 10:26
Оценка:
Здравствуйте, Shtole, Вы писали:

Это в виртуалку ставилось, я там снапшоты делаю перед/после установкой чего либо или каким переконфигурированием.
Но поставить VMware tools чтоб получить нормальную интеграцию это самый первый шаг после инсталла, и всегда всё во всех версиях винды работало прекрасно, а в конкретно этой чего то перекосило.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: Пределы глупости человеческой :)
От: Ночной Смотрящий Россия  
Дата: 19.09.20 14:37
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У тех "квадратных моников" разрешение минимум 1024x768. Упомянутое окно имеет размеры 527x618, на них оно прекрасно смотрится.


Ну так напиши крупными буквами в system requirements минимальное разрешение хотя бы.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[6]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 20.09.20 08:04
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Но не всем это нужно, видимо -- конверсию повышать. (Ирония).


Любыми средствами — действительно не всем.

S>>>Самое трудоёмкое там -- зарегистрироваться в установленных программах, чтобы uninstall стандартный был.


S>в установщике, сделанном по описанной выше схеме, это [должно быть] самое трудное.


Такое возможно, если установщик написан на готовом GUI-фреймворке. У меня он на голом WinAPI, где интерфейсные взаимодействия по определению реализуются значительно сложнее, чем регистрация в Uninstall.

S>Если вам это не кажется самым трудным, возможно, стоит задуматься


Да, я уже задумывался, и пытался делать на фреймворках. Пока не понравился ни один. На WinAPI — просто писанина и лишний код, на фреймворках — или борьба с неочевидными косяками (MFC, WTL), или неадекватный размер бинарников (Qt).

S>Таким был, если мне не изменяет память, установщик Chrome, пока они его ещё больше не упростили.

S>он вообще молча всё ставит без вопросов.

Вот за это авторы установщиков, подобных Chrome, должны вечно гореть в аду, предварительно подвергшись четвертованию.

S>>>3. Чуть ниже другая кнопка, поменьше: Options, которая при нажатии меняется на поле выбора папки.

S>что кнопка Options меньше замусоривает окно, чем само поле с абракадаброй "Program Files (x86)" или "Users\%UserName%"

Тогда она должна называться не Options, а Directory, или как-то еще. Options, по смыслу — это различные опции.
Re[7]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 20.09.20 08:06
Оценка:
Здравствуйте, Shtole, Вы писали:

S>ИМХО, винда ненавязчиво намекает, что удалять глючнософт надо ролбэками, а не новыми транзакциями.


Об этом она намекает только в отношении софта, глубоко внедряющегося в систему.

S>Кстати, это к вопросу о регистрации в списке программ и что в него входит -- restore point надо создавать.


Для каждой программы — не нужно.
Re[7]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 20.09.20 08:09
Оценка:
Здравствуйте, CreatorCray, Вы писали:

PD>>Safe Mode и предназначен для того, чтобы войти, не загружая драйверы, кроме списка для Safe Mode, а потом удалить то, что вызывает проблемы.


CC>Вот и я того же ожидал. Но получил в ответ message box что windows installer service не может работать в safe mode поэтому хрен мне по всей морде а не удалить сглючивший драйвер.


Подозреваю, что в установщик того драйвера напихали всякой дряни, чтобы смотрелось стильно-модно-молодежно, вот он и не взлетел в Safe Mode.
Re: Пределы глупости человеческой :)
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.09.20 08:23
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Вчера один юзер купил несколько лицензий, для установки на разные компьютеры, собрался организовать какую-то навороченную систему голосовой связи. Сегодня пишет "успешно установил на два компьютера, а на третий не могу — у окна с текстом лицензионного соглашения нет кнопки "принять"! Что делать, помогите!". Приложил фото (не скриншот) экрана — экран что-то вроде 1024x600, нижняя часть окна тупо не влезла. Осторожно спросил, не пробовал ли он сдвинуть окно вверх. Через полчаса отписался — "спасибо, теперь все получилось!".


Ну так ты поправил код-то, чтобы окно всегда влезало?
Re[7]: Пределы глупости человеческой :)
От: Shtole  
Дата: 20.09.20 09:09
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

S>>Но не всем это нужно, видимо -- конверсию повышать. (Ирония).

ЕМ>Любыми средствами — действительно не всем.

Ой, come on. Вместо нечитаемой лицензии в диалоге дать ссылку на нечитаемую лицензию на сайте -- преступление века. Юзер, я вам скажу, просто НЕ ЗАМЕТИТ разницы. Или вы про что? Какие ещё "любые средства" имеются в виду?

S>>>>Самое трудоёмкое там -- зарегистрироваться в установленных программах, чтобы uninstall стандартный был.


S>>в установщике, сделанном по описанной выше схеме, это [должно быть] самое трудное.


ЕМ>Такое возможно, если установщик написан на готовом GUI-фреймворке. У меня он на голом WinAPI, где интерфейсные взаимодействия по определению реализуются значительно сложнее, чем регистрация в Uninstall.


А я на это уже заранее написал:

S>В наши дни обычно делают кастомный мини-инсталлятор. Кстати, на голом WinAPI (чтобы не тащить зависимости к установщику) пишется меньше, чем за день.


WinAPI, конечно, не HTML, но на нём тоже делаются хорошие интерфейсы. Уж всяко лучше, чем на некоторых якобы оконных фреймворках. (Я про MFC. MFC классный, но я ни разу не видел, чтобы его кто-то использовал по назначению. Всегда тащат, как обёртку над WinAPI). В свою очередь, в чисто гуишной части самое трудное, насколько я помню -- красивые полупрозрачные тени (на десктоп), но и они программируются довольно быстро. Код установщика со всеми логотипами, ресурсами, png'шками и градиентами получился... а вот не вспомню сколько, но точно меньше 500К. Минимально поддерживалась XP SP2. Возможно, с 2K это действительно будет труднее, если у вас поддерживается старина винтукей, я пас.

Там, кстати, такая история была, если хотите. Поскольку основной продукт опирался на GUI-фреймворк (да, при наличии выбора я, разумеется, выбираю ML), я изначально собирался dll'ку фреймворка засунуть в ресурсы установщика и юзать при установке, а в ходе установки дополнительно копировать в целевую папку. Потом мне пришла идея ещё лучше -- сделать копии. В ресурсах одна, в наборе устанавливаемых файлов -- другая. Компрессор умный, он догадается. Так и получилось, оверхед составил что-то десятичного порядка 100К при размере dll в несколько мегабайт, что было определённо допустимо. Но коллеги попросили сделать установщик универсальным, что я и в итоге сделал.

И ещё кое-что. Я тут вспомнил, что не всё так просто с регистрацией, как вы пытаетесь представить. Надо ещё restore point создавать, а может и ещё чего-то. Эту часть писал не я, и слава богу. Знать администрирование виндов на ять (как себя вести в safe mode? вписаться в бэкапирование? в чужие сборочные пакеты? стандартные ключи командной строки?) -- по-моему, легче красивые тени делать.

S>>Если вам это не кажется самым трудным, возможно, стоит задуматься

ЕМ>Да, я уже задумывался, и пытался делать на фреймворках. Пока не понравился ни один. На WinAPI — просто писанина и лишний код, на фреймворках — или борьба с неочевидными косяками (MFC, WTL), или неадекватный размер бинарников (Qt).

Какая часть вам кажется трудоёмкой? Спрашивайте, я подскажу. (Если вспомню, конечно). Фон -- WHITE_BRUSH в оконном классе. Тени -- 3 png. Кнопку нарисовать? OWNER_DRAW + png.

S>>Таким был, если мне не изменяет память, установщик Chrome, пока они его ещё больше не упростили.

S>>он вообще молча всё ставит без вопросов.
ЕМ>Вот за это авторы установщиков, подобных Chrome, должны вечно гореть в аду, предварительно подвергшись четвертованию.

Ну, я бы так делать не стал.

S>>>>3. Чуть ниже другая кнопка, поменьше: Options, которая при нажатии меняется на поле выбора папки.

S>>что кнопка Options меньше замусоривает окно, чем само поле с абракадаброй "Program Files (x86)" или "Users\%UserName%"

ЕМ>Тогда она должна называться не Options, а Directory, или как-то еще. Options, по смыслу — это различные опции.


А когда техподдержка советует подуть в провод питания, она на самом деле борется с пылью, ага.
Do you want to develop an app?
Re[8]: Пределы глупости человеческой :)
От: Shtole  
Дата: 20.09.20 09:15
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

S>>ИМХО, винда ненавязчиво намекает, что удалять глючнософт надо ролбэками, а не новыми транзакциями.

ЕМ>Об этом она намекает только в отношении софта, глубоко внедряющегося в систему.
S>>Кстати, это к вопросу о регистрации в списке программ и что в него входит -- restore point надо создавать.
ЕМ>Для каждой программы — не нужно.

Я со своей стороны люто ненавижу установщики, которые этого не делают. В аду четвертовать и так далее. Кстати, некоторые эгоистично считают, что их надо создавать для программы, которая может покоцать систему. На самом же деле, юзер хочет видеть, куда ему откатываться, после установки следующей глючно-системной программы, которая этого НЕ сделала (на то она и глючная, хе-хе), чтобы потерять по минимуму установленного софта.
Do you want to develop an app?
Re[8]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 20.09.20 13:37
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Подозреваю, что в установщик того драйвера напихали всякой дряни, чтобы смотрелось стильно-модно-молодежно, вот он и не взлетел в Safe Mode.

Не, там всё предельно просто, но MSI требует Windows Installer Service а тот при попытке запустить говорит что "в safe mode я не работаю". И всё.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[2]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 20.09.20 14:30
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Ну так ты поправил код-то, чтобы окно всегда влезало?


Я уменьшил высоту, чтоб влезало на 600 по вертикали.
Re[8]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 20.09.20 14:37
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Какая часть вам кажется трудоёмкой? Спрашивайте, я подскажу. (Если вспомню, конечно). Фон -- WHITE_BRUSH в оконном классе. Тени -- 3 png. Кнопку нарисовать? OWNER_DRAW + png.


"Трудоемкой" — это не "придумать алгоритм" или "догадаться, какие функции использовать", а тупо кодить обработку всех вариантов всех сообщений и передачу данных между обработчиками. Не люблю такого кода, он развесистый и неочевидный.
Re[8]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 20.09.20 14:45
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>При писанине на WinAPI сам собой формируется небольшой такой framework, который потом можно реюзать.


У меня пока не получилось такого, чтоб можно было реюзать без геморроя и значительного переписывания. Чтоб получилось, нужно делать нечто универсальное, типа мини-WTL, и при этом учесть известные проблемы известных фреймворков. Я не так много пишу для GUI, чтобы сформировалось понимание того, как это наперед сделать правильно.

CC>Я как то в стартапе за пару вечеров написал на WinAPI свой инсталлер, повторяющий MSI (WIX based) инсталлер по внешнему виду и той части функциональности что была нам надо (firewall config, services mgmt, drivers install/remove, custom binary actions)


За пару вечеров такое делается только в очень сыром и ненадежном виде, который затем приходится много где доделывать и переделывать.
Re[10]: Пределы глупости человеческой :)
От: Shtole  
Дата: 20.09.20 14:58
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:


S>>>>restore point надо создавать.


S>>На самом же деле, юзер хочет видеть, куда ему откатываться, после установки следующей глючно-системной программы, которая этого НЕ сделала (на то она и глючная, хе-хе), чтобы потерять по минимуму установленного софта.


ЕМ>Если юзер этого хочет (и знает про Restore Points) — пусть создает их руками. Создавать их при установке безобидных программ в надежде, что следующей юзер поставит "глючно-системную" — явная глупость.


Как вы любите пользователей!
Do you want to develop an app?
Re[11]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 20.09.20 15:49
Оценка:
Здравствуйте, Shtole, Вы писали:

S>Как вы любите пользователей!


Я люблю адекватных пользователей. Которые не ждут, что производитель софта их всячески оближет, и не поленятся время от времени нажать две кнопки вместо одной. С идеей "клиент всегда прав" — не ко мне.
Re[9]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 21.09.20 02:41
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>У меня пока не получилось такого, чтоб можно было реюзать без геморроя и значительного переписывания.

Да просто не надо изначально целиться на всемогутер.

ЕМ> Чтоб получилось, нужно делать нечто универсальное, типа мини-WTL, и при этом учесть известные проблемы известных фреймворков.

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

ЕМ>За пару вечеров такое делается только в очень сыром и ненадежном виде, который затем приходится много где доделывать и переделывать.

Зависит от опыта и наработок. Часть кода была взята из старых проектов, так что там больше времени заняло сделать FW чем имплементации его функций.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[3]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 21.09.20 02:41
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

Pzz>>Ну так ты поправил код-то, чтобы окно всегда влезало?

ЕМ>Я уменьшил высоту, чтоб влезало на 600 по вертикали.

Следующий юзер будет иметь 150% масштабирование в настройках и ой.
Эта задача в общем то не имеет красивого решения. Разишо вынести кнопку Accept на самый верх окна чтоб уж она то была видна всегда. Но это убого. Впрочем можно сделать 2 диалога — нормальный и для убогих и показывать второй если выясняется что первый на экран не помещается.
Но это опять таки работа которая не окупится.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[10]: Пределы глупости человеческой :)
От: Shtole  
Дата: 21.09.20 07:50
Оценка:
Здравствуйте, CreatorCray, Вы писали:

ЕМ>>У меня пока не получилось такого, чтоб можно было реюзать без геморроя и значительного переписывания.

CC>Да просто не надо изначально целиться на всемогутер.

Да в натуре. В контексте разговора об инсталляторах начать можно с DrawPng() и UnzipFiles().

Получается такая эклектичная свалка функций библиотека с очень большой реюзабельностью. Размер, в кои-то веки, значения не имеет, если линковать статически.

Что касается фреймворков, то IMHO их просто надо писать как таковые. Для нескольких команд, чей опыт обобщается, и только фреймворк. Разумеется, мало кто может себе это позволить.
Do you want to develop an app?
Re[4]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 23.09.20 07:23
Оценка:
Здравствуйте, CreatorCray, Вы писали:

ЕМ>>Я уменьшил высоту, чтоб влезало на 600 по вертикали.


CC>Следующий юзер будет иметь 150% масштабирование в настройках и ой.


На каком разрешении, и зачем? А главное — когда он будет, этот следующий? Первый, напомню, появился почти через год после увеличения размера окна, и разрешение у него было достаточное, но окно почему-то не центрировалось, а сам он не догадался его поднять. Сколько еще придется ждать такого уникального сочетания?

CC>Эта задача в общем то не имеет красивого решения.


Да и не надо.
Re[10]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 23.09.20 07:26
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Часть кода была взята из старых проектов


Ну вот. У меня главная беда — нет никого сверху, кто заставлял бы делать проекты, в которые я сам не особо верю, и заодно их финансировал. А сам я не очень люблю писать код, который, скорее всего, не будет применяться регулярно. Обратная сторона такой практики — отсутствие объемной кодовой базы, из которой можно надергать кусков для нового проекта.
Re[5]: Пределы глупости человеческой :)
От: CreatorCray  
Дата: 23.09.20 07:48
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>На каком разрешении, и зачем?

На любом и потому что юзер — животинка резкая и непредсказуемая.

ЕМ> А главное — когда он будет, этот следующий?

Высока вероятность что примерно никогда.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[12]: Пределы глупости человеческой :)
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 23.09.20 08:16
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Я для себя сам делаю разное, для решения своих же задач да и порой так, проверить интересную идею, которое либо потом оседает в архивах либо в итоге пригождается и вырастает в что нить более полезное.


Мне на такое чаще всего жаль времени. Слишком много других нужных и интересных занятий, чтобы все время посвящать программированию.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.