ailev.ru

Обсуждение

В архиве: 22 комментария.

Читать и комментировать в ЖЖ ↗

vitus_wagner · 8 марта 2007

Комментарий

Про автоматизированный рефакторинг это всё отговорки. Просто они не знают как добиться того, чтобы код шаблонов не превращася в unmaintainable mess, навроде PHP. Мы в Communiware, помнится, тоже эту проблему решить не смогли. У смоллтолкеров видимо есть какой-то секрет на эту тему, связанный не с тем, как писать или автоматически рефакторить код, а с тем, как повернуть мозги разработчика.

Анонимный автор · 8 марта 2007

Комментарий

Интерпретация вопроса интересная (я что-то говорил про модовость?), в любом случае, спасибо, постараюсь почитать и отнестись. Правда, треть ссылок у меня уже фиолетовые - как тесен, тесен, тесен мир :)
    (Рефлексивно: противно, но инструмента, чтобы мне показать тебе, какие именно, у нас нет).
В MVC меня всегда смущала не столько частая неэргономичность, сколько то, что она (модель MVC как таковая) адекватна вообще очень небольшому количеству типов работ. Надо сказать, что сочетание CLI+(WIMP/MVC) покрывает известные мне приложения практически полностью, однако соединения отнюдь не бесшовны. (В частности, я так удобного для себя и не нашел инструмента для рисования графических фантиков к CLI-сценариям (прежде всего, на sh), хотя когда-то хотел... с возрастом прошло, конечно). Сильно боюсь, что и не MVC, но остающиеся объектными модели меня глубоко не удовлетворят. Про "авторефаторинг", как и Витус, не понял. Пропуск n, а то и m циклов рефакторинга IMHO вообще хроническая болезнь сегодняшнего человечества :) -М.О.

Имя не сохранено · 8 марта 2007

Комментарий

Было бы замечательно, если бы функиональность определяла бы успешность интерфейса. Это было бы понятно, научно. И можно было бы из юзабилити успешные проекты создавать. К сожалению по другую сторону интерфейса человек. И вижу таблицы исследований, где функционально успешный интерфейс проигрывает в чистую неудобному. Направление UX сменившее usability - это первый шаг в нужном направлении. Лучший фэйс для нашего фэйс это человеческий фэйс. Поэтому и аватары нас влекут.

Анатолий Левенчук · 8 марта 2007

Комментарий

Я думаю, что многие интерфейсные идеи даже прошлого сильно недооценены. Мы некоторое время переписывались с Максимом Отставновым по этому поводу. Прежде всего, в интерфейсе есть несколько разных слоёв: "кнопочный" (пробовали набирать текст на тастатуре телефона? А разглядывать картинки, напечатанные символами, а не растровой графикой? ;), "графические инварианты" (о котором я пишу) и уровня приложения (в котором можно уже говорить о "нарративе"). Вы в шахматы играть пробовали без доски? Аватары меня без доски для игры в шахматы не влекут. Ибо в подобных случаях за такое междумордие нужно фэйсом -- об тэйбл. Кстати, я всем рассказываю байку о том, почему ОргМастер как концептуальный моделлер оказался невероятно успешен. А потому, как вместо "графического представления семантической сети", как основного представления, там много лет развивалось представление этой сети в виде двухоконного подобия "нортон коммандера", где псевдографикой отображались связи между понятиями правого и левого классификаторов. То же произошло с языками программирования: блок-схемы не выжили, выжил текст с автоматической его раскраской, провязкой, комментами "на полях" и т.д. "Живой текст" вполне себе необходим. Для работы с моделью организации вам нужна не аватара (или даже не толпа аватар этой организации -- много ли вы поймете о работе складской системы универмага самообслуживания, если будете наблюдать за входящими/выходящими на склад людьми и автомашинами?), а ряд самых разных представлений. Из них самое последнее, которое будет востребовано -- "трехмерная модель в удобном для изучения ее с помощью аватары размере". Возможности текста по паковке информации нельзя недооценивать. Даже географические карты имеют довольно много текста на них, даже в SL тексты встречаются на каждом шагу. Тексты очень хорошо сканируются глазом. Тексты рулят. Увы, нет хороших интерактивных интерфейсов для работы с сильноструктурированным текстом, который хотелось бы отображать в самых разных видах. Объекты и костюмы -- это чудесно. Так устроены многие моделлеры. Мы еще вернемся к этому вопросу неоднократно, но в апреле.

Ответ на комментарий

romaha · 8 марта 2007

Комментарий

А чем Максим Отставнов сейчас занимается? Помню в 97 году его статьи в Терре, достаточно интересные. Правда мне тогда трудно было понять о чем он говорит ))) А потом он куда-то пропал...

Анатолий Левенчук · 8 марта 2007

Комментарий

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

Ответ на комментарий

romaha · 8 марта 2007

Комментарий

Ну если в 97-м году, если мне не изменяет память, Максима серьезно интересовали такие методы внутрисетевого взаимодействия как p2p, когда они могли существовать только в виде технико-философской абстракции, то я не удивлюсь, если всю суть его нынешних измышлений можно будет оценить только лет через пять-семь )))

Ответ на комментарий

Имя не сохранено · 9 марта 2007

Комментарий

Есть опасность в том, что мы путаем интерфейс, как средство, обеспечивающее взаимодействие, с формами представления информации. Текст - это форма представления информации. Модель - часто тоже форма. Управление такой моделью - это уже элементы контентного интерфейса. Однако не все программные системы содержат контент. В софтовых системах чаще всего его нет. В калькуляторе нет контента (ну не циферки же). А в games - контента много и он интерактивный. Но кроме контентного интерактива - взять пистолет - есть там и не контентный - записать игру, например. И все это разным способом представляется на экране. В разных метафорах и т.д. и т.д. Просто берется конкретная система и под нее правильно разрабатывается хороший интерфейс. Теперь с учетом user experience (UX). Задача очень интересная. Кстати, не смотря на большую настоящую науку о интерфейсах, существующую в штатах, такого большого количества интерфейсного ужаса, который там оказывается в коммерческих продуктах - трудно где еще найти. Вот лежит коробка с 50 СD c их выставки - только студентам как bad interface показывать.

Ответ на комментарий

Анатолий Левенчук · 10 марта 2007

Комментарий

1. Как мы обсуждали с Максимом Отставновым, все современные человеко-человечные интерфейсы, опосредованные техникой, содержат многослойные (многоуровневые) человеко-машинные интерфейсы. И для каждого уровня интерфейса своя метафора, своя юзабилити, свой экспириенс. 2. У нас была довольно длинная дискуссия (причем стороны стоят на своей позиции намертво ;) с urbansheep про информационную архитектуру (на что у вас намек с "контентным интерфейсом"): я утверждаю, что нет такой дисциплины, а он -- что очень даже есть, и называет себя инфоархом. Мое доказательство простое: просьба предъявить какие-нибудь собственные (не из usability/UX) концепты-термины информационной архитектуры и методы, использующие эти концепты для получения неизменно превосходного результата. Пока таковых не найдено: это просто еще одно название для usability/UX. Так что я не разделяю ваш тезис об особой разнице между "средством, обеспечивающим взаимодействие и формами представления информации". Ибо форма представления -- это тоже интерфейс (один представляет, другой -- читает, удобно или неудобно). 3. В литературе usability и UX так и пишут -- usability/UX, через слэш. Ибо хрен редьки не слаще, разницы особой нет -- эмоции и в usability учитывали. Там еще куча названий (типа той же "информационной архитектуры", о которой я уже писал).

Ответ на комментарий

Имя не сохранено · 10 марта 2007

Комментарий

Наверное не надо упрощать заведомо сложные вещи. И написание usability/UX через слэш или черточку совершено не решает проблемы. Конечно, сейчас орава наших юзабилистов ( не уверен, что при полном отсутсвии соответсвующей российской науки и системы образования они у нас есть в заметном количестве) побежит в UX. Но анализ интернет событий в этой отрасли показывает, что у нас не все еще поняли, что такое UХ и как более-менее адекватно перевести user experience на русский. Что касается контента, итерактивности, интерфейса - то здесь все более ясно. Общие определения можно смотреть в стандартах (им можно доверять), а конкретику обсуждать на примерах. Несколько авард продуктов, papers, большой experience и уйма tacit знаний обеспечивают уверенность в освоении этой сферы деятельности. И все же - контент и интерфейс - это разные вещи. Интерфейс - это interaction. В видеоплеере есть много кнопок - интерфейс и окошко с кино -контент. Контент может быть интерактивным. Но это особый случай. Самый простой интерактивный контент - гипертекст. Потом пошло гипермедиа. Ну и мультимедиа, геймы, виртуальные среды и т.д. Про уровни интерфейса - это одна из моделей, обеспечивающих понимание и конструктив. По мне так она слаба. Информационная архитектура - есть некоторая мода на это, но по мне это как мода на вещи из бабушкина сундука. Уже это видел.

Ответ на комментарий

Анатолий Левенчук · 10 марта 2007

Комментарий

1. Не согласен на формулировки "у нас/у них". Например, мне и в голову не пришло про usability/UX смотреть что-то по-русски. Я смотрел исключительно работы англоязычных гуру в этой области. Это не значит, что в России нет никого в этих вопросах понимающих. А в среднем по больнице и на Западе и в России полно самых разных примеров. Надеюсь, что "у нас еще не все поняли" у вас относится ко всему миру, а не к какому-то "родному российскому городу". Страновых различий в эпоху интернета уже не бывает, проехали. 2. Стандартам доверять нельзя. Скажем, пятнадцать лет назад было два стандарта: TCP/IP и X.25 (и еще более мощный X.400). И все единодушно говорили, что TCP/IP был первым поколением стандартов, и X.25 -- это вот уже самое оно, и мир туда пойдет. И действительно, мир туда бодро топал. Ну, и где эти стандарты теперь? :)) Ибо есть конкуренция реализаций стандартов, но также и конкуренция стандартов. Мое мнение: в интерфейсах еще не все карты разыграны. 3. Media is the message. Мне кажется, что уровни интерфейса как раз продуктивная модель, конструктив которой заключается в том, что разные команды обеспечивают разные уровни интерфейса, совместимые между собой. Кто-то делает qwerty клавиатуру и удаляет из нее клавишу CapsLock, а кто-то разрабатывает метафору рабочего стола в варианте Windows или Squeak. Во всех ваших мультимедиа тоже интерфейсы слоеные. В окошке с кино появляется сам выбор кино, а внутри кино -- выбор кадров, альтернативные режимы просмотра, возможность нажать пальцем на фигурку персонажа, чтобы получить его профайл и т.д.. Уровни интерфейса дают возможность описывать такие системы, а вот различие на интерфейс и контент -- не дают. Что для одного уровня интерфейса контент, то для другого -- самый что ни на есть интерактив. Media is the message в оригинальном значении этих слов. 4. Что информационная архитектура не более чем мода на вещи из бабушкина сундука, я вроде и написал.

Ответ на комментарий

Анатолий Левенчук · 20 апреля 2007

Комментарий

В FONC, скорее всего, им этот секрет тоже понадобится. Ибо предлагается в одном флаконе держать инструментарий на удобное заведение разнопарадигмальных domain specific languages -- и далее программировать на этой смеси. Каждый раз они явно предупреждают, что так программировать для новичков трудно, но затем мощно удобно и возможно. Вот эта разница между "для новичков трудно" и "затем мощно удобно и возможно" как раз и интересует. Это предмет отдельного расследования, однако. Это ключевая точка. Текстов на эту тему не встречал пока, кроме оценочных "в вашем месиве разных языков невозможно жить" -- "ваши красивые стандартные языки тупы и невыразительны".

Ответ на комментарий

vitus_wagner · 20 апреля 2007

Комментарий

Текстов на эту тему не встречал пока Похоже, что это задача вообще не из области программирования, а из области обучения. Встраивание средств обучения концепциям в инструментальную среду - задача, которую пытаются решить как минимум с конца 80-х (всякие встроенные tutorial-ы), но так пока никому в массовых масштабах решить не удалось. Все, кому удалось решить задачу массового обучения своей системе (Micrpsoft, PHP etc) делали это за счет 1. "сделать для новичков легко, а на неудобства затем - плевать" 2. Создания мощного компьюнити вокруг своего инструмента, где передача концепций происходит из уст в уста. Причем в большинстве слушчаев передаются не правильные заложенные разработчиками концепции, а созданные неопытными пользователями мифы.

Ответ на комментарий

Анатолий Левенчук · 20 апреля 2007

Комментарий

Не думаю, что это проблема дидактическая. Прежде всего нужно сформулировать то, чему учить (содержание образования, body of knowledge, educational knowledge). Можно долго учить умножению, если говорить про него в римских цифрах. Не встречал текстов про то, какие такие конструкции нужно встраивать в головы, чтобы многопарадигмальные/многоязыковые/многопредметные/междисциплинарные представления не превращались в кашу. Примеры "как нужно и какие техники были употреблены", "как не нужно, и какие ошибки были сделаны/техники не были употреблены". Уже второй вопрос -- как эти конструкции встраивать в головы. Было бы что встраивать, кроме посыла "пиши на Лиспе" или "определяй в Смоллтоке домейн-специфик языки и пиши с их использованием" или "не заморачивайся с шаблонами в смоллтоке, а прямо прописывай верстку в тексте -- так проще будет".

Ответ на комментарий

vitus_wagner · 20 апреля 2007

Комментарий

Уже второй вопрос -- как эти конструкции встраивать в головы. В том-то вся и проблема что встраивать надо не сами конструкции, а критерии их сравнения. Ни один из принципов не является универсальным. Это эвристики, которые в каких-то случаях работают, а в каких-то нет. Соответственно, учить надо именно тому как из противоречащих друг другу эвристик выбрать подходящую в данной конкретной ситуации. Удобные для обученного пользователя средства характерны именно тем что "There is more than one way to do it". Поэтому можно выбирать ту, которая работает в данном конкретном случае. А новичку нужна "серебряная пуля" - один рецепт на все случаи жизни.

Ответ на комментарий

vitus_wagner · 20 апреля 2007

Комментарий

И вижу таблицы исследований, где функционально успешный интерфейс проигрывает в чистую неудобному. Тут вчера Шнайер запостил на эту тему ссылку. http://www.schneier.com/blog/archives/2007/04/a_security_mark.html Что хреновый, но дешевый продукт вытесняет с рынка нафиг более дорогие но качественные, в условиях недостаточности у покупателя информации о качестве продукта. В случае интерфейсов цена - это время и усилия затраченные на освоения интерфейса. Информация у пользователя, впервые увидевшего новый интерфейс, недостаточна по определению.

Ответ на комментарий

Анатолий Левенчук · 20 апреля 2007

Комментарий

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

Ответ на комментарий

vitus_wagner · 20 апреля 2007

Комментарий

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

Ответ на комментарий

Имя не сохранено · 20 апреля 2007

Комментарий

Спасибо ссылку. Надо внимательно почитать. Насчет хренового и дешевого - по автомобилям - однозначно нет. По компьютерам - не думаю (разве при госзакупках) По пище - от категории покупателей По одежде - у нас по деньгам. Не очень получается. Но там не наш случай рассматривается, а капитализм. В любом случае удобство-неудобство софта это категория мало влияющая на факт покупки. Время на обучение интерфейсу - это вообще вне оценки. По UX: 1) Я должен захотеть купить это. 2) Я должен получить удовольствие от использования этого. 3) Я должен захотеть использовать это еще раз. И везде свои приемы. Ажиотаж на покупку эппеловкого ай-поне, а не дешовые китайские телефоны. Хотя в общей массе - может, может...

Ответ на комментарий