metaclass: (Default)
[personal profile] metaclass
Каждый раз, когда я читаю [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.

Date: 2013-10-18 07:07 pm (UTC)
From: [identity profile] artureg.livejournal.com
как привыкли, простой - сложный интерфейс сложной предметки например - zBrush 4

пруф

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

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

Date: 2013-10-19 09:42 am (UTC)
From: [identity profile] dev117.livejournal.com
Сейчас не знаю как, но когда-то в автокадах был очень удобный CLI с DSL.
На чертеже курсором с помощью привязок определяются точки, в командной строке пишутся команды рисования линий и координаты. Очень удобно после запоминания нескольких команд, в тулбары приходилось тыкать очень редко, а в меню ходить практически никогда.
Вот там реально было ощущение что делаешь дело и не отвлекаешься на лишние мышедвижения, поиск экранных кнопок и попадание по ним.

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

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

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-18 09:41 pm (UTC) - Expand

(no subject)

From: [identity profile] eternal-leave.livejournal.com - Date: 2013-10-18 09:50 pm (UTC) - Expand

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

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 08:05 am (UTC) - Expand

(no subject)

From: [identity profile] inhate.livejournal.com - Date: 2013-10-19 09:01 am (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 09:09 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-10-19 09:21 am (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 09:30 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-10-19 09:51 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-19 11:46 am (UTC) - Expand

(no subject)

From: [identity profile] gineer.livejournal.com - Date: 2013-10-19 03:54 pm (UTC) - Expand

(no subject)

From: [identity profile] inhate.livejournal.com - Date: 2013-10-19 03:57 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 04:01 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 04:18 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-10-19 05:48 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 06:39 pm (UTC) - Expand

(no subject)

From: [identity profile] inhate.livejournal.com - Date: 2013-10-19 05:57 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 06:42 pm (UTC) - Expand

(no subject)

From: [identity profile] blackyblack.livejournal.com - Date: 2013-10-19 05:32 pm (UTC) - Expand

(no subject)

From: [identity profile] inhate.livejournal.com - Date: 2013-10-19 05:58 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 11:29 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-19 11:49 am (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 11:53 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-19 12:59 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 02:27 pm (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-21 05:46 am (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-21 06:33 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-21 08:37 am (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-21 08:42 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-21 08:48 am (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-21 08:52 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-21 08:58 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-10-21 08:54 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-21 09:15 am (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-10-21 08:52 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-21 09:03 am (UTC) - Expand

(no subject)

From: [identity profile] berezovsky.livejournal.com - Date: 2013-10-21 01:39 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2013-10-19 12:48 pm (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-19 12:59 pm (UTC) - Expand

(no subject)

From: [identity profile] theiced.livejournal.com - Date: 2013-10-19 01:18 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 04:03 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 04:56 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 05:04 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 05:17 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 05:21 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 05:28 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 05:29 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 05:49 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 06:40 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 06:48 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 06:52 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 07:07 pm (UTC) - Expand

(no subject)

From: [identity profile] metaclass.livejournal.com - Date: 2013-10-19 06:53 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 07:07 pm (UTC) - Expand

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 07:18 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 07:24 pm (UTC) - Expand

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

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

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

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

(no subject)

From: [identity profile] justy-tylor.livejournal.com - Date: 2013-10-18 08:26 pm (UTC) - Expand

(no subject)

From: [identity profile] gineer.livejournal.com - Date: 2013-10-19 03:50 pm (UTC) - Expand

(no subject)

From: [identity profile] justy-tylor.livejournal.com - Date: 2013-10-19 04:17 pm (UTC) - Expand

(no subject)

From: [identity profile] gineer.livejournal.com - Date: 2013-10-19 04:41 pm (UTC) - Expand

(no subject)

From: [identity profile] gineer.livejournal.com - Date: 2013-10-20 07:20 am (UTC) - Expand

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

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

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

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

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

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

(no subject)

From: [identity profile] zelanton.livejournal.com - Date: 2013-10-19 09:43 am (UTC) - Expand

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

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

(no subject)

From: [identity profile] inhate.livejournal.com - Date: 2013-10-19 06:49 am (UTC) - Expand

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

(no subject)

From: [identity profile] toshnota.livejournal.com - Date: 2013-10-19 09:35 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-19 11:34 am (UTC) - Expand

(no subject)

From: [identity profile] blackyblack.livejournal.com - Date: 2013-10-19 05:36 pm (UTC) - Expand

(no subject)

From: [identity profile] tonsky.livejournal.com - Date: 2013-10-19 06:07 pm (UTC) - Expand

(no subject)

From: [identity profile] blackyblack.livejournal.com - Date: 2013-10-19 06:09 pm (UTC) - Expand

(no subject)

From: [identity profile] tonsky.livejournal.com - Date: 2013-10-19 07:56 pm (UTC) - Expand

(no subject)

From: [identity profile] blackyblack.livejournal.com - Date: 2013-10-19 08:02 pm (UTC) - Expand

(no subject)

From: [identity profile] cottidianus.livejournal.com - Date: 2013-10-20 02:46 am (UTC) - Expand

Date: 2013-10-19 02:02 pm (UTC)
From: [identity profile] guamoka.livejournal.com
По нажатию на которую выскакивают тысяча китайцев индусов и начинают созывать митинги, ажалить и оперденить и по удалёному доступу управлять девайсом, удаляя старый код и нарезая новый.

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

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

(no subject)

From: [identity profile] berezovsky.livejournal.com - Date: 2013-10-19 12:10 pm (UTC) - Expand

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

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

пишем код типа такого
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);
  };
}

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

Date: 2013-10-19 11:30 am (UTC)
From: [identity profile] bydlorus.livejournal.com
А должно быть на автолиспе. А это фу.

(no subject)

From: [identity profile] nicka-startcev.livejournal.com - Date: 2013-10-19 02:52 pm (UTC) - Expand

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

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

Date: 2013-10-19 09:32 am (UTC)
From: [identity profile] metaclass.livejournal.com
Готового не видел. Условно можно считать что у Rails scaffolding такой, но оно унылое все.

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-19 11:24 am (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 05:21 pm (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-21 05:18 am (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-21 06:37 am (UTC) - Expand

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-21 08:40 am (UTC) - Expand

Date: 2013-10-19 09:23 am (UTC)
From: [identity profile] theiced.livejournal.com
у тебя опять зелантон. его даже противогаз уебанил же, а ты тупишь.

Date: 2013-10-19 11:31 am (UTC)
From: [identity profile] bydlorus.livejournal.com
Хаус всё время искал волчанку, а айсед - зелантона.

(no subject)

From: [identity profile] guamoka.livejournal.com - Date: 2013-10-19 02:09 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 05:19 pm (UTC) - Expand

(no subject)

From: [identity profile] guamoka.livejournal.com - Date: 2013-10-19 05:33 pm (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-19 05:50 pm (UTC) - Expand

(no subject)

From: [identity profile] gineer.livejournal.com - Date: 2013-10-20 07:22 am (UTC) - Expand

(no subject)

From: [identity profile] bydlorus.livejournal.com - Date: 2013-10-20 07:25 am (UTC) - Expand

Date: 2013-10-19 02:41 pm (UTC)
From: [identity profile] altmind.livejournal.com
как то так (кликабельно)

Date: 2013-10-19 02:45 pm (UTC)
From: [identity profile] berezovsky.livejournal.com
Проще надо быть.

(no subject)

From: [identity profile] jakobz.livejournal.com - Date: 2013-10-21 05:13 am (UTC) - Expand

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 27th, 2025 02:06 pm
Powered by Dreamwidth Studios