Битый Пиксель: Практический алгоритм миграции как ключ к успеху в современном софтостроении

Сегодня в рамках «Битого Пикселя» мы помедитируем над важной темой, которая никогда не попадает в поле зрения IT-прессы: процессом миграции от одной компьютерной программы к другой и инструментами, эту миграцию облегчающими. Вернее — полнейшем отсутствии подобных инструментов на рынке.

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

Берем любую программу и рассматриваем ее в контексте ее рыночной ниши. Что же мы видим? Интерфейс программы, ее инструментарий, ее алгоритмы работы — всё-всё-всё без исключения сделано так, как будто пользователь свалился с Луны. Вчера свалился и сразу же приземлился в данной конкретной программе. Ему ничего не известно об альтернативах на рынке, не известно и о конкурентах, которые, если разуть глаза, находятся в теме уже годами. Пользователь пришел и сразу стал работать с данной программой. Знаете почему? Потому что программист, написавший эту программу, искренне и свято верит, что кроме него и его детища на рынке нет никого! Пупец земли и никак не меньше.

034_1

Что это за безумие? Откуда берется такая наивная и детская близорукость? Ведь игнорируя реальное положение дел, программист априорно обрезает крылья своему проекту, лишая себя тысяч потенциальных клиентов, которым программа, может, и понравилась по объективным ее достоинствам, но воспользоваться ей они не могут, поскольку до появления этой программы уже давно работали с другой — от конкурентов. Эта армия потенциальных клиентов — а они составляют 99 % всех клиентов на рынке — банально не может бросить свои многолетние наработки и переметнуться пусть и к более авантажной, однако бесполезной программе. Не может, потому что нет инструментов для миграции!

Я лично сталкиваюсь с трагедией землепупства софтоделов практически ежедневно. Столь высокий градус зуда нормой, разумеется, не является и объясняется моим странновато-неуемной тоской по идеалу, которая постоянно побуждает меня выходить на поиски всё новых и новых программ для выполнения моих традиционных задач. Я беспрестанно изучаю новые органайзеры и системы личной продуктивности (PPS), персональные информационные менеджеры, программы для учета личных финансов и контроля за бюджетом, текстовые редакторы, конвертеры видео и аудиоформатов, клиенты для Твитера, системы поиска и индексации объемного контента и баз данных, словари, автоматизаторы процессов и так далее, и тому подобное.

034_2

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

Возьмем, к примеру, программы для учета личных финансов. У меня собраны данные за последние лет десять. Вернее — 10 баз данных. Десять разрозненных баз данных, которые никак между собой не пересекаются, поэтому ни о какой осмысленной аналитике говорить не приходится. А жаль, потому что эмпирика накоплена отменная. Но тут я бессилен, потому что в разные годы я работал с разными программами, а полноценного и эффективного инструмента для портирования данных в новую программу как никогда не было, так и нет. Ни у одной программы учета личных финансов!

При этом все эти финансовые программы с гордостью заявляют о том, что поддерживают импорт и экспорт во все распространенные форматы данных — OFX, QFX, OFC, QIF, CSV и бог еще весть какие. Проблема за малым: никакие сложно структурированные данные с помощью этих форматов портировать невозможно! Не верите — попробуйте сами перекинуть из одной программы учета личных финансов базу данных, в которой есть пару десятков счетов (кошельков), несколько валют и сотня категорий: вы просто утоните в том бардаке, который получите на выходе! Все проводки перемешаются, возникнут сотни дубликатов и даже триплетов, категории собьются, межвалютные сделки ВСЕ гарантированно дадут искаженные результаты. По началу вы попытаетесь весь этой холоймис поправить вручную, но очень скоро поймете, что гораздо проще переписать базу с нуля. Прикинув, сколько дней вам придется убить на эту процедуру, вы махнете рукой и начнете работать с чистого листа на новой программе. Либо — останетесь на старой, хотя новая, может быть, и лучше на порядок.

034_3

А всё почему? Потому что программисты пишут программы так, словно их единственный клиент — тот, что только вчера узнал о существовании компьютера. Newbie шихофрения, да и только.

Всю эту теоретическую базу под тему я подвел потому, что сегодня я узнал о прямо-таки революционном сломе землепупской ментальности, которую произвела компания, являющаяся чуть ли не воплощением землепупства! Знаете, кто создал не какой-то там алгоритм миграции, а полноценную программу для миграции? Не поверите — Microsoft!

Редмондские кудесники предложили миру целевую программу Switch to Windows Phone, которая снимает головную боль со всякого чудака, пожелавшего мигрировать с Android на Windows Phone 8. Программа сначала составляет список всех приложений, которые установлены на вашем андрофоне, и засылает их в облако SkyDrive. Затем вы запускаете Switch to Windows Phone на новом виндофоне, на который вы сбежали от Андроида, входите под тем же логином в SkyDrive, программа анализирует полный список ваших любимых программ и самостоятельно подбирает аналоги из репозитария Windows Store.

034_4

Если полного аналога в Windows Store не находится (вроде Android Facebook — Windows Phone 8 Facebook), Switch to Windows Phone включает свой искусственный интеллект и подбирает альтернативные программные решения, близкие по функционалу к вашему фавориту из Андроида. Причин для того, чтобы подвергать сомнению эффективность Switch to Windows Phone, я особых не вижу: в Windows Store, худо бедно, уже насобирали 135 тысяч приложений. Впрочем, сам не проверял, поэтому поручаться не стану.

В любом случае не имеет значения, насколько адекватно Switch to Windows Phone справляется с поставленными перед ней задачами. Нас этот пример интересует исключительно в плане самой поставленной задачи: Microsoft одной из самых первых на рынке перестала прикидываться (и обманывать саму себя), что на рынке нет конкурентов, и вместо землепупства взялась деловито своих конкурентов оттирать на обочину!

034_5
Что ж, браво, Microsoft, за реализм и создание бесценного тренда! Если миграционный тренд подхватят и вся софтверная индустрия, глядишь, уже мое поколение будет жить в продуктивной нирване :)