• DataSync API от Яндекс.Диска: облако для приложений и структурированных данных

      Для синхронизации данных в приложениях не подходят обычные «файловые» облачные хранилища. Слишком много проблем с консистентностью данных приходится решать самим авторам приложений. Поэтому сегодня мы открываем всем желающим технологию DataSync API, которую команда Яндекс.Диска разрабатывала для собственных сервисов Яндекса. Она позволяет синхронизировать структурированные данные между облачным хранилищем и устройствами. API использует логин Яндекса, который есть почти у каждого пользователя интернета в России и у многих в других странах. DataSync мультиплатформенный и не завязан только на Android или iOS.



      Мы правда очень рады, ведь еще три года назад, когда запускался Яндекс.Диск, хотели синхронизировать не только файлы между компьютерами, а вообще любые данные между всеми устройствами человека. Наша цифровая жизнь – это не только файлы, но еще и точки на картах, маршруты, закладки в браузере, список рекордов в компьютерной игре и много другое.

      Уже более двух лет Яндекс.Браузер работает на технологиях синхронизации Я.Диска. В ближайшем будущем другие крупные сервисы Яндекса начнут объединять свои платформы на DataSync. Под катом — больше подробностей о том, как он устроен, зачем нужен, и примеры, на которых можно посмотреть и попробовать, как всё работает.
      Читать дальше →
    • JavaScript API Яндекс.Карт — версия 2.1-beta — новый дизайн и новые возможности

        Мы выпустили бета-версию API Яндекс.Карт 2.1. Главная ее особенность — полный редизайн интерфейса карты. Причем изменения затронули не только внешний вид, но и поведение элементов управления картой. Поскольку изначально было понятно, что поломки обратной совместимости не избежать, мы также внесли архитектурные изменения, которые были необходимы для улучшения работы API (о них ближе к концу поста).
        image
        Что касается дизайна, нам было важно, чтобы интерфейс одинаково хорошо выглядел на устройствах и экранах разных размеров. Одна из основных сложностей заключается в том, что мы никогда не знаем заранее, как будет выглядеть сервис или сайт со встроенными картами. Поэтому при разработке редизайна нам нужно было постараться предусмотреть максимум вариантов.

        Для решения наших задач мы решили в новой версии реализовать адаптивный дизайн интерфейса. На Yet another Conference дизайнер madhare и разработчик zloylos выступили с докладом о том, зачем нам понадобилась адаптивность и как именно мы ее реализовали в API. В этом посте я опишу предысторию и концепцию наших решений, расскажу о том, что еще нового появилось в версии 2.1-beta, а также о том, что еще изменится к релизу 2.1.
        Читать дальше →
      • Язык до Кембриджа доведёт, или Как я перестал волноваться и полюбил W3C

          Посвящается Чарльзу, sine qua non.


          У писателей и сценаристов есть такой художественный приём: в начале книги или фильма герои оказываются в какой-то очень странной и непонятной ситуации, а затем в течение двух часов постепенно проясняется, каким же образом они в эту ситуацию попали.

          Сегодня я расскажу тебе, %username%, именно такую детективную историю. И завязкой в этой истории будет внезапное возникновение вот здесь, под номером 5, одной подозрительно русской фамилии:

          www.w3.org/2001/tag

          История эта начинается в дождливом марте 2013 года, когда я узнал, что рабочая группа W3C Pointer Events собирает последние комментарии к своей спецификации. (Честно говоря, я совершенно не помню, какая была погода в марте, но мне почему-то хочется, чтобы она была дождливой.)

          So far the story goes
        • Дизайн Яндекс.Карт как наука и увлечение

            Меня зовут Андрей Кармацкий, и я руковожу работой над дизайном Яндекс.Карт. Весной я ездил в Новосибирск на конференцию Codefest 2013, на которой рассказывал о том, как мы разрабатываем дизайн Яндекс.Карт. Это была хорошая возможность структурировать накопленные знания в небольшую историю, которой хочется поделиться и с вами.

            Почему я люблю карты?


            Карты завораживают меня своей красотой, за которой скрывается большой смысл, — информация, кропотливо собранная и структурированная.

            Например, Carta Marina братьев Магнусов. Может показаться, что это просто красивая иллюстрация. На самом деле, это уникальный исторический документ, который содержит множество сведений и исторических фактов о Северной Европе XVI века. На сегодняшний день сохранилось только две копии этой карты.

            Carta Marina братьев Магнусов

            Сегодня, спустя много-много лет, технологии и алгоритмы позволяют творить в картографии невероятные вещи.
            Видео, 45 картинок с картами и немного текста
          • Пользовательские кнопки в API Яндекс.Карт 2.0

              В API Яндекс.Карт 2.0 есть набор стандартных элементов управления картой:



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

              Для того чтобы создать собственный макет элемента управления, нужно разобраться в части архитектуры API. В данной статье проводится краткий обзор понятий, с которыми должен ознакомиться разработчик перед выполнением этой задачи и объясняется общий принцип взаимодействия логической и визуальной части элементов управления. Также рассматриваются три примера по созданию макетов – от простого к сложному.

              Статья рассчитана на разработчиков, которые уже имели опыт работы с API Яндекс.Карт 2.0. Для знакомства с основными концепциями рекомендую прочитать руководство разработчика.
              Читать дальше →
              • +40
              • 19.9k
              • 5
            • Как стать миллионером в AppStore или немного формул про продвижение и продажи. Часть 1

              Схема успеха



              Джон, мы потеряли два листа математических выкладок! Что делать?
              Как обычно, Билл… напиши: «отсюда с очевидностью следует…»


              image

              Чтобы прочитать некраткую сопроводительную записку к схеме – добро пожаловать под кат.

              Читать дальше →
            • Пишем виджет, использующий API Яндекс.Метрики

                Не так давно Яндекс.Метрика анонсировала открытый API, с помощью которого можно получить доступ практически ко всем функциям Метрики из собственной программы.
                Сегодня я хочу немного рассказать об использовании этого API и о том, как на его основе создать простой widget для Android-устройств.

                Читать дальше →
              • API карт от 2ГИС: рецензия

                  Недавно 2ГИС порадовал всех нас выспуском версии 1.0 собственного картографического JS API. API карт отечественного производства — штука редкая; Mail.ru и Rambler, например, так и не сподобились, хоть и обещали (пруф раз, пруф два). Посмотрим, что получилось у новосибирцев.

                  Знакомимся



                  Не будем откладывать в долгий ящик, открываем раздел "Быстрый старт" и копируем предложенный код. It works! Правда, заголовок показывает кракозябрами — оно, правда, и не удивительно, поскольку тэга с указанием charset-а нет. Ну да ладно, мелочи жизни. Смотрим на код.

                  Читать дальше →
                • Leaflet — API карт от Cloudmade. Рецензия

                    To Mourner — бойся своих желаний, они могут исполниться. Шутка.

                    Начнём с начала



                    На главной Leaflet API нас встречает quickstart-пример. С него и начнём.

                    // create a CloudMade tile layer
                    var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/YOUR-API-KEY/997/256/{z}/{x}/{y}.png',
                        cloudmadeAttribution = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade',
                        cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18, attribution: cloudmadeAttribution});
                    
                    // initialize the map on the "map" div
                    var map = new L.Map('map');
                    
                    // set the map view to a given center and zoom and add the CloudMade layer
                    map.setView(new L.LatLng(51.505, -0.09), 13).addLayer(cloudmade);
                    
                    // create a marker in the given location and add it to the map
                    var marker = new L.Marker(new L.LatLng(51.5, -0.09));
                    map.addLayer(marker);
                    
                    // attach a given HTML content to the marker and immediately open it
                    marker.bindPopup("A pretty CSS3 popup.<br />Easily customizable.").openPopup();


                    Пример начинается с создания слоя с тайлами от cloudmade. Само API вроде как тоже «by cloudmade». Внимание, вопрос: а что, для родительского/дружественного проекта нельзя сделать удобный способ добавления слоя тайлов? Типа такого:

                    var cloudmade = new L.CloudMade.TileLayer(YOUR-API-KEY);
                    ?
                    Или даже такого:
                    map.addLayer('cloudmade', { apiKey: YOUR-API-KEY });


                    Не знаю, какие отношения связывают Leaflet и Cloudmade, но уж сделать удобно клиенту Cloudmade — точно не последняя задача Leaflet API. Заставлять пользователя самостоятельно добавлять копирайт Cloudmade — это какое-то насилие над здравым смыслом.

                    Чайнинг



                    Читать дальше →
                  • Исследования отдела разработок регистратора R01 на тему «Домен РФ»

                      В мае 2010 года был делегирован первый домен в зоне.РФ, а к октябрю их количество уже составило около 20 000. Подсчет предварительных заявок позволяет прогнозировать, что еще до нового года в зоне.РФ будет зарегистрирован 50 000-й кириллический адрес.

                      Однако в самом начале работы зоны выяснилось, что некоторые клиентские приложения (браузеры, почтовые программы, веб-сервисы) некорректно работают с русскоязычными доменами. Специалисты R01 провели собственное исследование, в ходе которого попытались разобраться, в чем причины этих ошибок и какова перспектива улучшения работы клиентских приложений.
                      Читать дальше →