-Поиск по дневнику

Поиск сообщений в lj_mkazantsev

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 06.05.2010
Записей:
Комментариев:
Написано: 1


Потребительская версионность

Понедельник, 03 Января 2011 г. 22:32 + в цитатник
Каждому, кто имеет дело с компьютером, знакомо понятие версий. Причем, знакомство с этим понятием часто происходит не по собственной воле. Сначала нам рассказывают про новые версии программ: с обновлением Skype предлагают почитать, чем версия 6 лучше предыдущих. Дальше нам приходится самим следить за версиями программ: в Word 2003 нельзя открыть документ, созданный в Word 2010. И в конце концов мы сами начинаем плодить версии своих продуктов, придумывая разные названия файлов: "Доклад версия 4 финальная.doc", "Презентация для конференции 8.3.ppt" или даже "Годовая ведомость версия 3 на печать.xls".

Для того, чтобы не переименовывать файлы вручную с каждой заметной правкой, отягощая этим свою основную работу, программисты давно уже придумали то, что принято называть системами управления версиями. SVN, Git, Mercurial — все это ПО позволяет мало того, что сохранить состояние директории вместе со всеми дочерними папками и файлами, так еще и загрузить это состояние на сторонний сервер. Получается, что вдобавок к удобству (не надо сто раз переименовывать или копировать файлы или папки) можно получить еще и дополнительную надежность (если что-то случится с локальной копией, можно будет скачать последнюю сохраненную версию с сервера).

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

Версионность не исключение: идея здесь лежит на поверхности. Никому не нравится создавать 18 копий одного и того же файла по мере его изменения и каждый, намучившись, может прийти к выводу, что легче было бы жить с ПО, которое сохраняло бы эти версии где-то внутри себя, а я бы видел невооруженным глазом только один файл, скажем, "Реферат.doc".

Здесь можно вернуться на шаг назад и вспомнить, зачем вообще пользователю текстового редактора нужны разные версии одного и того же документа. Очевидных сценария два:
  1. На каком-то этапе создания документа может появиться желание принципиально изменить его структуру: поменять местами два раздела, вырезать содержание, полностью заменить библиографию, добавить титульный лист. Каждый раз меняя что-то глобальное вы тратите на это много времени (поменять разделы — значит восстановить в них нужное форматирование, стили, и т.п.) и, главное, принимаете решение, нужно вам это делать или нет. Отсутствие той версии, к которой можно было бы в случае чего откатиться, заставляет вас тратить на принятие подобных решений слишком много времени: нужно оценить, действительно ли станет лучше, не поломает ли это весь документ, удобно ли будет редактировать его дальше. Так рождаются имена файлов вида "Реферат 4.doc".
  2. Часто один и тот же документ нужен лично вам, вашему начальнику, вашему знакомому, знакомому начальника, коллеге из соседнего подразделения. Но на самом деле в каждом из случаев это будет вовсе не один и тот же документ, всегда есть необходимость внести какие-то правки: в отчете для начальника вы мельком упомянете, что не хватало ресурсов, а редактируя тот же отчет для коллеги, вы предпочтете скрыть, скажем, бюджет. Так рождаются имена файлов вида "Реферат для печати.doc".
Итак, по мере редактирования файла я хотел бы нажимать на кнопку "Зафиксировать текущее состояние", чтобы именно оно и становилось бы очередной версией. И в любой момент я хочу иметь возможность откатиться к предыдущей версии. А еще, хочу помечать версии тегами, например, "На печать" или "Для распространения". И в любой момент хочу взять версию с пометкой "Для распространения" и вложить в письмо.

Но ведь реализация всех этих функций уже давно существует. И даже не одна: в самом начале я перечислил три наиболее популярные, а на самом деле их еще больше, и некоторые из них даже коммерческие. Но все эти продукты предназначены для довольно узкой аудитории — разработчиков ПО.

Продать версионность широким массам не смог пока никто. Ближе всех к этому подошел Dropbox. У пользователей сервиса уже есть папка, внутри которой происходит волшебство: ее содержимое закачивается на далекие Калифорнийские сервера. Осталось добавить еще одно волшебство. Но знает ли хотя бы один процент пользователей, что версионность в Dropbox уже есть? Удивительно только, что они не пытаются продавать ее как одну из составляющих сервиса — она есть там только для тех, кто ее случайно обнаружит.

В далеком 2007-ом году Дрю Хьюстон, создатель Dropbox, подавал заявление на финансирование в организацию Y Combinator, в котором можно прочитать следующее:
# Please tell us something surprising or amusing that one of you has discovered. (The answer need not be related to your project.)
The ridiculous things people name their documents to do versioning, like "proposal v2 good revised NEW 11-15-06.doc", continue to crack me up.
Тем удивительнее нынешняя позиция Dropbox по отношению к продвижению версионности. В чем же дело?

Дело в том, что Дрю и его команда не придумали, как рассказать пользователям о версионности. Как научить их пользоваться ей в полную силу. И честно говоря, я не удивлен — ведь первая (строго говоря, даже не самая, а одна из первых) система управления версиями для программистов RCS появилась в 1982-ом году, а системы контроля версий для всех нет до сих пор. Так что поле для мыслей и действий свободно.

Ни один продукт не приходит на рынок из ниоткуда. Если говорить о рынке ПО, здесь сначала выявляется потребность (можно еще сказать "появляется идея") — закачивать файлы на сервер; потом создается реализация для использования внутри рынка, реализация для гиков — протокол FTP, и только после анализа всех тонкостей рождается продукт для пользователей — оконный FTP-клиент, например. На высшей ступени эволюции в этом направлении мы сейчас имеем Dropbox, чуть ниже — сервисы вроде Яндекс.Диска.

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

https://mkazantsev.livejournal.com/133846.html

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку