Нахождение сочувствия к пользователям и их запросам функций

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

Мы размещаем и поддерживаем массивную систему управления контентом, которая позволяет нашим клиентам публиковать статьи, которые также могут включать изображения. Стремясь гарантировать, что люди не используют изображения, которые им не положено, мы разработали внутреннее приложение, которое позволяет нам визуально проверять и одобрять изображения, включенные в статьи. Когда клиент использует изображение в статье, он также должен указать авторские права на это изображение. Если изображение с открытым исходным кодом или бесплатное, они должны включать уровень лицензии Creative Commons, на которую оно распространяется, а если это стоковое изображение, они должны включать номер учетной записи, под которой оно было приобретено. Затем эти изображения появляются в нашем аудиторском приложении для проверки и утверждения нашими внутренними сотрудниками… в данном случае мной.

Первоначальное развертывание было отличным (более года назад). Базовый макет приложения показывает мне уменьшенное изображение вместе с авторскими правами, которые указал пользователь. Однако для фактического утверждения изображения требовалось четыре клика и две перезагрузки страницы для каждого изображения. Мне пришлось щелкнуть изображение, чтобы перейти на другую страницу, затем нажать две кнопки на этой промежуточной странице, затем четвертый щелчок, чтобы вернуться на страницу индекса. Я обнаружил, что для подавляющего большинства изображений (80% и более) вся информация, необходимая для утверждения изображения, находилась на этой индексной странице. Итак, почему вся навигация и клики? Но подождите… я умею программировать! Итак, я добавил флажок к каждому изображению на индексной странице вместе с кнопкой «Обновить выбранные изображения», о, и пока я на этом, давайте добавим флажок «Выбрать все», который позволяет мне проверять/выбирать все десять изображений на эта индексная страница. Теперь двумя щелчками мыши я могу одобрить десять изображений примерно за две секунды. Как говорят в стране Байю «Прекрасный Далин!!»

Как разработчики, мы часто не можем по-настоящему сидеть на месте наших пользователей. Как часто пользователь просит новую функцию, а мы говорим себе: «…с какой стати им это нужно?» В данном случае я был пользователем. Я достаточно благословлен тем, что могу писать код, облегчающий мою жизнь, но у наших пользователей нет такой роскоши. Есть большая ценность в поедании корма для собак, который мы называем кодом, который наши пользователи едят каждый день. Если бы не тот факт, что я работаю в недоукомплектованной организации, финансируемой государством, какой-нибудь другой бедняга застрял бы с рутинной задачей нажимать кнопки без уважительной причины.

Первоначально я назвал эту статью «Самый удовлетворительный код, который я когда-либо писал». Прежде чем отправить код, на который я ссылался выше, мне потребовалось бы два или три часа, чтобы разобраться со 150 или около того изображениями, которые стояли в очереди и нуждались в одобрении. После того, как я развернул этот код, это заняло около 15 минут. Одно дело получать удовольствие от решения сложной задачи по написанию кода, и совсем другое — развертывать код, который экономит вам время, усилия, энергию и рассудок.

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

Удачного кодирования!