metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-10-18 09:58 pm

Об удобном софте для сложных предметных областей.

Каждый раз, когда я читаю [livejournal.com profile] justy_tylor или когда меня очередной раз посещает навязчивая идея сделать генерацию UI из моделей (как у меня генерируется все остальное), я вспоминаю вот эту картинку http://ips.intermech.ru/images/s1_big.png или интерфейс 3D Max или CadSoft Eagle.

Я до сих пор не могу для себя решить - адский пиздец сложности UI профессионального софта - это объективное следствие сложности предметки или же все-таки, как всегда в этом нашем IT - случайная сложность, потому что делают "как привыкли", "чтобы пользователи пользовались привычными метафорами" и "у нас эргономикой занимаются программисты".

У меня софт обычно простой. Потому что предметка вся это "ввести первичные данные, получить данные с 100500 приборов и желязяк и показать по ним отчеты", ресурсы ограничены, UI делать некому, соответственно все по максимуму сводится к обобщенным CRUD-оперденям. А бэк-енды, базы данных и бизнес-логика, когда она не особо связана с UI - для меня это отдых. Потому как в большинстве случаев укладывается в функциональщину и SQL.

[identity profile] bydlorus.livejournal.com 2013-10-19 05:50 pm (UTC)(link)
АЙФОНОМЕШАЛКА МЕШАЕТ АЙФОН
БРИГАДА ДИЗАЙНЕРОВ КУРИТ ГАЗОН
ИНТЕРФЕЙСА ИКОНОК МИНИМАЛИЗМ
ЭЛЕМЕНТОВ ОТСУТСТВИЕ
ДУАЛИЗМ!

[identity profile] inhate.livejournal.com 2013-10-19 05:57 pm (UTC)(link)
Тащим с собой QtWebKit во избежание сношений с кроссбраузерностью, адблоками, гей-барами, перезагрузками при уставноке гопнета нужной версии и прочей поебени, ну и собственна бизнес-логика торчит наружу (т.е. в UI) в виде JS-вызовов и хуков для апдейтов прогрессбара.
Устанавливается и обновляется приложениице статически собранным нативным win32-инсталлером (~850kb), само приложениице - 22Mb

[identity profile] inhate.livejournal.com 2013-10-19 05:58 pm (UTC)(link)
Я сам в сомнениях, как сделают - запущу A/B с прямоугольной версией и посчитаю бабло.

[identity profile] tonsky.livejournal.com 2013-10-19 06:07 pm (UTC)(link)
В каком смысле концепция? Идеальный по времени обучения — да. По скорости работы или количеству ошибок уже нет

[identity profile] blackyblack.livejournal.com 2013-10-19 06:09 pm (UTC)(link)
Идеальный по привлечению и удержанию клиента например. Я же говорю, концепция - штука, над которой можно поразмыслить на досуге.

[identity profile] zelanton.livejournal.com 2013-10-19 06:39 pm (UTC)(link)
ну некоторые вот зависят же. неоднократно наблюдал.

[identity profile] zelanton.livejournal.com 2013-10-19 06:40 pm (UTC)(link)
нет, именно мастер создания некоторого объекта. Кнопочки, графики и прочая - итак понятно.

[identity profile] zelanton.livejournal.com 2013-10-19 06:42 pm (UTC)(link)
ну будем надеяться оно не ужирает память и вообще стабильно, ну в отличии от хрома например)

[identity profile] bydlorus.livejournal.com 2013-10-19 06:48 pm (UTC)(link)
Так мастера там модальные ;-) Ну а выглядят как обычные мастера - окно, заголовок с кнопками, next/back внизу... Приложение ж десктоп полностью эмулирует, отличий ноль. Возможно, поэтому они и модальные, типа так принято.

Просто им нет никакого смысла быть модальными, вообще незачем. Но так принято, так легче и привычнее программистам. В другом приложении (на Silverlight) все окна немодальные. Открыли диалог задачи, из неё открыли фидбек, оттуда выбор контакта. Все эти окна немодальные, отображаются на таскбаре приложения, их можно свернуть и вернуться к задаче. Только при закрытии предупреждает, что закроет и дочерние окна.

[identity profile] zelanton.livejournal.com 2013-10-19 06:52 pm (UTC)(link)
ну дык, ёпта. Выше специально же написал по эмуляцию модальности и вытекающую из неё "какого тогда чёрта?!"

Зачем модальность - я тоже написал выше, перечитай первый абзац:
http://metaclass.livejournal.com/852789.html?thread=19429941#t19429941

[identity profile] metaclass.livejournal.com 2013-10-19 06:53 pm (UTC)(link)
Пользователи с ума не сходят? Для них более одного контекста текущей задачи - неодолимое препятствие.

[identity profile] bydlorus.livejournal.com 2013-10-19 07:07 pm (UTC)(link)
А пользователи с ума не сходят, что в браузере табы есть?

Нет, они конечно по 100 окон не открывают. Но удобно из окна выбора контактов переключиться в диалог задачи и глянуть, кто там был выбран в копиях или там документы аттачил, например.

И это я не говорю про самый маразм - диалоговые окна [OK]. В современной 2012 студии, например, до сих пор какие-то идиоты любят выводить такое на каждый чих, типа незагруженного проекта или ещё чего. В том же эклипсе все операции идут в фоне, их статус виден в спецвьюшке, их можно прервать любое, и если e.g. save невозможен из-за какого-нибудь билда, эклипс это там и покажет, сбоку, не мешая редактировать код и вообще не мешая. Причём save можно в любое время отменить, а можно и билд отменить - тогда сейв сам продолжится.

Для хрома, кстати, был экстеншн, который alert-ы показыват в виде growl уведомлений. Я бы ещё и такой написал, чтобы подтверждения закрытия страницы ненавязчиво отображал секунд 5-10, не больше. Перед этим странице делая visible=false.

[identity profile] bydlorus.livejournal.com 2013-10-19 07:07 pm (UTC)(link)
Мы видно о разном, ну как обычно ;-)

[identity profile] zelanton.livejournal.com 2013-10-19 07:18 pm (UTC)(link)
>>> который alert-ы показыват в виде growl уведомлений

У меня 3 монитора. Повбивав бы за сраный growl отображаемый хуй знает где, возле статус-бара, но не по центру приложения.

Короче. Я так и не понял зачем тебе HTML. На модальность оно никак не влияет, "olap и всё такое" делался не просыпаясь даже в сраной делфе, не говоря уже про 100500 нативных компонент под всякими дотнетиками и жабами.

[identity profile] bydlorus.livejournal.com 2013-10-19 07:24 pm (UTC)(link)
Вообще-то он всегда в одном месте отображается. Что очевиднее, чем каждое приложение по своему, да ещё в зависимости от позиции окна. Тем более в фоновом приложении либо уведомление не видно, либо оно ВНЕЗАПНО активируется.

А html мне незачем, это у метакласса там "вместо модальных окон..." - на что я и сказал что "такие веб-морды нужны уже только ради отсутствия модальности".

[identity profile] tonsky.livejournal.com 2013-10-19 07:56 pm (UTC)(link)
Так о чем тут мыслить, все вроде очевидно. Если клиенту критично время переобучения, то да. Если новая версия перевешивает по другим фронтам, таким как скорость работы или количество ошибок, то нет. Есть даже такой параметр, как субъективное удовлетворение. Гугл Хром взлетел не потому же, что был привычным, а потому, что быстрее работал и хорошо выглядел.

[identity profile] blackyblack.livejournal.com 2013-10-19 08:02 pm (UTC)(link)
У гугла даже трактор взлететь может, не то что хром. Я считаю, что если бы хром визуально никак не отличался от IE6, взлетел бы он точно так же, если не круче.

[identity profile] gineer.livejournal.com 2013-10-20 07:20 am (UTC)(link)
но почему-то... еще никто не сделал его так, чтобы не вылезало два вида граблей:
одно -- неконсистентность, когда неожидано наталкиваешся на такой момент, что нужно "поправить всего чуть-чуть на пару пикселей" а система уже его не понимает и приходится танцевать танцы с бубном
второе -- прогтечка абстракций, когда мэнагэер и дизайнёр придумывает что-то такое, для чего оно не приспособлено (например разметка статическая, а он хочет сделать её динамической), и опять программисту танцы с бубном

[identity profile] gineer.livejournal.com 2013-10-20 07:22 am (UTC)(link)
экспромт?

[identity profile] bydlorus.livejournal.com 2013-10-20 07:25 am (UTC)(link)
Да. Я последнее слово поменял.

[identity profile] jakobz.livejournal.com 2013-10-21 05:13 am (UTC)(link)
Причем в реале оно так красиво никогда разложено не бывает. В реале все окошки друг на друга накладываются, ты их туда-сюда открываешь/закрываешь/разворачиваешь. И никаких табов и прочего докинга чтобы организовать это все безумие не имеется.

Короче кромешный ад.

[identity profile] jakobz.livejournal.com 2013-10-21 05:18 am (UTC)(link)
Маркетинговый язык девэкспресовцев - это фигня еще. Бывают продукты программные, у которых на сайте решительно нельзя понять чего они вообще делают. Вот сюда, скажем, сходи: http://www.aptean.com/en/Solutions/By-Product-Name-AZ/Pivotal-CRM и попробуй хотя-бы увидеть как эта дрянь выглядит. Как вообще такое люди покупают?

[identity profile] jakobz.livejournal.com 2013-10-21 05:46 am (UTC)(link)
Ладно, давай я попроще свою позицию продемонстрирую:
- есть форма для создания или редактирования "продукта"
- на форме есть контрол для выбора категории продукта.
- обычная для оперденей практика - делать этот контрол как input с поиском имеющихся категорий, плюс ставить справа еще две кнопки - для создания новой категории (открывает модальное окно), и для расширенного поиска категории (тоже открывает новое окно)

Мне интересно как делать без модальных окон, в вебе, подобные сценарии. Всякие отклонения типа "выведем msgbox где не надо" - они мне не интересны.

[identity profile] bydlorus.livejournal.com 2013-10-21 06:33 am (UTC)(link)
Я в треде объяснил, например в одном из наших приложений (silverlight, но сейчас переписано на html/js) все эти окна - немодальные. Т.е. можно выбирать категорию, нажать там New, а потом переключиться назад в форму редактирования "продукта". Даже таскбар есть на все эти окна, хотя это опционально, если они видны, можно по ним просто щёлкнуть. Мне интересно, зачем этим формам быть модальными, чем это обосновано?

Если интересует "как" сделано, так обычным js, библиотек для создания окошек - вагон.

Page 4 of 5