Рубрика «интерфейсы» - 150

Введение

В статье описываю подход к созданию удобного инструмента на Javascript для онлайн-редактирования текстов. В качестве примера создал прототип для редактирования статей на Хабре (описан ниже). С его помощью сейчас и вношу изменения в данную статью.

Передо мной встала задача выбора онлайн-редактора для текстов на сайте. Самым очевидным решением оказался бы один из WYSIWYG редакторов. Но этот вариант мне не понравился по нескольким причинам. Во-первых, многие уязвимости популярных CMS систем связаны именно с WYSIWYG редакторами. Во-вторых, после публикации текст часто будет отличаться от того, что было в редакторе. В-третьих, подобные редакторы сложно расширить для поддержки новых тэгов и элементов. Поэтому остановился на WYSIWYM редакторе.

Читать полностью »

В начале этого года известный сайт для вопросов и ответов formspring.me отключил возможность задавать анонимные вопросы без логина на Formspring (при этом опция «hide my name», позволяющая скрыть своё имя, пока ещё сохраняет своё действие). Теперь настройки, например, выглядят так:
Читать полностью »

Создание интерактивного прототипа с Fireworks и TAP (touch application prototyping)Кажется Хабр не заслуженно обошло стороной повальное увлечение проектирования интерфейсов с помощью Fireworks, (по крайней мере Smashingmagazine и Cooper усиленно пропагандируют его как стандарт де-факто в отрасли).

Статья не является переводом iOS Prototyping With TAP And Adobe Fireworks товарища Shlomo Goltz, однако идея разобраться в этом вопросе наконец то, появилась именно после этой статьи, да и картинку я «стырил» оттуда.

В нашей лаборатории мы часто размышляли над тем какие инструменты лучше всего подходят для прототипирования приложений. На тот момент был популярен Expression Blend + SketchFlow, но его привязанность к Silverlight не давала нам ни малейшего шанса, на то что он будет популярен в мобильной разработке. Читать полностью »

На дворе наступал Новый год, а из головы никак не выходила мысль, что XAML может быть лучше. И, чтобы ему быть лучше, ему нужно перестать быть. Так родилась затея написать альтернативу кошмарному и ужасному XAML'ю: без <Setter.Value>, без {Binding Path=Name, RelativeSource={RelativeSource AncestorType={x:Type Button}}, Converter={StaticResource Converter}}, без FirstValueEqualsToSecondValueOrThirdValueEqualsNullConverter, без <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions>, без <MultiDataTrigger> <MultiDataTrigger.Triggers> <DataTrigger> <DataTrigger.Binding> <MultiDataBinding>..., без xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml", без всего этого барахла, от написания которого в десятый раз возникают позывы нежно погладить компьютер табуретом и вспоминаются далёкие индусские родственники разработчиков WPF.

Приветствуем: JAML = XAML − XML + JSON

Фичи:

  • Тёплый ламповый синтаксис JSON без кавычек вместо дьявольских уголовых скобок XML.
  • Краткий и вменяемый синтаксис для markup extensions: километровые один-раз-написал-потом-читать-страшно-байндинги {Binding Path=Name, RelativeSource={RelativeSource AncestorType={x:Type Button}}, Converter={StaticResource Converter}} превращаются в почти присваивания {= ~Button.Name, Converter={@Converter} }.
  • Кошерные выражения на C# на замену некошерным конвертерам: {= ${=Property1} == ${=Property2} || ${=Property3} == null }.
  • Смерть «элементной» записи свойств — <Setter.Value> уходят в небытие.
  • Зубодробительное повторение повторений объявляется устаревшим: если куда-то можно положить только ColumnDefinition, не надо повторять это десять раз.
  • Сеттеры и триггеры перестают быть многобуквенными сериализованными костылями: сеттеры выглядят как присваивание свойств, триггеры выглядят как условия.
  • Смерть дублированию десяти «clr-namespace» с указанием имён соборок и прочей нечисти.

Звучит классно? А выглядит оно так:

_={
    $: 'Window root',
    Resources: [{
        $: 'Style MyButtonStyle Button',
        set: {
            Background: 'Red', Foreground: 'Green'
        },
        on: {
            '{=this.IsMouseOver}': {set: {
                Background: 'Yellow', Foreground: 'Blue'
            }}
        }
    }],
    _: [{
        $: 'Grid',
        RowDefinitions: [ { Height: '*' } ],
        ColumnDefinitions: [ { Width: '*' } ],
        _: [{
            $: 'Button btnPressMe', Content: 'Press me!', Style: '{@MyButtonStyle}'
        }]
    }]
}

Читать полностью »

Пробовали ли вы оценивать свой IT-продукт с психологической точки зрения? Такая оценка может основываться на общей психологии и включать эргономическое тестирование, может основываться на когнитивной психологии и задействовать теорию познания и принятия решений, может основываться на теории деятельности и анализировать пользовательские сценарии, может основываться на психологии научения и бихевиоризме и анализировать продукт с точки зрения геймификации…

Но отдельный очень важный раздел психологии – это психология личности, включающая теории личностных потребностей и психологических защит. Из-за сложности и большого количества иногда противоречащих друг другу концепций, эту область редко используют в качестве источника идей и ограничений при разработке IT-продуктов. Однако психология личности дает очень много возможностей для понимания и предсказания поведения пользователей.

Предлагаю вариант методики для оценки IT-продукта, созданный на основе компиляции различных теорий личностных потребностей.
Тест оценивает, насколько продукт может удовлетворить 10 наиболее распространенных потребностей личности.
Этот тест можно использовать не только для оценки продукта, но и как чек-лист при поиске идей в разработке IT-продуктов.

Описание теста.
Для каждой потребности предложено по 5 вопросов о продукте. Читать полностью »

Игрофикация – свежий взгляд на мотивацию пользователей? Игрофикация сейчас является крайне популярной темой. В этом топике мы постараемся разобраться, что же это такое, а также убедить себя и окружающих в том, что игрофикация — всего лишь модное слово.
Читать полностью »

Сегодня обнаружил на сайте ОАО «РЖД» весьма занятную ошибку:

29 февраля 2013 года в РЖД

Да, в феврале 2013 года у них 29 (!) дней. Хуже всего что наличие дополнительного дня «смещает» все остальные месяцы по дням недели на один день вперёд.

Интересно, что творится с сервисом заказов и с АСУ «Экспресс-3» в целом. Если через пару дней не поправят, то люди, заказывающие билеты на 1 марта будут неприятно удивлены.

Об ошибке написал на ticket@rzd.ru.

Читать полностью »

Описывая один из компьютеров Power Mac, Айв рассказывал: «Мы хотели избавиться от всего, без чего можно было обойтись. Для этого требовалось абсолютное взаимопонимание между дизайнерами, разработчиками, инженерами и изготовителями. Мы без конца возвращались к исходному пункту. Нужна ли эта часть? Может ли она выполнять функции остальных четырёх?»
Уолтер Айзексон, «Стив Джобс. Биография».

В ТРИЗ (Теория Решения Изобретательских Задач), разработанной советским изобретателем Генрихом Альтшуллером есть одно из базовых понятий — понятие идеального объекта.
Формулируется понятие очень просто — идеальный объект — когда объекта нет, а функция его выполняется.
Читать полностью »

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

Android. Побеждаем фрагментацию

1. Планшеты и телефоны. Планирование интерфейса

Одним из главных отличием девайсов на базе Android является физический размер. «Зоопарк устройств» содержит как и крохотные телефоны, так и огромные десятидюймовые планшеты. И про этот чрезвычайно важный момент многие начинающие разработчики часто забывают.

Коренное различие телефонов и планшетов состоит в том, как пользователь держит их:

Телефоны в портретной ориентации

Обычно держатся в одной руке. Нажатия осуществляются большим пальцем этой же руки. Палец достает везде, но интуитивно удобна нижняя половина экрана.
Android. Побеждаем фрагментациюAndroid. Побеждаем фрагментацию
Читать полностью »

Обновления на Leap Motion Developer Portal

Компания Leap Motion обновила информацию на портале для разработчиков программного обеспечения. На сайте для зарегистрированных разработчиков доступны загрузочные комплекты SDK версий 0.7.0. Поддерживаемые для разработки опереационные системы Microsoft Windows 7,8 и Apple Mac OS 10.6 и старше. Размер загрузочных пакетов SDK 34,9 и 32,9 МБ соответственно.
Поддерживаемые языки программирования:

  • С++ ( MS VS 2010 и 2012, Xcode)
  • C# (.NET версий 3.5 и 4.0, Mono версии 2.10)
  • Java версий 6 и 7
  • Python версии 2.7

Что дальше

В дальнейшем компания обещает начать рассылку контроллеров для выбранных разработчиков.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js