Connect with us

Разработка

Григорий Петров: Модель, которую построил мозг

Пару десятков лет назад психологам дали МРТ. И началось.

Григорий Петров

Опубликовано

/

     
     

Пару десятков лет назад психологам дали МРТ. И началось. Если раньше исследование нашего мировосприятия в основном заключалось в долгих беседах, то теперь достаточно сканера мозговой активности и правильно поставленного эксперимента. Поставленные за эти годы эксперименты развенчали множество мифов о том, как работает наш мозг. И породили еще больше позволили выдвинуть ряд интересных гипотез. Большой интерес для нас представляет концепция ментальных моделей, о которой очень доступно и подробно написано в этой книге.

В соответствии с этой теорией, мозг взаимодействует с окружающим миром и телом путем построения моделей. Результаты этой деятельности по моделированию воспринимаются нашим разумом как реальность и наши действия в ней. Теория легко объясняет оптические и физические иллюзии, которые являются не более чем эксплуатацией “устоявшихся” в мозгу моделей. Например, мы воспринимаем впуклости и выпуклости на этом рисунке потому, что у нашего мозга есть “базовая” модель падающего сверху света. Если вы перевернете это изображение, то элементы поменяются местами.

vpadiny-vypuklosti

Самое интересное заключается в том, как мозг строит модели. Происходит это путем предсказания по текущей модели, внимательного осмотра, что получилось на самом деле, и последующего редактирования модели. Если окружающий мир перестает соответствовать модели слишком резко, то мозг начинает творить странное. Оптические иллюзии – самое безвредное из этого.

Если наш мозг использует модели всегда и для всего, то зачем я рассказываю об этом в колонке про управление разработкой? Ведь мозг точно так же будет себя вести и при рытье траншей, и при проведении хирургических операций? Да, будет. Но у нас, традиционно, своя специфика. Мозг любит строить модели на основании других моделей. Сперва младенец строит модели “свет падает сверху” и “свет отбрасывает тень”, после чего с помощью них и наблюдений строит модель “тени снизу”. Которая впоследствии становится основной многих оптических иллюзий. На этом принципе основано традиционное образование: вначале мы объясняем простые вещи, проводя аналогии с реальным миром, чтобы мозг мог за них “зацепиться” и переиспользовать существующие модели. А затем мы объясняем более сложные вещи в терминах уже изученных простых. И так далее, вплоть до высшей математики и теоретической физикой.

Так вот, с точки зрения существующих моделей окружающего мира, разработка программ – это не очень естественная деятельность. Мозгу трудно проводить аналогии, и до сих пор даже не очень понятно с чего начинать обучение программированию. В основном используется метод “давайте кинем его в воду и он сам как-нибудь научится плавать”. На обучаемого вываливается куча информации об алгоритмах, данных, потоках выполнения, функциях, объектах, классах. После чего предлагается “делать практические упражнения пока сам как-нибудь не поймет”. Способ в целом работающий, но далеко не самый лучший.

Практические рекомендации

Знание того, что мозг всегда строит модели окружающего мира, позволяет нам объяснить многие закономерности в разработке и придумать способы борьбы с неприятными вещами. Про какие-то я уже писал (ничего не говоря про модели). К примеру, стандарт кодирования и одобренные библиотеки с фреймворками позволяют разработчикам в одной команде формировать похожие ментальные модели и гораздо лучше понимать и менять код друг друга.

illo_mental_model

Мозг не только строит модели, но и использует их определенным образом. Из интересного и полезного: мозг старается минимизировать потребление энергии и всегда выбирает самую “сильную” из подходящих моделей. Более того, после того как мозг ее выбрал, она еще усиливается. На этом основан известный фокус: собеседнику предлагают называть последовательности чисел, и говорят, удовлетворяют ли они загаданному правилу или нет. Задача – назвать загаданное правило. Большинство людей называют “одни – два – три”, им отвечают “да”, после чего они называют что-нибудь вроде “четыре – пять – шесть”, снова слышат “да” и говорят, что правило – каждое следующее число на единицу больше предыдущего. А на самом деле загадывают правило “каждое последующее число больше предыдущего”. Но мозг, выбравший самое простое правило, заставляет человека произносить последовательности, которые этому правилу удовлетворяют. И не произносить те, которые бы его опровергали.

Как нам пригодится это знание? Если непонятно что делать, то всегда нужно просить разработчиков предложить несколько вариантов решения. Если этого не сделать, то разработчики автоматически используют первое найденное и будут за него “цепляться”. Не потому, что они такие упертые, а потому, что так работает наш мозг. Про некоторые практические приемы борьбы с “заклинившими” моделями я уже писал.

Другая полезная в хозяйстве закономерность: сложные модели являются признаком проблем в предметной области. Мозг построит модель в любом случае, но если у человека не очень хорошее понимание предмета, то модель будет переусложнена. Особенно хорошо такое видно в теориях заговора безумцев, которые с легкостью объясняют, почему нами правят инопланетяне. Так вот, при разработке такого лучше не допускать. Если где-то слишком сложная архитектура – есть хорошие шансы, что разработчик не очень понимает, что именно происходит и пытается поймать нужное в клетку. Только не из слов, а из кода. Что с этим делать? Обеспечить, чтобы тим лид внимательно следил.

Что еще хорошего можно прочитать в упомянутой выше книге: наше воображение не креативно. Звучит странно, не так ли? Мы привыкли считать, что именно “богатое воображение” позволяет строить нам воздушные замки и вообще там “такое, что просто ух!”. Да, воображение очень хорошо извлекает образы из памяти и укладывает их в существующие модели. Только вот новые модели оно создавать не любит, в своем воображении мы ограничены имеющимся опытом. Практический вывод: “сидеть и думать” не очень эффективно. Бумага с ручкой или брейншторм позволяют мозгу делать то, для чего он эволюционно приспособлен – адаптировать модели под изменяющийся окружающий мир. Если разработчик уже второй час с задумчивым видом ходит кругами – дайте ему бумагу, ручки и попросите “подумать вслух” с использованием этих нехитрых приспособлений. Он будет приятно удивлен результату. Кстати, благодаря этому свойству нашего воображения часто случаются ситуации, когда разработчик начинает формулировать вопрос и на середине уходит со словами “ой, я все понял”.

Это только начало

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

  • Почему средним разработчикам трудно поддерживать код более опытных коллег.
  • Что делать с перфекционистами в команде.
  • Разрушительная сила ретроспективного когнитивного искажения.
  • Откуда растут корни ООП.
  • Неочевидная польза stackoverflow.
  • И многое другое.

Подписывайтесь на новости и оставайтесь с нами!

Комментарии
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement
4 комментария

4 Comments

  1. Nikolay Karelin

    02.05.2016 at 15:53

    Последний, самый главный переход как-то непонятен. Если мозг не эффективен в построении новых моделей, то почему бумага с ручкой помогают?

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

  2. Konstantin Makarov

    05.05.2016 at 11:43

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

    Зато если получилось структурировать мысль именно до лаконичных блок-схем или майндмэпа, наступает полнейшее просветление и уверенность в выбранном решении.

You must be logged in to post a comment Login

Leave a Reply

Медиа

Podlodka #89: Перфоманс

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

AppTractor

Опубликовано

/

Автор:

Podlodka

Денис Мишунов объяснил, почему производительность важна, как ее воспринимает мозг человека и показал варианты решения проблем этого восприятия. Александр Тоболь провел краткий экскурс в то, как работают различные сетевые протоколы и их клиентские реализации и открыл целую область для оптимизаций. Артур Василов и Николай Лихогруд копнули в оптимизацию перфоманса клиентского кода Android и iOS приложений соответственно. Короче говоря, если вы не знаете, как и зачем сделать свой продукт быстрым – этот выпуск однозначно для вас!

Комментарии
Продолжить чтение

Новости

Интересные материалы: 13.12

У нас в конце недели история приложения учета времени, проводимого в соц.сетях, митапы Туту.ру и тренды дизайна на следующий год.

AppTractor

Опубликовано

/

Автор:

Весь день мы собираем лучшие материалы о разработке и маркетинге технологий, стартапов, мобильных приложений и игр для iOS и Android из самых разных источников:

Комментарии
Продолжить чтение

SDK

Epic выпустит SDK для кроссплатформенных игр

Epic Games в следующем году выпустит SDK для организации кроссплатформенных игр.

AppTractor

Опубликовано

/

Автор:

Новый Online Services SDK позволит регистрироваться в играх через разные социальные сети и платформы, заводить списки друзей, показывать свое присутствие, вести профиль и т.п. вещи, будет также облачное хранилище для сохранения игр, достижения и награды, голосовые коммуникации, подбор игроков для мультиплеера.

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

Предполагается, что все это будет бесшовно работать на PC, Mac, iOS, Android, PlayStation, Xbox и Switch. Предполагается, что сначала SDK выйдет для Windows – примерно во втором или третьем квартале. Остальные платформы будут подключаться по мере готовности.

SDK будет открытым, первоначально поддерживать Unreal Engine и Unity, инфраструктура – Amazon Web Services. Epic обещает полную поддержку GDPR.

 

Комментарии
Продолжить чтение

Разработка

Главные тренды мобильной разработки в 2019

В 2019 мобильные приложения станут еще более персонализированными и ориентированными на пользователя, в них будет простой дизайн и много искусственного интеллекта. Об этих и других трендах мобильной разработки – в статье Epom.

Epom Apps

Опубликовано

/

Автор:

Количество пользователей смартфонов в 2019 году достигнет 2,5 миллиардов, а постоянно растущее число приложений в Google Play и Apple App Store делает мобильную разработку одним из самых динамичных и конкурентных секторов.

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

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

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

Эволюция машинного обучения и искусственного интеллекта

Доход приложений от внедрения искусственного интеллекта (Artificial Intelligence, AI) на мировом рынке постоянно растет и превысит 100 млн. долларов к 2025 году. Согласно исследованиям Gartner, 200 самых крупных компаний в мире активно внедряют и полагаются на данные машинного обучения.

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

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

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

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

Мгновенные приложения для Android

Идея мгновенных приложений (Instant Apps), которые Android выкатил еще в 2016, наконец набирает обороты. Благодаря этой технологии пользователи могут получить доступ к функционалу приложения, не загружая его. Для пользователей выгода очевидна: концепция “попробуй, прежде чем купить” позволит им сэкономить время на чтение отзывов, и самим попробовать фичи приложения.

Google Play планирует таким образом сэкономить память в смартфонах. Но одна из проблем заключается в том, что мгновенные приложения работают корректно с приложениями без тяжелой графики.

Тяжеловесным играм с большим функционалом может быть сложно экспериментировать с мгновенными приложениями.

Еще один предмет горячих споров разработчиков – как внедрение мгновенных приложений повлияет на рекламную монетизацию. Они могут увеличивать уровень вовлеченности на определенных уровнях приложения, но негативно влияют на retention: если нет необходимости устанавливать приложение, пользователь реже возвращается.

Низкий порог доступа к приложению и подход “попробуй, прежде чем установить” в идеале уменьшает случайные скачивания и количество пользователей, которые забросили приложение. Поэтому если у вас приложение с простой логикой, которое весит немного, стоит потестировать Instant Apps.

Персонализация vs GDPR

Исследование IAB показало, что в разных приложениях разное время пикового вовлечения пользователей, а значит шаблонная реклама на них не сработает. Рекламодателю важно привлечь внимание пользователя во время его максимальной вовлеченности, предоставляя ему возможность контролировать уровень персонализации.

Персонализация в 2019 не менее важна, чем приватность. Исследование Salesforce показывает, что 65% пользователей считают, что персонализация повышает их лояльность к компании. В то же время пользователи ценят конфиденциальность данных.

Это вызвало противоречия в онлайн-экосистеме: большие компании типа Google или Facebook запрашивали личную информацию, чтобы «обеспечить более качественный пользовательский опыт». Но правила GDPR теперь обязывают объяснять пользователям, какие данные и зачем собирает компания и дать им выбор – отказаться от сбора cookie, или разрешить системе узнать себя лучше.

Разработчики уверены, что GDPR не повредит персонализации, и она останется актуальным трендом 2019 года.

Появление новых способов монетизации

Объем рынка мобильной рекламы оценивается в 250 миллиардов долларов, поэтому все больше разработчиков стремятся к тому, чтобы монетизировать приложения рекламой. Но даже применяя все известные стратегии монетизации, попасть в 5% самых высокодоходных приложений нереально. Поэтому разработчики используют нетрадиционные способы монетизации приложений.

Монетизация пользовательских данных начала развиваться пару лет назад и сегодня является одним из быстрорастущих трендов. Монетизация данных — это процесс сбора и передачи неперсональных данных пользователей посреднику. Для приложений с DAU от 60 000 пользователей этот вариант – идеальный пассивный заработок.
Монетизация данных полностью соответствует правилам GDPR и Google Play Policy, но требует явного согласия пользователей перед началом процесса сбора данных.

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

UX: От сложного к простому

Упрощенный UX помогает пользователям быстро ориентироваться в приложении и находить то, что они искали. Дизайн мобильных приложений должен предсказывать поведение пользователей, быть минималистичным, и учитывать Swiping-жесты, чтобы обеспечивать целостный опыт для пользователей приложений. А с развитием Google Pay и Apple Pay,  желательно добавить возможность оплаты виртуальной картой.

Вспомните нашумевший редизайн Snapchat: некоторое время назад они изменили свой узнаваемый интерфейс приложения и отвели больше места пользовательскому контенту и рекламе. Реакция пользователей на новые функции Snapchat была ужасной: они утверждали, что новый Snapchat более сложный в пользовании, а затем подписали петицию, чтобы вернуть старый-добрый дизайн. В конце концов, команде из Snapchat пришлось вернуть все, как было. Snapchat сделал шаг назад с точки зрения дизайна, но смог удержать лояльность пользователей.

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

Усиленная защита мобильных приложений

В 2017 году около 75% мобильных приложений не смогли пройти даже базовые тесты безопасности. Это означает, что в процессе создания приложения разработчик обычно не тестирует приложение на потенциальные уязвимости. Ошибки, допущенные в процессе разработки приложений, могут напрямую влиять на репутацию и погубить приложение после запуска. Наиболее распространенными уязвимостями мобильной безопасности являются слабый контроль на стороне сервера и уязвимости в протоколах и аппаратуре.

В 2019 ожидается усиление безопасности Android и iOS-приложений, но увы, низкокачественных приложений в обоих магазинах приложений все еще много.

Не надейтесь, что пронесет —проверьте приложение на предмет пробелов в безопасности. Список удобных инструментов проверки приложений включает ZAP, Micro Focus, Kiuwan и многие другие.

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

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

Комментарии
Продолжить чтение

Реклама

Наша рассылка

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Вакансии

Популярное

X
X

Спасибо!

Теперь редакторы в курсе.