Ссылки №9

Давненько не брал я в руки шашек:

Как описывать баги

Разработчики не любят баги и хотят от них поскорее избавиться. Если непонятно описать проблему, то, скорее всего, вам ответят «не воспроизводится». Никому не хочется разбираться в непонятной фигне.

Мне при описании багов другим разработчикам помогает алгоритм:

  • что я сделал;
  • что хотел получить;
  • что получил в итоге.

В нём несколько плюсов.

Понятно, в чём баг

Не всегда очевидно то, что кажется очевидным.

Когда вы с разработчиком ещё не говорите на одном языке, «поправь отступ» для последнего превращается в квест. Сделать меньше, больше, кратным 5, убрать его вообще? «Увеличь отступ на 5 пк» — понятнее.

Если проблема сложная, то одной строчкой не обойдёшься. «Что хотел получить и что получил» сразу показывают на примере, как программа должна работать, а как нет.

Понятно, как воспроизвести

Отмазка «не воспроизводится» уже не прокатит, потому что вы уже написали, как его воспроизвести :–)

Особенно эффективно работает, если указать контекст: браузер, размер экрана и т.д. Здесь уж совсем деваться некуда.

Запись окружения можно автоматизировать. Например, у Жиры есть расширение для браузера, которое во время скриншота записывает браузер, разрешение экрана и операционную систему.

Вас всё равно спросят

Если что-то останется непонятно, вас всё равно об этом спросят, а время уйдёт впустую.

Я заметил, что когда описываю проблему подробно, то на её решение уходит меньше времени. Это относится не только к разработчикам, но и к поддержке, чату в банке. Опишу проблему сразу подробно — меня не дёргают потом за уточнениями.

Конечно, не для всех ситуаций это нужно. «Поменяй цвет ссылки на синий» — тут всё и так ясно. А вот если команда ещё не сработалась, или проблема сложная, то чем подробнее, тем лучше.

Айбайк Уфа, как это было

В этой заметке я расскажу, с какими трудностями столкнулась наша команда, и какие мы принимали решения во время работы над приложением для фестиваля Айбайк Уфа.

Сроки, модульность и АПИ

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

Фронт я писал сразу так, будто у меня уже есть АПИ для общения с сервером. Описал, какие данные буду отправлять на сервер, и что буду ждать в ответ. Расписал, по каким ссылкам будет удобнее общаться и какого формата сообщения мы будем использовать.

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

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

Редизайн в середине разработки

В середине разработки мы поняли, что структура экранов приложения слабая, и надо её переделать.

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

Для сравнения — первая версия главного экрана выглядела так:

Финальная — так:

Подстройка под реалии

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

Например, переделали страницу ввода кода, потому что решение с крутящимися цифрами оказалось непонятным.

Вместо барабанчиков мы поставили поле:

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

Людям пофиг, что это веб. Требования — как от натива

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

К примеру, анимация перехода между экранами по задумке должна была быть, как будто меняются карточки на экране. Но из-за проблем с прокруткой на странице и особенностями Реакта пришлось сделать «псевдонаплыв» одной карточки на другую.

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

Вывод — люди не видят разницы, между нативным, веб-приложением или гибридным, им всё равно, сколько по срокам заняла разработка. Требования к приложению всегда будут жёсткими.

Фестиваль отменили

Самая большая проблема появилась за день до запуска — фестиваль отменили. Из программы осталось несколько площадок и рекорд Гиннеса.

Как так получилось, и почему — в обращении организаторов.

Итог

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

Ссылки №8

Математика, Реакт и искусственный интеллект:

Ссылки №7

Ютуба сегодня больше, чем обычно:

Екатеринбург, май 2017

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

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

Есть крутой небоскрёб со смотровой площадкой. Но оттуда смотреть интересно только на реку. Дома одинаково-квадратные, застройка разреженная с кучей пустырей.

В общем, вот фотографии, просто покажу, что да как.

В парке Расторгуевых-Харитоновых есть красивый пруд с утками. Но к нему не подойти, потому что дорога разбита, да и беседка тоже разбитая и изрисованная.

Смотровая площадка на 52-м этаже «Высоцкого» открывает клёвый вид на реку. Но стоит повернуть голову в другую сторону и там уже скучно.

Красивый Храм на Крови не особо спасает положение — его просто не видно среди одинаковых домов.

Сам небоскрёб крутой. А у домов рядом фасад разваливается. Последняя фотография — с красной линии.

Трамвайные пути проложены красиво, на них даже не трясёт. Но до остановки надо ещё постараться дойти.

На Плотинке можно найти крутые виды на Исеть. Но профиль города взгляд не притягивает.

Вот Ельцин-центр крутой. Само здание, экспозиция, экспонаты — очень клёво. Экскурсия с рассказом о 90-х, наверное, была самой интересной. Будете в Екатеринбурге — обязательно сходите.

Музей Высоцкого показался менее интересным. В музей железной дороги не успели попасть.

Деревья там стригут кайфово :–)

Замок любви.

Предложение.

Война фастфудочных.

Обойти город можно за день-полтора.

Ссылки №6

Сегодня список подлиннее: