3. MagicPlot
• 1 разработчик
• Дюжина евангелистов
• 9 лет разработки и 7 лет на рынке
• Около 115 тыс. строк кода (3,5 МБ)
• Платформа Java SE/Swing (да, у нас есть и кросс-платформенный jar-файл!)
• Разные ОС
• Платная (Pro) и бесплатная (Student) версии
• ЦА – физики-экспериментаторы и R&D – продвинутая аудитория
[Disclaimer]
В чем отличие? Интерфейс!
4. Честный подход к интерфейсу
Если быть честными, мы же все понимаем, что:
Командная строка обладает намного большей мощностью, чем
любой графический интерфейс
5. Честный подход к интерфейсу
Если быть честными, мы же все понимаем, что:
Командная строка обладает намного большей мощностью, чем
любой графический интерфейс
Если быть честными, мы же все понимаем, что:
Изучать синтаксис командной строки станут далеко не все, у нее
высокий порог вхождения
6. Меньше, но лучше
Что плохо у конкурентов?
• Перегруженность функциями
• Нет двойной буферизации графиков
(мерцание и рассыпание, лишние перерисовки)
• Неудобная навигация на графике
• Низкая степень интерактивности
• Диалоговые окна, меняющие конфигурацию «на ходу»
• Проблемы с «откаткой»
• Но: это общепризнанный стандарт. Вызывает привыкание!
• Пытаемся сделать современно не жалея процессор и память
8. Реализация
• Своя библиотека рисования графиков,
чтобы контролировать «каждый пиксель»
• Элементы управления, показывающие стили
• Контроль производительности
• Кстати: Java – не медленная!
9. Идеи/паттерны
1. Непосредственное манипулирование
2. Отсутствие «скрытого» состояния
3. Мгновенная реакция на действия
4. Графическая целостность
5. Многоуровневая откатка
6. Немодальные окна свойств
7. Обновление без кнопки «применить»
10. Процесс: Agile-Singleton
• Найти пользователей-евангелистов, заинтересованных в
разрабатываемой функции, трясти их, но сделать по-своему
• Тестировщики-пользователи эффективны в долгосрочной
перспективе, но неэффективны в краткосрочной
• Минимум внешних библиотек
12. Литература
1. Алан Купер. Об интерфейсе. Основы проектирования
взаимодействия. – СПб.: Символ-Плюс, 2009
– Для думания в правильном направлении
2. Дженифер Тидвелл. Разработка пользовательских интерфейсов. –
СПб.: Питер, 2008
– Список паттернов проектирования интерфейса
http://designinginterfaces.com/firstedition/
3. Джейсон Фрейд, Дэвид Хайнемайер Хенссон. Rework: бизнес без
предрассудков. – М.: Манн, Иванов, Фербер, 2010
– Уверенность в непривычных действиях
С места в карьер покажу, как выглядит программа, о которой буду говорить. Немного стыдно показывать в такой аудитории спартанский вид и страшные иконки
В двух словах:
физики-экспериментаторы, отделы R&D коммерческих компаний
таблицы с данными
обработка
нелинейная аппроксимация
векторые графики для публикаций в научных журналах
всё это сохраняется в файл проекта.
Что представляет собой MagicPlot внутри.
- Физический факультет СПбГУ
Если я буду говорить «мы», я имею в виду не себя, а компанию. Но на самом деле это я
В чем же отличие от конкурентов? Посколкьу математические алгоритмы стандартные, главное отличие – интерфейс. Да, нескромно
Типичный отзыв: программа-конкурент перегружена функциями, а MagicPlot позволяет работать проще быстрее. Но хотим еще таких-то функций!
Дисклаймер: большинство из вас специализируется именно на интерфейсах, а я занимаюсь всем понемногу, поэтому многие вещи могут быть вам очевидны. Но я постараюсь рассказать интересно.
Когда речь заходит о софте для обработки данных, часто говорят о программировании, скриптах, командной строке.
…и всякий раз опускаются руки
Но на самом деле лишь часть людей готовы изучать программирование.
…но потом я возвращаюсь к реальности!
Бывает и симбиоз: графический интерфейс, которым можно управлять скриптами. У нас пока нет.
Не будем называть имен…
Перегруженность – неизбежное зло. Людям приходится обращаться и к другому софту.
Другой софт пишут программисты, или просто слишком умные люди
Я написал «проблемы» с откаткой потому, что в некоторых программах ее нет совсем, а где-то она есть, но реализована не полностью или неудобно.
Но почитав книгу «ReWork» мы знаем, что можно пробовать делать меньше и отхватить часть аудитории, которая будет довольна.
Лучше один раз увидеть…
Последовательность:
Импорт
Задание интервала
Создание и расположение кривых, демо выделения кривых и курсора мыши
Аппроксимация
Вычитание кривых, затем вернуть на место
Редактирование стиля текста, кривой, дополнительные настройки – в диалоговом окне
Редактирование текста «на месте»
Создание рисованных объектов, прилипание: показывает не только направляющие, но и объект, к которому липнет!
Зум холста для рисования
Демо задания своей функции (дело не только в графиках!): подсветка синтаксиса и автоматическое задание параметров
Демонстрация откатки вперед-назад!
Собрали всё лучшее:
- Непосредственное манипулирование
Подсвечивание рамки текста при наведении
Редактирование на месте
Привязка
Мгновенное применение настроек
Откатка
Формулы с подсветкой
Умные Книжки Про Бизнес: главное, на чем построен ваш бизнес, должно быть под вашим контролем и в вашей компетенции.
Не отдавайте основную работу на аутсорсинг.