Не знаю, планировалось это так, или получился побочный эффект, но iGoogle позволяет еще и запросить favicon для произвольного домена. Следующий URL возвращает изображение:
http://www.google.com/ig/c/favicons?domain=имя_домена
Например, для домена servletsuite.com:
вот, что значит OpenSocial ;-)
технические проблемы и идеи, родившиеся в бурных водах реки Abava (а равно как и на ее берегах, далеких и близких), выставленные на всеобщее обсуждение
Страницы
▼
Friday, October 31, 2008
Большая карта
Обновления в мешапе Большая карта - BigMap. В очередных обновлениях Google Maps API появилась поддержка обратного геокодинга - то есть получения адреса по координатам. И вот в мешапе BigMap можно посмотреть теперь, как такая опция может быть использована на практике. Просто кликните на карте для получения адреса текущей точки.
Thursday, October 30, 2008
GTV 2.0
Мешап GTV обновился в соответствии с дополнениями в YouTube API (см. материал о Google Developers Day 2008)
На одной странице можно увидеть ролики YouTube и новости Яндекс с привязкой к Москве. Иными словами, московские новости - YouTube + Яндекс. Телевидение, практически :)
Что нового:
- уточненный поиск для YouTube
- картинки из Panoramio
- обратный геокодинг. Просто кликните на карте для получения адреса
Посмотреть можно здесь.
На одной странице можно увидеть ролики YouTube и новости Яндекс с привязкой к Москве. Иными словами, московские новости - YouTube + Яндекс. Телевидение, практически :)
Что нового:
- уточненный поиск для YouTube
- картинки из Panoramio
- обратный геокодинг. Просто кликните на карте для получения адреса
Посмотреть можно здесь.
Свечной заводик
Хорошее видео, объясняющее использование технологии Femtocell (своя маленькая базовая станция). 3G телефон используется в этом примере для доступа к домашним устройствам. Отсюда.
Wednesday, October 29, 2008
Google Developers Day 2008
Что нового:
1. Новая версия YouTube API. При этом в поиске теперь можно задавать координаты (давно ожидавшаяся опция!). То есть можно запросить видео из определенного региона. А вот API для аннотаций пока еще нет.
2. Лектор темнил, но судя по всему новая версия API для визуализации будет уже в ближайшие недели. Тут самый главный вопрос - источники данных. Пока, если не задавать данные непосредственно на стороне клиента, их можно читать только из Google spreadsheet. Видимо, здесь, наконец, продвинутся дальше.
3. Про Java на Google Apps пока ничего. По планам - следующее обновление в марте 2009. Что там будет - не сказали.
4. В целом - даже лучше, чем в прошлом году. Более технично.
5. Цель практических занятий осталась загадкой. Это просто программирование в помещении под присмотром Google :). Правда - с обедом.
P.S. кормили вкусно :-)
1. Новая версия YouTube API. При этом в поиске теперь можно задавать координаты (давно ожидавшаяся опция!). То есть можно запросить видео из определенного региона. А вот API для аннотаций пока еще нет.
2. Лектор темнил, но судя по всему новая версия API для визуализации будет уже в ближайшие недели. Тут самый главный вопрос - источники данных. Пока, если не задавать данные непосредственно на стороне клиента, их можно читать только из Google spreadsheet. Видимо, здесь, наконец, продвинутся дальше.
3. Про Java на Google Apps пока ничего. По планам - следующее обновление в марте 2009. Что там будет - не сказали.
4. В целом - даже лучше, чем в прошлом году. Более технично.
5. Цель практических занятий осталась загадкой. Это просто программирование в помещении под присмотром Google :). Правда - с обедом.
P.S. кормили вкусно :-)
Медиа-серверы
Интересный материал от Comverse по практическому использованию JSR-309. JSR-309, на самом деле, довольно интересная инициатива. Это даже не просто API, а скорее подход к работе с медиа в телекоммуникационных приложениях. Как предоставить простой интерфейс разработчикам по чтению DTMF, проигрыванию медиа-данных и т.п. Причем использовать это можно и без SIP, для которого это изначально разрабатывалось.
Tuesday, October 28, 2008
Кодировка RSS
Одна из особенностей, например, XML парсеров в Java является проблема в работе с не UTF-8 кодировками. И здесь можно воспользоваться сервисом Feedburner: он автоматически перекодирует потоки в UTF-8. Например, вот исходный RSS поток в кодировке win-1251: http://rabota.mail.ru/vac_search_rss/. А это его feedburner-ский аналог: http://feeds.feedburner.com/mail/VSMc, который оказывается уже в кодировке UTF-8.
P.S. а уже UTF-8 RSS поток можно использовать, например, в MetroMap мэшапе. Вот работы от mail.ru на карте Google: Работа@Mail.Ru metro map
P.S. а уже UTF-8 RSS поток можно использовать, например, в MetroMap мэшапе. Вот работы от mail.ru на карте Google: Работа@Mail.Ru metro map
Load balancing
Серия матералов по балансировке нагрузки в Java веб-приложениях. Часть 1 посвящена балансировке нагрузки на уровне транспортных протоколов.
Часть 2 посвящена балансировке нагрузки на уровне приложений. Здесь отдельно рассмотрены вопросы балансировки нагрузки для Tomcat.
Упомянем в этой связи также следующие компоненты от Coldbeans software: сервлет Load balance позволяет распределть запросы между несколькими серверами. На уровне JSP приложений пользовательская библиотека Load balance позволяет динамически создавать ссылки для ресурсов, распределенных по нескольким серверам.
Часть 2 посвящена балансировке нагрузки на уровне приложений. Здесь отдельно рассмотрены вопросы балансировки нагрузки для Tomcat.
Упомянем в этой связи также следующие компоненты от Coldbeans software: сервлет Load balance позволяет распределть запросы между несколькими серверами. На уровне JSP приложений пользовательская библиотека Load balance позволяет динамически создавать ссылки для ресурсов, распределенных по нескольким серверам.
Monday, October 27, 2008
Reverse geocoding
Google maps API теперь поддерживает и обратный геокодинг (то есть по координатам находит адрес). Судя по описанию, работает там же, где и обычный геокодинг. Иными словами, в России должно работать. Вот таблица совместимости для Google Maps API
P.S. Хотя в Android SDK это было и раньше. Видимо, Google просто вынес в API, то, что было раньше реализовано.
P.S. Хотя в Android SDK это было и раньше. Видимо, Google просто вынес в API, то, что было раньше реализовано.
Тики-так
Интересный продукт совместного творчества Alcatel и Lucent: TikiTag. Это использование NFC для связи объектов реального мира (предметов, попросту) с данными в сети. Например, товар в магазине обменивается данными с вашим телефоном и т.п. Есть открытый API для сторонних разработчиков.
Sunday, October 26, 2008
QR map
Обновлен мешап QR map. Позволяет создать QR код для фрагмента карты. И поделиться им с нуждающимися, используя email/twitter/facebook.
Основная модель использования QR кодов - размещение их на физических объектах. Так, что мобильный пользователь, например, сосканировав код, мог бы получить дополнительную информацию непосредственно на своем телефоне. С помощью QR map можно получить карту непосредственно на свой телефон. Например, расположения интересующего (рекламируемого) объекта, схему проезда и т.д.
Основная модель использования QR кодов - размещение их на физических объектах. Так, что мобильный пользователь, например, сосканировав код, мог бы получить дополнительную информацию непосредственно на своем телефоне. С помощью QR map можно получить карту непосредственно на свой телефон. Например, расположения интересующего (рекламируемого) объекта, схему проезда и т.д.
Полный iPhone
Или полный Android - по выбору. HipLogic хочет перенести идеи виртуализации в мир мобильных телефонов. Так что можно будет писать полностью переносимые приложения для смартофонов. Кстати, сама компания создана бывшими разработчиками J2ME из Sun. Другой игрок на этом рынке - Virtuallogix
Saturday, October 25, 2008
Friday, October 24, 2008
Ajax шаблоны
Типичные приемы в Ajax приложениях - учебный материал от IBM. Рассматривают такие шаблоны, как замена HTML фрагмента, работа с XML и JSON и др.
Кстати, Java разработчики могут найти все изложенное в Coldtags suite
Кстати, Java разработчики могут найти все изложенное в Coldtags suite
Java на Google Apps
Google Apps Engine будет поддерживать Java. По крайней мере, так заявлено на Google Developers Day в Бангалоре. Может быть, на следующей неделе на аналогичном мероприятии в Москве можно будет выяснить детали.
Thursday, October 23, 2008
Рынок для Android
Google опубликовал детали работы с marketplace для Android. Бесплатные приложения можно будет загружать с 27.10.2008. При этом есть разовая оплата при регистрации - $25.00. После этого обещают на мучить разработчиков проверками приложений (как Apple с iPhone). А платные приложения можно будет распространять только в 1-м квартале 2009 года. Google обещает выплачивать разработчику 70% от дохода. На первые 50 приложений можно посмотреть здесь.
Инфоком 2008
На пресс-конференции, организованной газетой Ведомости, Н.C. Мардер отметил, что министерство будет выдавать лицензии виртуальным операторам. Это может быть положительным делом для развития сервисов, между прочим. Традиционно (так в мире, по крайней мере) виртуальные операторы более подвижны в этом плане. Хотя, как будет у нас, конечно, никто не знает ;-)
Также обещаны изменения в работе регулятора (лицензирование). В целом, все сказанное звучало весьма разумно.
Детали, видимо, будут и в подкасте Ведомостей
А так, выставка весьма тихая. И экспонентов мало, и посетители не горят желанием в этот Крокус ехать. А уж выехать оттуда вечером - это полная беда.
Из собственно разработчиков телекоммуникационных сервисов можно отметить, пожалуй, лишь Audiotele. Из других приложений - урезанный и руссифицированный Asterisk под именем Welltone
Также обещаны изменения в работе регулятора (лицензирование). В целом, все сказанное звучало весьма разумно.
Детали, видимо, будут и в подкасте Ведомостей
А так, выставка весьма тихая. И экспонентов мало, и посетители не горят желанием в этот Крокус ехать. А уж выехать оттуда вечером - это полная беда.
Из собственно разработчиков телекоммуникационных сервисов можно отметить, пожалуй, лишь Audiotele. Из других приложений - урезанный и руссифицированный Asterisk под именем Welltone
Arduino
Открытая программно-аппаратная платформа Arduino. Программируемый микроконтроллер, предназначенный, в первую очередь, для решения задач сбора информации от различных внешних объектов. Можно собрать самостоятельно по спецификациям (Creative Commons лицензия), а можно купить готовый (кстати, дистрибуторы есть и России). Все необходимое для работы программное обеспечение - бесплатно (GPL). Простой язык для программирования системы.
Wednesday, October 22, 2008
JavaScript для Java программистов
Интересный учебный материал от IBM - JavaScript для Java програмистов (на примере dojo)
Газета 2.0
Развитие Интернета естественным образом размывает базу подписчиков (читателей) для традиционных печатных изданий. Часть читателей просто переключается на электронную версию любимого издания. Собственный веб-портал издания может отнимать читателей у печатной версии. А что, если попробовать дополнить печатный вариант цифровыми данными? Вот об этом варианте интеграции данных и печатного текста и идет речь в нашем предложении.
По нашему мнению, это практически еще неосвоенный рынок, который может добавить новое качество традиционным печатным изданиям.
Что мы предлагаем:
1. Аудио-файлы дополняют печатный текст
Доступ к аудио-данным можно организовать непосредственно из печатного текста. Электронные версии изданий публикуют достаточно много аудио информации. Почему бы не сделать эту информацию доступной и непосредственно читателям печатных версий? Имеется в виду не доступность аудио-материалов через мобильные версии сайтов (это и так уже есть), а доступ посредством обычного звонка к прослушиванию аудио-материалов. При этом информация о том, куда позвонить для прослушивания может быть опубликована прямо в тексте материала.
2. Обсуждение публикаций
Голосовые дискуссии для читателей печатных версий издания. Используя голосовые сообщения и мобильный телефон можно и оставлять свои суждения, и прослушивать другие записи. И это просто средства взаимодействия вокруг конкретной публикации. Не нужно никаких регистраций от читателя. Прямо в тексте публикации указано как оставить сообщение, как прослушать другие сообщения и т.д. Именно для данной публикации.
Заметим, что созданный при этом аудио-контент может быть доступен и через веб-сайты издания.
3. Доступ к другим медиа-файлам
Интеграция веб-портала и бумажной версии издания. Например, конкретная публикация предлагает читателю немедленно скачать себе на мобильный телефон фотографии, относящиеся к тексту, видео-ролик и т.д.
Материал предоставлен компанией AbavaNet в рамках подготовки к Инфоком - 2008
По нашему мнению, это практически еще неосвоенный рынок, который может добавить новое качество традиционным печатным изданиям.
Что мы предлагаем:
1. Аудио-файлы дополняют печатный текст
Доступ к аудио-данным можно организовать непосредственно из печатного текста. Электронные версии изданий публикуют достаточно много аудио информации. Почему бы не сделать эту информацию доступной и непосредственно читателям печатных версий? Имеется в виду не доступность аудио-материалов через мобильные версии сайтов (это и так уже есть), а доступ посредством обычного звонка к прослушиванию аудио-материалов. При этом информация о том, куда позвонить для прослушивания может быть опубликована прямо в тексте материала.
2. Обсуждение публикаций
Голосовые дискуссии для читателей печатных версий издания. Используя голосовые сообщения и мобильный телефон можно и оставлять свои суждения, и прослушивать другие записи. И это просто средства взаимодействия вокруг конкретной публикации. Не нужно никаких регистраций от читателя. Прямо в тексте публикации указано как оставить сообщение, как прослушать другие сообщения и т.д. Именно для данной публикации.
Заметим, что созданный при этом аудио-контент может быть доступен и через веб-сайты издания.
3. Доступ к другим медиа-файлам
Интеграция веб-портала и бумажной версии издания. Например, конкретная публикация предлагает читателю немедленно скачать себе на мобильный телефон фотографии, относящиеся к тексту, видео-ролик и т.д.
Материал предоставлен компанией AbavaNet в рамках подготовки к Инфоком - 2008
Tuesday, October 21, 2008
Пробки 2.0
Современные способы замера пробок. Приложение SugarTrip для Android. По сути - две кнопки, как на секундомере: запустить и остановить. Приложение запоминает координаты начальной точки (GPS телефона), а далее - используя координаты конечной точки и время измерения вычисляет скорость перемещания. Результаты автоматически публикуются на общем сервере. Если приложение наберет пользовательскую базу (попросту много пользователей будут таким образом отмечаться на сервере), то получится практическая картина "доступной" скорости передвижения.
А здесь - схожее по идее приложение для iPhone: RunKeeper.
А вообще, по смыслу, такой функционал должен быть встроен (если это еще не добавлено) в Dash.
А здесь - схожее по идее приложение для iPhone: RunKeeper.
А вообще, по смыслу, такой функционал должен быть встроен (если это еще не добавлено) в Dash.
Web 3.0 EU
Вопросы определения Web 3.0 решаются на уровне Евросоюза. Идея на самом деле здравая - делая что-то вместе можно повторить успех GSM (также ведь европейская разработка). То, что предлагается взять за основу также весьма разумно. В отличие от ранее выдвигавшихся определений Web 3.0 как семантического веба или интеграции гео-данных, здесь предлагают рассматривать все как непрерывную среду, основным моментом которой будут отсутствие разделения на мобильные/немобильные сервисы. Где-бы пользователь не находился - везде должен получить доступ к услуге.
Monday, October 20, 2008
Стенгазета 20.10.2008
Проблемы с доставкой SMS решены и функционирование сервиса Click to Mobile восстановлено в полном объеме.
Яблоки не той системы
Проценты возврата iPhone покупателями по операторам в России:
МТС - 14%
Би - 9%
Мега - 11%
Отсюда. Странно, нереально высокие цифры. Это несчастный случай и российским операторам просто не повезло с партией, или в Apple реальные проблемы с производством?
МТС - 14%
Би - 9%
Мега - 11%
Отсюда. Странно, нереально высокие цифры. Это несчастный случай и российским операторам просто не повезло с партией, или в Apple реальные проблемы с производством?
Sunday, October 19, 2008
Неизвестный Google
Подборка из не столь широко известных приложений и инструментов от Google. Некоторыми продуктами из этого списка мы пользовались. Например:
Транcкодер. Позволяет получить на лету мобильную версию для произвольного сайта.
Mashup editor. Библиотека тегов для разработки mashup-приложений. Мы писали об этом продукте.
Транcкодер. Позволяет получить на лету мобильную версию для произвольного сайта.
Mashup editor. Библиотека тегов для разработки mashup-приложений. Мы писали об этом продукте.
Saturday, October 18, 2008
PHP шаблоны
Обычно такие материалы публиковались для Java. А тут IBM DeveloperWorks взяла на себя труд собрать в одной статье шаблоны программирования для PHP. Примеры исходного кода для factory, singleton, observer.
P.S. хотя, кажется, все-таки самый распространенный шаблон программирования для PHP - это copy-paste для примеров, найденных с помощью Google. Благо для PHP недостатка в них (примерах) нет :)
P.S. хотя, кажется, все-таки самый распространенный шаблон программирования для PHP - это copy-paste для примеров, найденных с помощью Google. Благо для PHP недостатка в них (примерах) нет :)
Friday, October 17, 2008
Google таблицы
Пошаговый пример - импорт данных веб-сайта в Google Spreadsheet для последующей обработки. В данном примере - страница из Википедии.
Технически, все базируется на использовании функции ImportHtml(). Вот другой пример таблицы - импорт данных с сайта Из рук в руки: объявления о продаже Bentley. См. формулу в ячейке A1.
Технически, все базируется на использовании функции ImportHtml(). Вот другой пример таблицы - импорт данных с сайта Из рук в руки: объявления о продаже Bentley. См. формулу в ячейке A1.
Приложения для социальных сетей
25 приложений для Facebook, которые профинансированы fbFund. Полезно почитать о темах, заинтересовавших как инвесторов, так и пользователей Facebook. Еще по теме см. здесь
Thursday, October 16, 2008
Yahoo Application Platform
YAP - Yahoo Application Platform. Yahoo копирует успех Facebook. Теперь разработчики смогут писать приложения для Yahoo!
Доступно PHP SDK и своя версия XML
Доступно PHP SDK и своя версия XML
Servlets 3.0
Обзор спецификации Java Servlets 3.0. Мы уже писали об асинхронной обработке. А другая интересная возможность - это динамическое подключение сервлетов (фильтров):
ServletContext sc = sce.getServletContext();
//Declare servlet and servlet mapping
sc.addServlet("myServlet", "Sample servlet", "samples.MyServlet", null, -1);
sc.addServletMapping("myServlet", new String[] {"/urlpattern/*"});
//Declare filter and filter mapping
sc.addFilter("myFilter", "Sample Filter", " samples.MyFilter", null);
sc.addFilterMapping("myFilter", new String[] {"/urlpattern/*"}, "myServlet",
DispatcherType.REQUEST, false);
Wednesday, October 15, 2008
1 (один) миллион долларов
$1 000 000 за идею нового программного продукта. Все, что требуется - 300 слов описания. Детали - здесь.
Отладка в JavaScript
Blackbird - возможно лучший logging для JavaScript. Реально, функция alert() для отладки больше не нужна. Open Source проект.
Для Java серверов мы использовали еще следующий асинхронный лог - JavaScript log servlet
Для Java серверов мы использовали еще следующий асинхронный лог - JavaScript log servlet
Tuesday, October 14, 2008
Говорящие SMS
Снова слышу по радио рекламу Говорящих писем от Билайн. Суть сервиса в записи голосовых сообщений для других абонентов. Абоненты адресуются по реальному номеру с префиксом #: звонок на #номер позволяет записать сообщение абоненту номер.
У нас есть уже довольно старый сервис - Голосовые SMS. Там используется IVR - можно позвонить и оставить голосовое сообщение другому абоненту мобильной сети (не обязательно того же самого оператора). Адресат получит SMS сообщение с номером телефона, перезвонив по которому (непосредственно из SMS) он может прослушать сообщение и записать ответ. При этом не нужно нигде регистрироваться, авторизоваться и т.д.
Так вот основное отличие от говорящих писем (писем Вслух и т.д.) состоит в том, что сервис изначально делался с ориентацией на веб-приложения. При отправке письма можно указывать не только мобильный номер адресата, но и цифровой код, который соответствует этому номеру. А этот самый код может быть получен для произвольного мобильного номера двумя способами: либо сам абонент позвонит один раз на тот же IVR и ему сообщат его код, либо - что интереснее - веб-приложение, используя открытый API, получит код для заданного номера. Идея состоит в том, что далее на произвольном веб-портале (в социальной сети и т.д.) можно указывать этот код как координаты для связи. Владельцу кода можно будет отправлять голосовые сообщения, не раскрывая при этом его реальный номер. И в любой момент времени можно прекратить взаимодействие, разорвав связь кода и реального номера.
Это еще один способ монетизации для тех же социальных сетей. Можно регистрировать для пользователей подобные коды, с помощью которых они смогут анонимно общаться, а сеть, соответственно, делить с оператором (агрегатором) оплату за трафик.
А вот модельный пример, где голосовые SMS использовались для системы мобильных объявлений - Объявления 2.0. При подаче объявления по SMS для автора автоматически регистрировался код, соответствующий его номеру. По этому коду можно связаться с автором объявления. При этом сам автор в любой момент мог прекратить это взаимодействие, просто удалив свой код (это также делается одним звонком). Сделано это было в виде мешапа, где для сохранения объявлений использовался открытый интерфейс Livejournal API.
Другой пример использования API - это система мобильных уведомлений. Там можно посылать голосовое сообщение сразу группе абонентов. Вот одна из моделей использования - тревожный сервис
Другие публикации по теме Voice SMS
У нас есть уже довольно старый сервис - Голосовые SMS. Там используется IVR - можно позвонить и оставить голосовое сообщение другому абоненту мобильной сети (не обязательно того же самого оператора). Адресат получит SMS сообщение с номером телефона, перезвонив по которому (непосредственно из SMS) он может прослушать сообщение и записать ответ. При этом не нужно нигде регистрироваться, авторизоваться и т.д.
Так вот основное отличие от говорящих писем (писем Вслух и т.д.) состоит в том, что сервис изначально делался с ориентацией на веб-приложения. При отправке письма можно указывать не только мобильный номер адресата, но и цифровой код, который соответствует этому номеру. А этот самый код может быть получен для произвольного мобильного номера двумя способами: либо сам абонент позвонит один раз на тот же IVR и ему сообщат его код, либо - что интереснее - веб-приложение, используя открытый API, получит код для заданного номера. Идея состоит в том, что далее на произвольном веб-портале (в социальной сети и т.д.) можно указывать этот код как координаты для связи. Владельцу кода можно будет отправлять голосовые сообщения, не раскрывая при этом его реальный номер. И в любой момент времени можно прекратить взаимодействие, разорвав связь кода и реального номера.
Это еще один способ монетизации для тех же социальных сетей. Можно регистрировать для пользователей подобные коды, с помощью которых они смогут анонимно общаться, а сеть, соответственно, делить с оператором (агрегатором) оплату за трафик.
А вот модельный пример, где голосовые SMS использовались для системы мобильных объявлений - Объявления 2.0. При подаче объявления по SMS для автора автоматически регистрировался код, соответствующий его номеру. По этому коду можно связаться с автором объявления. При этом сам автор в любой момент мог прекратить это взаимодействие, просто удалив свой код (это также делается одним звонком). Сделано это было в виде мешапа, где для сохранения объявлений использовался открытый интерфейс Livejournal API.
Другой пример использования API - это система мобильных уведомлений. Там можно посылать голосовое сообщение сразу группе абонентов. Вот одна из моделей использования - тревожный сервис
Другие публикации по теме Voice SMS
Monday, October 13, 2008
Yahoo analytics
Yahoo открыл свою аналитическую платформу для Web: Yahoo analytics. Доступные отчеты выглядят довольно интересно. Google Analytics получил конкурента ...
Есть место?
Еще один проект от Abava.net, посвященный как раз интеграции сети в реальный мир, о важности которой мы недавно писали. Идея состоит в представлении открытого портала со свободными местами на парковках. Более чем актуальная проблема для Москвы, например. Портал, доступный в том числе и с мобильного телефона, показывает наличие свободных мест на парковке. Без привязки к оплате/резервированию и другим спорным для реализации моментам, а просто наличие свободных мест прямо сейчас. Стоит водителю сюда заезжать или нет. На самой парковке - это датчик как в метро: вошел/вышел. А текущая информация с привязкой к карте доступна для всеобщего обозрения. Так, чтобы планируя поездку можно было бы прикинуть, где встать, без необходимости последующего посещения штрафных стоянок.
Вот здесь есть презентация проекта автоматической парковки:
Вот здесь есть презентация проекта автоматической парковки:
Sunday, October 12, 2008
Помер Максим?
Редактор Techcrunch опубликовал статью с констатацией смерти Web 2.0. Под этим автор самого популярного сайта о Web 2.0 понимает, в первую очередь, недоступность легкого получения денег на новый проект.
В более общем масштабе, представляется, что в новых условиях просто наличие большой пользовательской базы перестанет быть определяющим критерием. Без явных способов монетизации трафика, большое количество пользователей означает просто большие расходы на трафик. А продажа проекта в условиях финансового кризиса может откладываться и откладываться ...
Что будет следующей "большой идеей"? Мне кажется, что теперь таким кандидатом может быть соединение сети и реального (физического) мира. Все то, что началось, например, с QR кодов и подобных проектов. Все-таки, одна из основных вещей, привнесенных концепцией Web 2.0 - это открытые интерфейсы. И эти самые интерфейсы должны теперь сработать.
Абавазрение 12.10.2008
Некоторые интересные ссылки:
1. Как встроить Axis2 в свое J2EE приложение. Практическое добавление веб-сервисов к своему приложению.
2. Текстовые редакторы для веб-приложений.
3. Как оно падало. Графическая иллюстрация падения рынков в разное время. Получается, что сейчас еще ничего.
1. Как встроить Axis2 в свое J2EE приложение. Практическое добавление веб-сервисов к своему приложению.
2. Текстовые редакторы для веб-приложений.
3. Как оно падало. Графическая иллюстрация падения рынков в разное время. Получается, что сейчас еще ничего.
Saturday, October 11, 2008
WiFi кризис
Все, что мы думали о Golden Wifi - неверно. Под именем Билайн WiFi - это все еще хуже. Видимо кризис настиг пчелиную компанию, и там инженеров совсем не осталось. Сеть помирает как по таймеру - через каждые 15 минут на полчаса :(
Friday, October 10, 2008
Статические карты
Мы использовали в свои проектах статические карты Google. Например, мешап Мобильные карты позволяет получать карты в виде картинки, которая будет доступна на любом мобильном телефоне. Но при использовании в сети у статических карт (по крайней мере, в текущей реализации) есть и естественные ограничения. Они попросту статичны (в соотсветствии с названием :-). Маркеры есть, но, например, как разместить информационное окно? А вот практический материал, который рассказывает как разместить свой div поверх статической карты (например, добавить то же самое информационное окно). Основная проблема при этом - это как вычислить координаты маркера.
Thursday, October 09, 2008
Search Insights - кризиса нет
Google search insights - что искали в России за последние 7 дней. Игры, в контакте, однокласники - кризиса нет. На 10-м месте - слово Google. Но кризиса нет :) Если сделать такой запрос для Москвы, то появятся еще iPhone и Яндекс.
P.S. см. также Google алфавит
P.S. см. также Google алфавит
Асинхронный кэш
Шаблон работы с кэшем в веб-приложениях, предложенный разработчиками из Yahoo. Идея шаблона может быть проиллюстрирована следующим рисунком:
серая линейка - это то, где к моменту поступления пользовательского запроса кэш уже должен быть обновлен. Идея состоит в том, чтобы все равно обслужить запрос используя кэш, а его (кэша) обновление запустить асинхронно. Архитектура системы сильно упрощается. Естественно, это все относится к системам, где в принципе допустимо хоть какое-то время показывать не самые актуальные данные. Новостной агрегатор сюда попадает, например.
серая линейка - это то, где к моменту поступления пользовательского запроса кэш уже должен быть обновлен. Идея состоит в том, чтобы все равно обслужить запрос используя кэш, а его (кэша) обновление запустить асинхронно. Архитектура системы сильно упрощается. Естественно, это все относится к системам, где в принципе допустимо хоть какое-то время показывать не самые актуальные данные. Новостной агрегатор сюда попадает, например.
Социализм
Обзор инструментов для самостоятельного построения социальных сетей: Ning, SocialGO, Elg, WackWall
Wednesday, October 08, 2008
Java Wordpress
Open Source Java реализация Wordpress. А полезно это может быть не как замена Wordpress на хостинге, а как инструмент, который можно будет встраивать в свои Java приложения. Там, где нужно, например, пользователям предоставить блог-функционал.
Tuesday, October 07, 2008
Москвоведение
Простой мешап, показывающий картинки из Panoramio и статьи из Wikipedia для Москвы - Big Moscow. Используются новые возможности Google Maps API
Абавазрение 07.10.2008
Некоторые интересные и полезные ресурсы:
1. Оптимизация изображений. SmushIt - веб-сервис, который позволяет удалить лишнюю информацию из изображений. Такую же задачу, например, выполяет опция в PhotoShop 'save for web'. А тут в виде сервиса. Полезный ресурс, оптимизация изображений включается в обязательном порядке в методы клиентской оптимизации.
2. Пошаговый учебник - создание Adobe Air приложений
3. Очень полезный OpenSource (лицензия BSD) пакет - SoundManager. Работа со звуковыми файлами непосредственно из JavaScript.
4. JSON-HEAD. Серверная компонента для JSP (или Coldfusion), которая позволяет позволяет представить заголовки из HTTP HEAD запроса в виде JSON массива. Этот мудреный набор сокращений означает, на деле, что с помощью этой компоненты появляется простая возможность обрабатывать в собственном JavaScript коде информацию об удаленных ресурсах (доступен ли такой-то URL, какой контент и какого размера он возвращает, когда он был модифицирован).
1. Оптимизация изображений. SmushIt - веб-сервис, который позволяет удалить лишнюю информацию из изображений. Такую же задачу, например, выполяет опция в PhotoShop 'save for web'. А тут в виде сервиса. Полезный ресурс, оптимизация изображений включается в обязательном порядке в методы клиентской оптимизации.
2. Пошаговый учебник - создание Adobe Air приложений
3. Очень полезный OpenSource (лицензия BSD) пакет - SoundManager. Работа со звуковыми файлами непосредственно из JavaScript.
4. JSON-HEAD. Серверная компонента для JSP (или Coldfusion), которая позволяет позволяет представить заголовки из HTTP HEAD запроса в виде JSON массива. Этот мудреный набор сокращений означает, на деле, что с помощью этой компоненты появляется простая возможность обрабатывать в собственном JavaScript коде информацию об удаленных ресурсах (доступен ли такой-то URL, какой контент и какого размера он возвращает, когда он был модифицирован).
Monday, October 06, 2008
Google Maps Mania - 12
Появились новые записи и пришло время выпустить очередное обновление для списка проектов (систем), выполненных на базе Google Maps. Символом * отмечены новые поступления со времени публикации предыдущей версии списка. Историю вопроса можно изучить здесь. Итак:
Информационные системы:
Авто-услуги
Агентство недвижимости Спб
Афиша
Все аптеки
Все банкоматы.ru
Вузы Екатеринбурга
Где этот дом
Донецк
Зеленоград
Карта кофемана
Карта цен на квартиры в Москве
Карта рыбака
Картакадабра
Квартиры в Москве
Квартиры в Пензе
Квартиры в Питере
Кинотеатры в Москве
Маршруты в Москве
Моя дорога *
МАКС 2007
Местная погода
Мурманск
Население и рекреационные ресурсы Ставропольского края
Недвижимость на карте
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта
Омская область на карте
Пермь
Пермь на карте
пос. Правдинский
Пушкино
Погода на карте
Поиск попутчиков *
Посуточная аренда квартир
Путешествия
Путешествия с Google Maps
Путешествия и карты
Путешествия на карте
4 туриста
Туристические карты
Туристические блоги
Роддома Москвы и Санкт-Петербурга
Рестораны на карте Петербурга
Сеть распространения печатной продукции
Сноуборд
Храмы России
Православная архитектура - каталог
Cosmopolitan шоппинг
Фото-биеннале
Live Events
National Geographic Traveler
User generated content (geo tagging):
Geo links
Geo SMS
GPS треки
GPS Club
Free WiFi *
Футбольные поля
SAS.Планета
View and organize geographical data
WikiMapia
WiFi навигация
WiFi blog *
Инструменты:
Большая карта (Big map)
Geo traceroute
Google Msk TV
Metro map
Мобильные карты
Maps2lj - публикация карт в ЖЖ
Технические аспекты
Custom geo tagging
QR-коды для карт
Социальные сети:
Вокруг меня
За баранкой
Мир Тесен
Отдыхали.ru
Соседи-онлайн
Гаджеты и карты:
Аренда в Москве (ЖЖ собщество msk_arenda) *
Аренда квартир в Москве
Атлас Москвы
ЖЖ сообщество Встречи в метро *
ЖЖ сообщество Детские вещи
Вакансии бухгалтеров (HeadHunter.ru)
Вакансии программистов (работа.ru)
Вакансии программистов в Москве (HeadHunter.ru) *
Ветеринарные клиники в Москве
Видеокамеры ГАИ на карте Google Maps
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
Работа в Москве (ЖЖ сообщество msk_job) *
ЖЖ комьюнити о квартирах (ЖЖ сообщество Zhilploshchad)
Сдам, сниму квартиру,комнату (ЖЖ Msk_kvartira)
Сдам, сниму, куплю, продам квартиру,комнату (ЖЖ сообщество Kvartira_msk)
Ищу соседей (ЖЖ сообщество msk_neighbors)
Сдам Квартиру (ЖЖ сообщество sdam_msk) *
ЖЖ сообщество Отдам даром
ЖЖ сообщество ru_metro
Коммерческая недвижимость в Москве
Цены на жилье
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Пентхаусы в Москве *
Поджоги машин в Москве
Посадочные модули на Луне
Посадочные модули на Марсе
Походы по Ладоге на ялах
Перелетные птицы *
Публичные туалеты в Москве
Твой Тольятти *
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок
Львы Петербурга
Совы и Девы в Спб
Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.
UPD. последняя версия списка здесь - gmania
Информационные системы:
Авто-услуги
Агентство недвижимости Спб
Афиша
Все аптеки
Все банкоматы.ru
Вузы Екатеринбурга
Где этот дом
Донецк
Зеленоград
Карта кофемана
Карта цен на квартиры в Москве
Карта рыбака
Картакадабра
Квартиры в Москве
Квартиры в Пензе
Квартиры в Питере
Кинотеатры в Москве
Маршруты в Москве
Моя дорога *
МАКС 2007
Местная погода
Мурманск
Население и рекреационные ресурсы Ставропольского края
Недвижимость на карте
Новостройки в Сибири
Окрестности Екатеринбурга
Отели Египта
Омская область на карте
Пермь
Пермь на карте
пос. Правдинский
Пушкино
Погода на карте
Поиск попутчиков *
Посуточная аренда квартир
Путешествия
Путешествия с Google Maps
Путешествия и карты
Путешествия на карте
4 туриста
Туристические карты
Туристические блоги
Роддома Москвы и Санкт-Петербурга
Рестораны на карте Петербурга
Сеть распространения печатной продукции
Сноуборд
Храмы России
Православная архитектура - каталог
Cosmopolitan шоппинг
Фото-биеннале
Live Events
National Geographic Traveler
User generated content (geo tagging):
Geo links
Geo SMS
GPS треки
GPS Club
Free WiFi *
Футбольные поля
SAS.Планета
View and organize geographical data
WikiMapia
WiFi навигация
WiFi blog *
Инструменты:
Большая карта (Big map)
Geo traceroute
Google Msk TV
Metro map
Мобильные карты
Maps2lj - публикация карт в ЖЖ
Технические аспекты
Custom geo tagging
QR-коды для карт
Социальные сети:
Вокруг меня
За баранкой
Мир Тесен
Отдыхали.ru
Соседи-онлайн
Гаджеты и карты:
Аренда в Москве (ЖЖ собщество msk_arenda) *
Аренда квартир в Москве
Атлас Москвы
ЖЖ сообщество Встречи в метро *
ЖЖ сообщество Детские вещи
Вакансии бухгалтеров (HeadHunter.ru)
Вакансии программистов (работа.ru)
Вакансии программистов в Москве (HeadHunter.ru) *
Ветеринарные клиники в Москве
Видеокамеры ГАИ на карте Google Maps
Видеокамеры ГАИ
Веб-камеры в России
Веб-камеры в Москве
Работа в Москве (ЖЖ сообщество msk_job) *
ЖЖ комьюнити о квартирах (ЖЖ сообщество Zhilploshchad)
Сдам, сниму квартиру,комнату (ЖЖ Msk_kvartira)
Сдам, сниму, куплю, продам квартиру,комнату (ЖЖ сообщество Kvartira_msk)
Ищу соседей (ЖЖ сообщество msk_neighbors)
Сдам Квартиру (ЖЖ сообщество sdam_msk) *
ЖЖ сообщество Отдам даром
ЖЖ сообщество ru_metro
Коммерческая недвижимость в Москве
Цены на жилье
Маршруты Москвы (гаджет)
Москва, район Аэропорт
Мото-сайт: помощь в дороге
Новые рестораны
Пентхаусы в Москве *
Поджоги машин в Москве
Посадочные модули на Луне
Посадочные модули на Марсе
Походы по Ладоге на ялах
Перелетные птицы *
Публичные туалеты в Москве
Твой Тольятти *
Точечная застройка в Москве
Штрафные автостоянки в Москве
Черный список бензоколонок
Львы Петербурга
Совы и Девы в Спб
Кого-то пропустили? Что-то новое? Пишите, список будем обновлять.
UPD. последняя версия списка здесь - gmania
Sunday, October 05, 2008
Использование Comet в Ajax
Практическое использование Comet при Ajax запросах. Примеры относятся к Tomcat 6 и не требуют от клиентской части реализации Bayeux. Естественно, что это будет работать и на серверах приложений, использующих Tomcat 6 (WebSphere, например). Шаги следующие:
1. в файле server.xml меняется описание коннектора:
<Connector connectionTimeout="20000" port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"/>
(реализация Comet использует Nio)
2. Серверная компонента должна теперь реализовывать новый интерфейс и вместо монолитного метода doGet (или doPost) выполнить реализацию обработчика событий:
public class CometServlet extends HttpServlet implements CometProcessor {
public void event(CometEvent event) throws IOException, ServletException {
if(event.getEventType() == EventType.BEGIN) {
// fill in code handling here
}
// and continue handing other events
}
}
Схожий механизм поддерживает и Jetty, но там API другой. Собственно, спецификация Servlet 3.0 как раз и должна представить общий API.
1. в файле server.xml меняется описание коннектора:
<Connector connectionTimeout="20000" port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443"/>
(реализация Comet использует Nio)
2. Серверная компонента должна теперь реализовывать новый интерфейс и вместо монолитного метода doGet (или doPost) выполнить реализацию обработчика событий:
public class CometServlet extends HttpServlet implements CometProcessor {
public void event(CometEvent event) throws IOException, ServletException {
if(event.getEventType() == EventType.BEGIN) {
// fill in code handling here
}
// and continue handing other events
}
}
Схожий механизм поддерживает и Jetty, но там API другой. Собственно, спецификация Servlet 3.0 как раз и должна представить общий API.
Saturday, October 04, 2008
Беда в Бангалоре
Длинная статья в ZDnet о том, как финансовый кризис затронул оутсорсеров в Бангалоре. В целом, если отбросить вводимые меры по экономии электричества и туалетной бумаги, то, конечно, повлиял в худшую сторону, но пока все-таки еще не очень сильно. Скорее, вернул некоторые вещи к их нормальному состоянию. Хотя худшее для них еще впереди ...
HP самиздат
Самостоятельное издание журналов. Сервис от HP - для издания журнала достаточно выгрузить PDF файл, все остальное (печать, подписка, дистрибуция) - за сервисом. Поскольку это глобально представленный в мире HP, то собираются поддерживать пользователей и в Европе.
Friday, October 03, 2008
Много картинков
Google Maps API теперь включает новые слои - Panoramio и Wikipedia. Последний слой есть и в локализованных вариантах.
Вот как это может выглядеть, например. Мешап GTV теперь показывает YouTube и Panoramio картинки для Москвы.
Нужно сказать, что с геокодоингом в Panoramio лучше дело обстоит.
Вот как это может выглядеть, например. Мешап GTV теперь показывает YouTube и Panoramio картинки для Москвы.
Нужно сказать, что с геокодоингом в Panoramio лучше дело обстоит.
Теперь можно
Apple отменила NDA для разработчиков iPhone приложений. А так ведь даже обсуждение программирования было формально невозможно. Между прочим, это явно положительное влияние Android
Встречи в метро
Очередной мэшап из MetroMap - Встречи в метро (источник: ЖЖ сообщество vstre4i_v_metro). Другие применения - см. здесь
Thursday, October 02, 2008
Массовые уведомления
Интересная (и явно востребованная, с связи с общей обстановкой) тема для мобильных приложений - массовые уведомления. Для чрезвычайных ситуаций, конечно, в первую очередь. А так используются и в управлении, маркетинге и т.п. Школе, например, нужно что-то разослать всем ученикам (или их родителям). Вот один из примеров Send Word Now. Компания, получившая недавно $14 млн. в качестве финансирования. Хороший обзор моделей применения сервисов уведомлений можно посмотреть здесь.
Ну и, конечно, упомянем наш сервис - Мобильные уведомления. Это - групповая рассылка голосовых сообщений. Голосовые SMS - это общение один на один, а мобильные уведомления позволяют разослать сообщение сразу группе абонентов. Одно из достоинств, которое является важным именно для систем оповещения, состоит в том, что получателю сообщений нигде не нужно регистрироваться.
Ну и, конечно, упомянем наш сервис - Мобильные уведомления. Это - групповая рассылка голосовых сообщений. Голосовые SMS - это общение один на один, а мобильные уведомления позволяют разослать сообщение сразу группе абонентов. Одно из достоинств, которое является важным именно для систем оповещения, состоит в том, что получателю сообщений нигде не нужно регистрироваться.
Абавазрение 02.10.08
Некоторые интересные ссылки:
1. Java программирование для систем искусственного интеллекта. Книга - в свободном доступе.
2. Coldtags suite обновился до версии 3.50. Самая большая коллекция Java веб-компонент поддерживает теперь свыше 350 пользовательских тегов для JSP (и/или Coldfusion).
3. GeoNames - открытая гео-информационная база. Есть открытый API (REST), информация по России - присутствует. Есть даже поддержка RDF (см. примеры здесь)
4. Другой мир - портал Микрософт по архитектуре программного обеспечения: Patterns & Practices
1. Java программирование для систем искусственного интеллекта. Книга - в свободном доступе.
2. Coldtags suite обновился до версии 3.50. Самая большая коллекция Java веб-компонент поддерживает теперь свыше 350 пользовательских тегов для JSP (и/или Coldfusion).
3. GeoNames - открытая гео-информационная база. Есть открытый API (REST), информация по России - присутствует. Есть даже поддержка RDF (см. примеры здесь)
4. Другой мир - портал Микрософт по архитектуре программного обеспечения: Patterns & Practices
Wednesday, October 01, 2008
На сайте и на бумаге
Smoney описал ситуацию с веб-сайтами бумажной прессы. Cо словами о том, что бумажные издания будут учиться представлять себя в сети. И вот-вот это сделают. Но пока еще не сделали. При этом все описывается с точки зрения SEO трюков, которые журналисты должны будут применить, чтобы опубликовать свои тексты. А о каких-то действительно интересных моментах - ничего нет.
Например, совершенно свободная тема - конвергенция контента. Чтобы, например, в печатном издании использовать цифровой контент. А не только наоборот - о чем и так все пишут.
Мы когда-то той же газете Ведомости предлагали похожую вещь. Интернет-контент непосредственно в печатном тексте. Даже простой пример из существующих сервисов иллюстрирует текущее состояние дел. Вот подкаст газеты можно прослушать по телефону. А написано про это только на сайте газеты, где их типичный офисный читатель и так может за счет работодателя скачать себе подкаст. А вовсе не в бумажной версии газеты - где это могло бы быть более уместно - в том числе как и расширенный вариант статьи, например. И т.д.
В реальности же, по-моему, все пресс-сайты больше озабочены расстановкой взаимных ссылок c ресурсами для взрослых чем реальными сервисами.
Например, совершенно свободная тема - конвергенция контента. Чтобы, например, в печатном издании использовать цифровой контент. А не только наоборот - о чем и так все пишут.
Мы когда-то той же газете Ведомости предлагали похожую вещь. Интернет-контент непосредственно в печатном тексте. Даже простой пример из существующих сервисов иллюстрирует текущее состояние дел. Вот подкаст газеты можно прослушать по телефону. А написано про это только на сайте газеты, где их типичный офисный читатель и так может за счет работодателя скачать себе подкаст. А вовсе не в бумажной версии газеты - где это могло бы быть более уместно - в том числе как и расширенный вариант статьи, например. И т.д.
В реальности же, по-моему, все пресс-сайты больше озабочены расстановкой взаимных ссылок c ресурсами для взрослых чем реальными сервисами.
Кэширование: memcached vs. terracotta
Сравнение двух широко используемых систем кэширования: memcached и terracotta. Основные выводы:
Memcached не является распределенной хэш таблицей. Каждый сервер - автономен и ничего не знает о других. Все алгоритмы распределения данных - целиком ответственность клиента. Terracotta же поддерживает кластерный кэш.
Типичная схема обновления данных при использовании memcached состоит в записи данных в базу и запуске после этого асинхронного процесса (возможно - из триггера БД) для обновления кэша. Вот, например, как Facebook это делает. Terracotta исповедует противоположный подход - обновление кэша сначала и запуск асинхронного процесса для обновления БД после этого (прозрачно для разработчика).
В целом, простое правило для примененеия может выглядеть так: если доступ к кэшируемым данным нужен только для чтения - можно использовать memcached. Его настройка и установка проще, к слову. Если кэш обновляется - то Terracotta. Так что продукты, на самом деле, могут дополнять друг друга.
Memcached не является распределенной хэш таблицей. Каждый сервер - автономен и ничего не знает о других. Все алгоритмы распределения данных - целиком ответственность клиента. Terracotta же поддерживает кластерный кэш.
Типичная схема обновления данных при использовании memcached состоит в записи данных в базу и запуске после этого асинхронного процесса (возможно - из триггера БД) для обновления кэша. Вот, например, как Facebook это делает. Terracotta исповедует противоположный подход - обновление кэша сначала и запуск асинхронного процесса для обновления БД после этого (прозрачно для разработчика).
В целом, простое правило для примененеия может выглядеть так: если доступ к кэшируемым данным нужен только для чтения - можно использовать memcached. Его настройка и установка проще, к слову. Если кэш обновляется - то Terracotta. Так что продукты, на самом деле, могут дополнять друг друга.