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] artureg.livejournal.com 2013-10-18 07:07 pm (UTC)(link)
как привыкли, простой - сложный интерфейс сложной предметки например - zBrush 4

пруф

[identity profile] dizel-by.livejournal.com 2013-10-18 07:22 pm (UTC)(link)
Ребе, посмотрите на автокады. Раньше был интерфейс пиздец-пиздец (но пользоваться было можно), а теперь сраные риббоны. Ещё больше пиздец-пиздец, а пользоваться уже нельзя.

[identity profile] zelanton.livejournal.com 2013-10-18 07:35 pm (UTC)(link)
Да переходи уже на веп-морду!

[identity profile] justy-tylor.livejournal.com 2013-10-18 07:48 pm (UTC)(link)
"Переведено профессиональными художниками, озвучено профессиональными программистами". Есть разные плохие подходы для многоинформации. Вывести кучу окон и кнопок (демонстрация богатства среды), которые отжирают когнитивные ресурсы. Или как в MS Office - богатство среды давно продемонстрировано, поэтому марсианская логика часть информации прячет под шторки, но ненужное торчит, а нужное почему-то каждый раз оказывается скрытым, ибо "миллионы леммингов не могут ошибаться". Здесь такой момент, что "нужное далеко" и "ненужное маячит" одинаково губительны для интерфейса, но статистически общее среднее оказывается неудобным всем разумным людям.

Единственный гуманный подход - сбалансировать подачу информации (как дерево, с учётом веса/полезности сущностей) под выбранную типовую деятельность пользователя, с возможностью ребалансировки пользователем же под нетиповые действия. Нужное - близко. Редко нужное - дальше. Нужное только приходящему автоматизатору - во встроенной консоли. Продвинутый пользователь с нетиповой деятельностью определяет свои меню и шорткаты или просит приходящего автоматизатора.

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

[identity profile] tonsky.livejournal.com 2013-10-18 07:54 pm (UTC)(link)
Был такой редактор, Blender. Вот они сильно подвинули вперед UI 3д-редактирования за счет богатой системы команд с клавиатуры. Почти все кнопки, особенно буквы, чем-то управляют. ZBrush не видел, но слышал хорошее и верю что это тоже подходящий пример. Просто никто не знает как делать UI. Делают как привыкли, как все делают, из того, что есть — кпопки, ползунки, диалоговые окошки. У Adobe в CS до сих пор модальные окошки выскакивают — нет, это не оправдано никакой сложностью предметки.

[identity profile] zelanton.livejournal.com 2013-10-18 07:57 pm (UTC)(link)
Нестандартное внезапно требует ресурсов для разработки нестандартного, ресурсов для тестирования нестандартного, и ресурсов для его сопровождения. Да и то, далеко не всегда помогает. Ну кто-то может себе позволить, это хорошо и позитивно) Но вот не все.

[identity profile] falcrum.livejournal.com 2013-10-18 08:03 pm (UTC)(link)
В идеале, UI должен представлять из себя одну кнопку "Сделай мне заибизь!", но пока с приближением к этому как-то туговато...

[identity profile] artureg.livejournal.com 2013-10-18 08:08 pm (UTC)(link)
хуяблоко жэ

[identity profile] tonsky.livejournal.com 2013-10-18 08:14 pm (UTC)(link)
Или Final Cut вот, он был довольно неудобный (скажем так, наравне с аналогами), и в 2012 или каком там году они его полностью переписали и сделали в том числе сильно лучше UI (на самом деле, просто спилив самые больные углы).

[identity profile] metaclass.livejournal.com 2013-10-18 08:14 pm (UTC)(link)
Я про аннотации и стили думал - т.е. из модели генерим что-нибудь обобщенно-универсальное, сопоставляясь со своими искаженными представлениями о том, что важно видеть, а потом подгоняем под юзеров стилями-настройками и прочим таким.

[identity profile] justy-tylor.livejournal.com 2013-10-18 08:26 pm (UTC)(link)
Стили задаются платформенными (или самописными) гайдлайнами, где однозначно указывается "10 условных пикселей между чекбоксами и никак иначе". На аннотации модели остаётся в основном выбор отображения индивидуальных свойств, разбиение на вертикальные и горизонтальные под- (подпод-) группы или перенос в отдельные экраны.

[identity profile] berezovsky.livejournal.com 2013-10-18 08:29 pm (UTC)(link)
Генерить условный HTML и накладывать условный CSS, вплоть до абсолютного позиционирования отдельных кнопок ручным допиливанием.

[identity profile] eternal-leave.livejournal.com 2013-10-18 09:40 pm (UTC)(link)
Как будто нельзя сделать пиздец в вебморде

[identity profile] zelanton.livejournal.com 2013-10-18 09:41 pm (UTC)(link)
"сарказм" и "больше ада!" по идее должно было читаться между строк ;]

[identity profile] eternal-leave.livejournal.com 2013-10-18 09:50 pm (UTC)(link)
Пеппер стейк и 2,5 литра Килкенни волшебным образом отключают скилл чтения между строк

[identity profile] nicka-startcev.livejournal.com 2013-10-19 12:39 am (UTC)(link)
Опенскад, хехе.

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

пишем код типа такого
module part_cube(x=160,y=66,z=5,r=3)
{
  //translate([x/2,y/2,z/2])
  union()
  {
    if(y>2*r)cube([x,y-2*r,z],center=true);
    if(x>2*r)cube([x-2*r,y,z],center=true);
    translate([x/2-r,y/2-r]) cylinder(r=r,h=z,center=true);
    translate([x/2-r,-y/2+r]) cylinder(r=r,h=z,center=true);
    translate([-x/2+r,y/2-r]) cylinder(r=r,h=z,center=true);
    translate([-x/2+r,-y/2+r]) cylinder(r=r,h=z,center=true);
  };
}

жмем хоткей, сразу видим модель айфона.

[identity profile] max630.livejournal.com 2013-10-19 05:35 am (UTC)(link)
Как минимум идея "пользователюэтонинужно" там не работает. А без неё все раскинодрочерство рассыапется.

[identity profile] inhate.livejournal.com 2013-10-19 06:48 am (UTC)(link)
Зачем веб? Я вот на HTML интерфейс десктопных приложений делаю. Зато баги фиксятся элементарно - новая версия интерфейса скачивается с торрентом прозрачно для пользователя.

[identity profile] inhate.livejournal.com 2013-10-19 06:49 am (UTC)(link)
Кнопка есть, но заебись не делает.

[identity profile] inhate.livejournal.com 2013-10-19 06:51 am (UTC)(link)
Зачем "уловным" - генерить "рыбу" которая дёргает кастмные функции в JS, а интерфейс должны рисовать художники, а нарезать и верстать - верстальщики. А программисту тут вообще совсем делать нечего.

[identity profile] zelanton.livejournal.com 2013-10-19 08:05 am (UTC)(link)
Есть ли какие-то причины запрещать скачивать онную новую версию в native коде и разрешать только в html-варианте?

[identity profile] tonsky.livejournal.com 2013-10-19 08:22 am (UTC)(link)
Ну это если рассматривать только задачи пользователя. Сейчас наука UX развилась в том смысле, что у него есть потребности. Вот взять например твиттер. Идеальный интерфейс твиттера (сделай заебись) — это когда твиттера вообще нет, потому что он не решает никакую задачу. Однако людям хочется в нем сидеть, следовательно, какой-то интерфейс нужен, и скорее всего не из одной кнопки.

[identity profile] jakobz.livejournal.com 2013-10-19 08:29 am (UTC)(link)
Да он там тоже сложный. Но там хоть немного усилий приложили чтобы сделать его покрасивше/поудобнее, в отличии от 3dmax-а.

[identity profile] jakobz.livejournal.com 2013-10-19 08:39 am (UTC)(link)
Я помню в adobe illustrator и photoshop, когда занимался профессионально, отрубал вообще весь UI и переходил в фулскрин. А окошки когда нужно либо tab-ом включаются, либо шоткатами какие надо. Но надо - редко. В основном - слои и цвета иногда (когда нельзя пипеткой тыкнуть в имеющиеся).

Причем там дофига всяких скрытых штук, вроде того что вводишь дописываешь в окошко с координатами +20cm, нажимаешь shift+enter, и оно делает клон объекта на 20 см правее.

Короче мне Photoshop и особенно AI очень вот этим нравился.

[identity profile] jakobz.livejournal.com 2013-10-19 08:51 am (UTC)(link)
А ты не видел чего-нибудь декларативненького для UI-ки оперденей? Не чтобы как у 1С - мы вам закрытые контролы и ад в базе, а вы дальше пишите на нашем прекрасном XML/встроенном языке императивненько. Хочется чтобы во все кишки можно было как-то влезать если нужно. Ну и для начала чтобы прям из коробки по описанию модели получить все гриды/редакторы без особых телодвижений.

Page 1 of 5