LINUX.ORG.RU

Практические советы по улучшению UI моей демо-проги?

 , , ,


0

1

Сделал я тут простенькую программку на Qt/C++ по учету своего времени, типа тайм-трекер. Функционал пока еще в процессе, но суть не про это.

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

https://drive.google.com/file/d/1O3MHCYu8SteUq-tcG_mZLZoiRb3dNJNh/view?usp=sh...

https://drive.google.com/file/d/12ktpEeRGEu43fp5YzOybAig5zMGPOaVP/view?usp=sh...

Как-то деревянно оно смотрится, а что и как поменять не понятно.

В общем любые практические советы по вопросу UI, желательно подкрепленные указанием как это сделать на Qt/C++.

(если кому интересно, позже исходники будут опен-соурс).

UPD:Текущий подправленный вариант UI:
https://drive.google.com/file/d/10Y76vEGZ0qKd8xotISaWAe1u3P6aTr46/view?usp=sh...
(зеленные строки демонстрируют режим трекинга по одновременно двум проектам)



Последнее исправление: victor79 (всего исправлений: 5)
Ответ на: комментарий от annulen

Если ты в глубине души считаешь клиентов и заказчиков идиотами, не обессудь, если они считают тебя мудаком

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

Продавать людям продукт, который им действительно нужен, выгоднее, чем продавать им кал

Категорически не согласен. В Японии очень долго и муторно приходилось внедрять запланированное устаревание. Как объяснить инженеру необходимость снижения ресурса узла, если два поколения инженеров до него, у которых он учился, своей главной целью ставили увеличение ресурса узла? Но если ты делаешь хорошее авто, то заканчиваешь как Checkers: вся страна ездит на твоих авто, и твой фирменный символ, шашечки, стали использоваться такси по всему миру как символ такси, но твоя фирма разорилась.

Другое дело, если ты продаешь хороший продукт так, как будто это кал, а твой сосед продает кал, как будто это хороший продукт, то выбор клиента очевиден, и перевернуть это сможет только репутация брэнда или хороший сарафан

В надцатый раз я привожу пример Hitachi vs Seagate, чтобы показать, что в среднем по рынку вкладываться в рекламу намного выгоднее, чем производить хороший продукт. Те же SAP и Oracle, на самом деле, были бы более ярким примером, потому что большая часть штата у них — это продажники, которые высирают кусок дерьма на тарелку — вот, это то, что вы заказывали, с вас $20 млн.

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

Если ты под фразой «ты продаешь хороший продукт так, как будто это кал» имеешь в виду «тратить большую часть ресурсов на продажу» — то да, мы говорим про одно и то же.

С другой стороны, клиенты знают, что в случае какого-то критичного факапа большая богатая корпорация починит свою поделку, а мелкий подрядчик может и загнуться

Ноуп. Никто ничего чинить не будет, и денег возвращать тоже. Большая корпорация же, читайте условия договора.

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

UX в игре это далеко не главное, игру продают геймплей, история и (в особенности для f2p) аддиктивность - если все это есть, кривой UX игроки простят, если это не казуалочка для домохозяек и пенсионеров

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

byko3y ★★★★
()
Ответ на: комментарий от annulen

А кому теперь нужны квалифицированные тех специалисты, когда все программы теперь пишутся на React.js?

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

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

byko3y ★★★★
()
Ответ на: комментарий от victor79

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

Что-то я сомневаюсь, что он у Upwork точно такой же. Попробуй максимально близко, по возможности попиксельно скопировать их интерфейс в Qt-приложении, возможно для этого придется сделать кастомные виджеты или qml-элементы, или основательно поколдовать со стилями, но это, на мой взгляд, полезное упражнение, так как заказчик вполне может дать тебе в качестве тз psd-макет или сказать «сделай как на скриншоте/сайте»

annulen ★★★★★
()
Ответ на: комментарий от annulen

Попробуй максимально близко, по возможности попиксельно скопировать их интерфейс в Qt-приложении, возможно для этого придется сделать кастомные виджеты или qml-элементы, или основательно поколдовать со стилями

Оно под QtQuick, это другая визуальная либа под Qt, не совместимая с моей текущей начатой. Я в следующих проектах буду изучать и отрабатывать такое, оно расчитанно под мобильные приложения:

https://pic4a.ru/iUd5/
https://pic4a.ru/iSaW/

victor79
() автор топика
Ответ на: комментарий от victor79

Оно под QtQuick, это другая визуальная либа под Qt, не совместимая с моей текущей начатой.

QtQuick это то, что я имел в виду, когда писал про QML-элементы. Формально QML это язык, а QtQuick это фрейворк, но по факту их очень редко используют друг без друга и очень часто называют одно другим.

Я так понимаю, что ты пишешь приложение на виджетах. Виджеты тоже позволяют делать крутые нестандартно выглядящие и анимированные штуки, это делается через написание своих классов виджетов с отрисовкой твоим кодом. Некоторой кастомизации можно достичь используя стандартные виджеты с QSS-стилями, но ключевое слово тут «некоторой». Делать полностью кастомные виджеты сложно, а еще сложнее делать их с аппаратно-ускоренными анимациями, в этом плане QML намного проще и удобнее.

Кстати на QML можно делать и десктопные приложения, смотри Qt Quick Controls 2

annulen ★★★★★
()
Последнее исправление: annulen (всего исправлений: 1)

Советую начать с существующих аналогов и сделать клона, а там уже что-нибудь улучшать, если хочется оригинальности.

CrossFire ★★★★★
()

болшие кнопки «а-ля гном» перемести или вниз или вправо.

читают слева-направо, сверху-вниз. сначала выбор чего-то там а потом действие с ним.

твой интерфейс принуждает делать наоборот.

MKuznetsov ★★★★★
()
Ответ на: комментарий от byko3y

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

PhysShell ★★
()
Ответ на: комментарий от victor79

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

Очень удобно использовать выравнивание по сетке для расположения элементов на форме, особенно при множестве элементов. Для этого используется разбиение QGridLayout в виде таблицы. Для расположения контрола нужно лишь указать столбец/строку. Преимущество в том, что, потратив немного времени на создание сетки, расставлять элементы потом одно удовольствие, ровно как и контролировать отступы/выравнивание.

Документация: https://doc.qt.io/qt-5/qgridlayout.html

PhysShell ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.