• Я разрежу тебя на тайлы. Часть первая

      image Несмотря на все мои попытки к исправление ситуации с технологиями загрузки данных на карту, люди все продолжают и продолжают работать по старинке, загружая либо все данные вьюпорта при малейшем движении карты, либо просто загружая все данные вообще.
      Покуда метры направления растеризует маркеры в картинки, строят супер системы группировок и кластеризаций и дрожат над каждым лишним килобайтом в скриптах, давайте я расскажу самый простой, стабильны, и банальный способ сделать жизнь свою, своих пользователей, своих карт и своего сервера чуть прекрасней.
      Как будет сказано чуть позже покорение карт состоит из 5ти шагов.
      Первый из них это загрузка карты( не все так просто как думается ), а вот второй — это загрузка на эти самые карты данных.
      Он то нам и интересен.
      Читать дальше →
    • Расширенная реальность ближе, чем кажется

        Сегодня никого не удивишь наличием GPS в мобильном устройстве. Сентябрьское исследование компании Berg Insight (на английском языке) говорит о 90 миллионах персональных навигаторов и около 28 миллионах мобильных телефонов со встроенным GPS приемником, которые уже имеются на руках пользователей. По мнению исследователей, к 2015 году количество активных пользователей навигационных приложений по всему миру будет составлять 88 миллионов человек.

        Основной тенденцией 2009 года был переход существующих локальных приложений (всем известный TomTom Navigator) на технологию облачных вычислений, иначе говоря, превращение приложений в сервисы. Кроме того, за последние 9-12 месяцев появилось множество сервисов, сочетающих в себе мобильность, гео-позиционирование, локальный контент, а так же генерируемый пользователями контент, которые на полную мощь используют возможности вычислений на сервере, сочетая их с мобильностью использования.

        Самым эффектным явлением последних месяцев можно назвать приложения augmented reality (расширенная или дополненная реальность), появляющиеся как грибы после дождя.

        Эта тема не раз поднималась на хабре, например,

        Подобные приложения используют GPS-модуль и электронный компас. Сейчас это реализовано в iPhone и устройствах на платформе Android. Владельцы других устройств пока лишены этого удовольствия.

        Но ограничивается ли «расширенная реальность» только приложениями, упомянутыми выше?
        Читать дальше →
      • Как бы вы решили такую проблему совместимости?

        • Перевод
        Поскольку статья была написана еще в 2006 году, до выпуска Windows Vista, Реймонд, конечно, уже дал ответ. Так что, для чистоты эксперимента, не спойлите пожалуйста в комментариях.

        Привет всем, у вас есть шанс решить одну настоящую проблему совместимости. Ответа еще нет: я жду, как вы будете ее решать. Это реальный баг в трекере Widnows Vista.

        Читать далее
      • Samsung bada Developers Challenge — результаты всемирного конкурса

          В день, когда были объявлены результаты всемирного конкурса разработчиков Samsung, я демонстрировал систему на конференции. И тут такая новость! Прямо точно подгадали, спасибо Корее.
          image
          Итак у нас опять есть повод для гордости: Toozla, после победы на российском этапе конкурса, заняла почётное третье место в финальном этапе конкурса в категории Оn the Road! Все проблемы, с которыми мы столкнулись во время разработки, эйфория после победы на российском конкурсе — все ступени уже пройдены, мы дошли до финишной прямой и не сошли с дистанции. Теперь сервис Toozla оценили не только российские судьи, но и международная судейская комиссия.
          Читать дальше →
        • О некоторых проблемах разработки для платформы bada

            17 мая 2010 года стартовал конкурс Samsung bada Developer Challenge, который включал в себя Global Developer Challenge и Local Developer Challenge. Локальный конкурс проходил в том числе и в России.
            image
            В целом, про SDK на хабре уже хорошо написано здесь habrahabr.ru/blogs/development/101196 и здесь habrahabr.ru/blogs/mobiledev/105451.

            Добавим от себя небольшой вклад…
            Читать дальше →
          • Bada Developer Challenge: Россия

              Итак, сегодня 8 ноября, а это значит что уже завтра у конкурсантов русского варианта Samsung bada Developer Challenge, с призовым фондом в $255,000, последний день для сдачи своих портированных на телефон приложений, для их окончательной оценки судейской коллегией. Под хабракатом — подборка видеороликов с некоторыми приложениями из этого конкурса (Осторожно, 16+1 видео).
              Читать дальше →
            • Обзор мобильных Text-To-Speech движков

                imageЕсли Ваш родной язык не английский и Вы не пишете приложения только для iPhone, то Вам придется достаточно трудно, если Вы захотите найти подходящий инструментарий для разработки т.н. мобильных «voice-enabled» приложений.

                В данном обзоре приведена классификация и описаны самые достойные из рода mobile TTS engine.
                Читать дальше →
              • Google Maps Javascript API V3 и управление маркерами

                  Дело было глубокой осенью. Мне поручили разработку раздела, основной задачей которого является указание местоположения объектов фильтрации и поиска на карте. Что стало заметно сразу же — даже при отображении 10 объектов на карте, можно уменьшить зум до такого, при котором они просто сливаются. Если их будет 100 — появятся жутковатые наложения и тени. Не комильфо!

                  Поиск решения


                  Решение очевидное, маркеры нужно группировать. В процессе поиска наткнулся на хабростатью, в которой рассмотрены различные способы группировки большого количества маркеров на карте. Нас вполне устраивали «костыли 1-2», то есть группировка маркеров на клиентской стороне, однако… если бы они подошли, не писал бы я сейчас статью ;)

                  Читать дальше →
                • ВикиГид — Android-энциклопедия достопримечательностей Украины

                    ВикиГид
                    В июне, при поддержке компании HTC, в Украине проводился конкурс среди разработчиков Android-приложений, в котором я принял участие. Хочу рассказать вам о приложении, которое я подал на конкурс, о том, как оно создавалось и о проблемах платформы Android, с которыми я столкнулся.

                    Сначала краткое описание программы:
                    Энциклопедия достопримечательностей из всех уголков Украины. Подробная информация из Википедии на русском и украинском языке. Фотографии, видео и отзывы других пользователей. Дневник путешествий и интеграция с социальными сетями.

                    Для тех, у кого пока нет Android-телефона, под катом я сделал видео-обзор приложения.
                    Статья, скриншоты, видео-обзор...
                  • MobiOne — эмулятор Iphone для Web разработчика

                      Вот недавно тут был неплохой обзор эмуляторов мобильных девайсов habrahabr.ru/blogs/webdev/96453. Но в этом посте упоминался всего навсего один эмулятор для тестирования web приложений под Iphone на Windows. Я хотел бы добавить еще один — MobiOne, который я для себя отметил, как очень хороший. Одна из основных проблем эмулятора который был предложен в выше упомянутом посте — это то что в нем не работают touch events. Допустим в моем случае мне нужно было тестировать Drag and drop функционал, но так как для реализации данного функционала в Iphone используются touch events, то тестирование с помощью предложенного эмулятора невозможно, так как mouse events работают по другому на Iphone/Ipad, а вот MobiOne позволяет такие вещи тестировать.
                      Читать дальше →
                    • Виджет выбора OpenID провайдера на Prototype

                        Когда-то я уже писал, как интегрировать OpenID авторизацию в ваш сайт. Речь шла о серверной части.
                        Сейчас же я говорю о UI части — виджет для выбора провайдера.

                        В качестве клиентской библиотеки для своего проекта я выбрал prototype и первым делом я полез в гугл поискать готовое решение. Удалось найти такое, но только для JQuery — code.google.com/p/openid-selector

                        И так мне ничего не оставалось как написать OpenID selector самому. Вот что получилось

                        image
                        Читать дальше →
                      • Мелочи, облегчающие жизнь

                          Postgresql, без сомнения, великолепная СУБД. Она обладает обширнейшими возможностями, отличной документации, и при всем при этом является бесплатной. Однако, всегда найдется что-то, чего пользователю не будет хватать. И в postgresql это легко исправляется, ведь он позволяет создавать функции на языках на любой вкус, будь то Plpgsql, Perl или даже Java.

                          Приведу пример. Мне всегда не хватало функции, получающей DDL выбранной таблицы. В oracle, например, вы можете воспользоваться для этого средствами пакета dbms_metadata. А вот в postgresql аналога почему-то нет. То есть можно конечно использовать pgdump, но это уже немного не то, мне хотелось бы иметь функцию бд. И так далее, думаю у каждого найдется несколько таких небольших «хотелок».

                          В любой моей базе я создаю в схеме «public» определенный набор вот таких облегчающих мне жизнь функций. В этом топике я хочу поделиться ими. Приглашаю всех также поделиться в комментариях своими наработками.
                          Читать дальше →
                        • Резервное копирование на Аmazon S3 для начинающих

                            Давно хотел организовать дублирование на S3 ключевых личных файлов, и вот наконец собрался. Готового решения с толковой статьей на русском языке навскидку найти не удалось, так что пришлось вспоминать английский, благо — все оказалось не просто, а очень просто.

                            Этот короткий материал ориентирован на «самых-самых маленьких» пользователей Linux и служит целью показать, насколько легко и просто организовать резервное копирование на сервера Amazon S3.

                            Читать дальше →
                          • Быстрое определение местоположения по ip в postgresql

                              В этом топике я хочу рассказать о задаче, очень часто встречающейся в веб-проектах — определение местоположения по ip-адресу. Начну с того, что для того, чтобы определить местоположение пользователя — нужна некая geoip база. Приведу здесь два популярных бесплатных варианта:
                              IpGeoBase — очень хорошая бесплатная база, но, к сожалению, только по российским ip-адресам.
                              MaxMind — огромная база по ip-адресам всех стран. Предоставляют бесплатную lite-версию базы. Точность базы по российским ip-адресам не настолько хороша, как у IpGeoBase. Также предоставляют некое API для работы со своей базой, которое позволяет производить выборки очень быстро.

                              Допустим вы скачали эти базы и залили их в таблицы вашей БД Postgresql (сама закачка — несколько out of scope, если у кого-то возникнет желание — я могу в будущем рассказать о том, что такое команда COPY и с чем ее едят). В общем случае вы получите таблицу такой структуры:

                              startip endip location_id
                              2130706433 2130706433 1

                              Здесь:
                              startip — это начало блока ip-адресов в формате long
                              endip — конец блока ip-адресов в формате long
                              location_id — идентификатор локации (город, регион, страна и т.д., maxmind даже координаты содержит).

                              Задачу поставили. Теперь рассмотрим как ее решать.
                            • ГеоКонтакт. Открытый API и все-все-все.

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

                                Сейчас сервис ГеоКонтакт работает на территории около 500 населенных пунктов. У проекта уже сформировалось ядро из постоянных пользователей. Каждый день регистрируются 30-50 новых пользователей. Для старта это неплохой результат, учитывая, что мы не рекламируем сайт. Некоторые пользователи предложили безвозмездную помощь по включению их городов в зону действия сервиса.
                                Читать дальше →
                              • Gears Geolocation API — WiFi-позиционирование прямо из браузера

                                  Компания Google выложила для разработчиков бесплатный набор интерфейсов Gears Geolocation API, с помощью которого можно легко добавить в веб-приложение функцию получения текущих координат местности. Система работает под любым браузером (в Chrome и Android даже без установки плагина), кроме Opera (поддержка скоро появится), принцип работы прост. Информация об окружающих WiFi-хотспотов передаётся на сервер, а оттуда возвращаются ваши координаты с точностью до 200 м. В целях безопасности координаты не записываются и не хранятся на сервере.

                                  По заявлениям Google, в их базе данных есть сведения о WiFi-хотспотах в сотнях городов по всему миру.

                                  Это очень полезный функционал, который можно добавить практически на любой социальный веб-сайт, будь то сервис знакомств, афиша по кинотеатрам или сайт новостей.

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

                                  via Google Code Blog