Google Docs государственной важности
АрхивСтатьиВ Минкомсвязи хотят разработать аналог Google Docs, рассчитанный на чиновников. Они, как это часто бывает с людьми, далёкими от техники, не осознают, насколько это сложно.
Каждый программист, которому приходилось работать с клиентами или менеджерами, далёкими от техники, знает, что самые невозможные просьбы непременно заканчиваются словами "Это же совсем просто, да?" или "Часа на это, конечно, хватит". Если прозвучала фраза в таком духе - можно не сомневаться, что в лучшем случае придётся переписать программу целиком, а в худшем - нарушить пару-другую законов природы.
Задача, которую собирается поставить Минсвязи перед пока не известным исполнителем, относится именно к этому типу. На днях советник министра связи Илья Массух объявил, что Минкомсвязи планирует создать "государственную систему дистанционной работы с документами", рассчитанную на чиновников - иными словами, веб-офис наподобие Google Docs с текстовым процессором, электронной таблицей, бухгалтерской программой и системой электронного документооборота. Это же совсем просто, да?
Нет, совсем наоборот. Разработка пакета офисных программ - даже обычного, а не онлайнового или кроссплатформенного - это совершенно неподъёмная задача. Дело даже не в сложности (хотя тут есть свои подводные камни), а в её масштабах. Именно поэтому офисные пакеты можно пересчитать по пальцам одной руки, а десяти лет и миллионов долларов, которые Sun вложила в разработку OpenOffice, так и не хватило для того, чтобы довести его до уровня Microsoft Office.
Одно лишь поддержание совместимости с форматами Word и Excel потребует таких усилий, что лучше даже не начинать. Хорошая совместимость с приложениями Microsoft невозможна, если их функциональность (даже якобы "ненужная" обычному пользователю) воспроизведена недостаточно полно - включая, например, поддержку скриптов Visual Basic, необходимого для любой достаточно сложной таблицы Excel.
Желание загнать офисный пакет в браузер переводит и без того нелёгкую задачу на совершенно новый уровень сложности. Полноценных веб-офисов в мире всего два: Google Docs и Zoho Office. Не помогает даже то, что слово "полноценный" в интернете стоит куда дешевле, чем на десктопе. Функциональность онлайновых текстовых процессоров сравнима только с примитивным Wordpad, бесплатно прилагающимся к каждой копии Windows, и ни один активный пользователь Excel не станет даже сравнивать его с электронными таблицами Google или Zoho.
В отличие от обычной офисной программы, которая работает под управлением обычной операционной системы, клиентская часть веб-офиса должна одинаково хорошо работать в целом зоопарке браузеров, каждый из которых имеет собственную реализацию Javascript и DOM и собственный набор неповторимых ошибок и странностей. Вдобавок, её сложность приближается к предельно возможному для программ на Javascript - а это значит, что разработчика ждут дополнительные трудности, связанные с производительностью и утечками памяти.
Серверная половина - ничуть не проще. Когда количество пользователей подобного веб-приложения вырастает выше определённой величины, приходится идти на трудновообразимые ухищрения, чтобы эффективно распараллелить их обслуживание (покопайтесь в архивах highscalability.com и убедитесь сами). А в том, что пользователей государственного веб-офиса будет предостаточно, нет никаких сомнений. Не удивлюсь, если окажется, что чиновников в России больше, чем пользователей у настоящего Google Docs.
Есть ли в России специалисты, способные построить такое веб-приложение? Неизвестно. Если и есть, пока они ничем не проявили себя - даже самые сложные веб-приложения в Рунете несравнимо проще, чем Google Docs.
Впрочем, при желании возможно всё. Вряд ли сделать аналог Google Docs труднее, чем запустить спутник в космос. Если найти внушительное количество денег, отыскать нужных людей и потратить несколько лет, возможно, что-то и получится.
Но куда вероятнее, что дело ограничится первым пунктом: государство найдёт и потратит на проект внушительное количество денег. Это у нас умеют - проверено. Результата - во всяком случае, приемлемого - никто не получит.