Russian Qt Forum

Программирование => Общий => Тема начата: Igors от Июнь 27, 2015, 16:14



Название: Роль UI
Отправлено: Igors от Июнь 27, 2015, 16:14
Добрый день

Хотелось бы еще спросить сколько времени (в % от общего времени работы над проектом) занимает у Вас UI. Вообще создается впечатление что большинство форумчан занимаются в основном UI (ну еще "сборкой")  :)

Edit: UI имеется ввиду "User Interface" в широком смысле этого слова (не путать с .ui файлвми что создаются дизайнером)


Название: Re: Роль UI
Отправлено: Bepec от Июнь 27, 2015, 16:57
Правильный интерфейс - это половина программы.
Будет плохой, неюзабельный интерфейс и пользователь предпочтёт аналог.

А вот сделать его правильным, можно лишь с помощью самих пользователей. Хотя основы как и везде есть.


Название: Re: Роль UI
Отправлено: Old от Июнь 27, 2015, 22:39
Вообще создается впечатление что большинство форумчан занимаются в основном UI (ну еще "сборкой")  :)
Действительно странно, на форуме Qt большинство тем про UI.


Название: Re: Роль UI
Отправлено: sociopath от Июнь 27, 2015, 23:34
У меня на gui уходит до 50% времени. И это очень много. Но что-то под десктоп не видел, чтоб был быстрый фреймворк для разработки gui. На базовых инструментах из коробки ничего сложнее калькулятора не сделаешь, всегда приходится писать что-то кастомное, занимающее много времени.
А вообще просто gui модуль намного более функциональный, чем остальные, и для gui нет никакого стандарта. Поэтому от того, как сработает одна и та же функция, у разных людей ожидания разные. Для sql все понятно - написал запрос, он что-то вернул, все согласно SQL. Для network тоже - есть протоколы UDP, TCP, HTTP, выбираешь нужный, и кидаешься пакетами. XML какой-нибудь распарсить - тоже стандарт есть. И так почти по каждому модулю. Так что неудивительно, что большинство вопросов по gui. Во-первых, функций там тыщщи, во-вторых, непонятно, как они должны работать.


Название: Re: Роль UI
Отправлено: __Heaven__ от Июнь 28, 2015, 00:43
Действительно странно, на форуме Qt большинство тем про UI.
имхо, Qt был создан в первую очередь для ui :)

По теме - на мой взгляд, всё зависит от назначения проекта. Пре- постпроцессор - упор на ui (80-90%). Решатель - ui умножается на 0.


Название: Re: Роль UI
Отправлено: Old от Июнь 28, 2015, 06:39
имхо, Qt был создан в первую очередь для ui :)
И во вторую и в третью (в том сообщении был сарказм). :)


Название: Re: Роль UI
Отправлено: Igors от Июнь 28, 2015, 09:30
Долгое время работал на самопальном кросс-платформенном фреймворке. Было конечно бедненько, напр сделать таблицу - и думать не моги! Но, как ни странно, тогда UI занимало свое место: 10%, ну отсилы 15%, остальное посвящалось предметной части. Но время шло, и отсталость UI становилась очевидной, полезли в Qt...  И работа с UI стала поглощать 50% и более. Сейчас все помаленьку успокоилось, и я чувствую большое облегчение. Видимо бесконечное "впитывание" инструментария не для меня.


Название: Re: Роль UI
Отправлено: Day от Июнь 28, 2015, 21:50
Обходимся помаленьку... :)


Название: Re: Роль UI
Отправлено: Bepec от Июнь 28, 2015, 23:56
UI - это то, с чем работает пользователь.
Раньше на это просто не обращали внимания - аналогов программ почти и не было, поэтому никому не было интересно, как мучается пользователь с вашей программой.
Сейчас из-за конкуренции, пользователи выберут аналог, удобный для работы.


Название: Re: Роль UI
Отправлено: Day от Июнь 29, 2015, 08:56
Прошу прощения. Только сейчас, прочтя другие сообщения темы, понял вопрос. Имеется в виду "Пользовательский Интерфейс" в самом широком смысле слова. Тогда, безусловно, это как минимум 50 процентов работы. И низкий поклон разработчикам Qt, что они эту работу перевели из "печальной необходимости" и "вышака" в "легкий труд"
Я думал, что имеются в виду ui-модули и создающий их Designer. Вот тут, действительно, можно обойтись, хотя выбор инструмента - дело личных вкусов


Название: Re: Роль UI
Отправлено: Igors от Июнь 29, 2015, 12:43
Я думал, что имеются в виду ui-модули и создающий их Designer.
Не пришло в голову что можно "трактовать" и так - поправился в первом посте.

Мои впечатления после примерно года довольно плотной работы с Qt UI.  Ясно что UI часть всегда есть, просто в этом случае она доминировала.

Нет, конечно никак нельзя сказать что "UI - работа для лохов". Много чего надо знать, часто лезть в исходники/отладчик. Тем не менее я ощутил неприятную "деформацию сознания", ну или "прессинг". Плохо (на мой взгляд) то что я вынужден все время идти по пути проложенному "троллями", я могу только более или менее глубоко вникнуть в их код/замысел. В какой-то момент изучения исходников это начинает надоедать/раздражать, типа "ну ладно, сделали так - значит так, мое дело телячье - пользоваться". Все-таки это как-то "однобоко" - что впрочем справедливо для всех вещей.


Название: Re: Роль UI
Отправлено: Bepec от Июнь 29, 2015, 12:47
Так выбор есть всегда - покупайте комм версию и правьте что хотите и как хотите.
PS ну или если совесть не мешает - скачайте просто комм версию, где то они были.


Название: Re: Роль UI
Отправлено: Igors от Июнь 29, 2015, 13:19
Так выбор есть всегда - покупайте комм версию и правьте что хотите и как хотите.
PS ну или если совесть не мешает - скачайте просто комм версию, где то они были.
А вот есть счастливые люди! Вот напр anti-alias - ночами не сплю, все мысли, ну как бы оно не "порвало" и чтоб не "вяло" было.... А тут приходит молодое дарование: та отам флажок включить - и усе! Ну понятия у него такие...
Цитировать
Блаженны нищие духом ибо..


Название: Re: Роль UI
Отправлено: Day от Июнь 29, 2015, 14:11
Нет, конечно никак нельзя сказать что "UI - работа для лохов".
Ни в коем случае! UI - работа тонкая, требует не только умения программировать, но и некоторого понимания психологии, дизайна, умения поставить себя на место другого человека (совершенно разных людей!). Это не просто сборка конструкции из кубиков (то, что называется, "набросать на форму"), работа творческая, и уже в силу этого интересная и требующая квалификации.
я вынужден все время идти по пути проложенному "троллями", я могу только более или менее глубоко вникнуть в их код/замысел.
ИМХО, проложенный ими путь не так уж и плох. Во всяком случае я из тех проложенных путей,  которые мне были знакомы, выбрал именно Кутешный, причем, на данный момент, безоговорочно.
А если вам уж так не нравится проложенная ими тропа, что ж, торите свою. Опыт, как видно из поста 6, есть. ;D


Название: Re: Роль UI
Отправлено: Bepec от Июнь 29, 2015, 18:31
Последний мой комментарий в данной теме.
to Igors: Прогресс не остановить. Когда то люди думали, как вывести точку на экран, чтобы не порвало, а вы теперь даже и не знаете, как оно там внутри работает :)


Название: Re: Роль UI
Отправлено: Igors от Июнь 30, 2015, 07:44
UI - работа тонкая, ...
Это не просто сборка конструкции из кубиков ..
..работа творческая, ...
Ах как мы любим хвалить самих себя - что впрочем совершенно нормально  :)

проложенный ими путь не так уж и плох
Может наоборот - он "слишком хорош". Чему учится человек работая с Qt UI? Найти нужный инструментарий, и здесь это целиком оправдано, большинство UI задач типовые, и хорошие готовые решения есть. Это стремление поюзать/попастись развивается стремительно, что я ощутил на себе. Чем меньше самопального кода - тем лучше, в идеале должны быть только манипуляции с классами Qt. В изучение "документации" (так сладострастно называется букварь) начинает вкладываться все больше и больше времени - ведь это эффективно, и результат налицо.

Я не уверен (или сомневаюсь) что этот путь "так уж хорош". Удивить кого-то мастерством UI достаточно сложно, ведь этим занимаются многие. "Зато" человек оказывается беспомощным в др областях - где нет такой "документации" и готовых классов. А есть напр какая-то теория, возможно проблематичные open-sources, а то и их нет. В общем "все хорошо в меру".



Название: Re: Роль UI
Отправлено: Авварон от Июль 01, 2015, 09:31
"Зато" человек оказывается беспомощным в др областях - где нет такой "документации" и готовых классов.
Зато вы регулярно оказываетесь беспомощны там, где можно заюзать готовое, т.к. не читали "букварь".


Название: Re: Роль UI
Отправлено: Igors от Июль 03, 2015, 09:18
Зато вы регулярно оказываетесь беспомощны там, где можно заюзать готовое, т.к. не читали "букварь".
Это легко проверить. Напр недавно приглашал попинать мой велосипед здесь (http://www.prog.org.ru/index.php?topic=29013.msg212759#msg212759) - но как-то не ощутил силу "читающих документацию"  :)


Название: Re: Роль UI
Отправлено: Racheengel от Июль 03, 2015, 18:24
Если совсем коротко: UI - это лицо программы. Первое впечатление у пользователей создается именно по интерфейсу, и от него сильно зависит, как будут восприняты остальные функции (даже если UI это не главное). Поэтому, это как минимум 40-50% труда, который себя оправдает. Потому что кривой UI заставляет думать, что и внутри софт устроен так же криво, даже если это на самом деле и не так.


Название: Re: Роль UI
Отправлено: Igors от Июль 04, 2015, 06:38
Если совсем коротко: UI - это лицо программы. Первое впечатление у пользователей создается именно по интерфейсу, и от него сильно зависит, как будут восприняты остальные функции (даже если UI это не главное).
С этим никто не спорит

Поэтому, это как минимум 40-50% труда, который себя оправдает.
Этот вывод никак не следует из предыдущего. Тем более если такие мощнейшие средства - чего ж тогда половина и больше? Наоборот, следовало ожидать что программист получит гораздо больше времени для работы над предметной частью.


Название: Re: Роль UI
Отправлено: Old от Июль 04, 2015, 14:20
Тем более если такие мощнейшие средства - чего ж тогда половина и больше? Наоборот, следовало ожидать что программист получит гораздо больше времени для работы над предметной частью.
По моему все очевидно. Чем больше возможностей предоставляет библиотека UI, тем более навороченный интерфейс хочется сделать. Например, пользователю можно азимут показать как обычное число от 0 до 359, но хочется показать ему виджет типа компаса, показывающий направление, дать возможность мышкой это направление менять и т.д. В таблицах показывать не просто числа, а разноцветные бары с градиентами, иконки, кнопки и т.д. Всплывающие окошки, мигающие кнопки, ...

Плюс, очень много зависит от назначения программы, ее целевой аудитории и количества входных данных. Есть программы, у которых GUI состоит из одной кнопки Вкл/Выкл. :)


Название: Re: Роль UI
Отправлено: Racheengel от Июль 07, 2015, 22:06
средства то мощнейшие... только их тоже нельзя в одну кучу мышом накидать и радоваццо - оо, типа у меня кнопочек дофига, я крууттт ололо :)
У нас много времени на идеологию дизайна уходит, чтобы удобно пользоваться было, на разных разрешениях работало, слабо видящие различали ОК и Отмену, например...
Тем более когда софт коммерческий - тут уже не отвертишься хреновым дизайном за счет функционала, клиенты будут плакаться и жаловаться, типа неудобно, криво и т.д.
Послать их йожиков пасти не получится, увы... Сейчас 21-й век, всем красссоту подавай)


Название: Re: Роль UI
Отправлено: Nidxogg от Июль 08, 2015, 18:43
Цитировать
Тем более когда софт коммерческий - тут уже не отвертишься хреновым дизайном за счет функционала, клиенты будут плакаться и жаловаться, типа неудобно, криво и т.д.
Так же это хорошо. Мне вот нравится в "свободное" время что-то доработать для удобства заказчика по его просьбе. Зачастую клиенту хорошие мысли по поводу интерфейса приходят, которые в ходе проектирования gui, да и просто потому что своей программой особо не пользуешься, как-то мимо проходят.


Название: Re: Роль UI
Отправлено: m_ax от Июль 08, 2015, 23:18
По мне, так если речь идёт о более-менее серьёзном приложении, то за ГУЙ должна отвечать определённая команда, компетентная именно в этом вопросе (за взаимодействии интэрфейса с конечным пользователем).. За саму же ночинку (бизнес-логику) должна нести ответсвенность (имхо) другая команда.. Но, очевидно, между обоими должна существовать некая кооперация и "синхронизация", но в своих пределах компетенции.. Т.е. должен существовать определённый диалог)

ЗЫ Мне сейчас близка та парадигма, когда ГУЙ рисуют специалисты, возможно и не втыкающие в програмирование как таковое..        


Название: Re: Роль UI
Отправлено: m_ax от Июль 08, 2015, 23:23
По мне, так если речь идёт о более-менее серьёзном приложении, то за ГУЙ должна отвечать определённая команда, компетентная именно в этом вопросе (за взаимодействии интэрфейса с конечным пользователем).. За саму же ночинку (бизнес-логику) должна нести ответсвенность (имхо) другая команда.. Но, очевидно, между обоими должна существовать некая кооперация и "синхронизация", но в своих пределах компетенции.. Т.е. должен существовать определённый диалог)

ЗЫ Мне сейчас близка та парадигма, когда, ГУЙ рисуют специалисты, возможно и не втыкающие в програмирование как таковое..        

Может, отчасти из-за того, что я уже сам давно отошёл от насущных вопросов ГУЯ  :)


Название: Re: Роль UI
Отправлено: Igors от Июль 09, 2015, 11:39
По мне, так если речь идёт о более-менее серьёзном приложении, то за ГУЙ должна отвечать определённая команда, компетентная именно в этом вопросе (за взаимодействии интэрфейса с конечным пользователем).. За саму же ночинку (бизнес-логику) должна нести ответсвенность (имхо) другая команда.. Но, очевидно, между обоими должна существовать некая кооперация и "синхронизация", но в своих пределах компетенции.. Т.е. должен существовать определённый диалог)

ЗЫ Мне сейчас близка та парадигма, когда ГУЙ рисуют специалисты, возможно и не втыкающие в програмирование как таковое..        
Ну да, "не царское это дело...". Но UI сильно зависит от структур данных, поэтому выделить/назначить "чисто рисовальщиков кнопок" обычно не выходит   


Название: Re: Роль UI
Отправлено: Racheengel от Июль 15, 2015, 15:29
По мне, так если речь идёт о более-менее серьёзном приложении, то за ГУЙ должна отвечать определённая команда, компетентная именно в этом вопросе (за взаимодействии интэрфейса с конечным пользователем).. За саму же ночинку (бизнес-логику) должна нести ответсвенность (имхо) другая команда.. Но, очевидно, между обоими должна существовать некая кооперация и "синхронизация", но в своих пределах компетенции.. Т.е. должен существовать определённый диалог)

ЗЫ Мне сейчас близка та парадигма, когда ГУЙ рисуют специалисты, возможно и не втыкающие в програмирование как таковое..       

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


Название: Re: Роль UI
Отправлено: gil9red от Июль 15, 2015, 19:01
По мне, так если речь идёт о более-менее серьёзном приложении, то за ГУЙ должна отвечать определённая команда, компетентная именно в этом вопросе (за взаимодействии интэрфейса с конечным пользователем).. За саму же ночинку (бизнес-логику) должна нести ответсвенность (имхо) другая команда.. Но, очевидно, между обоими должна существовать некая кооперация и "синхронизация", но в своих пределах компетенции.. Т.е. должен существовать определённый диалог)

ЗЫ Мне сейчас близка та парадигма, когда ГУЙ рисуют специалисты, возможно и не втыкающие в програмирование как таковое..       

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

У нас целые отделы тестировщиков, переводчиков и документаторов, и еще несколько других отделов, не считая разработчиков :) фирма не такая уж очень большая -- на все подразделения человек 500 будет


Название: Re: Роль UI
Отправлено: m_ax от Июль 15, 2015, 19:17
Цитировать
У нас целые отделы тестировщиков, переводчиков и документаторов, и еще несколько других отделов, не считая разработчиков  :) фирма не такая уж очень большая -- на все подразделения человек 500 будет
Ну и как у вас там с гуём дела обстоят?  :)

 
Цитировать
Такое возможно только на очень больших фирмах.... Реальность мелких и средних фирм такова, что зачастую даже нет возможности набрать людей-тестеров, хотя это было бы намного важнее отдавать юнит- и прочие тесты в другой отдел, чем гуй. Не говоря уже о "команде гуишников"...
Согласен) Я говорил больше о неком идеалистическом варианте, возможно даже очень наивном, поскольку сам не являюсь специалистом в этом плане) 


Название: Re: Роль UI
Отправлено: gil9red от Июль 15, 2015, 20:06
Цитировать
У нас целые отделы тестировщиков, переводчиков и документаторов, и еще несколько других отделов, не считая разработчиков  :) фирма не такая уж очень большая -- на все подразделения человек 500 будет
Ну и как у вас там с гуём дела обстоят?  :)


Разработчики им и занимаются :)
Но проблем особых нет -- qt-jambi используем (родная и любимая Qt ;D), а большая часть гуи генерируется автоматически, не часто приходится пользовательские формы создавать :)


Название: Re: Роль UI
Отправлено: Igors от Июль 21, 2015, 16:51
Таки один не не побоялся проголосовать за "вышак"! (может Авварон?)

Что без UI не прожить - спорить глупо. Но вот захожу на форум, у одного проблемы с кнопкой, у второго с рамкой, у третьего с таблицей... А какая-то содержательная, предметная часть имеется ??? Такое впечатление что нет, одни кнопки  :)


Название: Re: Роль UI
Отправлено: Racheengel от Июль 27, 2015, 11:31
Обычно предметная часть либо слишком специфичная, чтобы выставлять ее на всеобщее обозрение, либо более-менее завершенная, чтобы что-либо там по серьезному переделывать и нарваться на проблемы, которые невозможно решить местными специалистами в предметной области :) А гуй - все-таки вещь достаточно стандартизированная, и косяки в ней часто общие. И, как я уже говорил - все-таки "кнопки" - это лицо программы, а встречают чаще "по одежке" :)


Название: Re: Роль UI
Отправлено: Igors от Июль 28, 2015, 06:10
Обычно предметная часть либо слишком специфичная, чтобы выставлять ее на всеобщее обозрение,
Бесспорно, (редкие) попытки "углубиться в предметную часть" хорошо заметны и всегда безуспешны  :)

..либо более-менее завершенная, чтобы что-либо там по серьезному переделывать и нарваться на проблемы, которые невозможно решить местными специалистами в предметной области :)
Как-то "не сходятся концы с концами". Если, по-Вашему, предметная часть стабильна - то откуда такая активность с UI? И вот насчет тех самых "местных специалистов"
Цитировать
Для них играет туш, горят глаза..
А мною заполняют перерыв
Не так ли обстоят дела?  :)


Название: Re: Роль UI
Отправлено: Racheengel от Июль 29, 2015, 12:36
Я имею в виду, что Qt изначально была заточена на "гуй". Поэтому на данном форуме ожидаемо будет около 92.394% вопросов, относящихся именно к кнопкам и рамкам. А по поводу "предметной части" - у каждого она своя, зависит от предметной области, алгоритмики и т.д., поэтому нет особого смысла спрашивать совета в этой области на кутишных форумах, верно? Человек, имеющий проблемы с предметной частью, полезет в гугл и на специализированные форумы.

Цитировать
Если, по-Вашему, предметная часть стабильна - то откуда такая активность с UI?
Ну так логично, алгоритмика уже "вылизана" годами, а UI постоянно растет и развивается - то Метро появится, то Флэт-дизайн, то еще чего новомодного маркетологи изобретут. Чтобы продукт выглядел "современно" (читать "продаваемо") - надо его поддерживать в тонусе, а как по другому? :)