Бизнес-приложения являются одним из самых массовых типов программного обеспечения; многие из людей проводят бОльшую часть своего дня, работая с ERP, CRM и другими программами, обслуживающими жизненный цикл предприятия. Как сделать программу, которая поддерживает сложные бизнес-процессы, простой в использовании? Чем можно пожертвовать ради удобства пользователя? На примере 1С мы рассмотрим, как эволюционировал пользовательский интерфейс деловых приложений со времен DOS до наших дней, какие методики используются для улучшения юзабилити.
Ксения Стернина, Дизайн-решения. Проверено экспериментомMail.ru Group
Речь пойдет о поиске и обобщении закономерностей в исследуемой работоспособности наборов традиционных решений. Выступление будет содержать интерактивную часть.
8 из 15 банков улучшили интерфейс, 7 - полностью поменяли интерфейс. В новых интерфейсах встречаются уже новые проблемы, некоторые не очевидны и часть из них критичны. Даже такое небольшое изменение, как замена иконки, может сыграть злую шутку. Не стоит забывать об устоявшихся и привычных решениях.
Все банки постоянно дорабатывают интерфейсы, функциональность наращивается ежемесячно. Появляются решения, которые могут изменить пользовательское поведение.
79,1% проблем доступности интерфейса для людей с ограниченными возможностями связан с качеством кода. Часть исправлений этих ошибок займет у ИТ-специалиста от 1 до 8 часов. Более экономичным вариантом будет включение требований по доступности в ТЗ.
Обзорный материал о применяемых методиках работы над цифровыми продуктами. Лекция проведена в рамках интенсива по продуктовому дизайну в Британской Высшей Школе Дизайна (Москва).
Ксения Стернина, Дизайн-решения. Проверено экспериментомMail.ru Group
Речь пойдет о поиске и обобщении закономерностей в исследуемой работоспособности наборов традиционных решений. Выступление будет содержать интерактивную часть.
8 из 15 банков улучшили интерфейс, 7 - полностью поменяли интерфейс. В новых интерфейсах встречаются уже новые проблемы, некоторые не очевидны и часть из них критичны. Даже такое небольшое изменение, как замена иконки, может сыграть злую шутку. Не стоит забывать об устоявшихся и привычных решениях.
Все банки постоянно дорабатывают интерфейсы, функциональность наращивается ежемесячно. Появляются решения, которые могут изменить пользовательское поведение.
79,1% проблем доступности интерфейса для людей с ограниченными возможностями связан с качеством кода. Часть исправлений этих ошибок займет у ИТ-специалиста от 1 до 8 часов. Более экономичным вариантом будет включение требований по доступности в ТЗ.
Обзорный материал о применяемых методиках работы над цифровыми продуктами. Лекция проведена в рамках интенсива по продуктовому дизайну в Британской Высшей Школе Дизайна (Москва).
SQA Days 2009: Контроль качества интерфейсных решений на всех этапах процесса...Yury Vetrov
Мастер-класс Юрия Ветрова "Контроль качества интерфейсных решений на всех этапах процесса проектирования и разработки" на пятой конференции SQA Days 2009.
You and Сustomer: Solve problems Tsepkov Myasnikov Uzhevko SQAdays-15Maxim Tsepkov
Вы и Заказчик: решаем проблемы, а не отрабатываем требования (Максим Цепков, Андрей Мясников и Рина Ужевко на SQAdays-15) http://mtsepkov.org/You-and-Customer-sqadays15
Жизненный цикл разработки ПО (SDLC)
Этапы жизненного цикла разработки
Этап планирования
Этап разработки
Этап поддержки
Роли в жизненном цикле разработки ПО
Артефакты в жизненном цикле разработки ПО
Терминология
Методики управления развитием ис на базе 1сHelen Kopteva
Данная презентация была представлена в ходе вебинара "Методики управления развитием ИС на базе 1С. СППР как возможный инструмент поддержки данных методик". Ведущий - Олег Демиденко, руководитель отдела внедрения, руководитель проектов компания "Кодерлайн".
Мы с вами узнаем, как предполагается использовать TPL Dataflow, рассмотрим плюсы и минусы его внедрения, а так же и особенности использования и настройки под конкретную задачу
Пользователи ожидают обновление данных в реальном времени. Твиты должны появляться без задержек. Заказы должны быть подтверждены и обработаны мгновенно. Приложения должны быть отзывчивыми. Мы, как разработчики, не хотим блокировать потоки в ожидании результатов. Мы хотим чтобы результаты были переданы нам как только будут готовы. Более того - при работе с коллекциями данных каждый отдельный объект должен быть передан сразу как будет готов. У нас есть инструменты для создания уведомлений, это легко. Нам нужны удобные инструменты для реакции на оповещения.
Из доклада вы узнаете как создавать удобные, отзывчивые и тестируемые приложения при помощи Reactive Extensions, как многократно сократить код обработки событий, а также как совместить существующий код на основе событий с данным фреймворком
More Related Content
Similar to Эволюция пользовательского интерфейса бизнес-приложений: от DOSa через окна в облака
SQA Days 2009: Контроль качества интерфейсных решений на всех этапах процесса...Yury Vetrov
Мастер-класс Юрия Ветрова "Контроль качества интерфейсных решений на всех этапах процесса проектирования и разработки" на пятой конференции SQA Days 2009.
You and Сustomer: Solve problems Tsepkov Myasnikov Uzhevko SQAdays-15Maxim Tsepkov
Вы и Заказчик: решаем проблемы, а не отрабатываем требования (Максим Цепков, Андрей Мясников и Рина Ужевко на SQAdays-15) http://mtsepkov.org/You-and-Customer-sqadays15
Жизненный цикл разработки ПО (SDLC)
Этапы жизненного цикла разработки
Этап планирования
Этап разработки
Этап поддержки
Роли в жизненном цикле разработки ПО
Артефакты в жизненном цикле разработки ПО
Терминология
Методики управления развитием ис на базе 1сHelen Kopteva
Данная презентация была представлена в ходе вебинара "Методики управления развитием ИС на базе 1С. СППР как возможный инструмент поддержки данных методик". Ведущий - Олег Демиденко, руководитель отдела внедрения, руководитель проектов компания "Кодерлайн".
Similar to Эволюция пользовательского интерфейса бизнес-приложений: от DOSa через окна в облака (20)
Мы с вами узнаем, как предполагается использовать TPL Dataflow, рассмотрим плюсы и минусы его внедрения, а так же и особенности использования и настройки под конкретную задачу
Пользователи ожидают обновление данных в реальном времени. Твиты должны появляться без задержек. Заказы должны быть подтверждены и обработаны мгновенно. Приложения должны быть отзывчивыми. Мы, как разработчики, не хотим блокировать потоки в ожидании результатов. Мы хотим чтобы результаты были переданы нам как только будут готовы. Более того - при работе с коллекциями данных каждый отдельный объект должен быть передан сразу как будет готов. У нас есть инструменты для создания уведомлений, это легко. Нам нужны удобные инструменты для реакции на оповещения.
Из доклада вы узнаете как создавать удобные, отзывчивые и тестируемые приложения при помощи Reactive Extensions, как многократно сократить код обработки событий, а также как совместить существующий код на основе событий с данным фреймворком
Anemic Domain Model - антипаттерн или SOLID?GoSharp
Мартин Фаулер считает, что Anemic Domain Model (или бледная доменна модель) это плохо, и антипаттерн, противопоставляя ей Rich Domain Model с интегрированным поведением и бизнес логикой.
При этом есть другие мнения, возможно не столь распространенные. Я попробую рассказать об опыте использования Anemic Domain Model при разработке крупного корпоративного приложения. Какие плюсы и минусы мы нашли, и как преодолевали трудности.
UniversalApp "убийца" WPF или же это WPF+ ?GoSharp
Доклад освящает основные вопросы касающиеся Universal App и WPF, например:
• Развитие WPF и появление WinRT
• Унификация Windows-платформы и UAP
• Инвестиции в WPF
• Как WPF стыкуется с UAP + матрица миграции (когда и как стоит мигрировать, а когда нет)
UI тестирование WPF приложений в Дойче БанкеGoSharp
Мы расскажем о техническом решении для тестирования WPF приложений в Дойче Банке, использующем простую технику DLL-иньекции.
Поймем, что можно легко тестировать UI без библиотеки Microsoft UI Automation и даже напишем свой собственный подобный мини-фреймворк.
Практика применения Enterprise Architect и T4-шаблонов для разработки системы...GoSharp
Разработка любой крупной системы сопряжена со множеством трудностей, особенно когда система должна целиком функционировать в базе данных. А из-за невозможности создавать и поддерживать стандартные конструкции для проверки бизнес-правил, обработки исключений, логирования ошибочных данных разрабатываемые системы получаются еще и отнюдь не простыми в сопровождении.
В докладе будет представлено решение, основанное на совмещении рукописного кода и сгенерированных стандартных конструкций, поддерживающее разработку в подходе Model First и автоматизированное распространение изменений в структуру базы данных и хранимые процедуры. Реализация описанного подхода будет продемонстрирована на связке Enterprise Architect и T4-шаблонов кодогенерации.
Базовые возможности EF и их особенности, делающие применение EF в реальных проектах грустным и затратным занятием. Flexberry ORM — отечественный ORM, основные сценарии его применения, сравнение производительности с EF. Короткий рассказ с картинками и примерами в исходных кодах.
MVVM в WinForms – DevExpress Way (теория и практика)GoSharp
Из доклада вы узнаете о применении популярного паттерна MVVM для упрощения и ускорения процесса разработки desktop-приложений.
Будут рассмотрены общие проблемы этого паттерна и решения которые мы предлагаем в нашем кроссплатформенном MVVM фреймворке. Упор будет сделан на практические аспекты и техники в условиях использования платформы WinForms и контролов от DevExpress.
Проектирование сетевой инфраструктуры под SOA проекты ASP.NETGoSharp
При планировании сервисно-ориентированной архитектуры проекта крайне важно учитывать требования к работе сервиса в существующих реалиях Enterprise инфраструктуры. Если эти системы строятся независимо, то возникнут проблемы в размещении сервисов на боевом окружении, сложности управления, безопасности и надёжности. В докладе вы увидите подходы к проектированию инфраструктуры под сервисы и сервисов под инфраструктуру, а так же примеры борьбы со сложностью планирования инфраструктуры.
Мониторинг приложений ASP.NET на основе сервиса Application InsightsGoSharp
После запуска приложения в продакшн в большинстве случаев мы отправляем его в свободное плавание и не знаем о его работе ничего. Сервис Application Insights призван заполнить этот пробел и получить исчерпывающие знания о том, как работает ваше приложение и какие усилия мы должны приложить, чтобы сделать его лучше.
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
Наша команда в DevExpress недавно выпустила Preview версию нового продукта, RTF web-редактора – ASPxRichEdit.
Продукт требует высокой отзывчивости на действия пользователя и максимальной производительности. Поэтому клиент получился «толстым» в отличие от «тонких клиентов» большинства бизнес-приложений.
В составе продукта два полнофункциональных компонента - клиентский и серверный текстовые процессоры. Оба компонента работают независимо друг от друга. Клиентская часть создавалась как оптимизированная версия серверного компонента, переписанного с .NET на TypeScript.
Клиентская часть не уступает в сложности серверной. Кроме того, возникают дополнительные проблемы синхронизации состояний моделей на клиенте и сервере и глубокого тестирования клиент-серверного взаимодействия.
В этом докладе вы узнаете, как мы разрабатывали этот продукт, какие проблемы встретили и какие методики тестирования использовали.
Из доклада Вы узнаете как работают две основные буквы mVC. Controller. Каким образом запросы находят необходимые Action. Жизненный цикл объектов при запросах. Views. Что такое View, каким образом рисуется представление для frontend. Как написать свой ViewEngine.
Помимо этого - о том как хостится приложение, на сервере и как можно совместно использовать ресурсы для нескольких приложений либо масштабировать приложения по нескольким ресурсам.
Кросплатформенная разработка на ASP.NET vNextGoSharp
Из доклада вы узнаете о возможностях поддержки других платформ в ASP.NET vNEXT. На живом примере будет показано, как разворачивать ASP.NET под *nix и как программировать в этой среде.
Внедрение зависимостей в ASP.NET MVС и ASP.NET vNextGoSharp
По мере развития веб-проекта сложность бизнес-логики неизбежно растёт. Это замедляет темпы разработки, системы становятся непонятными и запутанными. Связной – не исключение. Одним из наших решений проблемы является Dependency Injection. В докладе вы узнаете о том, как DI понижает сложность бизнес-логики, почему мы в Связном считаем DI DI в ASP.NET MVC эффективным решением и что нового для DI появилось в ASP.NET vNext.
Платформа ASP.NET стоит на пороге глобальных изменений. Какие из них самые важные? Как они повлияют на процесс разработки? Стоит ли бояться и как подготовиться? В рамках доклада мы обсудим новый виток развития технологии и возможности, которые появятся у нас с выходом ASP.NET 5(vNext) и Visual Studio 2015.
Коучинг команд разработки и коучинговые инструменты в работе тимлидаGoSharp
Работа тимлида – самая трудная менеджерская работа. Он уже менеджер, его подчиненные еще нет, они не хотят и не обязаны вникать в его трудности. Ответственность уже есть, возможностей еще не так много. К этой работе редко готовят специально. Как и куда расти тимлиду? Это Вы узнаете в докладе. Какие навыки развивать. И как их развивать. Что такое коучинг команд и подойдет ли он в вашем случае. Всему можно научиться на практике, но воспользоваться чужим опытом быстрее и дешевле во многих случаях. Кстати, как определить, что именно вам чужой опыт не подойдет, вы тоже узнаете в докладе.
Взаимное влияние Source Code Management и других средств организации разработкиGoSharp
1. Почему важны не используемые инструменты, а модель организации работы и стратегия выпуска релизов.
2. Переход к более информативной истории изменений: от летописи разработки к истории развития продукта.
3. Связь между системами управления проектом и исходным кодом должна быть двусторонней.
4. Выбор разумной политики создания веток.
5. Хорошая архитектура и постоянное слияние делают непрерывную интеграцию более эффективной.
Толкование термина Devops и почему это модный buzzword
1. Гибкая эксплутация, по аналогии с гибкой разработкой и в качестве ее логичного продолжения.
2. Зачем это все нужно на примере интернет стартапа.
3. В *nix все хорошо, у Windows не очень.
4. Как сделать конвейер по доставке изменений начиная с комита разработчика и заканчивая обновлением программы-агента на машине пользователя.
5. Git и gitflow как норма рабочего процесса в команде.
6. CI - билды, ветки, артефакты.
7. Участие QA в процессе, автоматические тесты.
8. Octopus deploy и счастье. Октопаки в качестве контейнеров.
9. Мониторинг серверов и оповещения - New relic, Pager duty.
Эволюция пользовательского интерфейса бизнес-приложений: от DOSa через окна в облака
1. Петр Грибанов, «1С» grip@1c.ru
Бизнес-приложения: эволюция
пользовательского интерфейса
из консоли
через окна
в облака
2. 1C: средства разработки & программы
n Типичный продукт
§ 10…20 решений от вендора
§ 10…20 решений от партнеров
n 1С
§ 100 решений от 1С
§ 1C:ERP
§ 1100 решений от партнеров
n 1С – разработка
§ RAD = Rapid Application Development
§ eDSL = embedded Domain Specific Language
2
Частота использования ERP*
*Количество пользователей системы, данные РБК Research, 2014
15. Почему юзабилити
n Это важно для наших клиентов
§ Эффективность сотрудников
§ Количество человеческих ошибок
§ Скорость обучения
§ Понятность менеджементу
n Это важно для нас
§ Сокращает сроки работ
15
16. В начале пути (~2000 г.)
16
n Слева – меню, справа – рабочая область
n MDI
18. Опыт конкурентов
n Oracle eBusiness Suite
n SAP
n MS CRM
n MS Dynamics NAV
n MS Dynamics AX
n MS Dynamics GP
n Small Business Accounting
n MS Money
n Small Business Finance
n Sage 50 Accounting
n MS Share Point
n ВС Предприятие
n Эльба
n СвоёДело
n Epicor
n iScala
n …
18
19. Переосмысление интерфейса
n Наглядная навигация
n Легко доступные команды
n Простые и понятные формы
n Сервисные возможности
19
Задачеориентированный
интерфейс –
удобная среда для того, чтобы
сконцентрироваться на решении
конкретной задачи
22. 22
Навигация в главном окне
n Навигацию обеспечивают
§ Панель разделов
§ Панель навигации
§ Панель действий
n Главная задача
§ Быстро найти то, что сейчас нужно
§ Быстро вернуться в контекст
n Пользователь видит только то, что видит
§ Содержимое панелей должно помещаться
в экран с учетом ролей, прав и личных настроек
24. 2424
Панель разделов
n Разделы
§ Подсистемы первого уровня
§ Устойчивые режимы работ
n Важно подобрать и разработать разделы так, чтобы
пользователю не захотелось их покидать
§ Например, пользователь занимается продажами – для
него предназначен раздел «Продажи», в котором есть
все, что должно быть «под рукой»
§ Панель навигации
§ Панель действий
25. 2525
Панель навигации
n Содержит команды перехода
§ К подсистемам
§ К спискам
§ Специальные переходы
n Визуально разделена на три секции
§ Важное
§ Например микрорабочие места
§ Обычное
§ Переходы к основным спискам
§ См. также
§ Переходы к спискам, которые напрямую не относятся
к выбранному разделу, но должны быть «под рукой»
n Сортируется по алфавиту
26. 2626
Панель действий
n Показывает команды выбранного раздела и всех
его подсистем по группам
§ Создать
§ Отчеты
§ Обработки
n Тексты команд в группе «Создать» формируются
из представлений объекта метаданных (в ед.
числе)
32. Результаты Ю-Тестирования
n Отчет в цифрах
§ Время выполнения
§ Количество человеческих ошибок
§ Успешность выполнения
§ Удовлетворенность
n Таблица по гипотезам
n Список наблюдений и предложений
32
33. Что дальше
n Тестируем
n Анализируем
n Устраняем проблемы
n Повторно тестируем
n Анализируем достижения
n Отражаем в стандартах
разработки
33
34. Eye-tracker
n Прибор для записи движения глаз
n Более точная (по сравнению с обычным ю-тестированием)
картина, как пользователь взаимодействует с интерфейсом
n Запись движения глаз по экрану в виде изображений и таблиц:
§ тепловые карты
§ траектории движения
§ кластеры
§ области интереса
34
36. Тепловые карты
n Визуализация пользовательского внимания, уделяемого
областям экрана.
§ Незначительное по времени внимание - зелёным
§ Значительное - красным
§ Альтернативный вид: видимое отображается, не видимое не
отображается
n Что физически видит пользователь в процессе работы, а чего
не видит?
36
37. Тепловые карты – пример 1
37
Пример 1. Задача пользователя – ответить по скольким
критериям есть основания для налоговой проверки.
Это указано прямым текстом в заголовке.
38. Тепловые карты – пример 1
38
Пример 1. Пользователь неправильно отвечает и при этом не
видит текст заголовка физически.
Вывод: заголовок как место размещения информации в данном
случае мало полезен.
39. Тепловые карты – пример 2
39
Пример 2. Задача пользователя – распечатать накладную на
основе счета. Это возможно сделать, создав на основании
«Реализацию товаров и услуг».
40. Тепловые карты – пример 2
40
Пример 2. Пользователь не может выполнить задание. При
этом взгляд не раз падает на команду «Реализация товаров и
услуг», но что эта команда нужна – не считывается.
Вывод: размещение приемлемое, но формулировка может быть
непонятна.
41. Тепловые карты – пример 3
41
Пример 3. Пользователь создает новый счет на оплату услуг
путем копирования старого счета (на оплата товара).
Чтобы корректно указать услугу, ему надо сменить вкладку
Товары на вкладку Услуги.
42. Тепловые карты – альтернативный вид
42
Пример 3. Применим альтернативный способ визуализации
тепловых карт – отображая только то, что пользователь видит (и
затеняя остальное). На тепловой карте заметно, что вкладки
Товары и Услуги попадают в поле зрения.
При этом пользователь не осознает, что надо сменить Товары на
Услуги.
Вывод: размещение приемлемое, но понимания необходимости
смены вкладок отсюда не следует.
43. Траектории движения взгляда
n Каким путем, в какой последовательности пользователь будет
искать некую информацию на экране?
n Основываются на эффекте того, что движение глаз человека
происходит не плавно, а дискретно, от точки фиксации
внимания к следующей.
n Номером обозначается порядок фиксации взгляда в процессе
движения, размером круга обозначается время фиксации.
43
44. Траектории движения взгляда - пример
44
Пользователю поставлена задача – добавить форму в
Избранное.
Проследим порядок поиска звездочки, по клику на которой
происходит добавление формы в Избранное.
45. 45
Траектории движения взгляда - пример
Порядок движения глаз пользователя:
сначала левая часть первых двух строк панели управления,
затем средняя часть третьей строки панели управления,
затем средняя часть первой строки,
и, наконец, искомая звездочка.
Вывод: взгляд движется в основном в пределах верхней левой
части панели управления, примерно там, где и находится
звездочка.
46. Кластеры
n Объединение точек, к которым приковано внимание
пользователей в процессе выполнения задания, в крупные
значимые блоки
n Отвечают на вопрос: в какой области, блоке экрана
пользователи ищут что-либо
46
47. Кластеры - пример
47
Пример. Пользователю поставлена задача – добавить форму в
Избранное.
Проследим порядок поиска звездочки (обведена красным), по
клику на которой происходит добавление формы в Избранное.
48. Кластеры - пример
48
Вывод тот же, что и в предыдущем примере (но с другой
визуализацией): взгляд движется в основном в пределах
верхней левой части панели управления, примерно там, где и
находится звездочка.
49. Области интереса
n Статистические данные по вниманию пользователей к
заданной области экрана
n Отвечают на вопрос: сколько времени понадобится
пользователю, чтобы заметить некую информацию или
осуществить действие
49
50. Области интереса - пример
50
Пример. Пользователю дано задание добавить форму в
Избранное (нужно кликнуть на звездочку). Сколько времени от
начала выполнения задания понадобится пользователям,
чтобы добавить в Избранное? Выделяем интересующую нас
область интереса прямоугольником.
51. Области интереса - пример
51
0:04:46
0:04:22
0:02:24
0:01:58 0:01:53
0:03:05
Респондент 5 Респондент 4 Респондент 3 Респондент 1 Респондент 2 В среднем
Собираем статистику по выделенной области: через какой
промежуток времени пользователи кликнули по ней.
В среднем пользователям понадобилось более 3 минут, чтобы
добавить в Избранное.
Максимальное значение достигало более 4,5 минут.
Вывод: для добавления в Избранное пользователям требуется
достаточно много времени.
53. Developer driven UI changes: “Такси”
n Расширение аудитории
§ Выход в Web (в том числе в «облака»)
§ ERP: от бухгалтеров к мастерам на производстве
n Надо: снизить «порог вхождения» в систему
53
54. Сложности в текущем UI
СЛОЖНО:
n Найти необходимое:
команду в панели, пункт в меню, строку в списке
n Найти данные:
введенный вчера заказ, накладную конкретного покупателя
n Сделать выбор в поле ввода:
мало используется поиск при вводе, форма выбора рассеивает
внимание
n Попасть мышью в мелкие элементы интерфейса:
кнопки в командной панели, кнопки навигации в календаре, …
54
55. UI – задачи
НАДО:
n Улучшение возможностей навигации
n Настраиваемое рабочее пространство
n Улучшение юзабилити элементов интерфейса
n Новый дизайн
55
56. «Такси»
n Улучшение навигации
§ Данные и команды как можно ближе к пользователю
§ Пользователь всегда сможет найти свои данные
n История
§ Вместо истории изменений – история открытий
§ Разделить записи по датам
§ Удобный поиск
56
57. «Такси»
Избранное
n Добавлять не только данные, но и команды
n Добавление в «один клик» из любого места – форма, меню,
история, …
n Поиск в избранном
n Панель избранного с возможностью фиксации
57
59. «Такси»
n Панель инструментов:
§ Меню функций
§ Избранное
§ История
§ Поиск
n Меню: наглядность восприятия большого числа команд
n Быстрый доступ к начальной странице
n Альтернативная навигация по открытым формам: Вперед/
Назад
59
64. Приятные мелочи – функция «Что нового?»
n Раньше: список «Что нового появилось в программе…»
n Сейчас: контекстная подсказка
64
Возможность ввода
сложных статусов.
Подробнее здесь.