Домашний кабинет моего дедушки, учителя физики, располагался в тёмной каморке в самом конце общего коридора коммунальной квартиры. Сейчас я понимаю, что это была простая кладовка — обычное дело для петербургского дома на Васильевском острове 1910-го года постройки. Но в детстве эта комната казалась мне волшебным кабинетом алхимика или звездочёта в высокой башне средневекового замка. Сходство усиливали полки, набитые книгами до самого высоченного потолка, который терялся где-то во мраке. Старая настольная лампа с зелёным плафоном освещала окружающие предметы мягким таинственным светом. Непропорционально большое для такого маленького помещения окно выходило в глубокий очень узкий квадратный вентиляционный «колодец» площадью около 5 метров. Там всегда царил полумрак, что ещё больше усиливало сказочную иллюзию каменной башни.
Под стать кабинету были и предметы, которые его наполняли. Огромное количество книг, энциклопедий и справочников обо всём на свете. Многие из них вместо текста были заполнены странными значками и формулами, в которых были зашифрованы секретные сокровенные знания о мире. В раннем детстве я не мог их прочитать, но мне очень хотелось поскорее изучить таинственные науки — физику и математику, чтобы понять, что там написано. А ещё на полках и стенах комнаты было множество приборов и устройств непонятного назначения. Они загадочно поблёскивали в полумраке своими ручками и циферблатами — как артефакты древней фантастической цивилизации.
Все эти приборы поражали моё детское воображение своей необычностью и непостижимостью. Я не знал, для чего они предназначены и как их использовать, и разглядывал их со смешанным чувством любопытства и благоговения. Но один из них всё же раскрыл мне свои тайны. Он был настолько простым, что дедушка без труда обучил меня им пользоваться. Наверное, поэтому этот прибор стал моим самым любимым предметом в кабинете.
Мой любимый волшебный артефакт из детства
Это был круглый стрелочный барометр, который висел над письменным столом дедушки. С помощью этого прибора я обрёл невиданную ранее силу мага-предсказателя погоды. Делать это было даже проще, чем распознавать время по стрелочным часам. На круглой шкале барометра были размещены надписи, соответствующие погоде. Традиционно они начинались с романтического «Шторма» и заканчивались таинственной «Великой сушью». На дедушкином барометре даже были добавлены стилизованные штриховые рисунки, изображавшие погодные условия. При взгляде на шкалу сразу было понятно, какая погода ожидается в ближайшее время. Если стрелка движется вперёд, значит будет ясно. Если назад, значит будет дождь. Если совсем назад, значит впереди гроза и ненастье.
Для меня это был волшебный сказочный артефакт, предсказывающий будущее. Я на всю жизнь запомнил этот прибор как образец универсального устройства, которое имеет настолько простой интерфейс, что им может пользоваться даже ребёнок.
Теперь у нас дома тоже есть свой настоящий механический барометр, красивый и большой, в лакированном деревянном корпусе. Этот прибор не требует никакого питания и основан на простейших физических законах. Он предсказывает локальную погоду лучше любого прогноза. Все члены семьи знают правило: если показания прибора расходятся с интернет-прогнозами — значит, прав барометр.
Барометр обладает простой и надёжной конструкцией: там практически нечему ломаться. Если с ним аккуратно обращаться, то он способен прослужить многие десятки лет. У него есть гениальное приспособление: дополнительная стрелка, которой можно отмечать текущее давление. По ней всегда будет наглядно видно, как и в какую сторону изменились показания прибора.
А ещё на шкале нашего барометра так же, как и много лет назад, нанесены таинственные надписи «Шторм» и «Великая сушь». При взгляде на эту шкалу сразу представляешь себя капитаном на мостике каравеллы, бороздящей бескрайний океан. Куда уж тут китайским цифровым поделкам с банальными ЖК-цифрами!
При чём здесь артефакты
Барометр — это устройство, для которого очень хорошо подходит изящное слово «артефакт». Сейчас артефактами в IT называют всё, что угодно — от элементов схемы до настроек тестового контура. Но вообще изначально слово «артефакт» — это соединение латинских слов ars — искусство и factus — сделанный. Это предмет, который буквально сделан по законам искусства, рукотворный продукт творческой деятельности человека.
Человечество на протяжении веков самозабвенно занималось созданием различных предметов, устройств и объектов. С археологической точки зрения доисторическая палка-копалка может называться артефактом наравне с изумительными фресками критского дворца. Но мне ближе определение культурного артефакта как искусственно созданного объекта, имеющего как определённые физические характеристики, так и знаковое символическое содержание.
Для меня артефакты — это предметы, которые обладают красотой и изяществом, но в то же время практичны и удобны в использовании. При этом можно сказать, что артефакты в большинстве случаев минималистичны — в них нет ничего лишнего, вычурного, нарочитого. Они созданы для того, чтобы ими было удобно и приятно пользоваться долгие годы.
Барометр не только помогает следить за погодой, но и вдохновляет меня на создание простых, надёжных и практичных, но в чём-то особенных и необычных вещей. Для меня это реальное воплощение закона Артура Кларка, по которому любая достаточно продвинутая технология неотличима от магии.
У барометра есть физические характеристики, в которых заключается его практическая ценность — он измеряет давление и помогает предсказать погоду. Но в то же время это не простой утилитарный предмет, он обладает своей внутренней уникальной «магией». На моём телефоне тоже есть датчик давления и приложение-барометр. Но при его использовании у меня почему-то не возникает мыслей про каравеллу на океанских просторах.
Один шедевр вместо сотни пластиковых стаканчиков
Нас окружают самые обычные практичные объекты с первой составляющей — нужными физическими характеристиками, но без второй составляющей — глубокого символического содержания. Мы пользуемся множеством предметов, которые не обладают внутренней уникальностью. Мы живём в пластмассовом мире массового производства и потребления.
Оно, в общем-то, наверное, и не так плохо — ведь предметы исправно выполняют свою функцию. Но иногда так хочется, чтобы «душа свернулась и развернулась». Нам не хватает простых и надёжных, но в то же время уникальных и оригинальных предметов, устройств и объектов. То же можно сказать и о программах. Нас окружает безликая масса практичных, но не самобытных приложений-клонов. Нам предлагают сотни пластмассовых стаканчиков, а мы мечтаем об удобной и красивой чашке ручной работы.
Какими же свойствами должно обладать приложение, чтобы стать особенным? В моём личном рейтинге программе присваивается сверкающий значок «Артефакт», если она обладает следующими достоинствами:
1. Оригинальность — стильная функциональность
Программа должна быть красивой, стильной, непохожей на другие. Безусловно, у каждого пользователя свои понятия красоты и стиля. То, что для одного бесценный образец изящества, для другого — грубая поделка. Поэтому чем больше оригинальных приложений нам будут предлагать, тем лучше. Главное, чтобы было из чего выбирать.
Оригинальности не должно быть слишком много. Изящная инкрустация, оригинальная виньетка, необычная роспись... Всё это не должно вредить функциональности. Мы выбираем не произведение абстрактного искусства, а объект с определёнными практическими целями.
2. Завершённость — законченное произведение
Артефакт — это завершённый объект, который «ушёл в народ». Представьте себе мастера, который создал шедевр, выпустил его в свет, а потом продолжает его дорабатывать. Например, дописывает картину в залах музея. Или бесконечно переписывает уже выпущенную книгу. История знает подобные примеры, но нам это кажется странным и эксцентричным.
Почему-то в области разработки программ нас такое поведение авторов вовсе не удивляет. Нас окружают сырые и недоделанные приложения, мы живём в многоверсионном мире бесконечных апдейтов, патчей и заплаток. А ведь принцип «сделаем как попало, а потом исправим в следующих версиях» — это неуважение к пользователям.
3. Самодостаточность — вещь в себе
Большинство вещей, которыми человечество пользовалось веками, не требуют дополнительных приспособлений или источников питания. Мы можем просто взять ложку и начать её использовать. Её не нужно подключать к сети, для неё не нужно заводить никаких добавочных плагинов.
Прогресс окружил нас более сложными объектами, которые не могут выполнять свои функции без дополнительных ухищрений. Для запуска программ нам нужны компьютер и операционная система. Для работы или зарядки аккумуляторов компьютера требуется питание. Мы с этим смирились, привыкли к таким зависимостям, стараемся всегда находиться недалеко от розетки.
Проблема в том, что мы с завидным упорством стараемся увеличить количество этих зависимостей. Для просмотра картин Леонардо да Винчи не требуется установка специальных фреймворков. Чтобы насладиться шедевром, нужны только глаза. Почему же в нашем цифровом мире стала обычной практика, когда для запуска приложения помимо операционной системы требуется установка множества дополнительных программ? Мне нравятся приложения, которые работают сами по себе — безо всяких сторонних обвязок, фреймворков, тулкитов и библиотек. А ещё лучше, когда приложение вообще не требует никакой установки.
4. Простота — только то, что нужно
Вам никогда не приходилось «зависать» над очередным электронным устройством, на котором нужно установить правильное время? Барометр тоже можно снабдить десятком кнопок, ЖК-экраном, дополнительными функциями. Он будет по-прежнему выполнять свою задачу, но уже перестанет быть интуитивно понятным устройством.
Внешняя простота предмета или приложения вовсе не означает его внутреннюю простоту. Внутри он может быть устроен сколь угодно сложно, но эта сложность не должна влиять на простоту его использования. Только тогда он станет чудесным артефактом, с помощью которого маленький ребёнок может предсказать погоду.
5. Направленность — движение к единой цели
Мы живём в мире многофункциональных комбайнов-гигантов. Считается, что чем больше функций у приложения, тем оно более универсально. Но это обманчивая связь. Вместо одного простого действительно универсального инструмента мы получаем множество разношёрстных инструментов, объединённых в единое целое.
Каждый из этих внутренних инструментов реализован кое-как. Между тем, если их разделить и как следует поработать над каждым из них по отдельности, они стали бы более простыми, удобными, надёжными и, как это ни странно, более универсальными — в рамках своей уникальной задачи.
Есть такой хороший принцип разработки: «программа должна решать только одну задачу, но делать это хорошо». Если функциональность программы ограничена несколькими важными действиями, то разработчик может сосредоточиться на качественной реализации этих возможностей и не распылять своё внимание между сотнями функций.
Создаём прекрасные артефакты
Принцип создания артефактов можно применять не только в разработке приложений. Практически в любой сфере деятельности, которая подразумевает изготовление каких-то объектов, — виртуальных или реальных, — можно ориентироваться на создание самобытных, простых, изящных, но функциональных и универсальных артефактов.
Разработка программ-артефактов — это альтернатива штамповке многофункциональных пластмассовых монстров. Артефакт — понятие индивидуальное. У каждого список свойств артефакта будет своим — кого-то больше волнует дизайн, кого-то миниатюрность. Главное — это отношение создателя к своему творению — не как к безликой функциональной поделке, а как к произведению искусства, шедевру, которым будет приятно и удобно пользоваться. Пусть программы приносят пользователям радость и эстетическое удовольствие.