Всем привет! Меня зовут Сергей Константинов, и я руководитель группы разработки алгоритмов API Яндекс.Карт.
Сегодня мы запустили новую версию JavaScript API — 2.0. Вообще, в этом месте должна быть перепечатка поста из блога Яндекса, но мы решили в этот раз отступить от традиции :).
Вместо сухого официального сообщения, я попробую в тёплой ламповой обстановке рассказать вам, как и зачем мы делали JavaScript API 2.0.
Думаю, те из вас, кто знаком с нашим API, легко поймут, что это не косметическое обновление, а полноценный релиз практически нового продукта. Мы полностью переписали ядро, расширили функционал и добавили ряд новых фишек — более глубокую поддержку мобильных устойств, мультиязычность, HTTPS, статистику пробок и т.д. (см. наш промосайт).
Но не фишечки и не новый дизайн сподвигли нас на такую работу. Мы запустили первую версию API в ноябре 2008 года. С тех пор прошло более трёх лет, и наше представление о том, для кого и для чего мы делаем API, несколько изменилось.
Мы всегда представляли себе нашу аудиторию в виде своеобразной пирамиды: основание пирамиды — наши пользователи; средний слой — использующий картографические API бизнес; и вишенка на торте — разработчики.
Первую версию API мы писали в первую очередь для разработчиков. Мы считали, что нам нужно убедить разработчиков выбрать нашу технологию, потому что бизнес доверяет решение о выборе технологии разработчикам, и пользователи, в конечном итоге, увидят именно тот сервис, который сделали для них разработчики.
Как показала практика, тогда это было правильным решением — наше API быстро завоевало рынок. Но время шло, и мы начали понимать, что на практике всё происходит немного иначе, и в этой системе есть обратные связи. Пожалуй, чем-то нам помог пример одной компании с фруктовым логотипом, которая начала выпускать продукт, ориентированный прежде всего на конечного пользователя; пользователь выбрал свой продукт, и бизнес, стремясь удовлетворить своих пользователей, сформировал заказ на разработку под новую платформу.
Мы поняли, что мы делаем продукт не только для разработчиков, но и для пользователей. Если пользователю будет удобно и приятно пользоваться нашими картами и он будет требовать от любимых сервисов использования именно наших карт — вот тогда мы сможем считать свою задачу выполненной.
Проблема в том, что сами мы не взаимодействуем с пользователями напрямую — мы делаем это опосредованно, через разработчиков, использующих наше API. Задача, по большому счету, распалась на два больших блока:
— сделать так, чтобы пользователю было легко и приятно работать с нашей картой;
— сделать так, чтобы разработчики делали на нашем API удобные и красивые сервисы.
Написал вам когда-то знакомый, что есть у него коллекция марок, часть из которой он не прочь продать