Pull to refresh

Технологии и рынок Usability в России

Lumber room
Рынок юзабилити услуг в России активно развивается, но все еще находится в зачаточном состоянии, при том что спрос на данные услуги довольно велик со стороны крупных компаний и онлайн-проектов.

Использование опыта пользователей для улучшения интерфейсов — вот идеология Usability.

«Ориентированный на пользователя дизайн характеризуется активным вовлечением пользователя в процесс разработки для достижения прозрачного понимания пользовательских требований и надлежащего распределения функций между пользователями и технологиями, а так же итеративным характером подхода и его мультидисциплинарностью» ― ISO 13407

Профессиональных игроков, специлизирующихся на юзабилити-тестировании и проектировании ПИ (пользовательских интерфейсов) не так много, и все они объединены в довольно узкое коммьюнити, общающееся посредством «исконного» сайта usability.ru или ассоциации RUSCHI. Из профильных игроков на рынке можно выделить:
  • UIDesign www.uidesign.ru
    Usethics www.usethics.ru
    Maximaster www.maximaster.ru
    Студия Лебедева www.design.ru — в вопросах проектирования ПИ и эргономики в промдизайне
    UsabilityLab www.usabilitylab.ru
    Initium www.initium.ru
    + ряд фрилансеров.


    Типовой спектр усулг, оказываемых компаниями на рынке:

    • Usability-консалтинг
      Экспертиза пользовательских интерфейсов
      Usability-тестирование ПИ (можно выделить удаленные тестирования с фасилитатором и без, лабораторные тестирования, в том числе с анализом движения зрачка «eye-tracking»)
      Проектирование ПИ (проектное исследование, формализация пользовательских сценариев, прототипирование интерфейсов, спецификация, техдизайн)
      Обучение сотрудников
      Постановка отделов Usability «под ключ»


      Встраивание процесса usability-тестирований в технологический цикл разработки отвечает стандартам разработки MSF и позволяет существенно увеличить отдачу проектов по ключевым пользовательским сценариям (увеличить показатели конверсии для онлайн-сервисов и эффективность работы для Интранет-систем).

      Технологии

      До недавнего времени почти все тестирования проводились с помощью «домашних технологий», либо с ипсользованием пиратского ПО.

      На данный момент на зарубежном рынке в основном пользуются двумя наработками — Morae от TechSmith и более вункциональный, но дорогостоящий ObserverXT от Noldus.

      Не так давно началось распостранение продукта Morae на российском рынке. Это связано с получением компанией IT-Online статуса партнера TechSmith в России. Известие было втречено с энтузиазмом профессиональными юзабилистами, чему будет посвящен отдельный открытый семинар RUSCHI, который пройдет 1 ноября.

      Morae

      Расскажем подробнее о технологии Morae. Благодаря трехсторонней записи процесса тестирования (записи голоса и лица самого респондента, экрана его монитора и операционной системы, в которой респондент работает) Morae позволяет автоматизировать процесс проведения тестирования. На выходе получается синдицированный видео-отчет, включающий в себя аудио-поток тестирования, изображение лица респондента и изображениие его монитора, с возможностью расставления текстовых меток для критичных мест тестирования.

      Morae Manager позволяет:

      • найти любые действия и операции, произведенные пользователем в процессе проведения тестирования, при помощи расширенного поиска;
        рассчитать для каждого зафиксированного процесса некоторые параметры (например, время потраченное на выполнение задачи), предоставляя детальную информацию о процессе;
        добавлять текстовые пометки и голосовые комментарии к уже готовым видеоматериалам;
        демонстрировать видеозапись пользователя одновременно с записью событий на рабочем экране по принципу Picture-in-Picture.


        С момента запуска в 1994 году, Morae стала стандартом usability-тестирования для профессионалов всего мира. Morae позволяет максимально автоматизировать usability-тестирование и сделать его удобным и эффективным с точки зрения полученных результатов. Самым трудоемким в этих условиях становится процесс выработки рекомендаций по преодолению выявленных проблем.
Total votes 15: ↑11 and ↓4 +7
Views 533
Comments 6

Javascript. Простой Observer.

Lumber room
Задача — связать 2 абсолютно любые объекта. Менять исходный код объектов нельзя.

Описанное ниже расчитано на самостоятельность читателя и желание разобраться в реализации.

Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Views 782
Comments 25

Используем паттерн Наблюдатель(Observer) для создания индикатора выполнения процесса на Javascript

JavaScript *
Идея паттерна Observer заключается в создании зависимости типа один ко многим. При изменении состояния одного объекта(субъекта), зависящие от него объекты(наблюдатели) об этом оповещаются и обновляются. Это нужно для согласования состояния взаимосвязанных объектов без их жесткой связанности.

пример внутри
Total votes 64: ↑51 and ↓13 +38
Views 44K
Comments 28

Многопоточный Observer на С++ (практика)

C++ *
Sandbox
Есть много вариаций на тему данного паттерна, но большинство примеров не подходит для многопоточных приложений.
В этой статье я хочу поделится опытом применения паттерна в многопоточных приложениях и опишу основные проблемы, с которыми мне приходилось сталкиваться.
Цель данной стати — обратить внимание разработчиков на проблемы, с которыми можно столкнуться при создании многопоточных приложений. Выявить подводные камни в реализации коммуникации между компонентами в многопоточном приложении.
Если Вам необходимо готовое решение, обратите внимание на библиотеку Signals2, котрая включена в boost с мая 2009-го года.
Я не пытаюсь предоставить решение, которое можно было бы использовать в готовом виде. Но тем не менее, ознакомившись с материалом, можно обойтись без использования сторонних библиотек, в тех проектах, в которых они по каким-либо причинам не доступны или нежелательны (драйвера, низкоуровневые приложения и т.п.).
Читать дальше →
Total votes 43: ↑43 and ↓0 +43
Views 7K
Comments 16

Снова сигналы

Adobe Flash
Перевод статьи Aiden Tailor о сигналах, которые мигрировали на ActionScript из C# благодаря усилиям Rober Penner. Это не просто перевод, а шпаргалка — выжимка статьи. Без воды, ничего лишнего, чтобы даже самый ленивый мог пробежать глазами. Также произведены тесты производительности. Пост не только для AS3 гуру, но и и для всех, кого волнуют вопросы повышения качества кода, так как содержит описание одной из реализаций шаблона проектирования Observer. А вот видеоурок.

Читать дальше →
Total votes 30: ↑25 and ↓5 +20
Views 4.6K
Comments 18

Паттерн «Обозреватель» и контекст вызова в Javascript

JavaScript *
Sandbox
Хотя про паттерн «Обозреватель (Наблюдатель, Observer)» сказано достаточно, в том числе и на Хабре, вкратце повторюсь. Суть паттерна в наблюдении за состоянием неких субъектов системы и соответствующей реакции наблюдателей на изменения этих состояний. За одним субъектом может следить несколько наблюдателей, причём сам он об этом не знает (слабое связывание), но исправно оповещает всех об изменении состояния.

Удобно использовать Обозревателя на сайтах и в веб-приложениях, поэтому логично реализовать его с использованием самого популярного языка для веб-среды — Javascript.
Читать дальше →
Total votes 45: ↑37 and ↓8 +29
Views 12K
Comments 24

Reactive Extensions for JavaScript. Полное руководство

Website development *JavaScript *Programming *ASP *
Tutorial
Хотите использовать Observable Collections? Слышали про Reactive Extensions? Нравится LINQ? Не нравится писать спагетти-код? Нужны монады? И все это на JavaScript?
Тогда прошу под кат
Total votes 43: ↑38 and ↓5 +33
Views 39K
Comments 22

JavaScript паттерны… для чайников

JavaScript *
Однажды вечером, сразу после того, как я закончил разбираться с наследованием в JS, мне пришла в голову идея, что пора бы заняться чем-нибудь посложнее — например паттернами. На столе внезапно оказалась книжка Gof, а на экране ноутбука появился труд с названием «JavaScript patterns».

В общем, спустя пару вечеров, у меня появились описания и реализации на JavaScriptе самых основных паттернов — Decorator, Observer, Factory, Mediator, Memoization (не совсем паттерн, а скорее техника, но мне кажется что она прекрасно в этот ряд вписывается) и Singleton.

Читать дальше →
Total votes 118: ↑108 and ↓10 +98
Views 175K
Comments 46

Кастомизация Magento с использованием Event/Observer

PHP *
Sandbox
За 2 года работы с Magento, я много раз встречал, когда изменяя какой либо модуль для своих нужд, разработчики зачастую меняют сам модуль (блок, модель, хелпер), при этом, не используя возможности предоставляемые самой Magento. Magento это продукт который очень удобен для сторонних разработчиков, в плане дополнения и изменения базовой логики, и дает большие возможности разработчикам которые внедряют эту систему.

Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Views 13K
Comments 9

OpenStreetMap News №13: foursquare и скорая помощь используют OSM, OSM представлен в парламенте Франции, ЕС рекомендует OSM, новые спутниковые снимки, создан Совет Российского OSM

Open source *OpenStreetMap *
Под катом ещё новости
Читать дальше →
Total votes 58: ↑48 and ↓10 +38
Views 2.5K
Comments 22

Observer Pattern со строгой типизацией или зачем нам нужен Objective-C++

Development for iOS *


Уже много копий было сломанно о тему «обработка событий в Objective-C», о делегировании событий (к примеру, viewWillAppear:(BOOL)animated ), о том как это не удобно, когда надо слушать их одновременно в разных местах программы.

Я хочу предложить Вам свою реализацию шаблона Observer, который использует мощь C++0x и позволяет объявлять сигналы с жёстко типизированным списком параметров, например, вот так:
	new TLSignal<NSString *, BOOL>(self);

Т.к. мои знания С++ довольно таки скудны, то буду признателен любым советам по улучшению данного кода.

Заинтересовавшихся прошу под кат.
Читать дальше →
Total votes 11: ↑7 and ↓4 +3
Views 8.9K
Comments 18

Реактивный манифест

System Analysis and Design *Concurrent computing *
Translation
В последние годы требования к приложениям значительно изменились. Десятки серверов, время отклика в несколько секунд, оффлайновое обслуживание, которое могло длиться часами, гигабайты данных — такими были большие приложения буквально несколько лет назад. Сегодня же приложения работают абсолютно на всём, начиная с простых мобильников и заканчивая кластерами из тысячи процессоров. Пользователи ожидают миллисекундного времени отклика и стопроцентного аптайма, в то время как данные выросли до петабайтов.

Первоначально эту нишу занимали крупные инновационные интернет-компании типа Google или Twitter, однако такие требования к приложениям начали всплывать во многих областях индустрии. Финансовые и телекоммуникационные компании первыми начали внедрять новые практики, чтобы удовлетворить новым требованиям, а теперь подтягиваются и остальные.

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

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

Читать дальше →
Total votes 24: ↑21 and ↓3 +18
Views 49K
Comments 15

Аудит производительности ИТ-сервисов. Новая возможность для сервисных компаний

ProLAN corporate blog
image

Приходилось ли вам когда-нибудь развёртывать профессиональную коммерческую систему мониторинга или APM-систему (application performance management, управление производительностью приложений)? Если да, то вы знаете, что вендоры таких систем всегда или почти всегда категорически запрещают использовать их продукты для оказания профессиональных услуг (чтобы не сокращать продажи). Это принципиальная позиция, и она явно прописывается в лицензионном соглашении.
Читать дальше →
Total votes 5: ↑2 and ↓3 -1
Views 2.1K
Comments 1

Пишем реализацию Observer-а над KVO на objective-c

System Analysis and Design *Development for iOS *Designing and refactoring *Objective C *UML Design *
Добрый день, хабрачитатели. Спешу поделиться с вами опытом, недавно мной полученным.


Почему в этом есть нужда?

Как вы, наверное, знаете — создание более менее внятных и серьезных приложений не может обойтись без грамотного проектирования. Одними из основных задач современного программирования — являются контроль над сложностью, требования создания гибких и расширяемых, изменяемых приложений. Из этого вытекают концепции ортогонального программирования, максимального уменьшения связности между классами, использования наиболее подходящих архитектурных решений (алсо грамотные подходы создания архитектуры проекта, подходы к проектированию классов). За многие человекочасы и человекодни мирового опыта всех разработчиков — были выработаны наиболее естественные и удачные подходы, названные паттернами проектирования… А подходы к проектированию классов — могут в некоторой степени изменяться, в зависимости от используемого языка программирования и требуемых свойств объекта. Описываемый сегодня мной паттерн является одним из моих самых любимых (и вообще достаточно значимый), а именно встречайте:… "Observer" (по-русски — Наблюдатель). Исходя из последних двух предложений — вытекает название этой статьи.
Читать дальше →
Total votes 9: ↑5 and ↓4 +1
Views 6.9K
Comments 13

Односторонний binding данных с ECMAScript-2015 Proxy

RealTrac Technologies corporate blog JavaScript *


Доброго времени суток, хабравчане. Сегодня мы будем создавать хранилище данных с функцией одностороннего связывания данных с использованием Proxy и некоторых других плюшек ECMAScript 2015.

Что же такое Proxy?


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

Что мы будем делать?


Мы реализуем хранилище объектов с функционалом отслеживания изменений, используя прокси, т.е. некое подобие почившего O.o с некоторыми дополнительными плюшками.

Итак, поехали…
Читать дальше →
Total votes 14: ↑10 and ↓4 +6
Views 7.8K
Comments 13

Сравниваем Java 8, RxJava, Reactor

Programming *Java *Development of mobile applications *Development for Android *
Recovery mode
Translation
От переводчика:
Я подготовил для вас адаптированный перевод с небольшими дополнениями и исправлениями. Я сохранил несколько пропагандистский стиль оригинальной статьи, но, сама по себе, информация в ней интересная, поэтому решил, все же, перевести.

Люди часто спрашивают меня:
Зачем мне вообще использовать RxJava или Reactor, если то же самое можно сделать с помощью Streams, CompletableFutures и Optionals?


image


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


Давайте определим 8 критериев, которые помогут нам понять разницу между этими библиотеками и стандартными возможностями Java:

Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 26K
Comments 6

Изучаем и реализуем алгоритм работы правильного observer паттерна для react компонентов

JavaScript *ReactJS *


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

Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 9.3K
Comments 14

Паттерны проектирования в Cocos2d-x

Programming *Designing and refactoring *Game development *
Sandbox
Привет, Хабр! Представляю вашем вниманию перевод статьи "Design Patterns in Cocos2d-x" автора Aleksei Pinchuk.

Статья будет интересна для разработчиков Cocos2d-x и тех, кто изучает паттерны. Она выполнена в форме краткого конспекта, в котором можно быстро посмотреть где применяется тот или иной паттерн в Cocos2d-x. Целью статьи не является полное описание каждого паттерна.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 3.9K
Comments 0

Управление зависимостями, события и паттерны Observer и Mediator

Programming *.NET *C# *
Паттерны в чистом виде встречаются довольно редко и при изучении паттернов, особенно на ранних этапах, важны не столько сами паттерны, сколько понимание механизмов (тактик), с помощью которых они реализуются. В этой статье я хотел бы описать один из таких механизмов (управление зависимостями), который используется в паттернах Observer и Mediator, но который часто упускается из внимания. Если ты только начинаешь изучать паттерны, то добро пожаловать под кат.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 6.8K
Comments 1

Отправка событий из ViewModel в Activity/Fragment в MVVM

Home Credit Bank corporate blog Development of mobile applications *
Tutorial
Сегодня речь пойдет о том, как обмениваться события между Activities/Fragments и ViewModel в MVVM. Для получения данных из ViewModel, рекомендуется в Activity/Fragment подписываться на данные LiveData, находящиеся во ViewModel. Но что делать для отправки единичных (и не только) событий, таких как показать уведомление или, например, открыть другой фрагмент?


Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Views 5.9K
Comments 10
1